From: <Saved by Microsoft Internet Explorer 5>
Subject: California Chronicle | Spring Break 2008: Thinking Globally and Acting Locally
Date: Fri, 21 Mar 2008 14:50:47 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_003E_01C88B62.F2AA6BD0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/articles/55895

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>California Chronicle | Spring Break 2008: Thinking =
Globally and Acting Locally</TITLE>
<SCRIPT =
src=3D"http://www.californiachronicle.com/inc/js/ajax.php"></SCRIPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/js/chkAddArticleAuthorAdmin=
.js"></SCRIPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/js/chkAddAuthor.js"></SCRIP=
T>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/js/chkAddListUser.js"></SCR=
IPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/js/chkBlogEditProfileForm.j=
s"></SCRIPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/js/chkBlogEntryForm.js"></S=
CRIPT>

<SCRIPT =
src=3D"http://www.californiachronicle.com/inc/js/confirmNav.js"></SCRIPT>=


<SCRIPT =
src=3D"http://www.californiachronicle.com/inc/js/datePicker.js"></SCRIPT>=


<SCRIPT =
src=3D"http://www.californiachronicle.com/inc/js/md4.js"></SCRIPT>

<SCRIPT =
src=3D"http://www.californiachronicle.com/inc/js/md5.js"></SCRIPT>

<SCRIPT =
src=3D"http://www.californiachronicle.com/inc/js/popup.php"></SCRIPT>

<SCRIPT =
src=3D"http://www.californiachronicle.com/inc/js/sha1.js"></SCRIPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/js/submitMailingListForm.ph=
p"></SCRIPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/js/submitReferralForm.js"><=
/SCRIPT>

<SCRIPT =
src=3D"http://www.californiachronicle.com/inc/js/toggle.js"></SCRIPT>

<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META=20
content=3D"California Chronicle, news, magazine, breaking news, daily =
news, world news, top news, local news, national news, opinion, sports, =
entertainment, government, California Assembly, California Senate, =
gossip"=20
name=3Dkeywords>
<META=20
content=3D"California Chronicle - The Golden State's online magazine for =
national, international, state, local, entertainment, sports, and =
government news"=20
name=3Ddescription><!-- <link rel=3D"stylesheet" =
href=3D"http://www.californiachronicle.com/inc/style.css"> --><LINK=20
media=3Dscreen=20
href=3D"http://www.californiachronicle.com/inc/style_js_color_picker_v2.c=
ss"=20
rel=3Dstylesheet>
<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/scriptaculous/lib/prototype=
.js"></SCRIPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/scriptaculous/src/scriptacu=
lous.js"></SCRIPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/color_picker/color_function=
s.js"></SCRIPT>

<SCRIPT=20
src=3D"http://www.californiachronicle.com/inc/color_picker/js_color_picke=
r_v2.js"></SCRIPT>

<META content=3D"MSHTML 6.00.2900.3268" name=3DGENERATOR></HEAD>
<BODY><LINK =
href=3D"http://www.californiachronicle.com/css/california/inside.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.californiachronicle.com/css/footerStyle.css" =
type=3Dtext/css=20
rel=3Dstylesheet><!-- <body> --><!-- container div -->
<DIV id=3Dcontainer><!-- header -->
<DIV id=3Dheader><A class=3Dlogo=20
href=3D"http://www.californiachronicle.com/"></A></DIV><!-- top banner =
ad -->
<DIV id=3DtopBannerAd><ALIGN=3D"RIGHT"><!--webbot bot=3D"HTMLMarkup" =
startspan -->
<SCRIPT type=3Dtext/javascript><!--=0A=
google_ad_client =3D "pub-8947388409604770";=0A=
google_ad_width =3D 728;=0A=
google_ad_height =3D 90;=0A=
google_ad_format =3D "728x90_as";=0A=
google_ad_type =3D "text_image";=0A=
//2007-01-05: Leaderboard=0A=
google_ad_channel =3D "6195195507";=0A=
google_color_border =3D "FFFFFF";=0A=
google_color_bg =3D "FFFFFF";=0A=
google_color_link =3D "1B703A";=0A=
google_color_text =3D "000000";=0A=
google_color_url =3D "008000";=0A=
//--></SCRIPT>

<SCRIPT src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js"=20
type=3Dtext/javascript>=0A=
</SCRIPT>
<!--webbot bot=3D"HTMLMarkup" endspan i-checksum=3D"32768" --></DIV><!-- =
top navbar -->
<DIV id=3DtopNavbar>
<UL>
  <LI><A href=3D"http://www.californiachronicle.com/">Home</A>=20
  <LI>| <A=20
  =
href=3D"http://www.californiachronicle.com/notices/submit_work.asp">Send =
Us=20
  Info</A>=20
  <LI>| <!--webbot bot=3D"HTMLMarkup" startspan --><A=20
  href=3D"http://www.jdoqocy.com/click-1750408-10389843" =
target=3D_top>Shop</A><IMG=20
  height=3D1 src=3D"http://www.awltovhc.com/image-1750408-10389843" =
width=3D1=20
border=3D0><!--webbot bot=3D"HTMLMarkup" endspan -->=20
  <LI>| <A=20
  =
href=3D"http://www.californiachronicle.com/notices/search.asp">Search</A>=
=20
  <LI>| <A=20
  =
href=3D"http://www.californiachronicle.com/notices/advertise.asp">Adverti=
se</A>=20
  <LI>| <A=20
  =
href=3D"http://www.californiachronicle.com/notices/subscribe.asp">Subscri=
be</A>=20
  <LI>| <A =
href=3D"http://www.californiachronicle.com/notices/help.asp">Help</A>=20
  <LI><FONT face=3DVerdana size=3D2>| <A=20
  href=3D"http://www.californiachronicle.com/notices/syn.asp"><IMG =
height=3D14=20
  =
src=3D"http://www.californiachronicle.com/img/logos/feed-icon14x14.jpg" =
width=3D14=20
  align=3Dcenter border=3D0> </A></FONT></LI></UL></DIV>
<DIV id=3DdateBar>
<H1>Friday, March 21, 2008</H1></DIV><!-- navbar div -->
<DIV id=3Dnavbar>
<UL>
  <LI>
  <H1>News</H1>
  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/world_front_page.asp?nati=
on=3DAfghanistan">World</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/categories.asp?topic=3DNa=
tional">National</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/states_front_page.asp?top=
ic=3DCalifornia">State=20
  News</A>=20
  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/politics_front_page.asp?t=
opic=3DPolitics">Politics</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/business_front_page.asp?t=
opic=3DBusiness">Business</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/technology_front_page.asp=
?topic=3DTechnology">Technology</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/industry_front_page.asp?t=
opic=3DIndustry">Industry</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/categories.asp?topic=3DSc=
ience">Science</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/categories.asp?topic=3DMe=
dicine">Medicine</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/sports_front_page.asp?top=
ic=3DSports">Sports</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/education_front_page.asp?=
topic=3DEducation">Education</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/entertainment_front_page.=
asp?topic=3DEntertainment">Entertainment</A>=20

  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/news/weather_front_page.asp?to=
pic=3DWeather">Weather</A>=20

  <LI>
  <H1>Opinion</H1>
  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/articles/opinionList.asp">Late=
st=20
  Articles</A>=20
  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/articles/viewOpEdTopics.asp">V=
iew=20
  Topics</A>=20
  <LI><A =
href=3D"http://www.californiachronicle.com/articles/viewAuthors.asp">View=
=20
  Authors</A>=20
  <LI>
  <H1>Features</H1>
  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/articles/featureList.asp">Late=
st=20
  Articles</A>=20
  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/articles/viewFeatureTopics.asp=
">View=20
  Topics</A>=20
  <LI><A =
href=3D"http://www.californiachronicle.com/articles/viewAuthors.asp">View=
=20
  Authors</A>=20
  <LI>
  <H1>Community</H1>
  <LI><A =
href=3D"http://www.californiachronicle.com/forum/toast.asp">Town =
Hall</A>=20
<!-- <li><a href=3D"/cityBlogs/viewBlogs.asp">CityBlogs</a></li> -->
  <LI><A =
href=3D"http://www.californiachronicle.com/notices/about.asp">Join Our=20
  List</A>=20
  <LI>
  <H1>Other Sections</H1>
  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/notices/about.asp">Affiliates<=
/A>=20
  <LI><A=20
  =
href=3D"http://www.californiachronicle.com/notices/advertise.asp">Adverti=
se</A>=20
  <LI><A =
href=3D"http://www.californiachronicle.com/video/video1.asp">Video</A>=20
  </LI></UL>
<P align=3Dcenter>&nbsp;</P>
<P align=3Dcenter>&nbsp;</P>
<P align=3Dcenter>&nbsp;</P><!-- close navbar div --></DIV><!-- content =
area -->
<DIV id=3Dcontent>
<H2 style=3D"MARGIN-BOTTOM: 0px">Spring Break 2008: Thinking Globally =
and Acting=20
Locally</H2>
<DIV class=3Darticle>
<DIV id=3DauthorBioContainer></DIV>
<DIV class=3DarticleBy>Newswire Services </DIV>
<DIV class=3DarticleDate>March 20, 2008</DIV>
<DIV class=3DarticleBody>
<DIV id=3DstrBody><I>Record Numbers of University of Southern California =
Students=20
Devote Spring Break to Community Service and Cultural Immersion.=20
</I><BR><BR>More than 600 USC students are creating a new spring break=20
tradition, traveling in record numbers in the United States and around =
the world=20
to perform community service and gain firsthand experience of global =
issues.=20
<BR><BR>"The Alternative Spring Break program is becoming something that =
is less=20
of an alternative," said Melissa Gaeke, director of the USC Volunteer =
Center.=20
"Students see this as a way to do intensive and immersive service that =
their=20
schedules might not otherwise allow."<BR><BR>Highlights of how USC =
students will=20
spend the week of March 15:<BR><BR>Free Clinics in Baltimore<BR><BR>One =
of only=20
two health-oriented spring break programs in the nation, the new=20
university-operated Alternative Spring Break trip to Baltimore addresses =

interest in health care among pre-med and biological science students =
and=20
students interested in public policy. Led by volunteer staff from USC =
Health=20
Prevention and Promotion Services, USC students will volunteer in =
federally=20
funded free and low-cost clinics. They will also travel to Washington, =
D.C., to=20
learn more about health policy and visit leading medical facilities to =
explore=20
the disparity among health facilities in the United =
States.<BR><BR>Community=20
Involvement<BR><BR>Now in its 16th year, the longest-running Alternative =
Spring=20
Break trip at USC draws upon a longstanding relationship between USC and =
the=20
Navajo Nation. Many USC students are returning to the program for the =
second or=20
third time. Working closely with community leaders, USC students immerse =

themselves in Navajo culture and volunteer in classrooms in Bluff, Utah, =

cultivating relationships with children, teachers and families on the=20
reservation.<BR><BR>More proof that service begins in the community, =
another=20
group of USC students -- consisting mostly of students with =
international=20
backgrounds -- will focus on homelessness and poverty. During spring =
break, USC=20
students will work at a soup kitchen and visit a food bank, gaining =
direct=20
experience with organizations that address the issue of hunger and the =
thousands=20
of people in the Los Angeles area who rely on them. USC students will =
also help=20
organize activities and distribute materials at a day shelter in =
Salinas,=20
Calif., and at a migrant worker camp. <BR><BR>Business Class<BR><BR>This =
year,=20
more than 60 percent of the entire first-year class at USC's Marshall =
School of=20
Business -- 310 students -- will participate in one of two international =
travel=20
programs over spring break. The first programs in the nation to focus on =

first-year students, Learning about International Commerce (LINC) and =
the Global=20
Leadership Program (GLP) offer USC students at the beginning of their=20
educational careers an opportunity for immersion in a business =
environment=20
outside of the United States.=20
<DIV style=3D"FLOAT: left; MARGIN: 5px 5px 5px 0px">
<P>
<SCRIPT type=3Dtext/javascript><!--=0A=
google_ad_client =3D "pub-8947388409604770";=0A=
google_ad_width =3D 300;=0A=
google_ad_height =3D 250;=0A=
google_ad_format =3D "300x250_as";=0A=
google_ad_channel =3D "";=0A=
google_color_border =3D "FFFFFF";=0A=
google_color_bg =3D "FFFFFF";=0A=
google_color_link =3D "000084";=0A=
google_color_url =3D "31659C";=0A=
google_color_text =3D "000000";=0A=
//--></SCRIPT>

<SCRIPT src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js"=20
type=3Dtext/javascript>=0A=
</SCRIPT>
</P></DIV><BR><BR>A two-semester honors program, GLP includes classes in =
areas=20
such as language, business etiquette and economic and political history, =
with=20
coursework complemented by a trip to Shanghai or Beijing over spring=20
break.<BR><BR>LINC participants have been studying emerging markets and =
will=20
travel to Taipei, Taiwan; Santiago, Chile; Dublin, Ireland; or Hong Kong =
for=20
on-site meetings with international business leaders. After last year's =
LINC=20
spring break trip to China, 24 of 187 USC students returned to China for =
summer=20
internships.<BR><BR>The spring break trips are part of Dean James Ellis' =
goal to=20
send all first-year students overseas. Another 35 students from the =
Marshall=20
School of Business are headed to Bangkok over spring break for the =
Experiential=20
Corporate Environment Learning program (ExCEL). They will visit such =
firms as=20
Kantana, the largest film and production company in Thailand, and CP, =
the parent=20
company of 7/11.<BR><BR>Green Scene<BR><BR>Some of the most popular =
Alternative=20
Spring Break programs send students to work on conservation in a variety =
of=20
terrains. Park rangers at Orcas Island, Wash., and Death Valley, Calif., =
save=20
projects requiring more muscle -- such as fixing a trail to make it rain =

resistant -- for spring break. <BR><BR>Another conservation-focused =
program=20
takes place on two small islands just off the coast of Cancun, Mexico, a =

notorious spring break party spot. All of Isla Contoy is a bird =
sanctuary that=20
includes brown pelican nesting grounds. USC students will have the rare=20
opportunity to spend two nights at the research station on the island. =
They will=20
also help clear non-native plant debris and volunteer at a school for =
children=20
with developmental disabilities.<BR><BR>New Orleans<BR><BR>For the third =
year in=20
a row, USC Gould School of Law students will travel to the Gulf region =
to ease=20
the caseload of pro bono public interest attorneys as they help =
residents, many=20
of whom still live in trailers sponsored by the government, navigate =
complicated=20
issues such as health insurance and the paperwork required to obtain =
proper=20
titles of home ownership. They will also work with the Louisiana Justice =

Coalition to lobby on behalf of public housing and perform outreach for =
public=20
defenders. <BR><BR>At least a third of the 47 students in the USC Legal =
Aid=20
Alternative Breaks program are returning volunteers. USC's Legal Aid =
Alternative=20
Breaks program works closely with the nationwide Student Hurricane =
Network,=20
which has placed more than 2,700 law students with legal organizations =
in the=20
Gulf region since Hurricane Katrina.</DIV></DIV>
<DIV id=3DauthorBioTemp>
<DIV class=3DauthorBio>
<DIV class=3DarticleBy>Newswire Services</DIV><IMG class=3DauthorBioPic=20
src=3D"http://www.californiachronicle.com/bioPics/author127.gif"=20
width=3D125><BR><BR>
<P style=3D"TEXT-ALIGN: left">These pages provide information, news =
releases, and=20
announcements obtained from communication and public relations offices =
from=20
around the world. </P>
<P class=3DauthorEmail style=3D"MARGIN-TOP: 10px"><A=20
href=3D"mailto:info@amchron.com?subject=3DYour Article About =
...">author's email</P>
<P class=3DauthorWebSite><A href=3D"http://www.americanchronicle.com/"=20
target=3D_blank>author's web site</A></P>
<P><A =
href=3D"http://www.californiachronicle.com/viewByAuthor?authorID=3D127">v=
iew=20
author's other articles</A></P>
<DIV class=3DmailingListForm>
<FORM name=3DmailingListForm method=3Dget><B>Join this author's mailing =
list</B>=20
<INPUT type=3Dhidden value=3D0 name=3DcategoryID> <INPUT type=3Dhidden =
value=3D0=20
name=3DissueID> <INPUT type=3Dhidden value=3D127 name=3DauthorID> =
<BR><BR>Your=20
Name:<BR><INPUT class=3DtextBox maxLength=3D50 size=3D25=20
name=3DsubscriberName><BR>E-mail Address:<BR><INPUT class=3DtextBox =
maxLength=3D50=20
size=3D25 name=3DemailAddress><BR><INPUT class=3Dbutton =
onclick=3D"return submitMailingListForm(mailingListForm);" type=3Dbutton =
value=3D"Sign up">=20
</FORM></DIV></DIV></DIV></DIV>
<SCRIPT type=3Dtext/javascript>=0A=
function checkDup(){=0A=
	var strBody =3D document.getElementById("strBody").innerHTML;=0A=
	if((strBody.indexOf("<img") < 50) && (strBody.indexOf("<img") !=3D -1)){=0A=
		if(document.getElementById("articleImage")){=0A=
			document.getElementById("articleImage").innerHTML =3D "";=0A=
		}=0A=
	}=0A=
	if(document.getElementById("articleImage")){=0A=
		document.getElementById("articleImage").style.visibility =3D "visible";=0A=
	}=0A=
}=0A=
checkDup();=0A=
</SCRIPT>

<SCRIPT src=3D"http://www.californiachronicle.com/_js/moveBio.js"=20
type=3Dtext/javascript></SCRIPT>
<!-- close content div --></DIV><!-- ads div -->
<DIV id=3Dads>
<STYLE type=3Dtext/css>.adHeadline {
	FONT: bold 10pt Arial; COLOR: blue; TEXT-DECORATION: underline
}
.adText {
	FONT: 10pt Arial; COLOR: black; TEXT-DECORATION: none
}
</STYLE>
<BR><!--webbot bot=3D"HTMLMarkup" startspan -->
<SCRIPT type=3Dtext/javascript><!--=0A=
google_ad_client =3D "pub-8947388409604770";=0A=
google_ad_width =3D 120;=0A=
google_ad_height =3D 600;=0A=
google_ad_format =3D "120x600_as";=0A=
google_ad_type =3D "text_image";=0A=
google_ad_channel =3D"6333935644";=0A=
google_color_border =3D "336699";=0A=
google_color_bg =3D "FFFFFF";=0A=
google_color_link =3D "0000FF";=0A=
google_color_text =3D "000000";=0A=
google_color_url =3D "008000";=0A=
//--></SCRIPT>

<SCRIPT src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js"=20
type=3Dtext/javascript>=0A=
</SCRIPT>
<!--webbot bot=3D"HTMLMarkup" endspan -->
<P></P><A href=3D"http://www.californiachronicle.com/articles/50890"=20
target=3D_blank><IMG height=3D170=20
src=3D"http://www.californiachronicle.com/images/ads/125by170ads/PIO125x1=
70a.jpg"=20
width=3D125 border=3D0></A>
<P></P>
<P align=3Djustify><A=20
href=3D"http://www.californiachronicle.com/notices/submit_info.asp"></A><=
/P><!--webbot bot=3D"Include" =
U-Include=3D"../documents/RotatingAmChronAds.htm" TAG=3D"BODY" startspan =
--><!--webbot bot=3D"HTMLMarkup" startspan -->
<SCRIPT language=3DJavaScript>=0A=
=0A=
<!-- Begin First Grouping -->=0A=
var how_many_ads =3D 34;=0A=
var now =3D new Date()=0A=
var sec =3D now.getSeconds()=0A=
var ad =3D sec % how_many_ads;=0A=
ad +=3D1;=0A=
if (ad=3D=3D1) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150a.jpg";=0A=
width=3D"125";=0A=
height=3D"150";}=0A=
if (ad=3D=3D2) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150b.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D3) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150c.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D4) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150d.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D5) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150e.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D6) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150f.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D7) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150g.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D8) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150h.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D9) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150i.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D10) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150j.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D11) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150k.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D12) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150l.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D13) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150m.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D14) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150n.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D15) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150o.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D16) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150p.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D17) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150q.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D18) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150r.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D19) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150s.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D20) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150t.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D21) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150u.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D22) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150v.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D23) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150w.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D24) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150x.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D25) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150y.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D26) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150z.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D27) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150aa.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D28) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150ab.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D29) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150ac.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
if (ad=3D=3D30) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150ad.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}	=0A=
if (ad=3D=3D31) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150ae.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}if (ad=3D=3D32) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150af.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}if (ad=3D=3D33) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150ag.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}if (ad=3D=3D34) {=0A=
txt=3D" ";=0A=
url=3D"http://www.americanchronicle.com/notices/submit_info.asp";=0A=
alt=3D"";=0A=
banner=3D"http://www.americanchronicle.com/images/ads/125by150ads/writers=
wanted125x150ah.jpg";=0A=
width=3D"125";=0A=
height=3D"150";=0A=
}=0A=
=0A=
document.write('<left>');=0A=
document.write('<a href=3D\"' + url + '\" target=3D\"_top\">');=0A=
document.write('<img src=3D\"' + banner + '\" width=3D')=0A=
document.write(width + ' height=3D' + height + ' ');=0A=
document.write('alt=3D\"' + alt + '\" border=3D0><br>');=0A=
document.write('<small>' + txt + '</small></a>');=0A=
document.write('</center>');=0A=
// End -->=0A=
</SCRIPT>
<!--webbot bot=3D"HTMLMarkup" endspan -->
<P align=3Djustify><A href=3D"http://www.calpday.com/" =
target=3D_blank><IMG height=3D600=20
src=3D"http://www.americanchronicle.com/images/ads/120by600ads/120by600ca=
lpday3.gif"=20
width=3D120 border=3D0></A></P>
<P align=3Djustify>&nbsp;</P>
<P align=3Djustify>&nbsp;</P>
<P align=3Djustify>&nbsp;</P>
<P align=3Djustify>&nbsp;</P><!-- close ads div --></DIV><!-- close =
container div --></DIV><!-- footer -->
<DIV id=3Dfooter>
<P align=3Dcenter><!--webbot bot=3D"HTMLMarkup" startspan -->
<SCRIPT type=3Dtext/javascript><!--=0A=
google_ad_client =3D "pub-8947388409604770";=0A=
google_alternate_ad_url =3D =
"http://www.californiachronicle.com/ads/google%20ads/bannerSmallHorizonta=
lwriterswanted.html";=0A=
google_ad_width =3D 468;=0A=
google_ad_height =3D 15;=0A=
google_ad_format =3D "468x15_0ads_al_s";=0A=
google_ad_channel =3D"6004234559";=0A=
google_color_border =3D "006600";=0A=
google_color_bg =3D "FFFFFF";=0A=
google_color_link =3D "006600";=0A=
google_color_url =3D "008000";=0A=
google_color_text =3D "000000";=0A=
//--></SCRIPT>

<SCRIPT src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js"=20
type=3Dtext/javascript>=0A=
</SCRIPT>
<!--webbot bot=3D"HTMLMarkup" endspan i-checksum=3D"62678" --></P>
<P align=3Dcenter><FONT face=3DVerdana size=3D2><BR>&nbsp;</FONT></P>
<P align=3Dcenter><FONT face=3DVerdana size=3D2><A=20
href=3D"http://www.americanchronicle.com/" target=3D_blank>American =
Chronicle</A> |=20
<A href=3D"http://www.californiachronicle.com/" =
target=3D_blank>California=20
Chronicle</A> | <A href=3D"http://www.losangeleschronicle.com/" =
target=3D_blank>Los=20
Angeles Chronicle</A> | <A href=3D"http://www.worldsentinel.com/"=20
target=3D_blank>World Sentinel</A></FONT></P>
<P align=3Dcenter><FONT face=3DVerdana size=3D2><!--webbot =
bot=3D"HTMLMarkup" startspan --><A=20
href=3D"http://www.jdoqocy.com/click-1750408-10389843" =
target=3D_top>Buy.com</A><IMG=20
height=3D1 src=3D"http://www.awltovhc.com/image-1750408-10389843" =
width=3D1 border=3D0><!--webbot bot=3D"HTMLMarkup" endspan =
i-checksum=3D"260" --> | <A=20
href=3D"http://www.californiachronicle.com/notices/search.asp"=20
target=3D_blank>Search</A> | <A=20
href=3D"http://www.californiachronicle.com/notices/subscribe.asp"=20
target=3D_blank>Subscribe</A> | <A=20
href=3D"http://www.californiachronicle.com/notices/about.asp"=20
target=3D_blank>About</A> | <A=20
href=3D"http://www.californiachronicle.com/notices/submit_work.asp"=20
target=3D_blank>Submit Work</A> | <A=20
href=3D"http://www.californiachronicle.com/notices/feedback.asp"=20
target=3D_blank>Reader Feedback</A> |&nbsp; <A=20
href=3D"http://www.californiachronicle.com/notices/help.asp"=20
target=3D_blank>Help</A> | <A=20
href=3D"http://www.californiachronicle.com/notices/syn.asp"><IMG =
height=3D14=20
src=3D"http://www.californiachronicle.com/images/logos/feed-icon14x14.jpg=
"=20
width=3D14 align=3Dcenter border=3D0></A><BR><BR><A=20
href=3D"http://www.californiachronicle.com/notices/advertise.asp"=20
target=3D_blank>Advertise</A> | <A=20
href=3D"http://www.californiachronicle.com/notices/privacy.asp"=20
target=3D_blank>Privacy Policy</A> | <A=20
href=3D"http://www.californiachronicle.com/notices/copyright.asp"=20
target=3D_blank>Copyright</A> | <A=20
href=3D"http://www.americanchronicle.com/notices/linktous.asp" =
target=3D_blank>Link=20
to Us</A></FONT></P>
<P align=3Dcenter><FONT face=3DVerdana color=3D#ffffff =
size=3D2><!--webbot bot=3D"HTMLMarkup" startspan --><A=20
href=3D"http://pub.webstat.com/login.php?ac=3D87772"></A><!--webbot =
bot=3D"HTMLMarkup" endspan i-checksum=3D"7779" --></FONT></P>
<P class=3DMsoNormal align=3Dcenter><I><FONT face=3DVerdana size=3D1>The =
American=20
Chronicle and its affiliates have no responsibility for the views, =
opinions and=20
information communicated here. <BR>The contributor(s) and news providers =
are=20
fully responsible for their content.&nbsp; <BR>In addition, the views =
and=20
opinions expressed here are not necessarily those of the American =
Chronicle or=20
its affiliates. <BR><BR>All services and information provided on this =
website=20
are provided as general information only. <BR>Any medical advice, home =
remedies=20
and all other medical information on this website <BR>should not be =
treated as a=20
substitute for the medical advice of your own doctor.&nbsp; <BR>We not=20
responsible for any diagnosis of treatment made by anyone based on any =
of the=20
content of this website. <BR>Always consult your own doctor if you are =
in any=20
way concerned about your health.</FONT><FONT size=3D1><SPAN=20
style=3D"COLOR: black; FONT-FAMILY: Verdana"><BR></SPAN></FONT><SPAN=20
style=3D"COLOR: black; FONT-FAMILY: Verdana"><FONT=20
size=3D2>&nbsp;</FONT></SPAN></I></P>
<P align=3Dcenter></P>
<P align=3Dcenter><FONT face=3DVerdana size=3D2>This site is best viewed =
with Internet=20
Explorer (IE). <BR><A =
href=3D"http://www.californiachronicle.com/notices/help.asp"=20
target=3D_blank>Click here for help in viewing this=20
site.</A></FONT></P><BR><BR>California Chronicle is a trademark of <A=20
href=3D"http://www.ultio.net/">Ultio LLC</A>. <BR>
<SCRIPT language=3DJavaScript=20
src=3D"http://hits.nextstat.com/cgi-bin/wsv2.cgi?87772"=20
type=3Dtext/javascript></SCRIPT>
<NOSCRIPT><A href=3D"http://www.nextstat.com/"><IMG=20
alt=3D"Free Hit Tracker and Free Web Site Stats by WebSTAT"=20
src=3D"http://hits.nextstat.com/scripts/wsb.php?ac=3D87772" =
border=3D0></A>=20
</NOSCRIPT>
<SCRIPT src=3D"http://www.google-analytics.com/urchin.js"=20
type=3Dtext/javascript>=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
_uacct =3D "UA-146040-1";=0A=
urchinTracker();=0A=
</SCRIPT>
<!-- close footer div --></DIV>
<SCRIPT type=3Dtext/javascript>=0A=
		var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ?=0A=
		"https://ssl." : "http://www.");=0A=
		document.write(unescape("%3Cscript src=3D'" + gaJsHost +=0A=
		"google-analytics.com/ga.js' =
type=3D'text/javascript'%3E%3C/script%3E"));=0A=
		</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
		var pageTracker =3D _gat._getTracker("UA-91890-9");=0A=
		pageTracker._initData();=0A=
		pageTracker._trackPageview();=0A=
		</SCRIPT>

<SCRIPT>=0A=
	if("" !=3D ""){=0A=
		$("alert").innerHTML =3D "";		=0A=
		Effect.Appear("alert");=0A=
	}=0A=
</SCRIPT>
</BODY></HTML>

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.awltovhc.com/image-1750408-10389843

R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAQAICVAEAOwA=

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.californiachronicle.com/img/logos/feed-icon14x14.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwM
DAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgADgAOAwERAAIRAQMRAf/EAHgAAAMBAAAAAAAAAAAAAAAA
AAIFBggBAAMBAAAAAAAAAAAAAAAAAAQFBwIQAAEEAQMDAgcAAAAAAAAAAAIBAwQFBgARByExE1Ei
YbESIxQkFREAAgEDBAAFBQEAAAAAAAAAAQIDERIEACEiBTFBYTJCUYGRUpIT/9oADAMBAAIRAxEA
PwDZ3G3HOO5Fisu4vqy2QmpTiO5BWPMPjFbERVCfr1+6rY7qqkKfLUO6/r4MrFaSVXoCauhVrBtu
0futHmRq59v20+LkrHEybgcHBW47+2T23HyB0U3jsYWZVGGPyoLUe5Ycnw8kVf1Ha9th18pAlv2Q
GiVU37pt8dK26CdMsQNIoVhcJK8DHQtf/IO310RH3aSYbZKoxKm0p8g5IW38kaa8cXNzFrqeNheH
t2uUhZtSCsQmMMyDjCKeWKbZmmzRCi7mXtTf10Z0M8iOqY8Qab/StwajFaboVPwIrVjx++he7xon
LNkzFYbCLbSVDV2cEfIfqOWpnJ77Jnp/GB2OB/h1kO6uZePMf0mDWZWOSkJ+F9QKvjab6j5D2BR6
j7dNcvIrHAXiogdyouG6Xck9FHhcdqemt4OLCoyQk9XKRhzaeMgXi/qx8bRyB8d9f//Z

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.californiachronicle.com/bioPics/author127.gif

R0lGODlhfQB1APcAAPr61HmKicjn58nJmY2ma8vmzIGCPH+3feTiunJ6YmuMcbXNzX2BPIGCQX2C
RHt6ejQzNH6/fX19Qp3NncXGxkZGRNXs1YF+Qur467u7u4zHjKy/v5nJtfPyz32ururpv0ZGO6TS
pIGDhYN5eX5+Pre3hfX2097dt4C/gXh5NZmaYnvGxIbDhvn31YPExajNpfLyyrPas6PPnVRURIO8
ulVVO9fXqmdpO/f30MHewYF+PMXl2pvTnWVmQ7KxfFZkUbzdvJLLk6mqdf782XZ4MlRaVJWWlbfj
ubHXsn+WmICnpnV2NaChZn+BebrEucfavMTFu43JjvDux8PjwpW0lvf504J8g4CJU5arlqipqK3Y
s4GrhLDXrjc/Ndnw2uT13mRoZ/f5znV4ODo4PcDgyam4pXx9gYyOTlttXa3TrJaYXXl5OZSmpWl5
a8Hd24Wah5PFiUdWRtDo0Pv7z47HkJiciX18Zn1+OMfGrXJ0OKC5n3rDeT9BP/v32EI9RKW6t31+
VnB3d7vMp4udodbq4oODRoaJRYiimnp8PbGzr+vu109UVJvNla/FvqzbsHd7LT89Oqi1inl5PXh2
Ob++pabUprG4l5jNmZPEk9XdxIeJSrXdufv1z4+Xa3FzQW1vOXl8OfT1zl5cR6SnhfT2x8rt6Hx5
OX59SM3q7N/fsU1MRaKnnZ22tmRlXIePWnZ4Q4GBYlBQNu/xx3zAv4atsnh1MnFySqjRp4GOj/bz
0Hx6QIDBgGBjO4zRjU1MPGtuQYjFiILDjXqUec7RssDAwFleXfbz19DPn/Luz6CgcqPHoPX2zHl1
QJa/mcLl5fH4yY6STZ/ZoY+ojmVvbIC0sIeLPargq3JwMr7QwYTJjovKiUhGMuHw5VxbPnyenYHI
gZfIlYu+iktOTqfYq3R/T/Xzx8fh4p6fYpqurK6uefz+1Z6enOH1z9Dw0FpbNWaCZa6vdHaFc2tr
R7jRsbbYtl+QkIyIVIyNiGhoM73W17PVtYm3mdPv94WFPZPQkn9/PyH5BAAAAAAALAAAAAB9AHUA
AAj/AGHgOIEI0RkpHUJJ0YToHwIcMMKoMDXpWJUOAHwsIVICQIc5A9asYYJj2bJUiEydkSULx4cz
JP7dSWWiig1Q/2oNqGLiQ6F/ByII3bVrqNAIRY2iQLFnD4oDKIgiJSr1qNWrWLMeFUjQIEKFDB1C
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
kmW8dyVg5VVQ0AoIADs=

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.californiachronicle.com/images/ads/125by170ads/PIO125x170a.jpg

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

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americanchronicle.com/images/ads/120by600ads/120by600calpday3.gif

R0lGODlheABYAvcAAI6y+LKOi6l6a1ZXh2dqp2mo/86PdQMHKI9lUy5Rm29USCtYuTdFZnl6x0ZL
dEtITFhjmHVyq4R5thckNCY1RmJHObTY/oWCyn2a10pUhkRGaUdUeFWJ+mJbiTNDVmuFtrmGelRS
ejpmx1AzLpOT6pas3Ux76i46Y4N8yGWGzrqoc3Vta2Wa/9/n99empSg4VWlzuI2N5VdclNmZgnFs
pxMWGMWUiaXL/Y2Pq2d2qZiW9daim4NaSgMFBzhIdZhzZzM6WcialnJztHOJxVRojBtKrwYqU1ll
pgUmS6l0WqiqxJyKi4yL3U1xyLrj/lmS/xM2Znt6vI2T5nSs/3ZhV2p0x0dZlay96SMkJ3t0s0Zs
w2FilEh02TI6R2JjnZSN55l6dYWF1GhssQQGFxUxWGZhjDY2OIp3MqvV/iYxPJnA/XNomx8rOKmB
elt0pXN0vdacl0ZmuIdqYeSyr3Oz/2tjk2tpnbebZ5mDfERRZlBNdWVxgkthh1SD726O0XaTzYuF
1ZOL3GBVezZft0Ngk8OMg01coQovWV2Cy2mM/Vs8S3ia5UyD+Ht5tXVstJhrX2pknaWnvUdhqIx4
dXyD07qBZ5mJRopxaHt0vIyK1llqtRdIkeOkjRYnSTxQdVJ43FhvmouG3UNNgAwPEQYRQVV4y7HQ
/3N5vWl51mV2mWeF6lNKaqWUVjcmIyxAZlVgeV96tL2fcnh80ilDdh4wQ4WF3BIqUmyv/yshHGJp
nsF3cDpOadGfoICd2CUXFh4sQ4WL3Wl86ToxLFZWXUmC6qCc/G+W/OGehXJ6s5qftXRgiKqji4GX
w46T83l7oXCC62pplbBbba+Cb62eY3CH9z9u1mJrkYGi64M/SWVuwZlPX5WN8QktTGyS66SUdx4c
IpOAO1xvxZCHzYSK1VJQgyIuUi8tMBhAe3GT1aBVWBEQDw4IBxkdH1Vv1AgMDGZeopaQ3xYLFiot
Lf///77P6+/z+8/b73uBdo2N8GOh/0dQj3QuNg85e4Wf14WGcgxAsCH5BAAAAAAALAAAAAB4AFgC
AAj/AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX
MGPKnKlxQZMmRQTeFFHwZpOPNnHCbHKl3rx59kosYIjh6M9/R+kN9GPUqcem8562xHq0q9SFWJ9G
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

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.californiachronicle.com/images/logos/feed-icon14x14.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwM
DAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgADgAOAwERAAIRAQMRAf/EAHgAAAMBAAAAAAAAAAAAAAAA
AAIFBggBAAMBAAAAAAAAAAAAAAAAAAQFBwIQAAEEAQMDAgcAAAAAAAAAAAIBAwQFBgARByExE1Ei
YbESIxQkFREAAgEDBAAFBQEAAAAAAAAAAQIDERIEACEiBTFBYTJCUYGRUpIT/9oADAMBAAIRAxEA
PwDZ3G3HOO5Fisu4vqy2QmpTiO5BWPMPjFbERVCfr1+6rY7qqkKfLUO6/r4MrFaSVXoCauhVrBtu
0futHmRq59v20+LkrHEybgcHBW47+2T23HyB0U3jsYWZVGGPyoLUe5Ycnw8kVf1Ha9th18pAlv2Q
GiVU37pt8dK26CdMsQNIoVhcJK8DHQtf/IO310RH3aSYbZKoxKm0p8g5IW38kaa8cXNzFrqeNheH
t2uUhZtSCsQmMMyDjCKeWKbZmmzRCi7mXtTf10Z0M8iOqY8Qab/StwajFaboVPwIrVjx++he7xon
LNkzFYbCLbSVDV2cEfIfqOWpnJ77Jnp/GB2OB/h1kO6uZePMf0mDWZWOSkJ+F9QKvjab6j5D2BR6
j7dNcvIrHAXiogdyouG6Xck9FHhcdqemt4OLCoyQk9XKRhzaeMgXi/qx8bRyB8d9f//Z

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://hits.nextstat.com/scripts/wsb.php?ac=87772

R0lGODlhAQABALP/AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwAAAAAAAAAAAAAAAAAAAAAAA
AAAAACH5BAEAAAgALAAAAAABAAEAQAQCEEUAOw==

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/style_js_color_picker_v2.css

#dhtmlgoodies_colorPicker {
	BORDER-RIGHT: #317082 1px solid; BORDER-TOP: #317082 1px solid; =
PADDING-BOTTOM: 1px; BORDER-LEFT: #317082 1px solid; WIDTH: 250px; =
BORDER-BOTTOM: #317082 1px solid; POSITION: absolute; BACKGROUND-COLOR: =
#fff
}
#dhtmlgoodies_colorPicker .colorPicker_topRow {
	PADDING-LEFT: 2px; PADDING-BOTTOM: 1px; WIDTH: 248px; BORDER-BOTTOM: =
#317082 3px double; HEIGHT: 16px; BACKGROUND-COLOR: #e2ebed
}
#dhtmlgoodies_colorPicker .colorPicker_statusBar {
	CLEAR: both; BORDER-TOP: #317082 3px double; PADDING-LEFT: 2px; =
PADDING-BOTTOM: 2px; WIDTH: 248px; HEIGHT: 13px; BACKGROUND-COLOR: =
#e2ebed
}
#dhtmlgoodies_colorPicker .colorSquare {
	BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; FLOAT: left; =
MARGIN-BOTTOM: 1px; MARGIN-LEFT: 1px; BORDER-LEFT: #000 1px solid; =
WIDTH: 10px; CURSOR: pointer; BORDER-BOTTOM: #000 1px solid; HEIGHT: =
10px
}
.colorPickerTab_inactive {
	PADDING-LEFT: 4px; CURSOR: pointer; HEIGHT: 17px
}
.colorPickerTab_active {
	PADDING-LEFT: 4px; CURSOR: pointer; HEIGHT: 17px
}
.colorPickerTab_inactive SPAN {
	BACKGROUND-IMAGE: url(images/tab_left_inactive.gif)
}
.colorPickerTab_active SPAN {
	BACKGROUND-IMAGE: url(images/tab_left_active.gif)
}
.colorPickerTab_inactive SPAN {
	BACKGROUND-POSITION: left top; PADDING-LEFT: 6px; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; FLOAT: left; VERTICAL-ALIGN: middle; LINE-HEIGHT: 16px; =
PADDING-TOP: 1px; BACKGROUND-REPEAT: no-repeat; FONT-FAMILY: arial; =
moz-user-select: no
}
.colorPickerTab_active SPAN {
	BACKGROUND-POSITION: left top; PADDING-LEFT: 6px; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; FLOAT: left; VERTICAL-ALIGN: middle; LINE-HEIGHT: 16px; =
PADDING-TOP: 1px; BACKGROUND-REPEAT: no-repeat; FONT-FAMILY: arial; =
moz-user-select: no
}
.colorPickerTab_inactive IMG {
	FLOAT: left
}
.colorPickerTab_active IMG {
	FLOAT: left
}
.colorPickerCloseButton {
	BORDER-RIGHT: #317082 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
#317082 1px solid; PADDING-LEFT: 1px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; RIGHT: 1px; PADDING-BOTTOM: 1px; BORDER-LEFT: #317082 1px solid; =
WIDTH: 11px; CURSOR: pointer; LINE-HEIGHT: 10px; PADDING-TOP: 1px; =
BORDER-BOTTOM: #317082 1px solid; POSITION: absolute; TOP: 1px; HEIGHT: =
11px; TEXT-ALIGN: center
}
#colorPicker_statusBarTxt {
	FONT-SIZE: 11px; VERTICAL-ALIGN: top; LINE-HEIGHT: 13px; FONT-FAMILY: =
arial
}
FORM {
	PADDING-LEFT: 5px
}
.form_widget_amount_slider {
	BORDER-RIGHT: #eee 1px solid; BORDER-TOP: #9d9c99 1px solid; =
BORDER-LEFT: #9d9c99 1px solid; WIDTH: 3px; BOTTOM: 0px; BORDER-BOTTOM: =
#eee 1px solid; POSITION: absolute; HEIGHT: 3px; BACKGROUND-COLOR: =
#f0ede0
}
.colorSliderLabel {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FLOAT: left; WIDTH: 15px; HEIGHT: =
20px
}
.colorSlider {
	FLOAT: left; WIDTH: 175px; HEIGHT: 20px
}
.colorInput {
	FLOAT: left; WIDTH: 45px; HEIGHT: 20px
}
.colorPreviewDiv {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
1px; FLOAT: left; BORDER-LEFT: #ccc 1px solid; WIDTH: 186px; CURSOR: =
pointer; MARGIN-RIGHT: 2px; BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 20px
}
.colorCodeDiv {
	FLOAT: left; WIDTH: 50px; HEIGHT: 20px
}

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/css/california/inside.css

BODY {
	BACKGROUND: #fff; FONT-FAMILY: Verdana, sans-serif
}
BODY TD {
	FONT-FAMILY: Verdana, sans-serif
}
#container {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
-15px 0px 0px -10px; PADDING-TOP: 0px
}
#header {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(images/insidemasthead.jpg) no-repeat 0px 50%; PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-TOP: 0px; HEIGHT: 95px
}
#header A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 1px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 350px; TEXT-INDENT: -10000em; =
PADDING-TOP: 0px; HEIGHT: 95px
}
#topBannerAd {
	RIGHT: 5px; WIDTH: 729px; POSITION: absolute; TOP: 3px; HEIGHT: 90px
}
#titleLinks {
	MARGIN-TOP: 78px; WIDTH: 700px; TEXT-ALIGN: right
}
IMG.corner {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#topNavbar {
	BACKGROUND: url(images/right_corner_top.gif) #cccccc no-repeat right =
top; MARGIN-RIGHT: -10px
}
#topNavbar UL {
	PADDING-RIGHT: 15px; LIST-STYLE: none none outside; DISPLAY: inline; =
PADDING-LEFT: 0px; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; WIDTH: 100%; =
COLOR: #000080; PADDING-TOP: 5px; FONT-FAMILY: Verdana, sans-serif; =
HEIGHT: 20px; TEXT-ALIGN: right
}
#topNavbar LI {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FONT-WEIGHT: =
bolder; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
#topNavbar UL A {
	DISPLAY: inline; COLOR: #000080; TEXT-DECORATION: none
}
#dateBar H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-SIZE: 10px; =
PADDING-BOTTOM: 0px; MARGIN: 0px 130px; COLOR: #000080; PADDING-TOP: =
3px; FONT-FAMILY: Verdana, sans-serif; POSITION: absolute; TOP: 100px; =
HEIGHT: 25px
}
#navbar {
	LEFT: 0px; WIDTH: 125px; POSITION: absolute; TOP: 125px; HEIGHT: =
1000px; BACKGROUND-COLOR: #cccccc
}
#navbar UL {
	PADDING-RIGHT: 0px; LIST-STYLE: none none outside; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
#navbar H1 {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN-BOTTOM: =
15px; PADDING-BOTTOM: 4px; COLOR: white; PADDING-TOP: 0px; FONT-FAMILY: =
Verdana, sans-serif; BACKGROUND-COLOR: #000080
}
#navbar A {
	MARGIN-TOP: -15px; PADDING-LEFT: 5px; FONT-SIZE: 13px; MARGIN-BOTTOM: =
15px; PADDING-BOTTOM: 2px; WIDTH: 100%; COLOR: #000080; PADDING-TOP: =
2px; FONT-FAMILY: Verdana, sans-serif; TEXT-DECORATION: underline
}
#content {
	PADDING-RIGHT: 125px; PADDING-LEFT: 135px; FONT-SIZE: 10pt; FLOAT: =
left; MARGIN-BOTTOM: 40px; PADDING-BOTTOM: 0px; PADDING-TOP: 10px; =
BACKGROUND-COLOR: #fff
}
#content P {
	FONT-SIZE: 10pt; MARGIN: 0em 0em 1em; COLOR: #000; FONT-FAMILY: =
Verdana, sans-serif
}
.authorListing {
	FLOAT: left; MARGIN-BOTTOM: 1em; WIDTH: 45%
}
.articleDate {
	MARGIN-BOTTOM: 1em
}
.article .articleBy {
	MARGIN-BOTTOM: 5px; FONT-STYLE: italic
}
.articleSummary .articleDate {
	FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px
}
.articleSummary {
	MARGIN-BOTTOM: 1em
}
.authorBio {
	BORDER-RIGHT: #666 2px solid; PADDING-RIGHT: 10px; BORDER-TOP: #666 2px =
solid; PADDING-LEFT: 10px; FONT-SIZE: 10pt; FLOAT: right; =
PADDING-BOTTOM: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #666 2px solid; =
WIDTH: 175px; PADDING-TOP: 10px; BORDER-BOTTOM: #666 2px solid; =
BACKGROUND-COLOR: #f5f5dc; TEXT-ALIGN: center
}
.authorBio .articleBy {
	FONT-WEIGHT: bolder; MARGIN-BOTTOM: 10px; FONT-STYLE: normal; =
TEXT-ALIGN: center
}
.authorBio IMG {
	BORDER-RIGHT: #333 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #333 1px =
solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN-LEFT: auto; =
BORDER-LEFT: #333 1px solid; MARGIN-RIGHT: auto; PADDING-TOP: 0px; =
BORDER-BOTTOM: #333 1px solid
}
.authorBio .bioBlurb {
	TEXT-ALIGN: left
}
.authorBio .mailingListForm {
	MARGIN: 0px
}
.authorBio .mailingListForm B {
	TEXT-ALIGN: center
}
.authorBio .mailingListForm .textBox {
	MARGIN-LEFT: auto; WIDTH: 125px; MARGIN-RIGHT: auto
}
.authorBio .mailingListForm .button {
	MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
.authorBio A {
	COLOR: #000080
}
#footer {
	MARGIN-TOP: 30px; FONT-SIZE: 10px; COLOR: #006; FONT-FAMILY: Verdana, =
sans-serif; TEXT-ALIGN: center
}
#footer A {
	FONT-SIZE: 10px; MARGIN: 0px; COLOR: #006; FONT-FAMILY: Verdana, =
sans-serif; TEXT-DECORATION: underline
}
#ads {
	RIGHT: 0px; WIDTH: 125px; POSITION: absolute; TOP: 125px; =
BACKGROUND-COLOR: #fff
}
#ads H1 {
	FONT-WEIGHT: lighter; FONT-SIZE: 10px; BACKGROUND: #369; MARGIN: 0px; =
WIDTH: 100%; COLOR: #fff; FONT-FAMILY: Verdana, sans-serif; TEXT-ALIGN: =
center
}
#ads A IMG {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN-BOTTOM: -4px; BORDER-LEFT: =
0px; WIDTH: 100%; BORDER-BOTTOM: 0px
}
#InsideAds {
	LEFT: 130px; MARGIN: 130px; WIDTH: 250px; TOP: 350px; HEIGHT: 250px
}
#InsideAds IMG {
	BORDER-RIGHT: #333 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #333 1px =
solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #333 1px solid; MARGIN-RIGHT: 10px; PADDING-TOP: 10px; =
BORDER-BOTTOM: #333 1px solid; align: left
}
.blogListing {
	FLOAT: left; MARGIN-BOTTOM: 1em; WIDTH: 45%
}
.blog {
	BORDER-RIGHT: #999 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 6px; MARGIN: 15px 10px 10px =
0px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 6px; BORDER-BOTTOM: #999 =
2px solid
}
.blogEntry {
	BORDER-RIGHT: #336 1px dashed; PADDING-RIGHT: 0px; BORDER-TOP: #336 1px =
dashed; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px 5px 15px; =
BORDER-LEFT: #336 1px dashed; PADDING-TOP: 0px; BORDER-BOTTOM: #336 1px =
dashed
}
.blogTitle {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: #eee; =
PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: #336 =
1px dashed
}
.blogText {
	PADDING-RIGHT: 10px; PADDING-LEFT: 15px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px; TEXT-ALIGN: justify
}
.blogText .blogCommentReply {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 3px; FONT-STYLE: italic
}
.blogFooter {
	PADDING-RIGHT: 5px; BORDER-TOP: #336 1px dashed; PADDING-LEFT: 5px; =
BACKGROUND: #eee; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px; =
POSITION: relative
}
.blogDate {
	FONT-STYLE: italic; TEXT-ALIGN: left
}
.blogNumberOfComments {
	RIGHT: 30px; WIDTH: 125px; POSITION: absolute; TOP: 5px; TEXT-ALIGN: =
right
}
.blogComments {
	BORDER-RIGHT: #336 1px dashed; PADDING-RIGHT: 0px; BORDER-TOP: #336 1px =
dashed; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px 15px 15px; =
BORDER-LEFT: #336 1px dashed; PADDING-TOP: 0px; BORDER-BOTTOM: #336 1px =
dashed
}
.bloggerBio {
	BORDER-RIGHT: #666 2px solid; PADDING-RIGHT: 10px; BORDER-TOP: #666 2px =
solid; PADDING-LEFT: 10px; FONT-SIZE: 10pt; FLOAT: right; =
PADDING-BOTTOM: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #666 2px solid; =
WIDTH: 175px; PADDING-TOP: 10px; BORDER-BOTTOM: #666 2px solid; =
BACKGROUND-COLOR: #f5f5dc; TEXT-ALIGN: center
}
.bloggerBio .blogBy {
	FONT-WEIGHT: normal; MARGIN-BOTTOM: 10px; FONT-STYLE: normal; =
TEXT-ALIGN: center
}
.bloggerBio .bloggerBioPic {
	MARGIN: 10px 0px
}
.bloggerBio A {
	COLOR: #000080
}
.bloggerBio .bloggerBioBlurb {
	TEXT-ALIGN: left
}

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/css/footerStyle.css

#footer {
	FONT-SIZE: 10px; FLOAT: left; MARGIN: -10px auto 0px; WIDTH: 100%; =
COLOR: #006; FONT-FAMILY: Verdana, sans-serif; TEXT-ALIGN: center
}

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/ajax.php

=0A=
function makeRequest(url, targetDiv) {=0A=
	var httpRequest;=0A=
	=0A=
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...=0A=
		httpRequest =3D new XMLHttpRequest();=0A=
		if (httpRequest.overrideMimeType) {=0A=
			httpRequest.overrideMimeType('text/xml');=0A=
			// See note below about this line=0A=
		}=0A=
	} =0A=
	else if (window.ActiveXObject) { // IE=0A=
		try {=0A=
			httpRequest =3D new ActiveXObject("Msxml2.XMLHTTP");=0A=
		} =0A=
		catch (e) {=0A=
			try {=0A=
				httpRequest =3D new ActiveXObject("Microsoft.XMLHTTP");=0A=
			} =0A=
			catch (e) {}=0A=
		}=0A=
	}=0A=
=0A=
	if (!httpRequest) {=0A=
		alert('Giving up :( Cannot create an XMLHTTP instance');=0A=
		return false;=0A=
	}=0A=
	httpRequest.onreadystatechange =3D function() { =0A=
		if(targetDiv =3D=3D "undefined" || targetDiv =3D=3D null)=0A=
			alertContents(httpRequest); =0A=
		else {=0A=
			assignContents(httpRequest, targetDiv);=0A=
		}=0A=
	};=0A=
	httpRequest.open('GET', url, true);=0A=
	httpRequest.send('');=0A=
}=0A=
=0A=
function alertContents(httpRequest) {=0A=
	if (httpRequest.readyState =3D=3D 4) {=0A=
		if (httpRequest.status =3D=3D 200) {=0A=
			alert(httpRequest.responseText);=0A=
		} else {=0A=
			alert("There was a problem with the request.");=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function restoreOpac() {=0A=
	$('container').style.opacity =3D "1";=0A=
	$('footer').style.opacity =3D "1";=0A=
}=0A=
=0A=
function assignContents(httpRequest, targetDiv) {=0A=
	if (httpRequest.readyState =3D=3D 4) {=0A=
		//$('container').style.opacity =3D ".25";=0A=
		//$('footer').style.opacity =3D ".25";=0A=
		=0A=
		scroll =3D getScrollXY();=0A=
		=0A=
		// elem =3D document.getElementById(targetDiv);=0A=
		=0A=
		if (httpRequest.status =3D=3D 200) {=0A=
			element =3D Builder.node('div',{classname:'ajax_target', =
id:targetDiv});=0A=
			element.innerHTML =3D httpRequest.responseText;=0A=
			=0A=
			WIDTH =3D 450;=0A=
			element.style.width =3D WIDTH;=0A=
			element.style.position =3D "absolute";=0A=
			element.style.top =3D (scroll[1] + 50);=0A=
			element.style.left =3D (document.body.clientWidth / 2) - (WIDTH / 2);=0A=
			element.style.display =3D "none";=0A=
			=0A=
			new Draggable(element);=0A=
			$("ajaxTargets").appendChild(element);=0A=
			Effect.Appear(targetDiv,{duration:.3});=0A=
		} else {=0A=
			elem.innerHTML =3D "There was a problem with the request.";=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function doAjaxAlert(contents) {=0A=
	=
makeRequest('http://www.californiachronicle.com/ajaxAlert/?ajax&contents=3D=
' + contents, 'alertDiv');=0A=
	Effect.Fade('semi_transparent',{duration:.3});=0A=
}=0A=
=0A=
function getScrollXY() {=0A=
  var scrOfX =3D 0, scrOfY =3D 0;=0A=
  if( typeof( window.pageYOffset ) =3D=3D 'number' ) {=0A=
    //Netscape compliant=0A=
    scrOfY =3D window.pageYOffset;=0A=
    scrOfX =3D window.pageXOffset;=0A=
  } else if( document.body && ( document.body.scrollLeft || =
document.body.scrollTop ) ) {=0A=
    //DOM compliant=0A=
    scrOfY =3D document.body.scrollTop;=0A=
    scrOfX =3D document.body.scrollLeft;=0A=
  } else if( document.documentElement && ( =
document.documentElement.scrollLeft || =
document.documentElement.scrollTop ) ) {=0A=
    //IE6 standards compliant mode=0A=
    scrOfY =3D document.documentElement.scrollTop;=0A=
    scrOfX =3D document.documentElement.scrollLeft;=0A=
  }=0A=
  return [ scrOfX, scrOfY ];=0A=
}=0A=

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/chkAddArticleAuthorAdmin.js

function chkAddArticleAuthorAdmin(formObj) {
	var err =3D 0;
	var msg =3D '';
	//check title
	if (formObj.title.value =3D=3D '') {
		err++;
		msg =3D msg + 'You forgot to enter the title of your article.\n\n';
	}
	// check length of article
	if (formObj.bodyText.value.length < 400) {
		err++;
		msg =3D msg + 'The body of your article is less than 400 characters.  =
Short articles will not be accepted for publication.\n\n';
	}
	var foundChecked =3D 0;
	// check to make sure a category was selected
	for (i=3D0;i<formObj.categoryID.length;i++) {
		if (formObj.categoryID[i].checked) {
			foundChecked++;
		}
	}
	if (foundChecked =3D=3D 0) {
		err++;
		msg +=3D 'You must select at least one category for your =
article.\n\n';
	}
	//if errors were found, display msg
	if (err > 0) {
		alert('Error!\n' + err + ' error(s) were found.\n\n' + msg + 'Please =
correct these and try again.');
		return false;
	} else {
		return true;
	}
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/chkAddAuthor.js

function chkAddAuthor(formObj) {
	var err =3D 0;
	var msg =3D '';
	//check first name
	if (formObj.firstName.value =3D=3D '') {
		err++;
		msg =3D msg + 'You forgot to enter your first name.\n\n'
	}
	// check last name
	if (formObj.lastName.value =3D=3D '') {
		err++;
		msg =3D msg + 'You forgot to enter your last name.\n\n'
	}
	//check e-mail address
	if (formObj.emailAddress.value =3D=3D '')
	{
		err++;
		msg =3D msg + 'You forgot to enter your e-mail address.\n\n';
	}
	var reEmail =3D /^.+\@.+\..+$/;
	if (!reEmail.test(formObj.emailAddress.value))
	{
		err++;
		msg =3D msg + 'The address you entered for yourself does not appear to =
be a valid e-mail address.\nPlease check it and try again.\n\n';
	}
	//if errors were found, display msg
	if (err > 0)
	{
		alert('Error!\n' + err + ' error(s) were found.\n\n' + msg + 'Please =
correct these and try again.');
		return false;
	}
	return true;
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/chkAddListUser.js

function chkAddListUser(formObj) {
	var err =3D 0;
	var msg =3D '';
	//check e-mail address
	if (formObj.emailAddress.value =3D=3D '')
	{
		err++;
		msg =3D msg + 'You forgot to enter your e-mail address.\nAll of the =
information on this page is required to register for the site.\n\n';
	}
	var reEmail =3D /^.+\@.+\..+$/;
	if (!reEmail.test(formObj.emailAddress.value))
	{
		err++;
		msg =3D msg + 'The address you entered for yourself does not appear to =
be a valid e-mail address.\nPlease check it and try again.\n\n';
	}
	//if errors were found, display msg
	if (err > 0)
	{
		alert('Error!\n' + err + ' error(s) were found.\n\n' + msg + 'Please =
correct these and try again.');
		return false;
	}
	return true;
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/chkBlogEditProfileForm.js

function chkBlogEditProfileForm(formObj) {
	var err =3D 0;
	var msg =3D '';
	//check e-mail address (required)
	if (formObj.emailAddress.value =3D=3D '') {
		err++;
		msg =3D msg + 'You must supply an e-mail address.\n\n'
	}
	// check length of text
	if (formObj.bioBlurb.value.length > 500) {
		err++;
		msg =3D msg + 'Your biography can only be 500 characters long.  You =
have entered ' + formObj.bioBlurb.value.length + ' characters.  Please =
trim down your entry a bit and try again.\n\n';
	}
	//if errors were found, display msg
	if (err > 0)
	{
		alert('Error!\n' + err + ' error(s) were found.\n\n' + msg + 'Please =
correct these and try again.');
		return false;
	}
	return true;
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/chkBlogEntryForm.js

function chkBlogEntryForm(formObj) {
	var err =3D 0;
	var msg =3D '';
	//check title
	if (formObj.title.value =3D=3D '') {
		err++;
		msg =3D msg + 'You forgot to enter your title.\n\n'
	}
	// check length of text
	if (formObj.bodyText.value.length < 50) {
		err++;
		msg =3D msg + 'The body of your article is less than 50 =
characters.\n\n';
	}
	//if errors were found, display msg
	if (err > 0)
	{
		alert('Error!\n' + err + ' error(s) were found.\n\n' + msg + 'Please =
correct these and try again.');
		return false;
	}
	return true;
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/confirmNav.js

function confirmNav(url) {=0A=
	if(confirm("Are you sure?")) {=0A=
		if(url !=3D "" && url !=3D "undefined" && url !=3D null) {=0A=
			window.location =3D url;=0A=
		}=0A=
		else return true;=0A=
	}=0A=
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/datePicker.js

var datePickerDivID =3D "datepicker";=0A=
var iFrameDivID =3D "datepickeriframe";=0A=
=0A=
var dayArrayShort =3D new Array('Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', =
'Sa');=0A=
var dayArrayMed =3D new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', =
'Sat');=0A=
var dayArrayLong =3D new Array('Sunday', 'Monday', 'Tuesday', =
'Wednesday', 'Thursday', 'Friday', 'Saturday');=0A=
var monthArrayShort =3D new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', =
'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');=0A=
var monthArrayMed =3D new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', =
'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec');=0A=
var monthArrayLong =3D new Array('January', 'February', 'March', =
'April', 'May', 'June', 'July', 'August', 'September', 'October', =
'November', 'December');=0A=
 =0A=
// these variables define the date formatting we're expecting and =
outputting.=0A=
// If you want to use a different format by default, change the =
defaultDateSeparator=0A=
// and defaultDateFormat variables either here or on your HTML page.=0A=
var defaultDateSeparator =3D "/";        // common values would be "/" =
or "."=0A=
var defaultDateFormat =3D "mdy"    // valid values are "mdy", "dmy", and =
"ymd"=0A=
var dateSeparator =3D defaultDateSeparator;=0A=
var dateFormat =3D defaultDateFormat;=0A=
=0A=
/**=0A=
This is the main function you'll call from the onClick event of a button.=0A=
Normally, you'll have something like this on your HTML page:=0A=
=0A=
Start Date: <input name=3D"StartDate">=0A=
<input type=3Dbutton value=3D"select" =
onclick=3D"displayDatePicker('StartDate');">=0A=
=0A=
That will cause the datepicker to be displayed beneath the StartDate =
field and=0A=
any date that is chosen will update the value of that field. If you'd =
rather have the=0A=
datepicker display beneath the button that was clicked, you can code the =
button=0A=
like this:=0A=
=0A=
<input type=3Dbutton value=3D"select" =
onclick=3D"displayDatePicker('StartDate', this);">=0A=
=0A=
So, pretty much, the first argument (dateFieldName) is a string =
representing the=0A=
name of the field that will be modified if the user picks a date, and =
the second=0A=
argument (displayBelowThisObject) is optional and represents an actual =
node=0A=
on the HTML document that the datepicker should be displayed below.=0A=
=0A=
In version 1.1 of this code, the dtFormat and dtSep variables were =
added, allowing=0A=
you to use a specific date format or date separator for a given call to =
this function.=0A=
Normally, you'll just want to set these defaults globally with the =
defaultDateSeparator=0A=
and defaultDateFormat variables, but it doesn't hurt anything to add =
them as optional=0A=
parameters here. An example of use is:=0A=
=0A=
<input type=3Dbutton value=3D"select" =
onclick=3D"displayDatePicker('StartDate', false, 'dmy', '.');">=0A=
=0A=
This would display the datepicker beneath the StartDate field (because =
the=0A=
displayBelowThisObject parameter was false), and update the StartDate =
field with=0A=
the chosen value of the datepicker using a date format of dd.mm.yyyy=0A=
*/=0A=
function displayDatePicker(dateFieldName, displayBelowThisObject, =
dtFormat, dtSep)=0A=
{=0A=
  var targetDateField =3D document.getElementsByName =
(dateFieldName).item(0);=0A=
 =0A=
  // if we weren't told what node to display the datepicker beneath, =
just display it=0A=
  // beneath the date field we're updating=0A=
  if (!displayBelowThisObject)=0A=
    displayBelowThisObject =3D targetDateField;=0A=
 =0A=
  // if a date separator character was given, update the dateSeparator =
variable=0A=
  if (dtSep)=0A=
    dateSeparator =3D dtSep;=0A=
  else=0A=
    dateSeparator =3D defaultDateSeparator;=0A=
 =0A=
  // if a date format was given, update the dateFormat variable=0A=
  if (dtFormat)=0A=
    dateFormat =3D dtFormat;=0A=
  else=0A=
    dateFormat =3D defaultDateFormat;=0A=
 =0A=
  var x =3D displayBelowThisObject.offsetLeft;=0A=
  var y =3D displayBelowThisObject.offsetTop + =
displayBelowThisObject.offsetHeight ;=0A=
 =0A=
  // deal with elements inside tables and such=0A=
  var parent =3D displayBelowThisObject;=0A=
  while (parent.offsetParent) {=0A=
    parent =3D parent.offsetParent;=0A=
    x +=3D parent.offsetLeft;=0A=
    y +=3D parent.offsetTop ;=0A=
  }=0A=
 =0A=
  drawDatePicker(targetDateField, x, y);=0A=
}=0A=
=0A=
=0A=
/**=0A=
Draw the datepicker object (which is just a table with calendar =
elements) at the=0A=
specified x and y coordinates, using the targetDateField object as the =
input tag=0A=
that will ultimately be populated with a date.=0A=
=0A=
This function will normally be called by the displayDatePicker function.=0A=
*/=0A=
function drawDatePicker(targetDateField, x, y)=0A=
{=0A=
  var dt =3D getFieldDate(targetDateField.value );=0A=
 =0A=
  // the datepicker table will be drawn inside of a <div> with an ID =
defined by the=0A=
  // global datePickerDivID variable. If such a div doesn't yet exist on =
the HTML=0A=
  // document we're working with, add one.=0A=
  if (!document.getElementById(datePickerDivID)) {=0A=
    // don't use innerHTML to update the body, because it can cause =
global variables=0A=
    // that are currently pointing to objects on the page to have bad =
references=0A=
    //document.body.innerHTML +=3D "<div id=3D'" + datePickerDivID + "' =
class=3D'dpDiv'></div>";=0A=
    var newNode =3D document.createElement("div");=0A=
    newNode.setAttribute("id", datePickerDivID);=0A=
    newNode.setAttribute("class", "dpDiv");=0A=
    newNode.setAttribute("style", "visibility: hidden;");=0A=
    document.body.appendChild(newNode);=0A=
  }=0A=
 =0A=
  // move the datepicker div to the proper x,y coordinate and toggle the =
visiblity=0A=
  var pickerDiv =3D document.getElementById(datePickerDivID);=0A=
  pickerDiv.style.position =3D "absolute";=0A=
  pickerDiv.style.left =3D x + "px";=0A=
  pickerDiv.style.top =3D y + "px";=0A=
  pickerDiv.style.visibility =3D (pickerDiv.style.visibility =3D=3D =
"visible" ? "hidden" : "visible");=0A=
  pickerDiv.style.display =3D (pickerDiv.style.display =3D=3D "block" ? =
"none" : "block");=0A=
  pickerDiv.style.zIndex =3D 10000;=0A=
 =0A=
  // draw the datepicker table=0A=
  refreshDatePicker(targetDateField.name, dt.getFullYear(), =
dt.getMonth(), dt.getDate());=0A=
}=0A=
=0A=
=0A=
/**=0A=
This is the function that actually draws the datepicker calendar.=0A=
*/=0A=
function refreshDatePicker(dateFieldName, year, month, day)=0A=
{=0A=
  // if no arguments are passed, use today's date; otherwise, month and =
year=0A=
  // are required (if a day is passed, it will be highlighted later)=0A=
  var thisDay =3D new Date();=0A=
 =0A=
  if ((month >=3D 0) && (year > 0)) {=0A=
    thisDay =3D new Date(year, month, 1);=0A=
  } else {=0A=
    day =3D thisDay.getDate();=0A=
    thisDay.setDate(1);=0A=
  }=0A=
 =0A=
  // the calendar will be drawn as a table=0A=
  // you can customize the table elements with a global CSS style sheet,=0A=
  // or by hardcoding style and formatting elements below=0A=
  var crlf =3D "\r\n";=0A=
  var TABLE =3D "<table cols=3D7 class=3D'dpTable'>" + crlf;=0A=
  var xTABLE =3D "</table>" + crlf;=0A=
  var TR =3D "<tr class=3D'dpTR'>";=0A=
  var TR_title =3D "<tr class=3D'dpTitleTR'>";=0A=
  var TR_days =3D "<tr class=3D'dpDayTR'>";=0A=
  var TR_todaybutton =3D "<tr class=3D'dpTodayButtonTR'>";=0A=
  var xTR =3D "</tr>" + crlf;=0A=
  var TD =3D "<td class=3D'dpTD' =
onMouseOut=3D'this.className=3D\"dpTD\";' onMouseOver=3D' =
this.className=3D\"dpTDHover\";' ";    // leave this tag open, because =
we'll be adding an onClick event=0A=
  var TD_title =3D "<td colspan=3D5 class=3D'dpTitleTD'>";=0A=
  var TD_buttons =3D "<td class=3D'dpButtonTD'>";=0A=
  var TD_todaybutton =3D "<td colspan=3D7 class=3D'dpTodayButtonTD'>";=0A=
  var TD_days =3D "<td class=3D'dpDayTD'>";=0A=
  var TD_selected =3D "<td class=3D'dpDayHighlightTD' =
onMouseOut=3D'this.className=3D\"dpDayHighlightTD\";' =
onMouseOver=3D'this.className=3D\"dpTDHover\";' ";    // leave this tag =
open, because we'll be adding an onClick event=0A=
  var xTD =3D "</td>" + crlf;=0A=
  var DIV_title =3D "<div class=3D'dpTitleText'>";=0A=
  var DIV_selected =3D "<div class=3D'dpDayHighlight'>";=0A=
  var xDIV =3D "</div>";=0A=
 =0A=
  // start generating the code for the calendar table=0A=
  var html =3D TABLE;=0A=
 =0A=
  // this is the title bar, which displays the month and the buttons to=0A=
  // go back to a previous month or forward to the next month=0A=
  html +=3D TR_title;=0A=
  html +=3D TD_buttons + getButtonCode(dateFieldName, thisDay, -1, =
"&lt;") + xTD;=0A=
  html +=3D TD_title + DIV_title + monthArrayLong[ thisDay.getMonth()] + =
" " + thisDay.getFullYear() + xDIV + xTD;=0A=
  html +=3D TD_buttons + getButtonCode(dateFieldName, thisDay, 1, =
"&gt;") + xTD;=0A=
  html +=3D xTR;=0A=
 =0A=
  // this is the row that indicates which day of the week we're on=0A=
  html +=3D TR_days;=0A=
  for(i =3D 0; i < dayArrayShort.length; i++)=0A=
    html +=3D TD_days + dayArrayShort[i] + xTD;=0A=
  html +=3D xTR;=0A=
 =0A=
  // now we'll start populating the table with days of the month=0A=
  html +=3D TR;=0A=
 =0A=
  // first, the leading blanks=0A=
  for (i =3D 0; i < thisDay.getDay(); i++)=0A=
    html +=3D TD + "&nbsp;" + xTD;=0A=
 =0A=
  // now, the days of the month=0A=
  do {=0A=
    dayNum =3D thisDay.getDate();=0A=
    TD_onclick =3D " onclick=3D\"updateDateField('" + dateFieldName + =
"', '" + getDateString(thisDay) + "');\">";=0A=
    =0A=
    if (dayNum =3D=3D day)=0A=
      html +=3D TD_selected + TD_onclick + DIV_selected + dayNum + xDIV =
+ xTD;=0A=
    else=0A=
      html +=3D TD + TD_onclick + dayNum + xTD;=0A=
    =0A=
    // if this is a Saturday, start a new row=0A=
    if (thisDay.getDay() =3D=3D 6)=0A=
      html +=3D xTR + TR;=0A=
    =0A=
    // increment the day=0A=
    thisDay.setDate(thisDay.getDate() + 1);=0A=
  } while (thisDay.getDate() > 1)=0A=
 =0A=
  // fill in any trailing blanks=0A=
  if (thisDay.getDay() > 0) {=0A=
    for (i =3D 6; i > thisDay.getDay(); i--)=0A=
      html +=3D TD + "&nbsp;" + xTD;=0A=
  }=0A=
  html +=3D xTR;=0A=
 =0A=
  // add a button to allow the user to easily return to today, or close =
the calendar=0A=
  var today =3D new Date();=0A=
  var todayString =3D "Today is " + dayArrayMed[today.getDay()] + ", " + =
monthArrayMed[ today.getMonth()] + " " + today.getDate();=0A=
  html +=3D TR_todaybutton + TD_todaybutton;=0A=
  html +=3D "<button class=3D'dpTodayButton' =
onClick=3D'refreshDatePicker(\"" + dateFieldName + "\");'>This =
Month</button> ";=0A=
  html +=3D "<button class=3D'dpTodayButton' =
onClick=3D'updateDateField(\"" + dateFieldName + "\");'>Close</button>";=0A=
  html +=3D xTD + xTR;=0A=
 =0A=
  // and finally, close the table=0A=
  html +=3D xTABLE;=0A=
 =0A=
  document.getElementById(datePickerDivID).innerHTML =3D html;=0A=
  // add an "iFrame shim" to allow the datepicker to display above =
selection lists=0A=
  adjustiFrame();=0A=
}=0A=
=0A=
=0A=
/**=0A=
Convenience function for writing the code for the buttons that bring us =
back or forward=0A=
a month.=0A=
*/=0A=
function getButtonCode(dateFieldName, dateVal, adjust, label)=0A=
{=0A=
  var newMonth =3D (dateVal.getMonth () + adjust) % 12;=0A=
  var newYear =3D dateVal.getFullYear() + parseInt((dateVal.getMonth() + =
adjust) / 12);=0A=
  if (newMonth < 0) {=0A=
    newMonth +=3D 12;=0A=
    newYear +=3D -1;=0A=
  }=0A=
 =0A=
  return "<button class=3D'dpButton' onClick=3D'refreshDatePicker(\"" + =
dateFieldName + "\", " + newYear + ", " + newMonth + ");'>" + label + =
"</button>";=0A=
}=0A=
=0A=
=0A=
/**=0A=
Convert a JavaScript Date object to a string, based on the dateFormat =
and dateSeparator=0A=
variables at the beginning of this script library.=0A=
*/=0A=
function getDateString(dateVal)=0A=
{=0A=
  var dayString =3D "00" + dateVal.getDate();=0A=
  var monthString =3D "00" + (dateVal.getMonth()+1);=0A=
  dayString =3D dayString.substring(dayString.length - 2);=0A=
  monthString =3D monthString.substring(monthString.length - 2);=0A=
 =0A=
  switch (dateFormat) {=0A=
    case "dmy" :=0A=
      return dayString + dateSeparator + monthString + dateSeparator + =
dateVal.getFullYear();=0A=
    case "ymd" :=0A=
      return dateVal.getFullYear() + dateSeparator + monthString + =
dateSeparator + dayString;=0A=
    case "mdy" :=0A=
    default :=0A=
      return monthString + dateSeparator + dayString + dateSeparator + =
dateVal.getFullYear();=0A=
  }=0A=
}=0A=
=0A=
=0A=
/**=0A=
Convert a string to a JavaScript Date object.=0A=
*/=0A=
function getFieldDate(dateString)=0A=
{=0A=
  var dateVal;=0A=
  var dArray;=0A=
  var d, m, y;=0A=
 =0A=
  try {=0A=
    dArray =3D splitDateString(dateString);=0A=
    if (dArray) {=0A=
      switch (dateFormat) {=0A=
        case "dmy" :=0A=
          d =3D parseInt(dArray[0], 10);=0A=
          m =3D parseInt(dArray[1], 10) - 1;=0A=
          y =3D parseInt(dArray[2], 10);=0A=
          break;=0A=
        case "ymd" :=0A=
          d =3D parseInt(dArray[2], 10);=0A=
          m =3D parseInt(dArray[1], 10) - 1;=0A=
          y =3D parseInt(dArray[0], 10);=0A=
          break;=0A=
        case "mdy" :=0A=
        default :=0A=
          d =3D parseInt(dArray[1], 10);=0A=
          m =3D parseInt(dArray[0], 10) - 1;=0A=
          y =3D parseInt(dArray[2], 10);=0A=
          break;=0A=
      }=0A=
      dateVal =3D new Date(y, m, d);=0A=
    } else if (dateString) {=0A=
      dateVal =3D new Date(dateString);=0A=
    } else {=0A=
      dateVal =3D new Date();=0A=
    }=0A=
  } catch(e) {=0A=
    dateVal =3D new Date();=0A=
  }=0A=
 =0A=
  return dateVal;=0A=
}=0A=
=0A=
=0A=
/**=0A=
Try to split a date string into an array of elements, using common date =
separators.=0A=
If the date is split, an array is returned; otherwise, we just return =
false.=0A=
*/=0A=
function splitDateString(dateString)=0A=
{=0A=
  var dArray;=0A=
  if (dateString.indexOf("/") >=3D 0)=0A=
    dArray =3D dateString.split("/");=0A=
  else if (dateString.indexOf(".") >=3D 0)=0A=
    dArray =3D dateString.split(".");=0A=
  else if (dateString.indexOf("-") >=3D 0)=0A=
    dArray =3D dateString.split("-");=0A=
  else if (dateString.indexOf("\\") >=3D 0)=0A=
    dArray =3D dateString.split("\\");=0A=
  else=0A=
    dArray =3D false;=0A=
 =0A=
  return dArray;=0A=
}=0A=
=0A=
/**=0A=
Update the field with the given dateFieldName with the dateString that =
has been passed,=0A=
and hide the datepicker. If no dateString is passed, just close the =
datepicker without=0A=
changing the field value.=0A=
=0A=
Also, if the page developer has defined a function called =
datePickerClosed anywhere on=0A=
the page or in an imported library, we will attempt to run that function =
with the updated=0A=
field as a parameter. This can be used for such things as date =
validation, setting default=0A=
values for related fields, etc. For example, you might have a function =
like this to validate=0A=
a start date field:=0A=
=0A=
function datePickerClosed(dateField)=0A=
{=0A=
  var dateObj =3D getFieldDate(dateField.value);=0A=
  var today =3D new Date();=0A=
  today =3D new Date(today.getFullYear(), today.getMonth(), =
today.getDate());=0A=
 =0A=
  if (dateField.name =3D=3D "StartDate") {=0A=
    if (dateObj < today) {=0A=
      // if the date is before today, alert the user and display the =
datepicker again=0A=
      alert("Please enter a date that is today or later");=0A=
      dateField.value =3D "";=0A=
      document.getElementById(datePickerDivID).style.visibility =3D =
"visible";=0A=
      adjustiFrame();=0A=
    } else {=0A=
      // if the date is okay, set the EndDate field to 7 days after the =
StartDate=0A=
      dateObj.setTime(dateObj.getTime() + (7 * 24 * 60 * 60 * 1000));=0A=
      var endDateField =3D document.getElementsByName =
("EndDate").item(0);=0A=
      endDateField.value =3D getDateString(dateObj);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
*/=0A=
function updateDateField(dateFieldName, dateString)=0A=
{=0A=
  var targetDateField =3D document.getElementsByName =
(dateFieldName).item(0);=0A=
  if (dateString)=0A=
    targetDateField.value =3D dateString;=0A=
 =0A=
  var pickerDiv =3D document.getElementById(datePickerDivID);=0A=
  pickerDiv.style.visibility =3D "hidden";=0A=
  pickerDiv.style.display =3D "none";=0A=
 =0A=
  adjustiFrame();=0A=
  targetDateField.focus();=0A=
 =0A=
  // after the datepicker has closed, optionally run a user-defined =
function called=0A=
  // datePickerClosed, passing the field that was just updated as a =
parameter=0A=
  // (note that this will only run if the user actually selected a date =
from the datepicker)=0A=
  if ((dateString) && (typeof(datePickerClosed) =3D=3D "function"))=0A=
    datePickerClosed(targetDateField);=0A=
}=0A=
=0A=
=0A=
/**=0A=
Use an "iFrame shim" to deal with problems where the datepicker shows up =
behind=0A=
selection list elements, if they're below the datepicker. The problem =
and solution are=0A=
described at:=0A=
=0A=
http://dotnetjunkies.com/WebLog/jking/archive/2003/07/21/488.aspx=0A=
http://dotnetjunkies.com/WebLog/jking/archive/2003/10/30/2975.aspx=0A=
*/=0A=
function adjustiFrame(pickerDiv, iFrameDiv)=0A=
{=0A=
  // we know that Opera doesn't like something about this, so if we=0A=
  // think we're using Opera, don't even try=0A=
  var is_opera =3D (navigator.userAgent.toLowerCase().indexOf("opera") =
!=3D -1);=0A=
  if (is_opera)=0A=
    return;=0A=
  =0A=
  // put a try/catch block around the whole thing, just in case=0A=
  try {=0A=
    if (!document.getElementById(iFrameDivID)) {=0A=
      // don't use innerHTML to update the body, because it can cause =
global variables=0A=
      // that are currently pointing to objects on the page to have bad =
references=0A=
      //document.body.innerHTML +=3D "<iframe id=3D'" + iFrameDivID + "' =
src=3D'javascript:false;' scrolling=3D'no' frameborder=3D'0'>";=0A=
      var newNode =3D document.createElement("iFrame");=0A=
      newNode.setAttribute("id", iFrameDivID);=0A=
      newNode.setAttribute("src", "javascript:false;");=0A=
      newNode.setAttribute("scrolling", "no");=0A=
      newNode.setAttribute ("frameborder", "0");=0A=
      document.body.appendChild(newNode);=0A=
    }=0A=
    =0A=
    if (!pickerDiv)=0A=
      pickerDiv =3D document.getElementById(datePickerDivID);=0A=
    if (!iFrameDiv)=0A=
      iFrameDiv =3D document.getElementById(iFrameDivID);=0A=
    =0A=
    try {=0A=
      iFrameDiv.style.position =3D "absolute";=0A=
      iFrameDiv.style.width =3D pickerDiv.offsetWidth;=0A=
      iFrameDiv.style.height =3D pickerDiv.offsetHeight ;=0A=
      iFrameDiv.style.top =3D pickerDiv.style.top;=0A=
      iFrameDiv.style.left =3D pickerDiv.style.left;=0A=
      iFrameDiv.style.zIndex =3D pickerDiv.style.zIndex - 1;=0A=
      iFrameDiv.style.visibility =3D pickerDiv.style.visibility ;=0A=
      iFrameDiv.style.display =3D pickerDiv.style.display;=0A=
    } catch(e) {=0A=
    }=0A=
 =0A=
  } catch (ee) {=0A=
  }=0A=
 =0A=
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/md4.js

/*
 * A JavaScript implementation of the RSA Data Security, Inc. MD4 =
Message
 * Digest Algorithm, as defined in RFC 1320.
 * Version 2.1 Copyright (C) Jerrad Pierce, Paul Johnston 1999 - 2002.
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for more info.
 */

/*
 * Configurable variables. You may need to tweak these to be compatible =
with
 * the server-side, but the defaults work in most cases.
 */
var hexcase =3D 0;  /* hex output format. 0 - lowercase; 1 - uppercase   =
     */
var b64pad  =3D ""; /* base-64 pad character. "=3D" for strict RFC =
compliance   */
var chrsz   =3D 8;  /* bits per input character. 8 - ASCII; 16 - Unicode =
     */

/*
 * These are the functions you'll usually want to call
 */
function hex_md4(s){ return binl2hex(core_md4(str2binl(s), s.length * =
chrsz));}
function b64_md4(s){ return binl2b64(core_md4(str2binl(s), s.length * =
chrsz));}
function str_md4(s){ return binl2str(core_md4(str2binl(s), s.length * =
chrsz));}
function hex_hmac_md4(key, data) { return binl2hex(core_hmac_md4(key, =
data)); }
function b64_hmac_md4(key, data) { return binl2b64(core_hmac_md4(key, =
data)); }
function str_hmac_md4(key, data) { return binl2str(core_hmac_md4(key, =
data)); }

/*=20
 * Perform a simple self-test to see if the VM is working=20
 */
function md4_vm_test()
{
  return hex_md4("abc") =3D=3D "a448017aaf21d8525fc10ae87aa6729d";
}

/*
 * Calculate the MD4 of an array of little-endian words, and a bit =
length
 */
function core_md4(x, len)
{
  /* append padding */
  x[len >> 5] |=3D 0x80 << (len % 32);
  x[(((len + 64) >>> 9) << 4) + 14] =3D len;
 =20
  var a =3D  1732584193;
  var b =3D -271733879;
  var c =3D -1732584194;
  var d =3D  271733878;

  for(var i =3D 0; i < x.length; i +=3D 16)
  {
    var olda =3D a;
    var oldb =3D b;
    var oldc =3D c;
    var oldd =3D d;

    a =3D md4_ff(a, b, c, d, x[i+ 0], 3 );
    d =3D md4_ff(d, a, b, c, x[i+ 1], 7 );
    c =3D md4_ff(c, d, a, b, x[i+ 2], 11);
    b =3D md4_ff(b, c, d, a, x[i+ 3], 19);
    a =3D md4_ff(a, b, c, d, x[i+ 4], 3 );
    d =3D md4_ff(d, a, b, c, x[i+ 5], 7 );
    c =3D md4_ff(c, d, a, b, x[i+ 6], 11);
    b =3D md4_ff(b, c, d, a, x[i+ 7], 19);
    a =3D md4_ff(a, b, c, d, x[i+ 8], 3 );
    d =3D md4_ff(d, a, b, c, x[i+ 9], 7 );
    c =3D md4_ff(c, d, a, b, x[i+10], 11);
    b =3D md4_ff(b, c, d, a, x[i+11], 19);
    a =3D md4_ff(a, b, c, d, x[i+12], 3 );
    d =3D md4_ff(d, a, b, c, x[i+13], 7 );
    c =3D md4_ff(c, d, a, b, x[i+14], 11);
    b =3D md4_ff(b, c, d, a, x[i+15], 19);

    a =3D md4_gg(a, b, c, d, x[i+ 0], 3 );
    d =3D md4_gg(d, a, b, c, x[i+ 4], 5 );
    c =3D md4_gg(c, d, a, b, x[i+ 8], 9 );
    b =3D md4_gg(b, c, d, a, x[i+12], 13);
    a =3D md4_gg(a, b, c, d, x[i+ 1], 3 );
    d =3D md4_gg(d, a, b, c, x[i+ 5], 5 );
    c =3D md4_gg(c, d, a, b, x[i+ 9], 9 );
    b =3D md4_gg(b, c, d, a, x[i+13], 13);
    a =3D md4_gg(a, b, c, d, x[i+ 2], 3 );
    d =3D md4_gg(d, a, b, c, x[i+ 6], 5 );
    c =3D md4_gg(c, d, a, b, x[i+10], 9 );
    b =3D md4_gg(b, c, d, a, x[i+14], 13);
    a =3D md4_gg(a, b, c, d, x[i+ 3], 3 );
    d =3D md4_gg(d, a, b, c, x[i+ 7], 5 );
    c =3D md4_gg(c, d, a, b, x[i+11], 9 );
    b =3D md4_gg(b, c, d, a, x[i+15], 13);

    a =3D md4_hh(a, b, c, d, x[i+ 0], 3 );
    d =3D md4_hh(d, a, b, c, x[i+ 8], 9 );
    c =3D md4_hh(c, d, a, b, x[i+ 4], 11);
    b =3D md4_hh(b, c, d, a, x[i+12], 15);
    a =3D md4_hh(a, b, c, d, x[i+ 2], 3 );
    d =3D md4_hh(d, a, b, c, x[i+10], 9 );
    c =3D md4_hh(c, d, a, b, x[i+ 6], 11);
    b =3D md4_hh(b, c, d, a, x[i+14], 15);
    a =3D md4_hh(a, b, c, d, x[i+ 1], 3 );
    d =3D md4_hh(d, a, b, c, x[i+ 9], 9 );
    c =3D md4_hh(c, d, a, b, x[i+ 5], 11);
    b =3D md4_hh(b, c, d, a, x[i+13], 15);
    a =3D md4_hh(a, b, c, d, x[i+ 3], 3 );
    d =3D md4_hh(d, a, b, c, x[i+11], 9 );
    c =3D md4_hh(c, d, a, b, x[i+ 7], 11);
    b =3D md4_hh(b, c, d, a, x[i+15], 15);

    a =3D safe_add(a, olda);
    b =3D safe_add(b, oldb);
    c =3D safe_add(c, oldc);
    d =3D safe_add(d, oldd);

  }
  return Array(a, b, c, d);

}

/*
 * These functions implement the basic operation for each round of the
 * algorithm.
 */
function md4_cmn(q, a, b, x, s, t)
{
  return safe_add(rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
}
function md4_ff(a, b, c, d, x, s)
{
  return md4_cmn((b & c) | ((~b) & d), a, 0, x, s, 0);
}
function md4_gg(a, b, c, d, x, s)
{
  return md4_cmn((b & c) | (b & d) | (c & d), a, 0, x, s, 1518500249);
}
function md4_hh(a, b, c, d, x, s)
{
  return md4_cmn(b ^ c ^ d, a, 0, x, s, 1859775393);
}

/*
 * Calculate the HMAC-MD4, of a key and some data
 */
function core_hmac_md4(key, data)
{
  var bkey =3D str2binl(key);
  if(bkey.length > 16) bkey =3D core_md4(bkey, key.length * chrsz);

  var ipad =3D Array(16), opad =3D Array(16);
  for(var i =3D 0; i < 16; i++)=20
  {
    ipad[i] =3D bkey[i] ^ 0x36363636;
    opad[i] =3D bkey[i] ^ 0x5C5C5C5C;
  }

  var hash =3D core_md4(ipad.concat(str2binl(data)), 512 + data.length * =
chrsz);
  return core_md4(opad.concat(hash), 512 + 128);
}

/*
 * Add integers, wrapping at 2^32. This uses 16-bit operations =
internally
 * to work around bugs in some JS interpreters.
 */
function safe_add(x, y)
{
  var lsw =3D (x & 0xFFFF) + (y & 0xFFFF);
  var msw =3D (x >> 16) + (y >> 16) + (lsw >> 16);
  return (msw << 16) | (lsw & 0xFFFF);
}

/*
 * Bitwise rotate a 32-bit number to the left.
 */
function rol(num, cnt)
{
  return (num << cnt) | (num >>> (32 - cnt));
}

/*
 * Convert a string to an array of little-endian words
 * If chrsz is ASCII, characters >255 have their hi-byte silently =
ignored.
 */
function str2binl(str)
{
  var bin =3D Array();
  var mask =3D (1 << chrsz) - 1;
  for(var i =3D 0; i < str.length * chrsz; i +=3D chrsz)
    bin[i>>5] |=3D (str.charCodeAt(i / chrsz) & mask) << (i%32);
  return bin;
}

/*
 * Convert an array of little-endian words to a string
 */
function binl2str(bin)
{
  var str =3D "";
  var mask =3D (1 << chrsz) - 1;
  for(var i =3D 0; i < bin.length * 32; i +=3D chrsz)
    str +=3D String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
  return str;
}

/*
 * Convert an array of little-endian words to a hex string.
 */
function binl2hex(binarray)
{
  var hex_tab =3D hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  var str =3D "";
  for(var i =3D 0; i < binarray.length * 4; i++)
  {
    str +=3D hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
           hex_tab.charAt((binarray[i>>2] >> ((i%4)*8  )) & 0xF);
  }
  return str;
}

/*
 * Convert an array of little-endian words to a base-64 string
 */
function binl2b64(binarray)
{
  var tab =3D =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  var str =3D "";
  for(var i =3D 0; i < binarray.length * 4; i +=3D 3)
  {
    var triplet =3D (((binarray[i   >> 2] >> 8 * ( i   %4)) & 0xFF) << =
16)
                | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
                |  ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
    for(var j =3D 0; j < 4; j++)
    {
      if(i * 8 + j * 6 > binarray.length * 32) str +=3D b64pad;
      else str +=3D tab.charAt((triplet >> 6*(3-j)) & 0x3F);
    }
  }
  return str;
}

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/md5.js

/*
 * A JavaScript implementation of the RSA Data Security, Inc. MD5 =
Message
 * Digest Algorithm, as defined in RFC 1321.
 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for more info.
 */

/*
 * Configurable variables. You may need to tweak these to be compatible =
with
 * the server-side, but the defaults work in most cases.
 */
var hexcase =3D 0;  /* hex output format. 0 - lowercase; 1 - uppercase   =
     */
var b64pad  =3D ""; /* base-64 pad character. "=3D" for strict RFC =
compliance   */
var chrsz   =3D 8;  /* bits per input character. 8 - ASCII; 16 - Unicode =
     */

/*
 * These are the functions you'll usually want to call
 * They take string arguments and return either hex or base-64 encoded =
strings
 */
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * =
chrsz));}
function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * =
chrsz));}
function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * =
chrsz));}
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, =
data)); }
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, =
data)); }
function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, =
data)); }

/*
 * Perform a simple self-test to see if the VM is working
 */
function md5_vm_test()
{
  return hex_md5("abc") =3D=3D "900150983cd24fb0d6963f7d28e17f72";
}

/*
 * Calculate the MD5 of an array of little-endian words, and a bit =
length
 */
function core_md5(x, len)
{
  /* append padding */
  x[len >> 5] |=3D 0x80 << ((len) % 32);
  x[(((len + 64) >>> 9) << 4) + 14] =3D len;

  var a =3D  1732584193;
  var b =3D -271733879;
  var c =3D -1732584194;
  var d =3D  271733878;

  for(var i =3D 0; i < x.length; i +=3D 16)
  {
    var olda =3D a;
    var oldb =3D b;
    var oldc =3D c;
    var oldd =3D d;

    a =3D md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
    d =3D md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
    c =3D md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
    b =3D md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
    a =3D md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
    d =3D md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
    c =3D md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
    b =3D md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
    a =3D md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
    d =3D md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
    c =3D md5_ff(c, d, a, b, x[i+10], 17, -42063);
    b =3D md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
    a =3D md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
    d =3D md5_ff(d, a, b, c, x[i+13], 12, -40341101);
    c =3D md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
    b =3D md5_ff(b, c, d, a, x[i+15], 22,  1236535329);

    a =3D md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
    d =3D md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
    c =3D md5_gg(c, d, a, b, x[i+11], 14,  643717713);
    b =3D md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
    a =3D md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
    d =3D md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
    c =3D md5_gg(c, d, a, b, x[i+15], 14, -660478335);
    b =3D md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
    a =3D md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
    d =3D md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
    c =3D md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
    b =3D md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
    a =3D md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
    d =3D md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
    c =3D md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
    b =3D md5_gg(b, c, d, a, x[i+12], 20, -1926607734);

    a =3D md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
    d =3D md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
    c =3D md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
    b =3D md5_hh(b, c, d, a, x[i+14], 23, -35309556);
    a =3D md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
    d =3D md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
    c =3D md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
    b =3D md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
    a =3D md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
    d =3D md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
    c =3D md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
    b =3D md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
    a =3D md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
    d =3D md5_hh(d, a, b, c, x[i+12], 11, -421815835);
    c =3D md5_hh(c, d, a, b, x[i+15], 16,  530742520);
    b =3D md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);

    a =3D md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
    d =3D md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
    c =3D md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
    b =3D md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
    a =3D md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
    d =3D md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
    c =3D md5_ii(c, d, a, b, x[i+10], 15, -1051523);
    b =3D md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
    a =3D md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
    d =3D md5_ii(d, a, b, c, x[i+15], 10, -30611744);
    c =3D md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
    b =3D md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
    a =3D md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
    d =3D md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
    c =3D md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
    b =3D md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);

    a =3D safe_add(a, olda);
    b =3D safe_add(b, oldb);
    c =3D safe_add(c, oldc);
    d =3D safe_add(d, oldd);
  }
  return Array(a, b, c, d);

}

/*
 * These functions implement the four basic operations the algorithm =
uses.
 */
function md5_cmn(q, a, b, x, s, t)
{
  return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), =
s),b);
}
function md5_ff(a, b, c, d, x, s, t)
{
  return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function md5_gg(a, b, c, d, x, s, t)
{
  return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function md5_hh(a, b, c, d, x, s, t)
{
  return md5_cmn(b ^ c ^ d, a, b, x, s, t);
}
function md5_ii(a, b, c, d, x, s, t)
{
  return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
}

/*
 * Calculate the HMAC-MD5, of a key and some data
 */
function core_hmac_md5(key, data)
{
  var bkey =3D str2binl(key);
  if(bkey.length > 16) bkey =3D core_md5(bkey, key.length * chrsz);

  var ipad =3D Array(16), opad =3D Array(16);
  for(var i =3D 0; i < 16; i++)
  {
    ipad[i] =3D bkey[i] ^ 0x36363636;
    opad[i] =3D bkey[i] ^ 0x5C5C5C5C;
  }

  var hash =3D core_md5(ipad.concat(str2binl(data)), 512 + data.length * =
chrsz);
  return core_md5(opad.concat(hash), 512 + 128);
}

/*
 * Add integers, wrapping at 2^32. This uses 16-bit operations =
internally
 * to work around bugs in some JS interpreters.
 */
function safe_add(x, y)
{
  var lsw =3D (x & 0xFFFF) + (y & 0xFFFF);
  var msw =3D (x >> 16) + (y >> 16) + (lsw >> 16);
  return (msw << 16) | (lsw & 0xFFFF);
}

/*
 * Bitwise rotate a 32-bit number to the left.
 */
function bit_rol(num, cnt)
{
  return (num << cnt) | (num >>> (32 - cnt));
}

/*
 * Convert a string to an array of little-endian words
 * If chrsz is ASCII, characters >255 have their hi-byte silently =
ignored.
 */
function str2binl(str)
{
  var bin =3D Array();
  var mask =3D (1 << chrsz) - 1;
  for(var i =3D 0; i < str.length * chrsz; i +=3D chrsz)
    bin[i>>5] |=3D (str.charCodeAt(i / chrsz) & mask) << (i%32);
  return bin;
}

/*
 * Convert an array of little-endian words to a string
 */
function binl2str(bin)
{
  var str =3D "";
  var mask =3D (1 << chrsz) - 1;
  for(var i =3D 0; i < bin.length * 32; i +=3D chrsz)
    str +=3D String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
  return str;
}

/*
 * Convert an array of little-endian words to a hex string.
 */
function binl2hex(binarray)
{
  var hex_tab =3D hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  var str =3D "";
  for(var i =3D 0; i < binarray.length * 4; i++)
  {
    str +=3D hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
           hex_tab.charAt((binarray[i>>2] >> ((i%4)*8  )) & 0xF);
  }
  return str;
}

/*
 * Convert an array of little-endian words to a base-64 string
 */
function binl2b64(binarray)
{
  var tab =3D =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  var str =3D "";
  for(var i =3D 0; i < binarray.length * 4; i +=3D 3)
  {
    var triplet =3D (((binarray[i   >> 2] >> 8 * ( i   %4)) & 0xFF) << =
16)
                | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
                |  ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
    for(var j =3D 0; j < 4; j++)
    {
      if(i * 8 + j * 6 > binarray.length * 32) str +=3D b64pad;
      else str +=3D tab.charAt((triplet >> 6*(3-j)) & 0x3F);
    }
  }
  return str;
}

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/popup.php

function popup(popupURL,windowName,width,height) =0A=
{=0A=
	var popup =3D null;=0A=
	popup =3D =
window.open(popupURL,windowName,"height=3D"+height+",width=3D"+width+",to=
olbar=3D0,directories=3D0,menubar=3D0,status=3D1,scrollbars=3D1,resizable=
=3D0,location=3D0,copyhistory=3D0");=0A=
	popup.focus();=0A=
}=0A=

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/sha1.js

/*
 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as =
defined
 * in FIPS PUB 180-1
 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for details.
 */

/*
 * Configurable variables. You may need to tweak these to be compatible =
with
 * the server-side, but the defaults work in most cases.
 */
var hexcase =3D 0;  /* hex output format. 0 - lowercase; 1 - uppercase   =
     */
var b64pad  =3D ""; /* base-64 pad character. "=3D" for strict RFC =
compliance   */
var chrsz   =3D 8;  /* bits per input character. 8 - ASCII; 16 - Unicode =
     */

/*
 * These are the functions you'll usually want to call
 * They take string arguments and return either hex or base-64 encoded =
strings
 */
function hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length * =
chrsz));}
function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * =
chrsz));}
function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * =
chrsz));}
function hex_hmac_sha1(key, data){ return binb2hex(core_hmac_sha1(key, =
data));}
function b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, =
data));}
function str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, =
data));}

/*
 * Perform a simple self-test to see if the VM is working
 */
function sha1_vm_test()
{
  return hex_sha1("abc") =3D=3D =
"a9993e364706816aba3e25717850c26c9cd0d89d";
}

/*
 * Calculate the SHA-1 of an array of big-endian words, and a bit length
 */
function core_sha1(x, len)
{
  /* append padding */
  x[len >> 5] |=3D 0x80 << (24 - len % 32);
  x[((len + 64 >> 9) << 4) + 15] =3D len;

  var w =3D Array(80);
  var a =3D  1732584193;
  var b =3D -271733879;
  var c =3D -1732584194;
  var d =3D  271733878;
  var e =3D -1009589776;

  for(var i =3D 0; i < x.length; i +=3D 16)
  {
    var olda =3D a;
    var oldb =3D b;
    var oldc =3D c;
    var oldd =3D d;
    var olde =3D e;

    for(var j =3D 0; j < 80; j++)
    {
      if(j < 16) w[j] =3D x[i + j];
      else w[j] =3D rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
      var t =3D safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),
                       safe_add(safe_add(e, w[j]), sha1_kt(j)));
      e =3D d;
      d =3D c;
      c =3D rol(b, 30);
      b =3D a;
      a =3D t;
    }

    a =3D safe_add(a, olda);
    b =3D safe_add(b, oldb);
    c =3D safe_add(c, oldc);
    d =3D safe_add(d, oldd);
    e =3D safe_add(e, olde);
  }
  return Array(a, b, c, d, e);

}

/*
 * Perform the appropriate triplet combination function for the current
 * iteration
 */
function sha1_ft(t, b, c, d)
{
  if(t < 20) return (b & c) | ((~b) & d);
  if(t < 40) return b ^ c ^ d;
  if(t < 60) return (b & c) | (b & d) | (c & d);
  return b ^ c ^ d;
}

/*
 * Determine the appropriate additive constant for the current iteration
 */
function sha1_kt(t)
{
  return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :
         (t < 60) ? -1894007588 : -899497514;
}

/*
 * Calculate the HMAC-SHA1 of a key and some data
 */
function core_hmac_sha1(key, data)
{
  var bkey =3D str2binb(key);
  if(bkey.length > 16) bkey =3D core_sha1(bkey, key.length * chrsz);

  var ipad =3D Array(16), opad =3D Array(16);
  for(var i =3D 0; i < 16; i++)
  {
    ipad[i] =3D bkey[i] ^ 0x36363636;
    opad[i] =3D bkey[i] ^ 0x5C5C5C5C;
  }

  var hash =3D core_sha1(ipad.concat(str2binb(data)), 512 + data.length =
* chrsz);
  return core_sha1(opad.concat(hash), 512 + 160);
}

/*
 * Add integers, wrapping at 2^32. This uses 16-bit operations =
internally
 * to work around bugs in some JS interpreters.
 */
function safe_add(x, y)
{
  var lsw =3D (x & 0xFFFF) + (y & 0xFFFF);
  var msw =3D (x >> 16) + (y >> 16) + (lsw >> 16);
  return (msw << 16) | (lsw & 0xFFFF);
}

/*
 * Bitwise rotate a 32-bit number to the left.
 */
function rol(num, cnt)
{
  return (num << cnt) | (num >>> (32 - cnt));
}

/*
 * Convert an 8-bit or 16-bit string to an array of big-endian words
 * In 8-bit function, characters >255 have their hi-byte silently =
ignored.
 */
function str2binb(str)
{
  var bin =3D Array();
  var mask =3D (1 << chrsz) - 1;
  for(var i =3D 0; i < str.length * chrsz; i +=3D chrsz)
    bin[i>>5] |=3D (str.charCodeAt(i / chrsz) & mask) << (32 - chrsz - =
i%32);
  return bin;
}

/*
 * Convert an array of big-endian words to a string
 */
function binb2str(bin)
{
  var str =3D "";
  var mask =3D (1 << chrsz) - 1;
  for(var i =3D 0; i < bin.length * 32; i +=3D chrsz)
    str +=3D String.fromCharCode((bin[i>>5] >>> (32 - chrsz - i%32)) & =
mask);
  return str;
}

/*
 * Convert an array of big-endian words to a hex string.
 */
function binb2hex(binarray)
{
  var hex_tab =3D hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  var str =3D "";
  for(var i =3D 0; i < binarray.length * 4; i++)
  {
    str +=3D hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +
           hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8  )) & 0xF);
  }
  return str;
}

/*
 * Convert an array of big-endian words to a base-64 string
 */
function binb2b64(binarray)
{
  var tab =3D =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  var str =3D "";
  for(var i =3D 0; i < binarray.length * 4; i +=3D 3)
  {
    var triplet =3D (((binarray[i   >> 2] >> 8 * (3 -  i   %4)) & 0xFF) =
<< 16)
                | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << =
8 )
                |  ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF);
    for(var j =3D 0; j < 4; j++)
    {
      if(i * 8 + j * 6 > binarray.length * 32) str +=3D b64pad;
      else str +=3D tab.charAt((triplet >> 6*(3-j)) & 0x3F);
    }
  }
  return str;
}

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/submitMailingListForm.php

function submitMailingListForm(formObj) {	=0A=
	var err =3D 0;=0A=
	var msg =3D '';=0A=
	//check e-mail address=0A=
	if (formObj.emailAddress.value =3D=3D '')=0A=
	{=0A=
		err++;=0A=
		msg =3D msg + 'You forgot to enter your e-mail address.\n\n';=0A=
	}=0A=
	var reEmail =3D /^.+\@.+\..+$/;=0A=
	if (!reEmail.test(formObj.emailAddress.value))=0A=
	{=0A=
		err++;=0A=
		msg =3D msg + 'The address you entered for yourself does not appear to =
be a valid e-mail address.\nPlease check it and try again.\n\n';=0A=
	}=0A=
	//if errors were found, display msg=0A=
	if (err > 0)=0A=
	{=0A=
		alert('Error!\n' + err + ' error(s) were found.\n\n' + msg + 'Please =
correct these and try again.');=0A=
		return false;=0A=
	}=0A=
	=
popup('http://www.californiachronicle.com/listMail/signup.asp?subscriberN=
ame=3D' + formObj.subscriberName.value + '&emailAddress=3D' + =
formObj.emailAddress.value + '&categoryID=3D' + formObj.categoryID.value =
+ '&issueID=3D' + formObj.issueID.value + '&authorID=3D' + =
formObj.authorID.value,'signup',400,250);=0A=
	return true;=0A=
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/submitReferralForm.js

function submitReferralForm(formObj) {
	popUp('/refer.asp?referrer=3D' + formObj.referrer.value + '&friend=3D' =
+ formObj.friend.value,'referral',550,350);
	return true;
}
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/js/toggle.js

function slideToggle() {=0A=
	for (var i=3D0; i<slideToggle.arguments.length; i++) {=0A=
		var element =3D document.getElementById(slideToggle.arguments[i]);=0A=
		(element.style.display =3D=3D "" ? =
Effect.SlideUp(slideToggle.arguments[i],{duration:.25}) : =
Effect.SlideDown(slideToggle.arguments[i],{duration:.25}));=0A=
	}=0A=
}=0A=
=0A=
        function toggle() {=0A=
                for (var i=3D0; i<toggle.arguments.length; i++) {=0A=
                        var element =3D =
document.getElementById(toggle.arguments[i]);=0A=
                        element.style.display =3D (element.style.display =
=3D=3D "" ? "none" : "");=0A=
                }=0A=
        }=0A=
=0A=
        function toggleOn() {=0A=
                for (var i=3D0; i<toggleOn.arguments.length; i++) {=0A=
                        var element =3D =
document.getElementById(toggleOn.arguments[i]);=0A=
                        element.style.display =3D "";=0A=
                }=0A=
        }=0A=
=0A=
        function toggleOff() {=0A=
                for (var i=3D0; i<toggleOff.arguments.length; i++) {=0A=
                        var element =3D =
document.getElementById(toggleOff.arguments[i]);=0A=
                        element.style.display =3D "none";=0A=
                }=0A=
        }
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/scriptaculous/lib/prototype.js

/*  Prototype JavaScript framework, version 1.5.1=0A=
 *  (c) 2005-2007 Sam Stephenson=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://www.prototypejs.org/=0A=
 *=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Prototype =3D {=0A=
  Version: '1.5.1',=0A=
=0A=
  Browser: {=0A=
    IE:     !!(window.attachEvent && !window.opera),=0A=
    Opera:  !!window.opera,=0A=
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A=
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && =
navigator.userAgent.indexOf('KHTML') =3D=3D -1=0A=
  },=0A=
=0A=
  BrowserFeatures: {=0A=
    XPath: !!document.evaluate,=0A=
    ElementExtensions: !!window.HTMLElement,=0A=
    SpecificElementExtensions:=0A=
      (document.createElement('div').__proto__ !=3D=3D=0A=
       document.createElement('form').__proto__)=0A=
  },=0A=
=0A=
  ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>',=0A=
  JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/,=0A=
=0A=
  emptyFunction: function() { },=0A=
  K: function(x) { return x }=0A=
}=0A=
=0A=
var Class =3D {=0A=
  create: function() {=0A=
    return function() {=0A=
      this.initialize.apply(this, arguments);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
var Abstract =3D new Object();=0A=
=0A=
Object.extend =3D function(destination, source) {=0A=
  for (var property in source) {=0A=
    destination[property] =3D source[property];=0A=
  }=0A=
  return destination;=0A=
}=0A=
=0A=
Object.extend(Object, {=0A=
  inspect: function(object) {=0A=
    try {=0A=
      if (object =3D=3D=3D undefined) return 'undefined';=0A=
      if (object =3D=3D=3D null) return 'null';=0A=
      return object.inspect ? object.inspect() : object.toString();=0A=
    } catch (e) {=0A=
      if (e instanceof RangeError) return '...';=0A=
      throw e;=0A=
    }=0A=
  },=0A=
=0A=
  toJSON: function(object) {=0A=
    var type =3D typeof object;=0A=
    switch(type) {=0A=
      case 'undefined':=0A=
      case 'function':=0A=
      case 'unknown': return;=0A=
      case 'boolean': return object.toString();=0A=
    }=0A=
    if (object =3D=3D=3D null) return 'null';=0A=
    if (object.toJSON) return object.toJSON();=0A=
    if (object.ownerDocument =3D=3D=3D document) return;=0A=
    var results =3D [];=0A=
    for (var property in object) {=0A=
      var value =3D Object.toJSON(object[property]);=0A=
      if (value !=3D=3D undefined)=0A=
        results.push(property.toJSON() + ': ' + value);=0A=
    }=0A=
    return '{' + results.join(', ') + '}';=0A=
  },=0A=
=0A=
  keys: function(object) {=0A=
    var keys =3D [];=0A=
    for (var property in object)=0A=
      keys.push(property);=0A=
    return keys;=0A=
  },=0A=
=0A=
  values: function(object) {=0A=
    var values =3D [];=0A=
    for (var property in object)=0A=
      values.push(object[property]);=0A=
    return values;=0A=
  },=0A=
=0A=
  clone: function(object) {=0A=
    return Object.extend({}, object);=0A=
  }=0A=
});=0A=
=0A=
Function.prototype.bind =3D function() {=0A=
  var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A=
  return function() {=0A=
    return __method.apply(object, args.concat($A(arguments)));=0A=
  }=0A=
}=0A=
=0A=
Function.prototype.bindAsEventListener =3D function(object) {=0A=
  var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A=
  return function(event) {=0A=
    return __method.apply(object, [event || window.event].concat(args));=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Number.prototype, {=0A=
  toColorPart: function() {=0A=
    return this.toPaddedString(2, 16);=0A=
  },=0A=
=0A=
  succ: function() {=0A=
    return this + 1;=0A=
  },=0A=
=0A=
  times: function(iterator) {=0A=
    $R(0, this, true).each(iterator);=0A=
    return this;=0A=
  },=0A=
=0A=
  toPaddedString: function(length, radix) {=0A=
    var string =3D this.toString(radix || 10);=0A=
    return '0'.times(length - string.length) + string;=0A=
  },=0A=
=0A=
  toJSON: function() {=0A=
    return isFinite(this) ? this.toString() : 'null';=0A=
  }=0A=
});=0A=
=0A=
Date.prototype.toJSON =3D function() {=0A=
  return '"' + this.getFullYear() + '-' +=0A=
    (this.getMonth() + 1).toPaddedString(2) + '-' +=0A=
    this.getDate().toPaddedString(2) + 'T' +=0A=
    this.getHours().toPaddedString(2) + ':' +=0A=
    this.getMinutes().toPaddedString(2) + ':' +=0A=
    this.getSeconds().toPaddedString(2) + '"';=0A=
};=0A=
=0A=
var Try =3D {=0A=
  these: function() {=0A=
    var returnValue;=0A=
=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) {}=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var PeriodicalExecuter =3D Class.create();=0A=
PeriodicalExecuter.prototype =3D {=0A=
  initialize: function(callback, frequency) {=0A=
    this.callback =3D callback;=0A=
    this.frequency =3D frequency;=0A=
    this.currentlyExecuting =3D false;=0A=
=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    if (!this.timer) return;=0A=
    clearInterval(this.timer);=0A=
    this.timer =3D null;=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    if (!this.currentlyExecuting) {=0A=
      try {=0A=
        this.currentlyExecuting =3D true;=0A=
        this.callback(this);=0A=
      } finally {=0A=
        this.currentlyExecuting =3D false;=0A=
      }=0A=
    }=0A=
  }=0A=
}=0A=
Object.extend(String, {=0A=
  interpret: function(value) {=0A=
    return value =3D=3D null ? '' : String(value);=0A=
  },=0A=
  specialChar: {=0A=
    '\b': '\\b',=0A=
    '\t': '\\t',=0A=
    '\n': '\\n',=0A=
    '\f': '\\f',=0A=
    '\r': '\\r',=0A=
    '\\': '\\\\'=0A=
  }=0A=
});=0A=
=0A=
Object.extend(String.prototype, {=0A=
  gsub: function(pattern, replacement) {=0A=
    var result =3D '', source =3D this, match;=0A=
    replacement =3D arguments.callee.prepareReplacement(replacement);=0A=
=0A=
    while (source.length > 0) {=0A=
      if (match =3D source.match(pattern)) {=0A=
        result +=3D source.slice(0, match.index);=0A=
        result +=3D String.interpret(replacement(match));=0A=
        source  =3D source.slice(match.index + match[0].length);=0A=
      } else {=0A=
        result +=3D source, source =3D '';=0A=
      }=0A=
    }=0A=
    return result;=0A=
  },=0A=
=0A=
  sub: function(pattern, replacement, count) {=0A=
    replacement =3D this.gsub.prepareReplacement(replacement);=0A=
    count =3D count =3D=3D=3D undefined ? 1 : count;=0A=
=0A=
    return this.gsub(pattern, function(match) {=0A=
      if (--count < 0) return match[0];=0A=
      return replacement(match);=0A=
    });=0A=
  },=0A=
=0A=
  scan: function(pattern, iterator) {=0A=
    this.gsub(pattern, iterator);=0A=
    return this;=0A=
  },=0A=
=0A=
  truncate: function(length, truncation) {=0A=
    length =3D length || 30;=0A=
    truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation;=0A=
    return this.length > length ?=0A=
      this.slice(0, length - truncation.length) + truncation : this;=0A=
  },=0A=
=0A=
  strip: function() {=0A=
    return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A=
  },=0A=
=0A=
  stripTags: function() {=0A=
    return this.replace(/<\/?[^>]+>/gi, '');=0A=
  },=0A=
=0A=
  stripScripts: function() {=0A=
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A=
  },=0A=
=0A=
  extractScripts: function() {=0A=
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A=
    var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A=
    return (this.match(matchAll) || []).map(function(scriptTag) {=0A=
      return (scriptTag.match(matchOne) || ['', ''])[1];=0A=
    });=0A=
  },=0A=
=0A=
  evalScripts: function() {=0A=
    return this.extractScripts().map(function(script) { return =
eval(script) });=0A=
  },=0A=
=0A=
  escapeHTML: function() {=0A=
    var self =3D arguments.callee;=0A=
    self.text.data =3D this;=0A=
    return self.div.innerHTML;=0A=
  },=0A=
=0A=
  unescapeHTML: function() {=0A=
    var div =3D document.createElement('div');=0A=
    div.innerHTML =3D this.stripTags();=0A=
    return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A=
      $A(div.childNodes).inject('', function(memo, node) { return =
memo+node.nodeValue }) :=0A=
      div.childNodes[0].nodeValue) : '';=0A=
  },=0A=
=0A=
  toQueryParams: function(separator) {=0A=
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A=
    if (!match) return {};=0A=
=0A=
    return match[1].split(separator || '&').inject({}, function(hash, =
pair) {=0A=
      if ((pair =3D pair.split('=3D'))[0]) {=0A=
        var key =3D decodeURIComponent(pair.shift());=0A=
        var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A=
        if (value !=3D undefined) value =3D decodeURIComponent(value);=0A=
=0A=
        if (key in hash) {=0A=
          if (hash[key].constructor !=3D Array) hash[key] =3D =
[hash[key]];=0A=
          hash[key].push(value);=0A=
        }=0A=
        else hash[key] =3D value;=0A=
      }=0A=
      return hash;=0A=
    });=0A=
  },=0A=
=0A=
  toArray: function() {=0A=
    return this.split('');=0A=
  },=0A=
=0A=
  succ: function() {=0A=
    return this.slice(0, this.length - 1) +=0A=
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A=
  },=0A=
=0A=
  times: function(count) {=0A=
    var result =3D '';=0A=
    for (var i =3D 0; i < count; i++) result +=3D this;=0A=
    return result;=0A=
  },=0A=
=0A=
  camelize: function() {=0A=
    var parts =3D this.split('-'), len =3D parts.length;=0A=
    if (len =3D=3D 1) return parts[0];=0A=
=0A=
    var camelized =3D this.charAt(0) =3D=3D '-'=0A=
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A=
      : parts[0];=0A=
=0A=
    for (var i =3D 1; i < len; i++)=0A=
      camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);=0A=
=0A=
    return camelized;=0A=
  },=0A=
=0A=
  capitalize: function() {=0A=
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();=0A=
  },=0A=
=0A=
  underscore: function() {=0A=
    return this.gsub(/::/, =
'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{=
1}_#{2}').gsub(/-/,'_').toLowerCase();=0A=
  },=0A=
=0A=
  dasherize: function() {=0A=
    return this.gsub(/_/,'-');=0A=
  },=0A=
=0A=
  inspect: function(useDoubleQuotes) {=0A=
    var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {=0A=
      var character =3D String.specialChar[match[0]];=0A=
      return character ? character : '\\u00' + =
match[0].charCodeAt().toPaddedString(2, 16);=0A=
    });=0A=
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') =
+ '"';=0A=
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A=
  },=0A=
=0A=
  toJSON: function() {=0A=
    return this.inspect(true);=0A=
  },=0A=
=0A=
  unfilterJSON: function(filter) {=0A=
    return this.sub(filter || Prototype.JSONFilter, '#{1}');=0A=
  },=0A=
=0A=
  evalJSON: function(sanitize) {=0A=
    var json =3D this.unfilterJSON();=0A=
    try {=0A=
      if (!sanitize || =
(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u =
\n\r\t])+?$/.test(json)))=0A=
        return eval('(' + json + ')');=0A=
    } catch (e) { }=0A=
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A=
  },=0A=
=0A=
  include: function(pattern) {=0A=
    return this.indexOf(pattern) > -1;=0A=
  },=0A=
=0A=
  startsWith: function(pattern) {=0A=
    return this.indexOf(pattern) =3D=3D=3D 0;=0A=
  },=0A=
=0A=
  endsWith: function(pattern) {=0A=
    var d =3D this.length - pattern.length;=0A=
    return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A=
  },=0A=
=0A=
  empty: function() {=0A=
    return this =3D=3D '';=0A=
  },=0A=
=0A=
  blank: function() {=0A=
    return /^\s*$/.test(this);=0A=
  }=0A=
});=0A=
=0A=
if (Prototype.Browser.WebKit || Prototype.Browser.IE) =
Object.extend(String.prototype, {=0A=
  escapeHTML: function() {=0A=
    return =
this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');=0A=
  },=0A=
  unescapeHTML: function() {=0A=
    return =
this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');=0A=
  }=0A=
});=0A=
=0A=
String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A=
  if (typeof replacement =3D=3D 'function') return replacement;=0A=
  var template =3D new Template(replacement);=0A=
  return function(match) { return template.evaluate(match) };=0A=
}=0A=
=0A=
String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A=
=0A=
Object.extend(String.prototype.escapeHTML, {=0A=
  div:  document.createElement('div'),=0A=
  text: document.createTextNode('')=0A=
});=0A=
=0A=
with (String.prototype.escapeHTML) div.appendChild(text);=0A=
=0A=
var Template =3D Class.create();=0A=
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A=
Template.prototype =3D {=0A=
  initialize: function(template, pattern) {=0A=
    this.template =3D template.toString();=0A=
    this.pattern  =3D pattern || Template.Pattern;=0A=
  },=0A=
=0A=
  evaluate: function(object) {=0A=
    return this.template.gsub(this.pattern, function(match) {=0A=
      var before =3D match[1];=0A=
      if (before =3D=3D '\\') return match[2];=0A=
      return before + String.interpret(object[match[3]]);=0A=
    });=0A=
  }=0A=
}=0A=
=0A=
var $break =3D {}, $continue =3D new Error('"throw $continue" is =
deprecated, use "return" instead');=0A=
=0A=
var Enumerable =3D {=0A=
  each: function(iterator) {=0A=
    var index =3D 0;=0A=
    try {=0A=
      this._each(function(value) {=0A=
        iterator(value, index++);=0A=
      });=0A=
    } catch (e) {=0A=
      if (e !=3D $break) throw e;=0A=
    }=0A=
    return this;=0A=
  },=0A=
=0A=
  eachSlice: function(number, iterator) {=0A=
    var index =3D -number, slices =3D [], array =3D this.toArray();=0A=
    while ((index +=3D number) < array.length)=0A=
      slices.push(array.slice(index, index+number));=0A=
    return slices.map(iterator);=0A=
  },=0A=
=0A=
  all: function(iterator) {=0A=
    var result =3D true;=0A=
    this.each(function(value, index) {=0A=
      result =3D result && !!(iterator || Prototype.K)(value, index);=0A=
      if (!result) throw $break;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  any: function(iterator) {=0A=
    var result =3D false;=0A=
    this.each(function(value, index) {=0A=
      if (result =3D !!(iterator || Prototype.K)(value, index))=0A=
        throw $break;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  collect: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push((iterator || Prototype.K)(value, index));=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  detect: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      if (iterator(value, index)) {=0A=
        result =3D value;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  findAll: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (iterator(value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  grep: function(pattern, iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      var stringValue =3D value.toString();=0A=
      if (stringValue.match(pattern))=0A=
        results.push((iterator || Prototype.K)(value, index));=0A=
    })=0A=
    return results;=0A=
  },=0A=
=0A=
  include: function(object) {=0A=
    var found =3D false;=0A=
    this.each(function(value) {=0A=
      if (value =3D=3D object) {=0A=
        found =3D true;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return found;=0A=
  },=0A=
=0A=
  inGroupsOf: function(number, fillWith) {=0A=
    fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith;=0A=
    return this.eachSlice(number, function(slice) {=0A=
      while(slice.length < number) slice.push(fillWith);=0A=
      return slice;=0A=
    });=0A=
  },=0A=
=0A=
  inject: function(memo, iterator) {=0A=
    this.each(function(value, index) {=0A=
      memo =3D iterator(memo, value, index);=0A=
    });=0A=
    return memo;=0A=
  },=0A=
=0A=
  invoke: function(method) {=0A=
    var args =3D $A(arguments).slice(1);=0A=
    return this.map(function(value) {=0A=
      return value[method].apply(value, args);=0A=
    });=0A=
  },=0A=
=0A=
  max: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D (iterator || Prototype.K)(value, index);=0A=
      if (result =3D=3D undefined || value >=3D result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  min: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D (iterator || Prototype.K)(value, index);=0A=
      if (result =3D=3D undefined || value < result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  partition: function(iterator) {=0A=
    var trues =3D [], falses =3D [];=0A=
    this.each(function(value, index) {=0A=
      ((iterator || Prototype.K)(value, index) ?=0A=
        trues : falses).push(value);=0A=
    });=0A=
    return [trues, falses];=0A=
  },=0A=
=0A=
  pluck: function(property) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(value[property]);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  reject: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (!iterator(value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  sortBy: function(iterator) {=0A=
    return this.map(function(value, index) {=0A=
      return {value: value, criteria: iterator(value, index)};=0A=
    }).sort(function(left, right) {=0A=
      var a =3D left.criteria, b =3D right.criteria;=0A=
      return a < b ? -1 : a > b ? 1 : 0;=0A=
    }).pluck('value');=0A=
  },=0A=
=0A=
  toArray: function() {=0A=
    return this.map();=0A=
  },=0A=
=0A=
  zip: function() {=0A=
    var iterator =3D Prototype.K, args =3D $A(arguments);=0A=
    if (typeof args.last() =3D=3D 'function')=0A=
      iterator =3D args.pop();=0A=
=0A=
    var collections =3D [this].concat(args).map($A);=0A=
    return this.map(function(value, index) {=0A=
      return iterator(collections.pluck(index));=0A=
    });=0A=
  },=0A=
=0A=
  size: function() {=0A=
    return this.toArray().length;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '#<Enumerable:' + this.toArray().inspect() + '>';=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Enumerable, {=0A=
  map:     Enumerable.collect,=0A=
  find:    Enumerable.detect,=0A=
  select:  Enumerable.findAll,=0A=
  member:  Enumerable.include,=0A=
  entries: Enumerable.toArray=0A=
});=0A=
var $A =3D Array.from =3D function(iterable) {=0A=
  if (!iterable) return [];=0A=
  if (iterable.toArray) {=0A=
    return iterable.toArray();=0A=
  } else {=0A=
    var results =3D [];=0A=
    for (var i =3D 0, length =3D iterable.length; i < length; i++)=0A=
      results.push(iterable[i]);=0A=
    return results;=0A=
  }=0A=
}=0A=
=0A=
if (Prototype.Browser.WebKit) {=0A=
  $A =3D Array.from =3D function(iterable) {=0A=
    if (!iterable) return [];=0A=
    if (!(typeof iterable =3D=3D 'function' && iterable =3D=3D '[object =
NodeList]') &&=0A=
      iterable.toArray) {=0A=
      return iterable.toArray();=0A=
    } else {=0A=
      var results =3D [];=0A=
      for (var i =3D 0, length =3D iterable.length; i < length; i++)=0A=
        results.push(iterable[i]);=0A=
      return results;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Array.prototype, Enumerable);=0A=
=0A=
if (!Array.prototype._reverse)=0A=
  Array.prototype._reverse =3D Array.prototype.reverse;=0A=
=0A=
Object.extend(Array.prototype, {=0A=
  _each: function(iterator) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      iterator(this[i]);=0A=
  },=0A=
=0A=
  clear: function() {=0A=
    this.length =3D 0;=0A=
    return this;=0A=
  },=0A=
=0A=
  first: function() {=0A=
    return this[0];=0A=
  },=0A=
=0A=
  last: function() {=0A=
    return this[this.length - 1];=0A=
  },=0A=
=0A=
  compact: function() {=0A=
    return this.select(function(value) {=0A=
      return value !=3D null;=0A=
    });=0A=
  },=0A=
=0A=
  flatten: function() {=0A=
    return this.inject([], function(array, value) {=0A=
      return array.concat(value && value.constructor =3D=3D Array ?=0A=
        value.flatten() : [value]);=0A=
    });=0A=
  },=0A=
=0A=
  without: function() {=0A=
    var values =3D $A(arguments);=0A=
    return this.select(function(value) {=0A=
      return !values.include(value);=0A=
    });=0A=
  },=0A=
=0A=
  indexOf: function(object) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      if (this[i] =3D=3D object) return i;=0A=
    return -1;=0A=
  },=0A=
=0A=
  reverse: function(inline) {=0A=
    return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A=
  },=0A=
=0A=
  reduce: function() {=0A=
    return this.length > 1 ? this : this[0];=0A=
  },=0A=
=0A=
  uniq: function(sorted) {=0A=
    return this.inject([], function(array, value, index) {=0A=
      if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))=0A=
        array.push(value);=0A=
      return array;=0A=
    });=0A=
  },=0A=
=0A=
  clone: function() {=0A=
    return [].concat(this);=0A=
  },=0A=
=0A=
  size: function() {=0A=
    return this.length;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
  },=0A=
=0A=
  toJSON: function() {=0A=
    var results =3D [];=0A=
    this.each(function(object) {=0A=
      var value =3D Object.toJSON(object);=0A=
      if (value !=3D=3D undefined) results.push(value);=0A=
    });=0A=
    return '[' + results.join(', ') + ']';=0A=
  }=0A=
});=0A=
=0A=
Array.prototype.toArray =3D Array.prototype.clone;=0A=
=0A=
function $w(string) {=0A=
  string =3D string.strip();=0A=
  return string ? string.split(/\s+/) : [];=0A=
}=0A=
=0A=
if (Prototype.Browser.Opera){=0A=
  Array.prototype.concat =3D function() {=0A=
    var array =3D [];=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++) =
array.push(this[i]);=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      if (arguments[i].constructor =3D=3D Array) {=0A=
        for (var j =3D 0, arrayLength =3D arguments[i].length; j < =
arrayLength; j++)=0A=
          array.push(arguments[i][j]);=0A=
      } else {=0A=
        array.push(arguments[i]);=0A=
      }=0A=
    }=0A=
    return array;=0A=
  }=0A=
}=0A=
var Hash =3D function(object) {=0A=
  if (object instanceof Hash) this.merge(object);=0A=
  else Object.extend(this, object || {});=0A=
};=0A=
=0A=
Object.extend(Hash, {=0A=
  toQueryString: function(obj) {=0A=
    var parts =3D [];=0A=
    parts.add =3D arguments.callee.addPair;=0A=
=0A=
    this.prototype._each.call(obj, function(pair) {=0A=
      if (!pair.key) return;=0A=
      var value =3D pair.value;=0A=
=0A=
      if (value && typeof value =3D=3D 'object') {=0A=
        if (value.constructor =3D=3D Array) value.each(function(value) {=0A=
          parts.add(pair.key, value);=0A=
        });=0A=
        return;=0A=
      }=0A=
      parts.add(pair.key, value);=0A=
    });=0A=
=0A=
    return parts.join('&');=0A=
  },=0A=
=0A=
  toJSON: function(object) {=0A=
    var results =3D [];=0A=
    this.prototype._each.call(object, function(pair) {=0A=
      var value =3D Object.toJSON(pair.value);=0A=
      if (value !=3D=3D undefined) results.push(pair.key.toJSON() + ': ' =
+ value);=0A=
    });=0A=
    return '{' + results.join(', ') + '}';=0A=
  }=0A=
});=0A=
=0A=
Hash.toQueryString.addPair =3D function(key, value, prefix) {=0A=
  key =3D encodeURIComponent(key);=0A=
  if (value =3D=3D=3D undefined) this.push(key);=0A=
  else this.push(key + '=3D' + (value =3D=3D null ? '' : =
encodeURIComponent(value)));=0A=
}=0A=
=0A=
Object.extend(Hash.prototype, Enumerable);=0A=
Object.extend(Hash.prototype, {=0A=
  _each: function(iterator) {=0A=
    for (var key in this) {=0A=
      var value =3D this[key];=0A=
      if (value && value =3D=3D Hash.prototype[key]) continue;=0A=
=0A=
      var pair =3D [key, value];=0A=
      pair.key =3D key;=0A=
      pair.value =3D value;=0A=
      iterator(pair);=0A=
    }=0A=
  },=0A=
=0A=
  keys: function() {=0A=
    return this.pluck('key');=0A=
  },=0A=
=0A=
  values: function() {=0A=
    return this.pluck('value');=0A=
  },=0A=
=0A=
  merge: function(hash) {=0A=
    return $H(hash).inject(this, function(mergedHash, pair) {=0A=
      mergedHash[pair.key] =3D pair.value;=0A=
      return mergedHash;=0A=
    });=0A=
  },=0A=
=0A=
  remove: function() {=0A=
    var result;=0A=
    for(var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var value =3D this[arguments[i]];=0A=
      if (value !=3D=3D undefined){=0A=
        if (result =3D=3D=3D undefined) result =3D value;=0A=
        else {=0A=
          if (result.constructor !=3D Array) result =3D [result];=0A=
          result.push(value)=0A=
        }=0A=
      }=0A=
      delete this[arguments[i]];=0A=
    }=0A=
    return result;=0A=
  },=0A=
=0A=
  toQueryString: function() {=0A=
    return Hash.toQueryString(this);=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '#<Hash:{' + this.map(function(pair) {=0A=
      return pair.map(Object.inspect).join(': ');=0A=
    }).join(', ') + '}>';=0A=
  },=0A=
=0A=
  toJSON: function() {=0A=
    return Hash.toJSON(this);=0A=
  }=0A=
});=0A=
=0A=
function $H(object) {=0A=
  if (object instanceof Hash) return object;=0A=
  return new Hash(object);=0A=
};=0A=
=0A=
// Safari iterates over shadowed properties=0A=
if (function() {=0A=
  var i =3D 0, Test =3D function(value) { this.key =3D value };=0A=
  Test.prototype.key =3D 'foo';=0A=
  for (var property in new Test('bar')) i++;=0A=
  return i > 1;=0A=
}()) Hash.prototype._each =3D function(iterator) {=0A=
  var cache =3D [];=0A=
  for (var key in this) {=0A=
    var value =3D this[key];=0A=
    if ((value && value =3D=3D Hash.prototype[key]) || =
cache.include(key)) continue;=0A=
    cache.push(key);=0A=
    var pair =3D [key, value];=0A=
    pair.key =3D key;=0A=
    pair.value =3D value;=0A=
    iterator(pair);=0A=
  }=0A=
};=0A=
ObjectRange =3D Class.create();=0A=
Object.extend(ObjectRange.prototype, Enumerable);=0A=
Object.extend(ObjectRange.prototype, {=0A=
  initialize: function(start, end, exclusive) {=0A=
    this.start =3D start;=0A=
    this.end =3D end;=0A=
    this.exclusive =3D exclusive;=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    var value =3D this.start;=0A=
    while (this.include(value)) {=0A=
      iterator(value);=0A=
      value =3D value.succ();=0A=
    }=0A=
  },=0A=
=0A=
  include: function(value) {=0A=
    if (value < this.start)=0A=
      return false;=0A=
    if (this.exclusive)=0A=
      return value < this.end;=0A=
    return value <=3D this.end;=0A=
  }=0A=
});=0A=
=0A=
var $R =3D function(start, end, exclusive) {=0A=
  return new ObjectRange(start, end, exclusive);=0A=
}=0A=
=0A=
var Ajax =3D {=0A=
  getTransport: function() {=0A=
    return Try.these(=0A=
      function() {return new XMLHttpRequest()},=0A=
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A=
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A=
    ) || false;=0A=
  },=0A=
=0A=
  activeRequestCount: 0=0A=
}=0A=
=0A=
Ajax.Responders =3D {=0A=
  responders: [],=0A=
=0A=
  _each: function(iterator) {=0A=
    this.responders._each(iterator);=0A=
  },=0A=
=0A=
  register: function(responder) {=0A=
    if (!this.include(responder))=0A=
      this.responders.push(responder);=0A=
  },=0A=
=0A=
  unregister: function(responder) {=0A=
    this.responders =3D this.responders.without(responder);=0A=
  },=0A=
=0A=
  dispatch: function(callback, request, transport, json) {=0A=
    this.each(function(responder) {=0A=
      if (typeof responder[callback] =3D=3D 'function') {=0A=
        try {=0A=
          responder[callback].apply(responder, [request, transport, =
json]);=0A=
        } catch (e) {}=0A=
      }=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Ajax.Responders, Enumerable);=0A=
=0A=
Ajax.Responders.register({=0A=
  onCreate: function() {=0A=
    Ajax.activeRequestCount++;=0A=
  },=0A=
  onComplete: function() {=0A=
    Ajax.activeRequestCount--;=0A=
  }=0A=
});=0A=
=0A=
Ajax.Base =3D function() {};=0A=
Ajax.Base.prototype =3D {=0A=
  setOptions: function(options) {=0A=
    this.options =3D {=0A=
      method:       'post',=0A=
      asynchronous: true,=0A=
      contentType:  'application/x-www-form-urlencoded',=0A=
      encoding:     'UTF-8',=0A=
      parameters:   ''=0A=
    }=0A=
    Object.extend(this.options, options || {});=0A=
=0A=
    this.options.method =3D this.options.method.toLowerCase();=0A=
    if (typeof this.options.parameters =3D=3D 'string')=0A=
      this.options.parameters =3D =
this.options.parameters.toQueryParams();=0A=
  }=0A=
}=0A=
=0A=
Ajax.Request =3D Class.create();=0A=
Ajax.Request.Events =3D=0A=
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
Ajax.Request.prototype =3D Object.extend(new Ajax.Base(), {=0A=
  _complete: false,=0A=
=0A=
  initialize: function(url, options) {=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.setOptions(options);=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  request: function(url) {=0A=
    this.url =3D url;=0A=
    this.method =3D this.options.method;=0A=
    var params =3D Object.clone(this.options.parameters);=0A=
=0A=
    if (!['get', 'post'].include(this.method)) {=0A=
      // simulate other verbs over post=0A=
      params['_method'] =3D this.method;=0A=
      this.method =3D 'post';=0A=
    }=0A=
=0A=
    this.parameters =3D params;=0A=
=0A=
    if (params =3D Hash.toQueryString(params)) {=0A=
      // when GET, append parameters to URL=0A=
      if (this.method =3D=3D 'get')=0A=
        this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A=
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A=
        params +=3D '&_=3D';=0A=
    }=0A=
=0A=
    try {=0A=
      if (this.options.onCreate) this.options.onCreate(this.transport);=0A=
      Ajax.Responders.dispatch('onCreate', this, this.transport);=0A=
=0A=
      this.transport.open(this.method.toUpperCase(), this.url,=0A=
        this.options.asynchronous);=0A=
=0A=
      if (this.options.asynchronous)=0A=
        setTimeout(function() { this.respondToReadyState(1) =
}.bind(this), 10);=0A=
=0A=
      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
      this.setRequestHeaders();=0A=
=0A=
      this.body =3D this.method =3D=3D 'post' ? (this.options.postBody =
|| params) : null;=0A=
      this.transport.send(this.body);=0A=
=0A=
      /* Force Firefox to handle ready state 4 for synchronous requests =
*/=0A=
      if (!this.options.asynchronous && this.transport.overrideMimeType)=0A=
        this.onStateChange();=0A=
=0A=
    }=0A=
    catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var headers =3D {=0A=
      'X-Requested-With': 'XMLHttpRequest',=0A=
      'X-Prototype-Version': Prototype.Version,=0A=
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'=0A=
    };=0A=
=0A=
    if (this.method =3D=3D 'post') {=0A=
      headers['Content-type'] =3D this.options.contentType +=0A=
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');=0A=
=0A=
      /* Force "Connection: close" for older Mozilla browsers to work=0A=
       * around a bug where XMLHttpRequest sends an incorrect=0A=
       * Content-length header. See Mozilla Bugzilla #246651.=0A=
       */=0A=
      if (this.transport.overrideMimeType &&=0A=
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)=0A=
            headers['Connection'] =3D 'close';=0A=
    }=0A=
=0A=
    // user-defined headers=0A=
    if (typeof this.options.requestHeaders =3D=3D 'object') {=0A=
      var extras =3D this.options.requestHeaders;=0A=
=0A=
      if (typeof extras.push =3D=3D 'function')=0A=
        for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A=
          headers[extras[i]] =3D extras[i+1];=0A=
      else=0A=
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });=0A=
    }=0A=
=0A=
    for (var name in headers)=0A=
      this.transport.setRequestHeader(name, headers[name]);=0A=
  },=0A=
=0A=
  success: function() {=0A=
    return !this.transport.status=0A=
        || (this.transport.status >=3D 200 && this.transport.status < =
300);=0A=
  },=0A=
=0A=
  respondToReadyState: function(readyState) {=0A=
    var state =3D Ajax.Request.Events[readyState];=0A=
    var transport =3D this.transport, json =3D this.evalJSON();=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      try {=0A=
        this._complete =3D true;=0A=
        (this.options['on' + this.transport.status]=0A=
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A=
         || Prototype.emptyFunction)(transport, json);=0A=
      } catch (e) {=0A=
        this.dispatchException(e);=0A=
      }=0A=
=0A=
      var contentType =3D this.getHeader('Content-type');=0A=
      if (contentType && contentType.strip().=0A=
        match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))=0A=
          this.evalResponse();=0A=
    }=0A=
=0A=
    try {=0A=
      (this.options['on' + state] || Prototype.emptyFunction)(transport, =
json);=0A=
      Ajax.Responders.dispatch('on' + state, this, transport, json);=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      // avoid memory leak in MSIE: clean up=0A=
      this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A=
    }=0A=
  },=0A=
=0A=
  getHeader: function(name) {=0A=
    try {=0A=
      return this.transport.getResponseHeader(name);=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  evalJSON: function() {=0A=
    try {=0A=
      var json =3D this.getHeader('X-JSON');=0A=
      return json ? json.evalJSON() : null;=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  evalResponse: function() {=0A=
    try {=0A=
      return eval((this.transport.responseText || '').unfilterJSON());=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  dispatchException: function(exception) {=0A=
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);=0A=
    Ajax.Responders.dispatch('onException', this, exception);=0A=
  }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create();=0A=
=0A=
Object.extend(Object.extend(Ajax.Updater.prototype, =
Ajax.Request.prototype), {=0A=
  initialize: function(container, url, options) {=0A=
    this.container =3D {=0A=
      success: (container.success || container),=0A=
      failure: (container.failure || (container.success ? null : =
container))=0A=
    }=0A=
=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.setOptions(options);=0A=
=0A=
    var onComplete =3D this.options.onComplete || =
Prototype.emptyFunction;=0A=
    this.options.onComplete =3D (function(transport, param) {=0A=
      this.updateContent();=0A=
      onComplete(transport, param);=0A=
    }).bind(this);=0A=
=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  updateContent: function() {=0A=
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'];=0A=
    var response =3D this.transport.responseText;=0A=
=0A=
    if (!this.options.evalScripts) response =3D response.stripScripts();=0A=
=0A=
    if (receiver =3D $(receiver)) {=0A=
      if (this.options.insertion)=0A=
        new this.options.insertion(receiver, response);=0A=
      else=0A=
        receiver.update(response);=0A=
    }=0A=
=0A=
    if (this.success()) {=0A=
      if (this.onComplete)=0A=
        setTimeout(this.onComplete.bind(this), 10);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create();=0A=
Ajax.PeriodicalUpdater.prototype =3D Object.extend(new Ajax.Base(), {=0A=
  initialize: function(container, url, options) {=0A=
    this.setOptions(options);=0A=
    this.onComplete =3D this.options.onComplete;=0A=
=0A=
    this.frequency =3D (this.options.frequency || 2);=0A=
    this.decay =3D (this.options.decay || 1);=0A=
=0A=
    this.updater =3D {};=0A=
    this.container =3D container;=0A=
    this.url =3D url;=0A=
=0A=
    this.start();=0A=
  },=0A=
=0A=
  start: function() {=0A=
    this.options.onComplete =3D this.updateComplete.bind(this);=0A=
    this.onTimerEvent();=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    this.updater.options.onComplete =3D undefined;=0A=
    clearTimeout(this.timer);=0A=
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A=
  },=0A=
=0A=
  updateComplete: function(request) {=0A=
    if (this.options.decay) {=0A=
      this.decay =3D (request.responseText =3D=3D this.lastText ?=0A=
        this.decay * this.options.decay : 1);=0A=
=0A=
      this.lastText =3D request.responseText;=0A=
    }=0A=
    this.timer =3D setTimeout(this.onTimerEvent.bind(this),=0A=
      this.decay * this.frequency * 1000);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
  }=0A=
});=0A=
function $(element) {=0A=
  if (arguments.length > 1) {=0A=
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)=0A=
      elements.push($(arguments[i]));=0A=
    return elements;=0A=
  }=0A=
  if (typeof element =3D=3D 'string')=0A=
    element =3D document.getElementById(element);=0A=
  return Element.extend(element);=0A=
}=0A=
=0A=
if (Prototype.BrowserFeatures.XPath) {=0A=
  document._getElementsByXPath =3D function(expression, parentElement) {=0A=
    var results =3D [];=0A=
    var query =3D document.evaluate(expression, $(parentElement) || =
document,=0A=
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
    for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A=
      results.push(query.snapshotItem(i));=0A=
    return results;=0A=
  };=0A=
=0A=
  document.getElementsByClassName =3D function(className, parentElement) =
{=0A=
    var q =3D ".//*[contains(concat(' ', @class, ' '), ' " + className + =
" ')]";=0A=
    return document._getElementsByXPath(q, parentElement);=0A=
  }=0A=
=0A=
} else document.getElementsByClassName =3D function(className, =
parentElement) {=0A=
  var children =3D ($(parentElement) || =
document.body).getElementsByTagName('*');=0A=
  var elements =3D [], child;=0A=
  for (var i =3D 0, length =3D children.length; i < length; i++) {=0A=
    child =3D children[i];=0A=
    if (Element.hasClassName(child, className))=0A=
      elements.push(Element.extend(child));=0A=
  }=0A=
  return elements;=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!window.Element) var Element =3D {};=0A=
=0A=
Element.extend =3D function(element) {=0A=
  var F =3D Prototype.BrowserFeatures;=0A=
  if (!element || !element.tagName || element.nodeType =3D=3D 3 ||=0A=
   element._extended || F.SpecificElementExtensions || element =3D=3D =
window)=0A=
    return element;=0A=
=0A=
  var methods =3D {}, tagName =3D element.tagName, cache =3D =
Element.extend.cache,=0A=
   T =3D Element.Methods.ByTag;=0A=
=0A=
  // extend methods for all tags (Safari doesn't need this)=0A=
  if (!F.ElementExtensions) {=0A=
    Object.extend(methods, Element.Methods),=0A=
    Object.extend(methods, Element.Methods.Simulated);=0A=
  }=0A=
=0A=
  // extend methods for specific tags=0A=
  if (T[tagName]) Object.extend(methods, T[tagName]);=0A=
=0A=
  for (var property in methods) {=0A=
    var value =3D methods[property];=0A=
    if (typeof value =3D=3D 'function' && !(property in element))=0A=
      element[property] =3D cache.findOrStore(value);=0A=
  }=0A=
=0A=
  element._extended =3D Prototype.emptyFunction;=0A=
  return element;=0A=
};=0A=
=0A=
Element.extend.cache =3D {=0A=
  findOrStore: function(value) {=0A=
    return this[value] =3D this[value] || function() {=0A=
      return value.apply(null, [this].concat($A(arguments)));=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
Element.Methods =3D {=0A=
  visible: function(element) {=0A=
    return $(element).style.display !=3D 'none';=0A=
  },=0A=
=0A=
  toggle: function(element) {=0A=
    element =3D $(element);=0A=
    Element[Element.visible(element) ? 'hide' : 'show'](element);=0A=
    return element;=0A=
  },=0A=
=0A=
  hide: function(element) {=0A=
    $(element).style.display =3D 'none';=0A=
    return element;=0A=
  },=0A=
=0A=
  show: function(element) {=0A=
    $(element).style.display =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  remove: function(element) {=0A=
    element =3D $(element);=0A=
    element.parentNode.removeChild(element);=0A=
    return element;=0A=
  },=0A=
=0A=
  update: function(element, html) {=0A=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A=
    $(element).innerHTML =3D html.stripScripts();=0A=
    setTimeout(function() {html.evalScripts()}, 10);=0A=
    return element;=0A=
  },=0A=
=0A=
  replace: function(element, html) {=0A=
    element =3D $(element);=0A=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A=
    if (element.outerHTML) {=0A=
      element.outerHTML =3D html.stripScripts();=0A=
    } else {=0A=
      var range =3D element.ownerDocument.createRange();=0A=
      range.selectNodeContents(element);=0A=
      element.parentNode.replaceChild(=0A=
        range.createContextualFragment(html.stripScripts()), element);=0A=
    }=0A=
    setTimeout(function() {html.evalScripts()}, 10);=0A=
    return element;=0A=
  },=0A=
=0A=
  inspect: function(element) {=0A=
    element =3D $(element);=0A=
    var result =3D '<' + element.tagName.toLowerCase();=0A=
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A=
      var property =3D pair.first(), attribute =3D pair.last();=0A=
      var value =3D (element[property] || '').toString();=0A=
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);=0A=
    });=0A=
    return result + '>';=0A=
  },=0A=
=0A=
  recursivelyCollect: function(element, property) {=0A=
    element =3D $(element);=0A=
    var elements =3D [];=0A=
    while (element =3D element[property])=0A=
      if (element.nodeType =3D=3D 1)=0A=
        elements.push(Element.extend(element));=0A=
    return elements;=0A=
  },=0A=
=0A=
  ancestors: function(element) {=0A=
    return $(element).recursivelyCollect('parentNode');=0A=
  },=0A=
=0A=
  descendants: function(element) {=0A=
    return $A($(element).getElementsByTagName('*')).each(Element.extend);=0A=
  },=0A=
=0A=
  firstDescendant: function(element) {=0A=
    element =3D $(element).firstChild;=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    return $(element);=0A=
  },=0A=
=0A=
  immediateDescendants: function(element) {=0A=
    if (!(element =3D $(element).firstChild)) return [];=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    if (element) return [element].concat($(element).nextSiblings());=0A=
    return [];=0A=
  },=0A=
=0A=
  previousSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('previousSibling');=0A=
  },=0A=
=0A=
  nextSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('nextSibling');=0A=
  },=0A=
=0A=
  siblings: function(element) {=0A=
    element =3D $(element);=0A=
    return =
element.previousSiblings().reverse().concat(element.nextSiblings());=0A=
  },=0A=
=0A=
  match: function(element, selector) {=0A=
    if (typeof selector =3D=3D 'string')=0A=
      selector =3D new Selector(selector);=0A=
    return selector.match($(element));=0A=
  },=0A=
=0A=
  up: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return $(element.parentNode);=0A=
    var ancestors =3D element.ancestors();=0A=
    return expression ? Selector.findElement(ancestors, expression, =
index) :=0A=
      ancestors[index || 0];=0A=
  },=0A=
=0A=
  down: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
    var descendants =3D element.descendants();=0A=
    return expression ? Selector.findElement(descendants, expression, =
index) :=0A=
      descendants[index || 0];=0A=
  },=0A=
=0A=
  previous: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.previousElementSibling(element));=0A=
    var previousSiblings =3D element.previousSiblings();=0A=
    return expression ? Selector.findElement(previousSiblings, =
expression, index) :=0A=
      previousSiblings[index || 0];=0A=
  },=0A=
=0A=
  next: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.nextElementSibling(element));=0A=
    var nextSiblings =3D element.nextSiblings();=0A=
    return expression ? Selector.findElement(nextSiblings, expression, =
index) :=0A=
      nextSiblings[index || 0];=0A=
  },=0A=
=0A=
  getElementsBySelector: function() {=0A=
    var args =3D $A(arguments), element =3D $(args.shift());=0A=
    return Selector.findChildElements(element, args);=0A=
  },=0A=
=0A=
  getElementsByClassName: function(element, className) {=0A=
    return document.getElementsByClassName(className, element);=0A=
  },=0A=
=0A=
  readAttribute: function(element, name) {=0A=
    element =3D $(element);=0A=
    if (Prototype.Browser.IE) {=0A=
      if (!element.attributes) return null;=0A=
      var t =3D Element._attributeTranslations;=0A=
      if (t.values[name]) return t.values[name](element, name);=0A=
      if (t.names[name])  name =3D t.names[name];=0A=
      var attribute =3D element.attributes[name];=0A=
      return attribute ? attribute.nodeValue : null;=0A=
    }=0A=
    return element.getAttribute(name);=0A=
  },=0A=
=0A=
  getHeight: function(element) {=0A=
    return $(element).getDimensions().height;=0A=
  },=0A=
=0A=
  getWidth: function(element) {=0A=
    return $(element).getDimensions().width;=0A=
  },=0A=
=0A=
  classNames: function(element) {=0A=
    return new Element.ClassNames(element);=0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var elementClassName =3D element.className;=0A=
    if (elementClassName.length =3D=3D 0) return false;=0A=
    if (elementClassName =3D=3D className ||=0A=
        elementClassName.match(new RegExp("(^|\\s)" + className + =
"(\\s|$)")))=0A=
      return true;=0A=
    return false;=0A=
  },=0A=
=0A=
  addClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element).add(className);=0A=
    return element;=0A=
  },=0A=
=0A=
  removeClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element).remove(className);=0A=
    return element;=0A=
  },=0A=
=0A=
  toggleClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element)[element.hasClassName(className) ? =
'remove' : 'add'](className);=0A=
    return element;=0A=
  },=0A=
=0A=
  observe: function() {=0A=
    Event.observe.apply(Event, arguments);=0A=
    return $A(arguments).first();=0A=
  },=0A=
=0A=
  stopObserving: function() {=0A=
    Event.stopObserving.apply(Event, arguments);=0A=
    return $A(arguments).first();=0A=
  },=0A=
=0A=
  // removes whitespace-only text node children=0A=
  cleanWhitespace: function(element) {=0A=
    element =3D $(element);=0A=
    var node =3D element.firstChild;=0A=
    while (node) {=0A=
      var nextNode =3D node.nextSibling;=0A=
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A=
        element.removeChild(node);=0A=
      node =3D nextNode;=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  empty: function(element) {=0A=
    return $(element).innerHTML.blank();=0A=
  },=0A=
=0A=
  descendantOf: function(element, ancestor) {=0A=
    element =3D $(element), ancestor =3D $(ancestor);=0A=
    while (element =3D element.parentNode)=0A=
      if (element =3D=3D ancestor) return true;=0A=
    return false;=0A=
  },=0A=
=0A=
  scrollTo: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Position.cumulativeOffset(element);=0A=
    window.scrollTo(pos[0], pos[1]);=0A=
    return element;=0A=
  },=0A=
=0A=
  getStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value) {=0A=
      var css =3D document.defaultView.getComputedStyle(element, null);=0A=
      value =3D css ? css[style] : null;=0A=
    }=0A=
    if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A=
    return value =3D=3D 'auto' ? null : value;=0A=
  },=0A=
=0A=
  getOpacity: function(element) {=0A=
    return $(element).getStyle('opacity');=0A=
  },=0A=
=0A=
  setStyle: function(element, styles, camelized) {=0A=
    element =3D $(element);=0A=
    var elementStyle =3D element.style;=0A=
=0A=
    for (var property in styles)=0A=
      if (property =3D=3D 'opacity') element.setOpacity(styles[property])=0A=
      else=0A=
        elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?=0A=
          (elementStyle.styleFloat =3D=3D=3D undefined ? 'cssFloat' : =
'styleFloat') :=0A=
          (camelized ? property : property.camelize())] =3D =
styles[property];=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  setOpacity: function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  },=0A=
=0A=
  getDimensions: function(element) {=0A=
    element =3D $(element);=0A=
    var display =3D $(element).getStyle('display');=0A=
    if (display !=3D 'none' && display !=3D null) // Safari bug=0A=
      return {width: element.offsetWidth, height: element.offsetHeight};=0A=
=0A=
    // All *Width and *Height properties give 0 on elements with display =
none,=0A=
    // so enable the element temporarily=0A=
    var els =3D element.style;=0A=
    var originalVisibility =3D els.visibility;=0A=
    var originalPosition =3D els.position;=0A=
    var originalDisplay =3D els.display;=0A=
    els.visibility =3D 'hidden';=0A=
    els.position =3D 'absolute';=0A=
    els.display =3D 'block';=0A=
    var originalWidth =3D element.clientWidth;=0A=
    var originalHeight =3D element.clientHeight;=0A=
    els.display =3D originalDisplay;=0A=
    els.position =3D originalPosition;=0A=
    els.visibility =3D originalVisibility;=0A=
    return {width: originalWidth, height: originalHeight};=0A=
  },=0A=
=0A=
  makePositioned: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.getStyle(element, 'position');=0A=
    if (pos =3D=3D 'static' || !pos) {=0A=
      element._madePositioned =3D true;=0A=
      element.style.position =3D 'relative';=0A=
      // Opera returns the offset relative to the positioning context, =
when an=0A=
      // element is position relative but top and left have not been =
defined=0A=
      if (window.opera) {=0A=
        element.style.top =3D 0;=0A=
        element.style.left =3D 0;=0A=
      }=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  undoPositioned: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._madePositioned) {=0A=
      element._madePositioned =3D undefined;=0A=
      element.style.position =3D=0A=
        element.style.top =3D=0A=
        element.style.left =3D=0A=
        element.style.bottom =3D=0A=
        element.style.right =3D '';=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  makeClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._overflow) return element;=0A=
    element._overflow =3D element.style.overflow || 'auto';=0A=
    if ((Element.getStyle(element, 'overflow') || 'visible') !=3D =
'hidden')=0A=
      element.style.overflow =3D 'hidden';=0A=
    return element;=0A=
  },=0A=
=0A=
  undoClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element._overflow) return element;=0A=
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;=0A=
    element._overflow =3D null;=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.Methods, {=0A=
  childOf: Element.Methods.descendantOf,=0A=
  childElements: Element.Methods.immediateDescendants=0A=
});=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
  Element.Methods._getStyle =3D Element.Methods.getStyle;=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    switch(style) {=0A=
      case 'left':=0A=
      case 'top':=0A=
      case 'right':=0A=
      case 'bottom':=0A=
        if (Element._getStyle(element, 'position') =3D=3D 'static') =
return null;=0A=
      default: return Element._getStyle(element, style);=0A=
    }=0A=
  };=0A=
}=0A=
else if (Prototype.Browser.IE) {=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value && element.currentStyle) value =3D =
element.currentStyle[style];=0A=
=0A=
    if (style =3D=3D 'opacity') {=0A=
      if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))=0A=
        if (value[1]) return parseFloat(value[1]) / 100;=0A=
      return 1.0;=0A=
    }=0A=
=0A=
    if (value =3D=3D 'auto') {=0A=
      if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))=0A=
        return element['offset'+style.capitalize()] + 'px';=0A=
      return null;=0A=
    }=0A=
    return value;=0A=
  };=0A=
=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    var filter =3D element.getStyle('filter'), style =3D element.style;=0A=
    if (value =3D=3D 1 || value =3D=3D=3D '') {=0A=
      style.filter =3D filter.replace(/alpha\([^\)]*\)/gi,'');=0A=
      return element;=0A=
    } else if (value < 0.00001) value =3D 0;=0A=
    style.filter =3D filter.replace(/alpha\([^\)]*\)/gi, '') +=0A=
      'alpha(opacity=3D' + (value * 100) + ')';=0A=
    return element;=0A=
  };=0A=
=0A=
  // IE is missing .innerHTML support for TABLE-related elements=0A=
  Element.Methods.update =3D function(element, html) {=0A=
    element =3D $(element);=0A=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A=
    var tagName =3D element.tagName.toUpperCase();=0A=
    if (['THEAD','TBODY','TR','TD'].include(tagName)) {=0A=
      var div =3D document.createElement('div');=0A=
      switch (tagName) {=0A=
        case 'THEAD':=0A=
        case 'TBODY':=0A=
          div.innerHTML =3D '<table><tbody>' +  html.stripScripts() + =
'</tbody></table>';=0A=
          depth =3D 2;=0A=
          break;=0A=
        case 'TR':=0A=
          div.innerHTML =3D '<table><tbody><tr>' +  html.stripScripts() =
+ '</tr></tbody></table>';=0A=
          depth =3D 3;=0A=
          break;=0A=
        case 'TD':=0A=
          div.innerHTML =3D '<table><tbody><tr><td>' +  =
html.stripScripts() + '</td></tr></tbody></table>';=0A=
          depth =3D 4;=0A=
      }=0A=
      $A(element.childNodes).each(function(node) { =
element.removeChild(node) });=0A=
      depth.times(function() { div =3D div.firstChild });=0A=
      $A(div.childNodes).each(function(node) { element.appendChild(node) =
});=0A=
    } else {=0A=
      element.innerHTML =3D html.stripScripts();=0A=
    }=0A=
    setTimeout(function() { html.evalScripts() }, 10);=0A=
    return element;=0A=
  }=0A=
}=0A=
else if (Prototype.Browser.Gecko) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A=
      (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
Element._attributeTranslations =3D {=0A=
  names: {=0A=
    colspan:   "colSpan",=0A=
    rowspan:   "rowSpan",=0A=
    valign:    "vAlign",=0A=
    datetime:  "dateTime",=0A=
    accesskey: "accessKey",=0A=
    tabindex:  "tabIndex",=0A=
    enctype:   "encType",=0A=
    maxlength: "maxLength",=0A=
    readonly:  "readOnly",=0A=
    longdesc:  "longDesc"=0A=
  },=0A=
  values: {=0A=
    _getAttr: function(element, attribute) {=0A=
      return element.getAttribute(attribute, 2);=0A=
    },=0A=
    _flag: function(element, attribute) {=0A=
      return $(element).hasAttribute(attribute) ? attribute : null;=0A=
    },=0A=
    style: function(element) {=0A=
      return element.style.cssText.toLowerCase();=0A=
    },=0A=
    title: function(element) {=0A=
      var node =3D element.getAttributeNode('title');=0A=
      return node.specified ? node.nodeValue : null;=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
(function() {=0A=
  Object.extend(this, {=0A=
    href: this._getAttr,=0A=
    src:  this._getAttr,=0A=
    type: this._getAttr,=0A=
    disabled: this._flag,=0A=
    checked:  this._flag,=0A=
    readonly: this._flag,=0A=
    multiple: this._flag=0A=
  });=0A=
}).call(Element._attributeTranslations.values);=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
  hasAttribute: function(element, attribute) {=0A=
    var t =3D Element._attributeTranslations, node;=0A=
    attribute =3D t.names[attribute] || attribute;=0A=
    node =3D $(element).getAttributeNode(attribute);=0A=
    return node && node.specified;=0A=
  }=0A=
};=0A=
=0A=
Element.Methods.ByTag =3D {};=0A=
=0A=
Object.extend(Element, Element.Methods);=0A=
=0A=
if (!Prototype.BrowserFeatures.ElementExtensions &&=0A=
 document.createElement('div').__proto__) {=0A=
  window.HTMLElement =3D {};=0A=
  window.HTMLElement.prototype =3D =
document.createElement('div').__proto__;=0A=
  Prototype.BrowserFeatures.ElementExtensions =3D true;=0A=
}=0A=
=0A=
Element.hasAttribute =3D function(element, attribute) {=0A=
  if (element.hasAttribute) return element.hasAttribute(attribute);=0A=
  return Element.Methods.Simulated.hasAttribute(element, attribute);=0A=
};=0A=
=0A=
Element.addMethods =3D function(methods) {=0A=
  var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A=
=0A=
  if (!methods) {=0A=
    Object.extend(Form, Form.Methods);=0A=
    Object.extend(Form.Element, Form.Element.Methods);=0A=
    Object.extend(Element.Methods.ByTag, {=0A=
      "FORM":     Object.clone(Form.Methods),=0A=
      "INPUT":    Object.clone(Form.Element.Methods),=0A=
      "SELECT":   Object.clone(Form.Element.Methods),=0A=
      "TEXTAREA": Object.clone(Form.Element.Methods)=0A=
    });=0A=
  }=0A=
=0A=
  if (arguments.length =3D=3D 2) {=0A=
    var tagName =3D methods;=0A=
    methods =3D arguments[1];=0A=
  }=0A=
=0A=
  if (!tagName) Object.extend(Element.Methods, methods || {});=0A=
  else {=0A=
    if (tagName.constructor =3D=3D Array) tagName.each(extend);=0A=
    else extend(tagName);=0A=
  }=0A=
=0A=
  function extend(tagName) {=0A=
    tagName =3D tagName.toUpperCase();=0A=
    if (!Element.Methods.ByTag[tagName])=0A=
      Element.Methods.ByTag[tagName] =3D {};=0A=
    Object.extend(Element.Methods.ByTag[tagName], methods);=0A=
  }=0A=
=0A=
  function copy(methods, destination, onlyIfAbsent) {=0A=
    onlyIfAbsent =3D onlyIfAbsent || false;=0A=
    var cache =3D Element.extend.cache;=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (!onlyIfAbsent || !(property in destination))=0A=
        destination[property] =3D cache.findOrStore(value);=0A=
    }=0A=
  }=0A=
=0A=
  function findDOMClass(tagName) {=0A=
    var klass;=0A=
    var trans =3D {=0A=
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A=
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",=0A=
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",=0A=
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A=
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":=0A=
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A=
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", =
"TR":=0A=
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A=
      "FrameSet", "IFRAME": "IFrame"=0A=
    };=0A=
    if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
=0A=
    window[klass] =3D {};=0A=
    window[klass].prototype =3D =
document.createElement(tagName).__proto__;=0A=
    return window[klass];=0A=
  }=0A=
=0A=
  if (F.ElementExtensions) {=0A=
    copy(Element.Methods, HTMLElement.prototype);=0A=
    copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A=
  }=0A=
=0A=
  if (F.SpecificElementExtensions) {=0A=
    for (var tag in Element.Methods.ByTag) {=0A=
      var klass =3D findDOMClass(tag);=0A=
      if (typeof klass =3D=3D "undefined") continue;=0A=
      copy(T[tag], klass.prototype);=0A=
    }=0A=
  }=0A=
=0A=
  Object.extend(Element, Element.Methods);=0A=
  delete Element.ByTag;=0A=
};=0A=
=0A=
var Toggle =3D { display: Element.toggle };=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.Insertion =3D function(adjacency) {=0A=
  this.adjacency =3D adjacency;=0A=
}=0A=
=0A=
Abstract.Insertion.prototype =3D {=0A=
  initialize: function(element, content) {=0A=
    this.element =3D $(element);=0A=
    this.content =3D content.stripScripts();=0A=
=0A=
    if (this.adjacency && this.element.insertAdjacentHTML) {=0A=
      try {=0A=
        this.element.insertAdjacentHTML(this.adjacency, this.content);=0A=
      } catch (e) {=0A=
        var tagName =3D this.element.tagName.toUpperCase();=0A=
        if (['TBODY', 'TR'].include(tagName)) {=0A=
          this.insertContent(this.contentFromAnonymousTable());=0A=
        } else {=0A=
          throw e;=0A=
        }=0A=
      }=0A=
    } else {=0A=
      this.range =3D this.element.ownerDocument.createRange();=0A=
      if (this.initializeRange) this.initializeRange();=0A=
      =
this.insertContent([this.range.createContextualFragment(this.content)]);=0A=
    }=0A=
=0A=
    setTimeout(function() {content.evalScripts()}, 10);=0A=
  },=0A=
=0A=
  contentFromAnonymousTable: function() {=0A=
    var div =3D document.createElement('div');=0A=
    div.innerHTML =3D '<table><tbody>' + this.content + =
'</tbody></table>';=0A=
    return $A(div.childNodes[0].childNodes[0].childNodes);=0A=
  }=0A=
}=0A=
=0A=
var Insertion =3D new Object();=0A=
=0A=
Insertion.Before =3D Class.create();=0A=
Insertion.Before.prototype =3D Object.extend(new =
Abstract.Insertion('beforeBegin'), {=0A=
  initializeRange: function() {=0A=
    this.range.setStartBefore(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.parentNode.insertBefore(fragment, this.element);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.Top =3D Class.create();=0A=
Insertion.Top.prototype =3D Object.extend(new =
Abstract.Insertion('afterBegin'), {=0A=
  initializeRange: function() {=0A=
    this.range.selectNodeContents(this.element);=0A=
    this.range.collapse(true);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.reverse(false).each((function(fragment) {=0A=
      this.element.insertBefore(fragment, this.element.firstChild);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.Bottom =3D Class.create();=0A=
Insertion.Bottom.prototype =3D Object.extend(new =
Abstract.Insertion('beforeEnd'), {=0A=
  initializeRange: function() {=0A=
    this.range.selectNodeContents(this.element);=0A=
    this.range.collapse(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.appendChild(fragment);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.After =3D Class.create();=0A=
Insertion.After.prototype =3D Object.extend(new =
Abstract.Insertion('afterEnd'), {=0A=
  initializeRange: function() {=0A=
    this.range.setStartAfter(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.parentNode.insertBefore(fragment,=0A=
        this.element.nextSibling);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.ClassNames =3D Class.create();=0A=
Element.ClassNames.prototype =3D {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    this.element.className.split(/\s+/).select(function(name) {=0A=
      return name.length > 0;=0A=
    })._each(iterator);=0A=
  },=0A=
=0A=
  set: function(className) {=0A=
    this.element.className =3D className;=0A=
  },=0A=
=0A=
  add: function(classNameToAdd) {=0A=
    if (this.include(classNameToAdd)) return;=0A=
    this.set($A(this).concat(classNameToAdd).join(' '));=0A=
  },=0A=
=0A=
  remove: function(classNameToRemove) {=0A=
    if (!this.include(classNameToRemove)) return;=0A=
    this.set($A(this).without(classNameToRemove).join(' '));=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return $A(this).join(' ');=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.ClassNames.prototype, Enumerable);=0A=
/* Portions of the Selector class are derived from Jack Slocum=E2=80=99s =
DomQuery,=0A=
 * part of YUI-Ext version 0.40, distributed under the terms of an =
MIT-style=0A=
 * license.  Please see http://www.yui-ext.com/ for more information. */=0A=
=0A=
var Selector =3D Class.create();=0A=
=0A=
Selector.prototype =3D {=0A=
  initialize: function(expression) {=0A=
    this.expression =3D expression.strip();=0A=
    this.compileMatcher();=0A=
  },=0A=
=0A=
  compileMatcher: function() {=0A=
    // Selectors with namespaced attributes can't use the XPath version=0A=
    if (Prototype.BrowserFeatures.XPath && =
!(/\[[\w-]*?:/).test(this.expression))=0A=
      return this.compileXPathMatcher();=0A=
=0A=
    var e =3D this.expression, ps =3D Selector.patterns, h =3D =
Selector.handlers,=0A=
        c =3D Selector.criteria, le, p, m;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.matcher =3D Selector._cache[e]; return;=0A=
    }=0A=
    this.matcher =3D ["this.matcher =3D function(root) {",=0A=
                    "var r =3D root, h =3D Selector.handlers, c =3D =
false, n;"];=0A=
=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i in ps) {=0A=
        p =3D ps[i];=0A=
        if (m =3D e.match(p)) {=0A=
          this.matcher.push(typeof c[i] =3D=3D 'function' ? c[i](m) :=0A=
    	      new Template(c[i]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.matcher.push("return h.unique(n);\n}");=0A=
    eval(this.matcher.join('\n'));=0A=
    Selector._cache[this.expression] =3D this.matcher;=0A=
  },=0A=
=0A=
  compileXPathMatcher: function() {=0A=
    var e =3D this.expression, ps =3D Selector.patterns,=0A=
        x =3D Selector.xpath, le,  m;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.xpath =3D Selector._cache[e]; return;=0A=
    }=0A=
=0A=
    this.matcher =3D ['.//*'];=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i in ps) {=0A=
        if (m =3D e.match(ps[i])) {=0A=
          this.matcher.push(typeof x[i] =3D=3D 'function' ? x[i](m) :=0A=
            new Template(x[i]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.xpath =3D this.matcher.join('');=0A=
    Selector._cache[this.expression] =3D this.xpath;=0A=
  },=0A=
=0A=
  findElements: function(root) {=0A=
    root =3D root || document;=0A=
    if (this.xpath) return document._getElementsByXPath(this.xpath, =
root);=0A=
    return this.matcher(root);=0A=
  },=0A=
=0A=
  match: function(element) {=0A=
    return this.findElements(document).include(element);=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return this.expression;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return "#<Selector:" + this.expression.inspect() + ">";=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Selector, {=0A=
  _cache: {},=0A=
=0A=
  xpath: {=0A=
    descendant:   "//*",=0A=
    child:        "/*",=0A=
    adjacent:     "/following-sibling::*[1]",=0A=
    laterSibling: '/following-sibling::*',=0A=
    tagName:      function(m) {=0A=
      if (m[1] =3D=3D '*') return '';=0A=
      return "[local-name()=3D'" + m[1].toLowerCase() +=0A=
             "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A=
    },=0A=
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A=
    id:           "[@id=3D'#{1}']",=0A=
    attrPresence: "[@#{1}]",=0A=
    attr: function(m) {=0A=
      m[3] =3D m[5] || m[6];=0A=
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A=
    },=0A=
    pseudo: function(m) {=0A=
      var h =3D Selector.xpath.pseudos[m[1]];=0A=
      if (!h) return '';=0A=
      if (typeof h =3D=3D=3D 'function') return h(m);=0A=
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A=
    },=0A=
    operators: {=0A=
      '=3D':  "[@#{1}=3D'#{3}']",=0A=
      '!=3D': "[@#{1}!=3D'#{3}']",=0A=
      '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A=
      '$=3D': "[substring(@#{1}, (string-length(@#{1}) - =
string-length('#{3}') + 1))=3D'#{3}']",=0A=
      '*=3D': "[contains(@#{1}, '#{3}')]",=0A=
      '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A=
      '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A=
    },=0A=
    pseudos: {=0A=
      'first-child': '[not(preceding-sibling::*)]',=0A=
      'last-child':  '[not(following-sibling::*)]',=0A=
      'only-child':  '[not(preceding-sibling::* or =
following-sibling::*)]',=0A=
      'empty':       "[count(*) =3D 0 and (count(text()) =3D 0 or =
translate(text(), ' \t\r\n', '') =3D '')]",=0A=
      'checked':     "[@checked]",=0A=
      'disabled':    "[@disabled]",=0A=
      'enabled':     "[not(@disabled)]",=0A=
      'not': function(m) {=0A=
        var e =3D m[6], p =3D Selector.patterns,=0A=
            x =3D Selector.xpath, le, m, v;=0A=
=0A=
        var exclusion =3D [];=0A=
        while (e && le !=3D e && (/\S/).test(e)) {=0A=
          le =3D e;=0A=
          for (var i in p) {=0A=
            if (m =3D e.match(p[i])) {=0A=
              v =3D typeof x[i] =3D=3D 'function' ? x[i](m) : new =
Template(x[i]).evaluate(m);=0A=
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A=
              e =3D e.replace(m[0], '');=0A=
              break;=0A=
            }=0A=
          }=0A=
        }=0A=
        return "[not(" + exclusion.join(" and ") + ")]";=0A=
      },=0A=
      'nth-child':      function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-last-child': function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-of-type':    function(m) {=0A=
        return Selector.xpath.pseudos.nth("position() ", m);=0A=
      },=0A=
      'nth-last-of-type': function(m) {=0A=
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", =
m);=0A=
      },=0A=
      'first-of-type':  function(m) {=0A=
        m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A=
      },=0A=
      'last-of-type':   function(m) {=0A=
        m[6] =3D "1"; return =
Selector.xpath.pseudos['nth-last-of-type'](m);=0A=
      },=0A=
      'only-of-type':   function(m) {=0A=
        var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + =
p['last-of-type'](m);=0A=
      },=0A=
      nth: function(fragment, m) {=0A=
        var mm, formula =3D m[6], predicate;=0A=
        if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
        if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
        if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A=
          return '[' + fragment + "=3D " + mm[1] + ']';=0A=
        if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A=
          if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A=
          var a =3D mm[1] ? Number(mm[1]) : 1;=0A=
          var b =3D mm[2] ? Number(mm[2]) : 0;=0A=
          predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A=
          "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A=
          return new Template(predicate).evaluate({=0A=
            fragment: fragment, a: a, b: b });=0A=
        }=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  criteria: {=0A=
    tagName:      'n =3D h.tagName(n, r, "#{1}", c);   c =3D false;',=0A=
    className:    'n =3D h.className(n, r, "#{1}", c); c =3D false;',=0A=
    id:           'n =3D h.id(n, r, "#{1}", c);        c =3D false;',=0A=
    attrPresence: 'n =3D h.attrPresence(n, r, "#{1}"); c =3D false;',=0A=
    attr: function(m) {=0A=
      m[3] =3D (m[5] || m[6]);=0A=
      return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}"); c =
=3D false;').evaluate(m);=0A=
    },=0A=
    pseudo:       function(m) {=0A=
      if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A=
      return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c =
=3D false;').evaluate(m);=0A=
    },=0A=
    descendant:   'c =3D "descendant";',=0A=
    child:        'c =3D "child";',=0A=
    adjacent:     'c =3D "adjacent";',=0A=
    laterSibling: 'c =3D "laterSibling";'=0A=
  },=0A=
=0A=
  patterns: {=0A=
    // combinators must be listed first=0A=
    // (and descendant needs to be last combinator)=0A=
    laterSibling: /^\s*~\s*/,=0A=
    child:        /^\s*>\s*/,=0A=
    adjacent:     /^\s*\+\s*/,=0A=
    descendant:   /^\s/,=0A=
=0A=
    // selectors follow=0A=
    tagName:      /^\s*(\*|[\w\-]+)(\b|$)?/,=0A=
    id:           /^#([\w\-\*]+)(\b|$)/,=0A=
    className:    /^\.([\w\-\*]+)(\b|$)/,=0A=
    pseudo:       =
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|\s|(?=3D:))/,=0A=
    attrPresence: /^\[([\w]+)\]/,=0A=
    attr:         =
/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\]]*?)\4|([^'"][^=
\]]*?)))?\]/=0A=
  },=0A=
=0A=
  handlers: {=0A=
    // UTILITY FUNCTIONS=0A=
    // joins two collections=0A=
    concat: function(a, b) {=0A=
      for (var i =3D 0, node; node =3D b[i]; i++)=0A=
        a.push(node);=0A=
      return a;=0A=
    },=0A=
=0A=
    // marks an array of nodes for counting=0A=
    mark: function(nodes) {=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._counted =3D true;=0A=
      return nodes;=0A=
    },=0A=
=0A=
    unmark: function(nodes) {=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._counted =3D undefined;=0A=
      return nodes;=0A=
    },=0A=
=0A=
    // mark each child node with its position (for nth calls)=0A=
    // "ofType" flag indicates whether we're indexing for nth-of-type=0A=
    // rather than nth-child=0A=
    index: function(parentNode, reverse, ofType) {=0A=
      parentNode._counted =3D true;=0A=
      if (reverse) {=0A=
        for (var nodes =3D parentNode.childNodes, i =3D nodes.length - =
1, j =3D 1; i >=3D 0; i--) {=0A=
          node =3D nodes[i];=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) =
node.nodeIndex =3D j++;=0A=
        }=0A=
      } else {=0A=
        for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node =
=3D nodes[i]; i++)=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) =
node.nodeIndex =3D j++;=0A=
      }=0A=
    },=0A=
=0A=
    // filters out duplicates and extends all nodes=0A=
    unique: function(nodes) {=0A=
      if (nodes.length =3D=3D 0) return nodes;=0A=
      var results =3D [], n;=0A=
      for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A=
        if (!(n =3D nodes[i])._counted) {=0A=
          n._counted =3D true;=0A=
          results.push(Element.extend(n));=0A=
        }=0A=
      return Selector.handlers.unmark(results);=0A=
    },=0A=
=0A=
    // COMBINATOR FUNCTIONS=0A=
    descendant: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, node.getElementsByTagName('*'));=0A=
      return results;=0A=
    },=0A=
=0A=
    child: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        for (var j =3D 0, children =3D [], child; child =3D =
node.childNodes[j]; j++)=0A=
          if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') =
results.push(child);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    adjacent: function(nodes) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        var next =3D this.nextElementSibling(node);=0A=
        if (next) results.push(next);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    laterSibling: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, Element.nextSiblings(node));=0A=
      return results;=0A=
    },=0A=
=0A=
    nextElementSibling: function(node) {=0A=
      while (node =3D node.nextSibling)=0A=
	      if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    previousElementSibling: function(node) {=0A=
      while (node =3D node.previousSibling)=0A=
        if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    // TOKEN FUNCTIONS=0A=
    tagName: function(nodes, root, tagName, combinator) {=0A=
      tagName =3D tagName.toUpperCase();=0A=
      var results =3D [], h =3D Selector.handlers;=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          // fastlane for ordinary descendant combinators=0A=
          if (combinator =3D=3D "descendant") {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              h.concat(results, node.getElementsByTagName(tagName));=0A=
            return results;=0A=
          } else nodes =3D this[combinator](nodes);=0A=
          if (tagName =3D=3D "*") return nodes;=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName.toUpperCase() =3D=3D tagName) =
results.push(node);=0A=
        return results;=0A=
      } else return root.getElementsByTagName(tagName);=0A=
    },=0A=
=0A=
    id: function(nodes, root, id, combinator) {=0A=
      var targetNode =3D $(id), h =3D Selector.handlers;=0A=
      if (!nodes && root =3D=3D document) return targetNode ? =
[targetNode] : [];=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          if (combinator =3D=3D 'child') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (targetNode.parentNode =3D=3D node) return [targetNode];=0A=
          } else if (combinator =3D=3D 'descendant') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Element.descendantOf(targetNode, node)) return =
[targetNode];=0A=
          } else if (combinator =3D=3D 'adjacent') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Selector.handlers.previousElementSibling(targetNode) =
=3D=3D node)=0A=
                return [targetNode];=0A=
          } else nodes =3D h[combinator](nodes);=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node =3D=3D targetNode) return [targetNode];=0A=
        return [];=0A=
      }=0A=
      return (targetNode && Element.descendantOf(targetNode, root)) ? =
[targetNode] : [];=0A=
    },=0A=
=0A=
    className: function(nodes, root, className, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      return Selector.handlers.byClassName(nodes, root, className);=0A=
    },=0A=
=0A=
    byClassName: function(nodes, root, className) {=0A=
      if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A=
      var needle =3D ' ' + className + ' ';=0A=
      for (var i =3D 0, results =3D [], node, nodeClassName; node =3D =
nodes[i]; i++) {=0A=
        nodeClassName =3D node.className;=0A=
        if (nodeClassName.length =3D=3D 0) continue;=0A=
        if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' =
').include(needle))=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    attrPresence: function(nodes, root, attr) {=0A=
      var results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        if (Element.hasAttribute(node, attr)) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    attr: function(nodes, root, attr, value, operator) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      var handler =3D Selector.operators[operator], results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        var nodeValue =3D Element.readAttribute(node, attr);=0A=
        if (nodeValue =3D=3D=3D null) continue;=0A=
        if (handler(nodeValue, value)) results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    pseudo: function(nodes, name, value, root, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      return Selector.pseudos[name](nodes, value, root);=0A=
    }=0A=
  },=0A=
=0A=
  pseudos: {=0A=
    'first-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.previousElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'last-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.nextElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'only-child': function(nodes, value, root) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!h.previousElementSibling(node) && =
!h.nextElementSibling(node))=0A=
          results.push(node);=0A=
      return results;=0A=
    },=0A=
    'nth-child':        function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root);=0A=
    },=0A=
    'nth-last-child':   function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true);=0A=
    },=0A=
    'nth-of-type':      function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, false, true);=0A=
    },=0A=
    'nth-last-of-type': function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true, true);=0A=
    },=0A=
    'first-of-type':    function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, false, true);=0A=
    },=0A=
    'last-of-type':     function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, true, true);=0A=
    },=0A=
    'only-of-type':     function(nodes, formula, root) {=0A=
      var p =3D Selector.pseudos;=0A=
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), =
formula, root);=0A=
    },=0A=
=0A=
    // handles the an+b logic=0A=
    getIndices: function(a, b, total) {=0A=
      if (a =3D=3D 0) return b > 0 ? [b] : [];=0A=
      return $R(1, total).inject([], function(memo, i) {=0A=
        if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A=
        return memo;=0A=
      });=0A=
    },=0A=
=0A=
    // handles nth(-last)-child, nth(-last)-of-type, and =
(first|last)-of-type=0A=
    nth: function(nodes, formula, root, reverse, ofType) {=0A=
      if (nodes.length =3D=3D 0) return [];=0A=
      if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
      if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
      var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A=
      h.mark(nodes);=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        if (!node.parentNode._counted) {=0A=
          h.index(node.parentNode, reverse, ofType);=0A=
          indexed.push(node.parentNode);=0A=
        }=0A=
      }=0A=
      if (formula.match(/^\d+$/)) { // just a number=0A=
        formula =3D Number(formula);=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.nodeIndex =3D=3D formula) results.push(node);=0A=
      } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // =
an+b=0A=
        if (m[1] =3D=3D "-") m[1] =3D -1;=0A=
        var a =3D m[1] ? Number(m[1]) : 1;=0A=
        var b =3D m[2] ? Number(m[2]) : 0;=0A=
        var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A=
        for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; =
i++) {=0A=
          for (var j =3D 0; j < l; j++)=0A=
            if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A=
        }=0A=
      }=0A=
      h.unmark(nodes);=0A=
      h.unmark(indexed);=0A=
      return results;=0A=
    },=0A=
=0A=
    'empty': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        // IE treats comments as element nodes=0A=
        if (node.tagName =3D=3D '!' || (node.firstChild && =
!node.innerHTML.match(/^\s*$/))) continue;=0A=
        results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    'not': function(nodes, selector, root) {=0A=
      var h =3D Selector.handlers, selectorType, m;=0A=
      var exclusions =3D new Selector(selector).findElements(root);=0A=
      h.mark(exclusions);=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node._counted) results.push(node);=0A=
      h.unmark(exclusions);=0A=
      return results;=0A=
    },=0A=
=0A=
    'enabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node.disabled) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'disabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.disabled) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'checked': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.checked) results.push(node);=0A=
      return results;=0A=
    }=0A=
  },=0A=
=0A=
  operators: {=0A=
    '=3D':  function(nv, v) { return nv =3D=3D v; },=0A=
    '!=3D': function(nv, v) { return nv !=3D v; },=0A=
    '^=3D': function(nv, v) { return nv.startsWith(v); },=0A=
    '$=3D': function(nv, v) { return nv.endsWith(v); },=0A=
    '*=3D': function(nv, v) { return nv.include(v); },=0A=
    '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + =
' '); },=0A=
    '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + =
'-').include('-' + v.toUpperCase() + '-'); }=0A=
  },=0A=
=0A=
  matchElements: function(elements, expression) {=0A=
    var matches =3D new Selector(expression).findElements(), h =3D =
Selector.handlers;=0A=
    h.mark(matches);=0A=
    for (var i =3D 0, results =3D [], element; element =3D elements[i]; =
i++)=0A=
      if (element._counted) results.push(element);=0A=
    h.unmark(matches);=0A=
    return results;=0A=
  },=0A=
=0A=
  findElement: function(elements, expression, index) {=0A=
    if (typeof expression =3D=3D 'number') {=0A=
      index =3D expression; expression =3D false;=0A=
    }=0A=
    return Selector.matchElements(elements, expression || '*')[index || =
0];=0A=
  },=0A=
=0A=
  findChildElements: function(element, expressions) {=0A=
    var exprs =3D expressions.join(','), expressions =3D [];=0A=
    exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {=0A=
      expressions.push(m[1].strip());=0A=
    });=0A=
    var results =3D [], h =3D Selector.handlers;=0A=
    for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A=
      selector =3D new Selector(expressions[i].strip());=0A=
      h.concat(results, selector.findElements(element));=0A=
    }=0A=
    return (l > 1) ? h.unique(results) : results;=0A=
  }=0A=
});=0A=
=0A=
function $$() {=0A=
  return Selector.findChildElements(document, $A(arguments));=0A=
}=0A=
var Form =3D {=0A=
  reset: function(form) {=0A=
    $(form).reset();=0A=
    return form;=0A=
  },=0A=
=0A=
  serializeElements: function(elements, getHash) {=0A=
    var data =3D elements.inject({}, function(result, element) {=0A=
      if (!element.disabled && element.name) {=0A=
        var key =3D element.name, value =3D $(element).getValue();=0A=
        if (value !=3D null) {=0A=
         	if (key in result) {=0A=
            if (result[key].constructor !=3D Array) result[key] =3D =
[result[key]];=0A=
            result[key].push(value);=0A=
          }=0A=
          else result[key] =3D value;=0A=
        }=0A=
      }=0A=
      return result;=0A=
    });=0A=
=0A=
    return getHash ? data : Hash.toQueryString(data);=0A=
  }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
  serialize: function(form, getHash) {=0A=
    return Form.serializeElements(Form.getElements(form), getHash);=0A=
  },=0A=
=0A=
  getElements: function(form) {=0A=
    return $A($(form).getElementsByTagName('*')).inject([],=0A=
      function(elements, child) {=0A=
        if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A=
          elements.push(Element.extend(child));=0A=
        return elements;=0A=
      }=0A=
    );=0A=
  },=0A=
=0A=
  getInputs: function(form, typeName, name) {=0A=
    form =3D $(form);=0A=
    var inputs =3D form.getElementsByTagName('input');=0A=
=0A=
    if (!typeName && !name) return $A(inputs).map(Element.extend);=0A=
=0A=
    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {=0A=
      var input =3D inputs[i];=0A=
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))=0A=
        continue;=0A=
      matchingInputs.push(Element.extend(input));=0A=
    }=0A=
=0A=
    return matchingInputs;=0A=
  },=0A=
=0A=
  disable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('disable');=0A=
    return form;=0A=
  },=0A=
=0A=
  enable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('enable');=0A=
    return form;=0A=
  },=0A=
=0A=
  findFirstElement: function(form) {=0A=
    return $(form).getElements().find(function(element) {=0A=
      return element.type !=3D 'hidden' && !element.disabled &&=0A=
        ['input', 'select', =
'textarea'].include(element.tagName.toLowerCase());=0A=
    });=0A=
  },=0A=
=0A=
  focusFirstElement: function(form) {=0A=
    form =3D $(form);=0A=
    form.findFirstElement().activate();=0A=
    return form;=0A=
  },=0A=
=0A=
  request: function(form, options) {=0A=
    form =3D $(form), options =3D Object.clone(options || {});=0A=
=0A=
    var params =3D options.parameters;=0A=
    options.parameters =3D form.serialize(true);=0A=
=0A=
    if (params) {=0A=
      if (typeof params =3D=3D 'string') params =3D =
params.toQueryParams();=0A=
      Object.extend(options.parameters, params);=0A=
    }=0A=
=0A=
    if (form.hasAttribute('method') && !options.method)=0A=
      options.method =3D form.method;=0A=
=0A=
    return new Ajax.Request(form.readAttribute('action'), options);=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element =3D {=0A=
  focus: function(element) {=0A=
    $(element).focus();=0A=
    return element;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    $(element).select();=0A=
    return element;=0A=
  }=0A=
}=0A=
=0A=
Form.Element.Methods =3D {=0A=
  serialize: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element.disabled && element.name) {=0A=
      var value =3D element.getValue();=0A=
      if (value !=3D undefined) {=0A=
        var pair =3D {};=0A=
        pair[element.name] =3D value;=0A=
        return Hash.toQueryString(pair);=0A=
      }=0A=
    }=0A=
    return '';=0A=
  },=0A=
=0A=
  getValue: function(element) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    return Form.Element.Serializers[method](element);=0A=
  },=0A=
=0A=
  clear: function(element) {=0A=
    $(element).value =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  present: function(element) {=0A=
    return $(element).value !=3D '';=0A=
  },=0A=
=0A=
  activate: function(element) {=0A=
    element =3D $(element);=0A=
    try {=0A=
      element.focus();=0A=
      if (element.select && (element.tagName.toLowerCase() !=3D 'input' =
||=0A=
        !['button', 'reset', 'submit'].include(element.type)))=0A=
        element.select();=0A=
    } catch (e) {}=0A=
    return element;=0A=
  },=0A=
=0A=
  disable: function(element) {=0A=
    element =3D $(element);=0A=
    element.blur();=0A=
    element.disabled =3D true;=0A=
    return element;=0A=
  },=0A=
=0A=
  enable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D false;=0A=
    return element;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Field =3D Form.Element;=0A=
var $F =3D Form.Element.Methods.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element.Serializers =3D {=0A=
  input: function(element) {=0A=
    switch (element.type.toLowerCase()) {=0A=
      case 'checkbox':=0A=
      case 'radio':=0A=
        return Form.Element.Serializers.inputSelector(element);=0A=
      default:=0A=
        return Form.Element.Serializers.textarea(element);=0A=
    }=0A=
  },=0A=
=0A=
  inputSelector: function(element) {=0A=
    return element.checked ? element.value : null;=0A=
  },=0A=
=0A=
  textarea: function(element) {=0A=
    return element.value;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    return this[element.type =3D=3D 'select-one' ?=0A=
      'selectOne' : 'selectMany'](element);=0A=
  },=0A=
=0A=
  selectOne: function(element) {=0A=
    var index =3D element.selectedIndex;=0A=
    return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;=0A=
  },=0A=
=0A=
  selectMany: function(element) {=0A=
    var values, length =3D element.length;=0A=
    if (!length) return null;=0A=
=0A=
    for (var i =3D 0, values =3D []; i < length; i++) {=0A=
      var opt =3D element.options[i];=0A=
      if (opt.selected) values.push(this.optionValue(opt));=0A=
    }=0A=
    return values;=0A=
  },=0A=
=0A=
  optionValue: function(opt) {=0A=
    // extend element because hasAttribute may not be native=0A=
    return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.TimedObserver =3D function() {}=0A=
Abstract.TimedObserver.prototype =3D {=0A=
  initialize: function(element, frequency, callback) {=0A=
    this.frequency =3D frequency;=0A=
    this.element   =3D $(element);=0A=
    this.callback  =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    var changed =3D ('string' =3D=3D typeof this.lastValue && 'string' =
=3D=3D typeof value=0A=
      ? this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value));=0A=
    if (changed) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Form.Element.Observer =3D Class.create();=0A=
Form.Element.Observer.prototype =3D Object.extend(new =
Abstract.TimedObserver(), {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create();=0A=
Form.Observer.prototype =3D Object.extend(new Abstract.TimedObserver(), {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D function() {}=0A=
Abstract.EventObserver.prototype =3D {=0A=
  initialize: function(element, callback) {=0A=
    this.element  =3D $(element);=0A=
    this.callback =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A=
      this.registerFormCallbacks();=0A=
    else=0A=
      this.registerCallback(this.element);=0A=
  },=0A=
=0A=
  onElementEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  },=0A=
=0A=
  registerFormCallbacks: function() {=0A=
    =
Form.getElements(this.element).each(this.registerCallback.bind(this));=0A=
  },=0A=
=0A=
  registerCallback: function(element) {=0A=
    if (element.type) {=0A=
      switch (element.type.toLowerCase()) {=0A=
        case 'checkbox':=0A=
        case 'radio':=0A=
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
        default:=0A=
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
      }=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Form.Element.EventObserver =3D Class.create();=0A=
Form.Element.EventObserver.prototype =3D Object.extend(new =
Abstract.EventObserver(), {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create();=0A=
Form.EventObserver.prototype =3D Object.extend(new =
Abstract.EventObserver(), {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
if (!window.Event) {=0A=
  var Event =3D new Object();=0A=
}=0A=
=0A=
Object.extend(Event, {=0A=
  KEY_BACKSPACE: 8,=0A=
  KEY_TAB:       9,=0A=
  KEY_RETURN:   13,=0A=
  KEY_ESC:      27,=0A=
  KEY_LEFT:     37,=0A=
  KEY_UP:       38,=0A=
  KEY_RIGHT:    39,=0A=
  KEY_DOWN:     40,=0A=
  KEY_DELETE:   46,=0A=
  KEY_HOME:     36,=0A=
  KEY_END:      35,=0A=
  KEY_PAGEUP:   33,=0A=
  KEY_PAGEDOWN: 34,=0A=
=0A=
  element: function(event) {=0A=
    return $(event.target || event.srcElement);=0A=
  },=0A=
=0A=
  isLeftClick: function(event) {=0A=
    return (((event.which) && (event.which =3D=3D 1)) ||=0A=
            ((event.button) && (event.button =3D=3D 1)));=0A=
  },=0A=
=0A=
  pointerX: function(event) {=0A=
    return event.pageX || (event.clientX +=0A=
      (document.documentElement.scrollLeft || document.body.scrollLeft));=0A=
  },=0A=
=0A=
  pointerY: function(event) {=0A=
    return event.pageY || (event.clientY +=0A=
      (document.documentElement.scrollTop || document.body.scrollTop));=0A=
  },=0A=
=0A=
  stop: function(event) {=0A=
    if (event.preventDefault) {=0A=
      event.preventDefault();=0A=
      event.stopPropagation();=0A=
    } else {=0A=
      event.returnValue =3D false;=0A=
      event.cancelBubble =3D true;=0A=
    }=0A=
  },=0A=
=0A=
  // find the first node with the given tagName, starting from the=0A=
  // node the event was triggered on; traverses the DOM upwards=0A=
  findElement: function(event, tagName) {=0A=
    var element =3D Event.element(event);=0A=
    while (element.parentNode && (!element.tagName ||=0A=
        (element.tagName.toUpperCase() !=3D tagName.toUpperCase())))=0A=
      element =3D element.parentNode;=0A=
    return element;=0A=
  },=0A=
=0A=
  observers: false,=0A=
=0A=
  _observeAndCache: function(element, name, observer, useCapture) {=0A=
    if (!this.observers) this.observers =3D [];=0A=
    if (element.addEventListener) {=0A=
      this.observers.push([element, name, observer, useCapture]);=0A=
      element.addEventListener(name, observer, useCapture);=0A=
    } else if (element.attachEvent) {=0A=
      this.observers.push([element, name, observer, useCapture]);=0A=
      element.attachEvent('on' + name, observer);=0A=
    }=0A=
  },=0A=
=0A=
  unloadCache: function() {=0A=
    if (!Event.observers) return;=0A=
    for (var i =3D 0, length =3D Event.observers.length; i < length; =
i++) {=0A=
      Event.stopObserving.apply(this, Event.observers[i]);=0A=
      Event.observers[i][0] =3D null;=0A=
    }=0A=
    Event.observers =3D false;=0A=
  },=0A=
=0A=
  observe: function(element, name, observer, useCapture) {=0A=
    element =3D $(element);=0A=
    useCapture =3D useCapture || false;=0A=
=0A=
    if (name =3D=3D 'keypress' &&=0A=
      (Prototype.Browser.WebKit || element.attachEvent))=0A=
      name =3D 'keydown';=0A=
=0A=
    Event._observeAndCache(element, name, observer, useCapture);=0A=
  },=0A=
=0A=
  stopObserving: function(element, name, observer, useCapture) {=0A=
    element =3D $(element);=0A=
    useCapture =3D useCapture || false;=0A=
=0A=
    if (name =3D=3D 'keypress' &&=0A=
        (Prototype.Browser.WebKit || element.attachEvent))=0A=
      name =3D 'keydown';=0A=
=0A=
    if (element.removeEventListener) {=0A=
      element.removeEventListener(name, observer, useCapture);=0A=
    } else if (element.detachEvent) {=0A=
      try {=0A=
        element.detachEvent('on' + name, observer);=0A=
      } catch (e) {}=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
/* prevent memory leaks in IE */=0A=
if (Prototype.Browser.IE)=0A=
  Event.observe(window, 'unload', Event.unloadCache, false);=0A=
var Position =3D {=0A=
  // set to true if needed, warning: firefox performance problems=0A=
  // NOT neeeded for page scrolling, only if draggable contained in=0A=
  // scrollable elements=0A=
  includeScrollOffsets: false,=0A=
=0A=
  // must be called before calling withinIncludingScrolloffset, every =
time the=0A=
  // page is scrolled=0A=
  prepare: function() {=0A=
    this.deltaX =3D  window.pageXOffset=0A=
                || document.documentElement.scrollLeft=0A=
                || document.body.scrollLeft=0A=
                || 0;=0A=
    this.deltaY =3D  window.pageYOffset=0A=
                || document.documentElement.scrollTop=0A=
                || document.body.scrollTop=0A=
                || 0;=0A=
  },=0A=
=0A=
  realOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.scrollTop  || 0;=0A=
      valueL +=3D element.scrollLeft || 0;=0A=
      element =3D element.parentNode;=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  cumulativeOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  positionedOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
      if (element) {=0A=
        if(element.tagName=3D=3D'BODY') break;=0A=
        var p =3D Element.getStyle(element, 'position');=0A=
        if (p =3D=3D 'relative' || p =3D=3D 'absolute') break;=0A=
      }=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  offsetParent: function(element) {=0A=
    if (element.offsetParent) return element.offsetParent;=0A=
    if (element =3D=3D document.body) return element;=0A=
=0A=
    while ((element =3D element.parentNode) && element !=3D =
document.body)=0A=
      if (Element.getStyle(element, 'position') !=3D 'static')=0A=
        return element;=0A=
=0A=
    return document.body;=0A=
  },=0A=
=0A=
  // caches x/y coordinate pair to use with overlap=0A=
  within: function(element, x, y) {=0A=
    if (this.includeScrollOffsets)=0A=
      return this.withinIncludingScrolloffsets(element, x, y);=0A=
    this.xcomp =3D x;=0A=
    this.ycomp =3D y;=0A=
    this.offset =3D this.cumulativeOffset(element);=0A=
=0A=
    return (y >=3D this.offset[1] &&=0A=
            y <  this.offset[1] + element.offsetHeight &&=0A=
            x >=3D this.offset[0] &&=0A=
            x <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  withinIncludingScrolloffsets: function(element, x, y) {=0A=
    var offsetcache =3D this.realOffset(element);=0A=
=0A=
    this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
    this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
    this.offset =3D this.cumulativeOffset(element);=0A=
=0A=
    return (this.ycomp >=3D this.offset[1] &&=0A=
            this.ycomp <  this.offset[1] + element.offsetHeight &&=0A=
            this.xcomp >=3D this.offset[0] &&=0A=
            this.xcomp <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  // within must be called directly before=0A=
  overlap: function(mode, element) {=0A=
    if (!mode) return 0;=0A=
    if (mode =3D=3D 'vertical')=0A=
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A=
        element.offsetHeight;=0A=
    if (mode =3D=3D 'horizontal')=0A=
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A=
        element.offsetWidth;=0A=
  },=0A=
=0A=
  page: function(forElement) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
=0A=
    var element =3D forElement;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
=0A=
      // Safari fix=0A=
      if (element.offsetParent =3D=3D document.body)=0A=
        if (Element.getStyle(element,'position')=3D=3D'absolute') break;=0A=
=0A=
    } while (element =3D element.offsetParent);=0A=
=0A=
    element =3D forElement;=0A=
    do {=0A=
      if (!window.opera || element.tagName=3D=3D'BODY') {=0A=
        valueT -=3D element.scrollTop  || 0;=0A=
        valueL -=3D element.scrollLeft || 0;=0A=
      }=0A=
    } while (element =3D element.parentNode);=0A=
=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  clone: function(source, target) {=0A=
    var options =3D Object.extend({=0A=
      setLeft:    true,=0A=
      setTop:     true,=0A=
      setWidth:   true,=0A=
      setHeight:  true,=0A=
      offsetTop:  0,=0A=
      offsetLeft: 0=0A=
    }, arguments[2] || {})=0A=
=0A=
    // find page position of source=0A=
    source =3D $(source);=0A=
    var p =3D Position.page(source);=0A=
=0A=
    // find coordinate system to use=0A=
    target =3D $(target);=0A=
    var delta =3D [0, 0];=0A=
    var parent =3D null;=0A=
    // delta [0,0] will do fine with position: fixed elements,=0A=
    // position:absolute needs offsetParent deltas=0A=
    if (Element.getStyle(target,'position') =3D=3D 'absolute') {=0A=
      parent =3D Position.offsetParent(target);=0A=
      delta =3D Position.page(parent);=0A=
    }=0A=
=0A=
    // correct by body offsets (fixes Safari)=0A=
    if (parent =3D=3D document.body) {=0A=
      delta[0] -=3D document.body.offsetLeft;=0A=
      delta[1] -=3D document.body.offsetTop;=0A=
    }=0A=
=0A=
    // set position=0A=
    if(options.setLeft)   target.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';=0A=
    if(options.setTop)    target.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';=0A=
    if(options.setWidth)  target.style.width =3D source.offsetWidth + =
'px';=0A=
    if(options.setHeight) target.style.height =3D source.offsetHeight + =
'px';=0A=
  },=0A=
=0A=
  absolutize: function(element) {=0A=
    element =3D $(element);=0A=
    if (element.style.position =3D=3D 'absolute') return;=0A=
    Position.prepare();=0A=
=0A=
    var offsets =3D Position.positionedOffset(element);=0A=
    var top     =3D offsets[1];=0A=
    var left    =3D offsets[0];=0A=
    var width   =3D element.clientWidth;=0A=
    var height  =3D element.clientHeight;=0A=
=0A=
    element._originalLeft   =3D left - parseFloat(element.style.left  || =
0);=0A=
    element._originalTop    =3D top  - parseFloat(element.style.top || =
0);=0A=
    element._originalWidth  =3D element.style.width;=0A=
    element._originalHeight =3D element.style.height;=0A=
=0A=
    element.style.position =3D 'absolute';=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.width  =3D width + 'px';=0A=
    element.style.height =3D height + 'px';=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    element =3D $(element);=0A=
    if (element.style.position =3D=3D 'relative') return;=0A=
    Position.prepare();=0A=
=0A=
    element.style.position =3D 'relative';=0A=
    var top  =3D parseFloat(element.style.top  || 0) - =
(element._originalTop || 0);=0A=
    var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);=0A=
=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.height =3D element._originalHeight;=0A=
    element.style.width  =3D element._originalWidth;=0A=
  }=0A=
}=0A=
=0A=
// Safari returns margins on body which is incorrect if the child is =
absolutely=0A=
// positioned.  For performance reasons, redefine =
Position.cumulativeOffset for=0A=
// KHTML/WebKit only.=0A=
if (Prototype.Browser.WebKit) {=0A=
  Position.cumulativeOffset =3D function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      if (element.offsetParent =3D=3D document.body)=0A=
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;=0A=
=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
=0A=
    return [valueL, valueT];=0A=
  }=0A=
}=0A=
=0A=
Element.addMethods();
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/scriptaculous/src/scriptaculous.js

// script.aculo.us scriptaculous.js v1.7.1_beta3, Fri May 25 17:19:41 =
+0200 2007=0A=
=0A=
// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
// =0A=
// Permission is hereby granted, free of charge, to any person obtaining=0A=
// a copy of this software and associated documentation files (the=0A=
// "Software"), to deal in the Software without restriction, including=0A=
// without limitation the rights to use, copy, modify, merge, publish,=0A=
// distribute, sublicense, and/or sell copies of the Software, and to=0A=
// permit persons to whom the Software is furnished to do so, subject to=0A=
// the following conditions:=0A=
// =0A=
// The above copyright notice and this permission notice shall be=0A=
// included in all copies or substantial portions of the Software.=0A=
//=0A=
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,=0A=
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF=0A=
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND=0A=
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE=0A=
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION=0A=
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION=0A=
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.=0A=
//=0A=
// For details, see the script.aculo.us web site: http://script.aculo.us/=0A=
=0A=
var Scriptaculous =3D {=0A=
  Version: '1.7.1_beta3',=0A=
  require: function(libraryName) {=0A=
    // inserting via DOM fails in Safari 2.0, so brute force approach=0A=
    document.write('<script type=3D"text/javascript" =
src=3D"'+libraryName+'"></script>');=0A=
  },=0A=
  REQUIRED_PROTOTYPE: '1.5.1',=0A=
  load: function() {=0A=
    function convertVersionString(versionString){=0A=
      var r =3D versionString.split('.');=0A=
      return parseInt(r[0])*100000 + parseInt(r[1])*1000 + =
parseInt(r[2]);=0A=
    }=0A=
 =0A=
    if((typeof Prototype=3D=3D'undefined') || =0A=
       (typeof Element =3D=3D 'undefined') || =0A=
       (typeof Element.Methods=3D=3D'undefined') ||=0A=
       (convertVersionString(Prototype.Version) < =0A=
        convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))=0A=
       throw("script.aculo.us requires the Prototype JavaScript =
framework >=3D " +=0A=
        Scriptaculous.REQUIRED_PROTOTYPE);=0A=
    =0A=
    $A(document.getElementsByTagName("script")).findAll( function(s) {=0A=
      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))=0A=
    }).each( function(s) {=0A=
      var path =3D s.src.replace(/scriptaculous\.js(\?.*)?$/,'');=0A=
      var includes =3D s.src.match(/\?.*load=3D([a-z,]*)/);=0A=
      (includes ? includes[1] : =
'builder,effects,dragdrop,controls,slider,sound').split(',').each(=0A=
       function(include) { Scriptaculous.require(path+include+'.js') });=0A=
    });=0A=
  }=0A=
}=0A=
=0A=
Scriptaculous.load();
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/color_picker/color_functions.js

function baseConverter (number,ob,nb) {
	number =3D number + "";
	number =3D number.toUpperCase();
	var list =3D "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var dec =3D 0;
	for (var i =3D 0; i <=3D  number.length; i++) {
		dec +=3D (list.indexOf(number.charAt(i))) * (Math.pow(ob , =
(number.length - i - 1)));
	}
	number =3D "";
	var magnitude =3D Math.floor((Math.log(dec))/(Math.log(nb)));
	for (var i =3D magnitude; i >=3D 0; i--) {
		var amount =3D Math.floor(dec/Math.pow(nb,i));
		number =3D number + list.charAt(amount);=20
		dec -=3D amount*(Math.pow(nb,i));
	}
	if(number.length=3D=3D0)number=3D0;
	return number;
}

// Converts a RGB color to HSV
function toHSV(rgbColor){
	rgbColor =3D rgbColor.replace('#','');	=09
=09
	red =3D baseConverter(rgbColor.substr(0,2),16,10);
	green =3D baseConverter(rgbColor.substr(2,2),16,10);
	blue =3D baseConverter(rgbColor.substr(4,2),16,10);
	if(red.length=3D=3D0)red=3D0;
	if(green.length=3D=3D0)green=3D0;
	if(blue.length=3D=3D0)blue=3D0;
	red =3D red/255;
	green =3D green/255;
	blue =3D blue/255;
=09
	maxValue =3D Math.max(red,green,blue);
	minValue =3D Math.min(red,green,blue);
=09
	var hue =3D 0;
=09
	if(maxValue=3D=3DminValue){
		hue =3D 0;
		saturation=3D0;
	}else{
		if(red =3D=3D maxValue){
			hue =3D (green - blue) / (maxValue-minValue)/1;=09
		}else if(green =3D=3D maxValue){
			hue =3D 2 + (blue - red)/1 / (maxValue-minValue)/1;=09
		}else if(blue =3D=3D maxValue){
			hue =3D 4 + (red - green) / (maxValue-minValue)/1;=09
		}
		saturation =3D (maxValue-minValue) / maxValue;
	}
	hue =3D hue * 60;=20
	valueBrightness =3D maxValue;
=09
	if(valueBrightness/1<0.5){
		//saturation =3D (maxValue - minValue) / (maxValue + minValue);
	}
	if(valueBrightness/1>=3D 0.5){
		//saturation =3D (maxValue - minValue) / (2 - maxValue - minValue);
	}=09
	=09
=09
	returnArray =3D [hue,saturation,valueBrightness];
	return returnArray;
}

function toRgb(hue,saturation,valueBrightness){
	Hi =3D Math.floor(hue / 60);
	if(hue=3D=3D360)Hi=3D0;
	f =3D hue/60 - Hi;
	p =3D (valueBrightness * (1- saturation)).toPrecision(2);
	q =3D (valueBrightness * (1 - (f * saturation))).toPrecision(2);
	t =3D (valueBrightness * (1 - ((1-f)*saturation))).toPrecision(2);

	switch(Hi){
		case 0:
			red =3D valueBrightness;
			green =3D t;
			blue =3D p;			=09
			break;
		case 1:=20
			red =3D q;
			green =3D valueBrightness;
			blue =3D p;
			break;
		case 2:=20
			red =3D q;
			green =3D valueBrightness;
			blue =3D t;
			break;
		case 3:=20
			red =3D p;
			green =3D q;;
			blue =3D valueBrightness;
			break;
		case 4:
			red =3D t;
			green =3D p;
			blue =3D valueBrightness;
			break;
		case 5:
			red =3D valueBrightness;
			green =3D p;
			blue =3D q;
			break;
	}
=09
	if(saturation=3D=3D0){
		red =3D valueBrightness;
		green =3D valueBrightness;
		blue =3D valueBrightness;	=09
	}
=09
	red*=3D255;
	green*=3D255;
	blue*=3D255;

	red =3D Math.round(red);
	green =3D Math.round(green);
	blue =3D Math.round(blue);=09
=09
	red =3D baseConverter(red,10,16);
	green =3D baseConverter(green,10,16);
	blue =3D baseConverter(blue,10,16);
=09
	red =3D red + "";
	green =3D green + "";
	blue =3D blue + "";

	while(red.length<2){
		red =3D "0" + red;
	}=09
	while(green.length<2){
		green =3D "0" + green;
	}=09
	while(blue.length<2){
		blue =3D "0" + "" + blue;
	}
	rgbColor =3D "#" + red + "" + green + "" + blue;
	return rgbColor.toUpperCase();
}

function findColorByDegrees(rgbColor,degrees){
	rgbColor =3D rgbColor.replace('#','');
	myArray =3D toHSV(rgbColor);
	myArray[0]+=3Ddegrees;
	if(myArray[0]>=3D360)myArray[0]-=3D360;
	if(myArray[0]<0)myArray[0]+=3D360;=09
	return toRgb(myArray[0],myArray[1],myArray[2]);
}

function findColorByBrightness(rgbColor,brightness){
=09
	rgbColor =3D rgbColor.replace('#','');
	myArray =3D toHSV(rgbColor);
=09
	myArray[2]+=3Dbrightness/100;
	if(myArray[2]>1)myArray[2]=3D1;
	if(myArray[2]<0)myArray[2]=3D0;=09
=09
	myArray[1]+=3Dbrightness/100;
	if(myArray[1]>1)myArray[1]=3D1;
	if(myArray[1]<0)myArray[1]=3D0;	=09
=09
	return toRgb(myArray[0],myArray[1],myArray[2]);=09
=09
}

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.californiachronicle.com/inc/color_picker/js_color_picker_v2.js

	=
/************************************************************************=
************************************
	(C) www.dhtmlgoodies.com, October 2005
=09
	This is a script from www.dhtmlgoodies.com. You will find this and a =
lot of other scripts at our website.=09
=09
	Terms of use:
	You are free to use this script as long as the copyright message is =
kept intact. However, you may not
	redistribute, sell or repost it without our permission.
=09
	Thank you!
=09
	www.dhtmlgoodies.com
	Alf Magne Kalleland
=09
	=
*************************************************************************=
***********************************/=09

	var MSIE =3D navigator.userAgent.indexOf('MSIE')>=3D0?true:false;
	var navigatorVersion =3D navigator.appVersion.replace(/.*?MSIE =
(\d\.\d).*/g,'$1')/1;
=09
	var form_widget_amount_slider_handle =3D =
'../inc/color_picker/images/slider_handle.gif';
	var slider_handle_image_obj =3D false;
	var sliderObjectArray =3D new Array();
	var slider_counter =3D 0;
	var slideInProgress =3D false;
	var handle_start_x;
	var event_start_x;
	var currentSliderIndex;
=09
	var field;
=09
	function form_widget_cancel_event()
	{
		return false;	=09
	}
=09
	function getImageSliderHeight(){
		if(!slider_handle_image_obj){
			slider_handle_image_obj =3D new Image();
			slider_handle_image_obj.src =3D form_widget_amount_slider_handle;
		}
		if(slider_handle_image_obj.width>0){
			return;
		}else{
			setTimeout('getImageSliderHeight()',50);
		}
	}
=09
	function positionSliderImage(e,theIndex,inputObj)
	{
		if(this)inputObj =3D this;
		if(!theIndex)theIndex =3D inputObj.getAttribute('sliderIndex');
		var handleImg =3D document.getElementById('slider_handle' + theIndex);
		var ratio =3D sliderObjectArray[theIndex]['width'] / =
(sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
		var currentValue =3D =
sliderObjectArray[theIndex]['formTarget'].value-sliderObjectArray[theInde=
x]['min'];	=09
		handleImg.style.left =3D currentValue * ratio + 'px';		=09
		setColorByRGB();
	}
=09
	function adjustFormValue(theIndex)
	{
		var handleImg =3D document.getElementById('slider_handle' + theIndex);	=

		var ratio =3D sliderObjectArray[theIndex]['width'] / =
(sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
		var currentPos =3D handleImg.style.left.replace('px','');
		sliderObjectArray[theIndex]['formTarget'].value =3D =
Math.round(currentPos / ratio) + sliderObjectArray[theIndex]['min'];
	=09
	}
	=09
	function initMoveSlider(e)
	{
=09
		if(document.all)e =3D event;=09
		slideInProgress =3D true;
		event_start_x =3D e.clientX;
		handle_start_x =3D this.style.left.replace('px','');
		currentSliderIndex =3D this.id.replace(/[^\d]/g,'');
		return false;
	}
=09
	function startMoveSlider(e)
	{
		if(document.all)e =3D event;=09
		if(!slideInProgress)return;=09
		var leftPos =3D handle_start_x/1 + e.clientX/1 - event_start_x;
		if(leftPos<0)leftPos =3D 0;
		if(leftPos/1>sliderObjectArray[currentSliderIndex]['width'])leftPos =
=3D sliderObjectArray[currentSliderIndex]['width'];
		document.getElementById('slider_handle' + =
currentSliderIndex).style.left =3D leftPos + 'px';
		adjustFormValue(currentSliderIndex);
		if(sliderObjectArray[currentSliderIndex]['onchangeAction']){
			eval(sliderObjectArray[currentSliderIndex]['onchangeAction']);
		}
	}
=09
	function stopMoveSlider()
	{
		slideInProgress =3D false;
	}
=09
=09
	function =
form_widget_amount_slider(targetElId,formTarget,width,min,max,onchangeAct=
ion)
	{
		if(!slider_handle_image_obj){
			getImageSliderHeight();	=09
		}
			=09
		slider_counter =3D slider_counter +1;
		sliderObjectArray[slider_counter] =3D new Array();
		sliderObjectArray[slider_counter] =3D {"width":width - =
9,"min":min,"max":max,"formTarget":formTarget,"onchangeAction":onchangeAc=
tion};
	=09
		formTarget.setAttribute('sliderIndex',slider_counter);
		formTarget.onchange =3D positionSliderImage;
		var parentObj =3D document.createElement('DIV');
		parentObj.style.width =3D width + 'px';
		parentObj.style.height =3D '12px';	// The height of the image
		parentObj.style.position =3D 'relative';
		parentObj.id =3D 'slider_container' + slider_counter;
		document.getElementById(targetElId).appendChild(parentObj);
	=09
		var obj =3D document.createElement('DIV');
		obj.className =3D 'form_widget_amount_slider';
		obj.innerHTML =3D '<span></span>';
		obj.style.width =3D width + 'px';
		obj.id =3D 'slider_slider' + slider_counter;
		obj.style.position =3D 'absolute';
		obj.style.bottom =3D '0px';
		parentObj.appendChild(obj);
	=09
		var handleImg =3D document.createElement('IMG');
		handleImg.style.position =3D 'absolute';
		handleImg.style.left =3D '0px';
		handleImg.style.zIndex =3D 5;
		handleImg.src =3D slider_handle_image_obj.src;
		handleImg.id =3D 'slider_handle' + slider_counter;
		handleImg.onmousedown =3D initMoveSlider;
		if(document.body.onmouseup){
			=
if(document.body.onmouseup.toString().indexOf('stopMoveSlider')=3D=3D-1){=

				alert('You allready have an onmouseup event assigned to the body =
tag');
			}
		}else{
			document.body.onmouseup =3D stopMoveSlider;=09
			document.body.onmousemove =3D startMoveSlider;=09
		}
		handleImg.ondragstart =3D form_widget_cancel_event;
		parentObj.appendChild(handleImg);
		positionSliderImage(false,slider_counter);
	}
	=09

=09
	var namedColors =3D new =
Array('AliceBlue','AntiqueWhite','Aqua','Aquamarine','Azure','Beige','Bis=
que','Black','BlanchedAlmond','Blue','BlueViolet','Brown',
	=
'BurlyWood','CadetBlue','Chartreuse','Chocolate','Coral','CornflowerBlue'=
,'Cornsilk','Crimson','Cyan','DarkBlue','DarkCyan','DarkGoldenRod','DarkG=
ray',
	=
'DarkGreen','DarkKhaki','DarkMagenta','DarkOliveGreen','Darkorange','Dark=
Orchid','DarkRed','DarkSalmon','DarkSeaGreen','DarkSlateBlue','DarkSlateG=
ray',
	=
'DarkTurquoise','DarkViolet','DeepPink','DeepSkyBlue','DimGray','DodgerBl=
ue','Feldspar','FireBrick','FloralWhite','ForestGreen','Fuchsia','Gainsbo=
ro',
	=
'GhostWhite','Gold','GoldenRod','Gray','Green','GreenYellow','HoneyDew','=
HotPink','IndianRed','Indigo','Ivory','Khaki','Lavender','LavenderBlush',=

	=
'LawnGreen','LemonChiffon','LightBlue','LightCoral','LightCyan','LightGol=
denRodYellow','LightGrey','LightGreen','LightPink','LightSalmon','LightSe=
aGreen',
	=
'LightSkyBlue','LightSlateBlue','LightSlateGray','LightSteelBlue','LightY=
ellow','Lime','LimeGreen','Linen','Magenta','Maroon','MediumAquaMarine',
	=
'MediumBlue','MediumOrchid','MediumPurple','MediumSeaGreen','MediumSlateB=
lue','MediumSpringGreen','MediumTurquoise','MediumVioletRed','MidnightBlu=
e',
	=
'MintCream','MistyRose','Moccasin','NavajoWhite','Navy','OldLace','Olive'=
,'OliveDrab','Orange','OrangeRed','Orchid','PaleGoldenRod','PaleGreen',
	=
'PaleTurquoise','PaleVioletRed','PapayaWhip','PeachPuff','Peru','Pink','P=
lum','PowderBlue','Purple','Red','RosyBrown','RoyalBlue','SaddleBrown',
	=
'Salmon','SandyBrown','SeaGreen','SeaShell','Sienna','Silver','SkyBlue','=
SlateBlue','SlateGray','Snow','SpringGreen','SteelBlue','Tan','Teal','Thi=
stle',
	=
'Tomato','Turquoise','Violet','VioletRed','Wheat','White','WhiteSmoke','Y=
ellow','YellowGreen');
=09
	 var namedColorRGB =3D new =
Array('#F0F8FF','#FAEBD7','#00FFFF','#7FFFD4','#F0FFFF','#F5F5DC','#FFE4C=
4','#000000','#FFEBCD','#0000FF','#8A2BE2','#A52A2A','#DEB887',
	=
'#5F9EA0','#7FFF00','#D2691E','#FF7F50','#6495ED','#FFF8DC','#DC143C','#0=
0FFFF','#00008B','#008B8B','#B8860B','#A9A9A9','#006400','#BDB76B','#8B00=
8B',
	=
'#556B2F','#FF8C00','#9932CC','#8B0000','#E9967A','#8FBC8F','#483D8B','#2=
F4F4F','#00CED1','#9400D3','#FF1493','#00BFFF','#696969','#1E90FF','#D192=
75',
	=
'#B22222','#FFFAF0','#228B22','#FF00FF','#DCDCDC','#F8F8FF','#FFD700','#D=
AA520','#808080','#008000','#ADFF2F','#F0FFF0','#FF69B4','#CD5C5C','#4B00=
82',
	=
'#FFFFF0','#F0E68C','#E6E6FA','#FFF0F5','#7CFC00','#FFFACD','#ADD8E6','#F=
08080','#E0FFFF','#FAFAD2','#D3D3D3','#90EE90','#FFB6C1','#FFA07A','#20B2=
AA',
	=
'#87CEFA','#8470FF','#778899','#B0C4DE','#FFFFE0','#00FF00','#32CD32','#F=
AF0E6','#FF00FF','#800000','#66CDAA','#0000CD','#BA55D3','#9370D8','#3CB3=
71',
	=
'#7B68EE','#00FA9A','#48D1CC','#C71585','#191970','#F5FFFA','#FFE4E1','#F=
FE4B5','#FFDEAD','#000080','#FDF5E6','#808000','#6B8E23','#FFA500','#FF45=
00',
	=
'#DA70D6','#EEE8AA','#98FB98','#AFEEEE','#D87093','#FFEFD5','#FFDAB9','#C=
D853F','#FFC0CB','#DDA0DD','#B0E0E6','#800080','#FF0000','#BC8F8F','#4169=
E1',
	=
'#8B4513','#FA8072','#F4A460','#2E8B57','#FFF5EE','#A0522D','#C0C0C0','#8=
7CEEB','#6A5ACD','#708090','#FFFAFA','#00FF7F','#4682B4','#D2B48C','#0080=
80',
	=
'#D8BFD8','#FF6347','#40E0D0','#EE82EE','#D02090','#F5DEB3','#FFFFFF','#F=
5F5F5','#FFFF00','#9ACD32');=09
=09
=09
	var color_picker_div =3D false;
	var color_picker_active_tab =3D false;
	var color_picker_form_field =3D false;
	var color_picker_active_input =3D false;
	function baseConverter (number,ob,nb) {
		number =3D number + "";
		number =3D number.toUpperCase();
		var list =3D "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var dec =3D 0;
		for (var i =3D 0; i <=3D  number.length; i++) {
			dec +=3D (list.indexOf(number.charAt(i))) * (Math.pow(ob , =
(number.length - i - 1)));
		}
		number =3D "";
		var magnitude =3D Math.floor((Math.log(dec))/(Math.log(nb)));
		for (var i =3D magnitude; i >=3D 0; i--) {
			var amount =3D Math.floor(dec/Math.pow(nb,i));
			number =3D number + list.charAt(amount);=20
			dec -=3D amount*(Math.pow(nb,i));
		}
		if(number.length=3D=3D0)number=3D0;
		return number;
	}
=09
	function colorPickerGetTopPos(inputObj)
	{
	=09
	  var returnValue =3D inputObj.offsetTop;
	  while((inputObj =3D inputObj.offsetParent) !=3D null){
	  	returnValue +=3D inputObj.offsetTop;
	  }
	  return returnValue;
	}
=09
	function colorPickerGetLeftPos(inputObj)
	{
	  var returnValue =3D inputObj.offsetLeft;
	  while((inputObj =3D inputObj.offsetParent) !=3D null)returnValue +=3D =
inputObj.offsetLeft;
	  return returnValue;
	}
=09
	function cancelColorPickerEvent(){
		return false;
	}
=09
	function showHideColorOptions(e,inputObj)
	{
	=09

		var thisObj =3D this;
		if(inputObj){
			var parentNode =3D inputObj.parentNode;=20
			thisObj =3D inputObj;
		}else var parentNode =3D this.parentNode;
		var activeColorDiv =3D false;
		var subDiv =3D parentNode.getElementsByTagName('DIV')[0];
		counter=3D0;=09
		var initZIndex =3D 10;=09
		var contentDiv =3D =
document.getElementById('color_picker_content').getElementsByTagName('DIV=
')[0];
		do{		=09
			if(subDiv.tagName=3D=3D'DIV' && =
subDiv.className!=3D'colorPickerCloseButton'){
				if(subDiv=3D=3DthisObj){
					thisObj.className=3D'colorPickerTab_active';
					thisObj.style.zIndex =3D 50;
					var img =3D thisObj.getElementsByTagName('IMG')[0];
					img.src =3D "../inc/color_picker/images/tab_right_active.gif"
					img.src =3D img.src.replace(/inactive/,'active');						=09
					contentDiv.style.display=3D'block';
					activeColorDiv =3D contentDiv;
				}else{
					subDiv.className =3D 'colorPickerTab_inactive';=09
					var img =3D subDiv.getElementsByTagName('IMG')[0];
					img.src =3D "../inc/color_picker/images/tab_right_inactive.gif";
					if(activeColorDiv)
						subDiv.style.zIndex =3D initZIndex - counter;
					else
						subDiv.style.zIndex =3D counter;
					contentDiv.style.display=3D'none';
				}
				counter++;
			}
			subDiv =3D subDiv.nextSibling;
			if(contentDiv.nextSibling)contentDiv =3D contentDiv.nextSibling;
		}while(subDiv);
	=09
	=09
		document.getElementById('colorPicker_statusBarTxt').innerHTML =3D =
'&nbsp;';


	}
=09
	function createColorPickerTopRow(inputObj){
		var tabs =3D ['RGB','Named colors','Color slider'];
		var tabWidths =3D [37,90,70];
		var div =3D document.createElement('DIV');
		div.className=3D'colorPicker_topRow';
=09
		inputObj.appendChild(div);=09
		var currentWidth =3D 0;
		for(var no=3D0;no<tabs.length;no++){		=09
		=09
			var tabDiv =3D document.createElement('DIV');
			tabDiv.onselectstart =3D cancelColorPickerEvent;
			tabDiv.ondragstart =3D cancelColorPickerEvent;
			if(no=3D=3D0){
				suffix =3D 'active';=20
				color_picker_active_tab =3D this;
			}else suffix =3D 'inactive';
		=09
			tabDiv.id =3D 'colorPickerTab' + no;
			tabDiv.onclick =3D showHideColorOptions;
			if(no=3D=3D0)tabDiv.style.zIndex =3D 50; else tabDiv.style.zIndex =3D =
1 + (tabs.length-no);
			tabDiv.style.left =3D currentWidth + 'px';
			tabDiv.style.position =3D 'absolute';
			tabDiv.className=3D'colorPickerTab_' + suffix;
			var tabSpan =3D document.createElement('SPAN');
			tabSpan.innerHTML =3D tabs[no];
			tabDiv.appendChild(tabSpan);
			var tabImg =3D document.createElement('IMG');
			tabImg.src =3D "../inc/color_picker/images/tab_right_" + suffix + =
".gif";
			tabDiv.appendChild(tabImg);
			div.appendChild(tabDiv);
			if(navigatorVersion<6 && MSIE){	/* Lower IE version fix */
				tabSpan.style.position =3D 'relative';
				tabImg.style.position =3D 'relative';
				tabImg.style.left =3D '-3px';	=09
				tabDiv.style.cursor =3D 'hand';=09
			}		=09
			currentWidth =3D currentWidth + tabWidths[no];
	=09
		}
	=09
		var closeButton =3D document.createElement('DIV');
		closeButton.className=3D'colorPickerCloseButton';
		closeButton.innerHTML =3D 'x';
		closeButton.onclick =3D closeColorPicker;
		closeButton.onmouseover =3D toggleCloseButton;
		closeButton.onmouseout =3D toggleOffCloseButton;
		div.appendChild(closeButton);
	=09
	}
=09
	function toggleCloseButton()
	{
		this.style.color=3D'#FFF';
		this.style.backgroundColor =3D '#317082';=09
	}
	function toggleOffCloseButton()
	{
		this.style.color=3D'';
		this.style.backgroundColor =3D '';		=09
	=09
	}
	function closeColorPicker()
	{
		color_picker_div.style.display=3D'none';
	}
=09
	function createWebColors(inputObj){
		var webColorDiv =3D document.createElement('DIV');
		webColorDiv.style.paddingTop =3D '1px';
		inputObj.appendChild(webColorDiv);
		for(var r=3D15;r>=3D0;r-=3D3){
			for(var g=3D0;g<=3D15;g+=3D3){
				for(var b=3D0;b<=3D15;b+=3D3){
					var red =3D baseConverter(r,10,16) + '';
					var green =3D baseConverter(g,10,16) + '';
					var blue =3D baseConverter(b,10,16) + '';
				=09
					var color =3D '#' + red + red + green + green + blue + blue;
					var div =3D document.createElement('DIV');
					div.style.backgroundColor=3Dcolor;
					div.innerHTML =3D '<span></span>';
					div.className=3D'colorSquare';
					div.title =3D color;=09
					div.onclick =3D chooseColor;
					div.setAttribute('rgbColor',color);
					div.onmouseover =3D colorPickerShowStatusBarText;
					div.onmouseout =3D colorPickerHideStatusBarText;
					webColorDiv.appendChild(div);
				}
			}
		}
	}
	=09
	function createNamedColors(inputObj){
		var namedColorDiv =3D document.createElement('DIV');
		namedColorDiv.style.paddingTop =3D '1px';
		namedColorDiv.style.display=3D'none';
		inputObj.appendChild(namedColorDiv);
		for(var no=3D0;no<namedColors.length;no++){
			var color =3D namedColorRGB[no];
			var div =3D document.createElement('DIV');
			div.style.backgroundColor=3Dcolor;
			div.innerHTML =3D '<span></span>';
			div.className=3D'colorSquare';
			div.title =3D namedColors[no];=09
			div.onclick =3D chooseColor;
			div.onmouseover =3D colorPickerShowStatusBarText;
			div.onmouseout =3D colorPickerHideStatusBarText;
			div.setAttribute('rgbColor',color);
			namedColorDiv.appendChild(div);			=09
		}=09
=09
	}
=09
	function colorPickerHideStatusBarText()
	{
		document.getElementById('colorPicker_statusBarTxt').innerHTML =3D =
'&nbsp;';
	}
=09
	function colorPickerShowStatusBarText()
	{
		var txt =3D this.getAttribute('rgbColor');
		if(this.title.indexOf('#')<0)txt =3D txt + " (" + this.title + ")";
		document.getElementById('colorPicker_statusBarTxt').innerHTML =3D txt;	=

	}
=09
	function createAllColorDiv(inputObj){
		var allColorDiv =3D document.createElement('DIV');
		allColorDiv.style.display=3D'none';
		allColorDiv.className =3D 'js_color_picker_allColorDiv';
		allColorDiv.style.paddingLeft =3D '3px';
		allColorDiv.style.paddingTop =3D '5px';
		allColorDiv.style.paddingBottom =3D '5px';
		inputObj.appendChild(allColorDiv);=09
	=09
		var labelDiv =3D document.createElement('DIV');
		labelDiv.className=3D'colorSliderLabel';
		labelDiv.innerHTML =3D 'R';
		allColorDiv.appendChild(labelDiv);=09
	=09
		var innerDiv =3D document.createElement('DIV');
		innerDiv.className =3D 'colorSlider';
		innerDiv.id =3D 'sliderRedColor';	=09
		allColorDiv.appendChild(innerDiv);	=09
	=09
		var innerDivInput =3D document.createElement('DIV');
		innerDivInput.className=3D'colorInput';
	=09
		var input =3D document.createElement('INPUT');
		input.id =3D 'js_color_picker_red_color';
		input.maxlength =3D 3;
		input.style.width =3D '48px';
		input.style.fontSize =3D '11px';
		input.name =3D 'redColor';
		input.value =3D 0;
	=09
		innerDivInput.appendChild(input);
		allColorDiv.appendChild(innerDivInput);

		var labelDiv =3D document.createElement('DIV');
		labelDiv.className=3D'colorSliderLabel';
		labelDiv.innerHTML =3D 'G';
		allColorDiv.appendChild(labelDiv);=09
			=09
		var innerDiv =3D document.createElement('DIV');
		innerDiv.className =3D 'colorSlider';
		innerDiv.id =3D 'sliderGreenColor';	=09
		allColorDiv.appendChild(innerDiv);	=09
	=09
		var innerDivInput =3D document.createElement('DIV');
		innerDivInput.className=3D'colorInput';
	=09
		var input =3D document.createElement('INPUT');
		input.id =3D 'js_color_picker_green_color';
		input.maxlength =3D 3;
		input.style.width =3D '48px';
		input.style.fontSize =3D '11px';
		input.name =3D 'GreenColor';
		input.value =3D 0;
	=09
		innerDivInput.appendChild(input);
		allColorDiv.appendChild(innerDivInput);
	=09
		var labelDiv =3D document.createElement('DIV');
		labelDiv.className=3D'colorSliderLabel';
		labelDiv.innerHTML =3D 'B';
		allColorDiv.appendChild(labelDiv);		=09
		var innerDiv =3D document.createElement('DIV');
		innerDiv.className =3D 'colorSlider';
		innerDiv.id =3D 'sliderBlueColor';	=09
		allColorDiv.appendChild(innerDiv);	=09
	=09
		var innerDivInput =3D document.createElement('DIV');
		innerDivInput.className=3D'colorInput';
	=09
		var input =3D document.createElement('INPUT');
		input.id =3D 'js_color_picker_blue_color';
		input.maxlength =3D 3;
		input.style.width =3D '48px';
		input.style.fontSize =3D '11px';
		input.name =3D 'BlueColor';
		input.value =3D 0;
	=09
		innerDivInput.appendChild(input);
		allColorDiv.appendChild(innerDivInput);

=09
		var colorPreview =3D document.createElement('DIV');
		colorPreview.className=3D'colorPreviewDiv';
		colorPreview.id =3D 'colorPreview';
		colorPreview.style.backgroundColor =3D '#000000';
		colorPreview.innerHTML =3D '<span></span>';=09
		colorPreview.title =3D 'Click on me to assign color';=09
		allColorDiv.appendChild(colorPreview);
		colorPreview.onclick =3D chooseColorSlider;
	=09
		var colorCodeDiv =3D document.createElement('DIV');
		colorCodeDiv.className=3D'colorCodeDiv';	=09
		var input =3D document.createElement('INPUT');
		input.id =3D 'js_color_picker_color_code';
	=09
		colorCodeDiv.appendChild(input);
		input.maxLength =3D 7;
		input.style.fontSize =3D '11px';
		input.style.width =3D '48px';	=09
		input.value =3D '#000000';
		input.onchange =3D setPreviewColorFromTxt;
		input.onblur =3D setPreviewColorFromTxt;
		allColorDiv.appendChild(colorCodeDiv);
	=09
		var clearingDiv =3D document.createElement('DIV');
		clearingDiv.style.clear =3D 'both';
		allColorDiv.appendChild(clearingDiv);
	=09
	=09
		=
form_widget_amount_slider('sliderRedColor',document.getElementById('js_co=
lor_picker_red_color'),170,0,255,"setColorByRGB()");
		=
form_widget_amount_slider('sliderGreenColor',document.getElementById('js_=
color_picker_green_color'),170,0,255,"setColorByRGB()");
		=
form_widget_amount_slider('sliderBlueColor',document.getElementById('js_c=
olor_picker_blue_color'),170,0,255,"setColorByRGB()");
	}
=09
	function setPreviewColorFromTxt()
	{
		if(this.value.match(/\#[0-9A-F]{6}/g)){
			=
document.getElementById('colorPreview').style.backgroundColor=3Dthis.valu=
e;
			var r =3D this.value.substr(1,2);
			var g =3D this.value.substr(3,2);
			var b =3D this.value.substr(5,2);
			document.getElementById('js_color_picker_red_color').value =3D =
baseConverter(r,16,10);
			document.getElementById('js_color_picker_green_color').value =3D =
baseConverter(g,16,10);
			document.getElementById('js_color_picker_blue_color').value =3D =
baseConverter(b,16,10);
		=09
			=
positionSliderImage(false,1,document.getElementById('js_color_picker_red_=
color'));
			=
positionSliderImage(false,2,document.getElementById('js_color_picker_gree=
n_color'));
			=
positionSliderImage(false,3,document.getElementById('js_color_picker_blue=
_color'));
		}
	=09
	}
=09
	function chooseColor()
	{
		color_picker_form_field.value =3D this.getAttribute('rgbColor');
		color_picker_div.style.display=3D'none';
		field.focus();
	}
=09
	function createStatusBar(inputObj)
	{
		var div =3D document.createElement('DIV');
		div.className=3D'colorPicker_statusBar';=09
		var innerSpan =3D document.createElement('SPAN');
		innerSpan.id =3D 'colorPicker_statusBarTxt';
		div.appendChild(innerSpan);
		inputObj.appendChild(div);
	}
=09
	function chooseColorSlider()
	{
		color_picker_form_field.value =3D =
document.getElementById('js_color_picker_color_code').value;
		color_picker_div.style.display=3D'none';	=09
	}
=09
=09
	function showColorPicker(inputObj,formField)
	{
		field =3D formField;
	=09
		if(!color_picker_div){
			color_picker_div =3D document.createElement('DIV');
			color_picker_div.id =3D 'dhtmlgoodies_colorPicker';
			color_picker_div.style.display=3D'none';
			color_picker_div.style.zIndex =3D 3000;
			document.body.appendChild(color_picker_div);
			createColorPickerTopRow(color_picker_div);		=09
			var contentDiv =3D document.createElement('DIV');
			contentDiv.id =3D 'color_picker_content';
			color_picker_div.appendChild(contentDiv);		=09
			createWebColors(contentDiv);
			createNamedColors(contentDiv);
			createAllColorDiv(contentDiv);
			createStatusBar(color_picker_div);		=09
		}	=09
		if(color_picker_div.style.display=3D=3D'none' || =
color_picker_active_input!=3DinputObj)color_picker_div.style.display=3D'b=
lock'; else color_picker_div.style.display=3D'none';	=09
		color_picker_div.style.left =3D colorPickerGetLeftPos(inputObj) + =
'px';
		color_picker_div.style.top =3D colorPickerGetTopPos(inputObj) + =
inputObj.offsetHeight + 2 + 'px';
		color_picker_form_field =3D formField;
		color_picker_active_input =3D inputObj;	=09
	}

	function setColorByRGB()
	{
		var formObj =3D document.forms[0];=09
		var r =3D =
document.getElementById('js_color_picker_red_color').value.replace(/[^\d]=
/,'');
		var g =3D =
document.getElementById('js_color_picker_green_color').value.replace(/[^\=
d]/,'');
		var b =3D =
document.getElementById('js_color_picker_blue_color').value.replace(/[^\d=
]/,'');	=09
		if(r/1>255)r=3D255;
		if(g/1>255)g=3D255;
		if(b/1>255)b=3D255;
		r =3D baseConverter(r,10,16) + '';
		g =3D baseConverter(g,10,16) + '';
		b =3D baseConverter(b,10,16) + '';
		if(r.length=3D=3D1)r =3D '0' + r;
		if(g.length=3D=3D1)g =3D '0' + g;
		if(b.length=3D=3D1)b =3D '0' + b;

		document.getElementById('colorPreview').style.backgroundColor =3D '#' =
+ r + g + b;
		document.getElementById('js_color_picker_color_code').value =3D '#' + =
r + g + b;	=09
	}	
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://pagead2.googlesyndication.com/pagead/show_ads.js

(function(){=0A=
var =
h=3D{google_ad_channel:"channel",google_ad_host:"host",google_ad_region:"=
region",google_ad_section:"region",google_ad_type:"ad_type",google_adtest=
:"adtest",google_alternate_ad_url:"alternate_ad_url",google_alternate_col=
or:"alt_color",google_bid:"bid",google_city:"gcs",google_color_bg:"color_=
bg",google_color_border:"color_border",google_color_line:"color_line",goo=
gle_color_link:"color_link",google_color_text:"color_text",google_color_u=
rl:"color_url",google_contents:"contents",google_country:"gl",=0A=
google_cust_age:"cust_age",google_cust_ch:"cust_ch",google_cust_gender:"c=
ust_gender",google_cust_id:"cust_id",google_cust_interests:"cust_interest=
s",google_cust_job:"cust_job",google_cust_l:"cust_l",google_cust_lh:"cust=
_lh",google_cust_u_url:"cust_u_url",google_disable_video_autoplay:"disabl=
e_video_autoplay",google_ed:"ed",google_encoding:"oe",google_feedback:"fe=
edback_link",google_flash_version:"flash",google_gl:"gl",google_hints:"hi=
nts",google_kw:"kw",google_kw_type:"kw_type",google_language:"hl",=0A=
google_referrer_url:"ref",google_region:"gr",google_reuse_colors:"reuse_c=
olors",google_safe:"adsafe",google_targeting:"targeting",google_ui_featur=
es:"ui"},m=3D{google_ad_format:"format",google_ad_output:"output",google_=
ad_callback:"callback",google_ad_override:"google_ad_override",google_ad_=
slot:"slotname",google_analytics_uacct:"ga_wpids",google_correlator:"corr=
elator",google_cpa_choice:"cpa_choice",google_image_size:"image_size",goo=
gle_last_modified_time:"lmt",google_max_num_ads:"num_ads",google_max_radl=
ink_len:"max_radlink_len",=0A=
google_num_radlinks:"num_radlinks",google_num_radlinks_per_unit:"num_radl=
inks_per_unit",google_only_ads_with_video:"only_ads_with_video",google_pa=
ge_location:"loc",google_page_url:"url",google_rl_dest_url:"rl_dest_url",=
google_rl_filtering:"rl_filtering",google_rl_mode:"rl_mode",google_rt:"rt=
",google_skip:"skip"};function n(b){return h[b]||m[b]||null};function =
q(){}q.prototype.e=3Dfunction(b){};q.prototype.m=3Dfunction(b){};q.protot=
ype.P=3Dfunction(b){};var s=3Dnull;function =
v(b,a,c,e){this._value_=3Db;this._expires_=3Da;this._path_=3Dc;this._doma=
in_=3De;if(this._path_=3D=3Dnull)this._path_=3D"/";if(this._domain_=3D=3D=
null)this._domain_=3Ddocument.domain}v.prototype.toString=3Dfunction(){re=
turn"[GA_GoogleCookieInfo: value=3D"+this._value_+", =
expires=3D"+this._expires_+", path=3D"+this._path_+"]"};function =
y(){this.b=3Dthis.M();this.p=3Dfalse;if(!this.b){this.p=3Dthis.C();if(!th=
is.p)s.m("Browser does not allow cookies")}}=0A=
y.prototype.n=3D"__gads=3D";y.prototype.f=3D"GoogleAdServingTest=3D";y.pr=
ototype.G=3Dfunction(){return =
this.b};y.prototype.setCookieInfo=3Dfunction(b){this.a=3Db._cookies_[0];i=
f(this.a!=3Dnull){this.b=3Dthis.a._value_;this.O()}};y.prototype.F=3Dfunc=
tion(b){var a=3D(new Date).valueOf(),c=3Dnew Date;c.setTime(a+b);return =
c};y.BASE_COOKIE_URL=3D"http://partner.googleadservices.com/gampad/cookie=
.js?callback=3D_GA_googleCookieHelper.setCookieInfo";y.prototype.D=3Dfunc=
tion(b){if(this.b!=3Dnull||!this.p){s.e("Skipping fetch cookie call");=0A=
return}var =
a=3Ddocument.domain,c=3Dy.BASE_COOKIE_URL+"&client=3D"+z(b)+"&domain=3D"+=
z(a);s.e("Issuing a fetch cookie call with <a =
href=3D'"+c+"'>"+c+"</a>");document.write("<script src =3D =
'"+c+"'><\/script>")};y.prototype.C=3Dfunction(){document.cookie=3Dthis.f=
+"Good";var b=3Dthis.w(this.f),a=3Db=3D=3D"Good";if(a){var =
c=3Dthis.F(-1);document.cookie=3Dthis.f+"; =
expires=3D"+c.toGMTString()}return a};y.prototype.M=3Dfunction(){var =
b=3Dthis.w(this.n);if(b!=3Dnull)s.e("Read first party cookie: "+b);else =
s.m("No first party cookie found");=0A=
return b};y.prototype.w=3Dfunction(b){var =
a=3Ddocument.cookie,c=3Da.indexOf(b),e=3Dnull;if(c!=3D-1){var =
d=3Dc+b.length,f=3Da.indexOf(";",d);if(f=3D=3D-1)f=3Da.length;e=3Da.subst=
ring(d,f)}return =
e};y.prototype.O=3Dfunction(){if(this.a=3D=3Dnull)s.m("Skipping cookie =
creation: no cookie info");else if(this.b=3D=3Dnull)s.P("Skipping cookie =
creation: no cookie value");else{var b=3Dnew =
Date;b.setTime(1000*this.a._expires_);var =
a=3Dthis.a._domain_,c=3Dthis.n+this.b+"; expires=3D"+b.toGMTString()+"; =
path=3D"+this.a._path_+"; domain=3D."+a;document.cookie=3D=0A=
c;s.e("Written cookie: "+c)}};var C=3Ddocument;function D(){var =
b=3DC.cookie,a=3DMath.round((new =
Date).getTime()/1000),c=3Db.indexOf("__utma=3D")>-1,e=3Db.indexOf("__utmb=
=3D")>-1,d=3Db.indexOf("__utmc=3D")>-1,f,g=3D{};if(c){f=3Db.split("__utma=
=3D")[1].split(";")[0].split(".");g.sid=3D(!e||!d?a:f[4])+"";g.vid=3Df[1]=
+"."+f[2];g.from_cookie=3Dtrue}else{g.sid=3Dwindow&&window.gaGlobal&&wind=
ow.gaGlobal.sid?window.gaGlobal.sid:a+"";g.vid=3Dwindow&&window.gaGlobal&=
&window.gaGlobal.vid?window.gaGlobal.vid:Math.round(Math.random()*2147483=
647)+"."+a;g.from_cookie=3Dfalse}g.hid=3D=0A=
window&&window.gaGlobal&&window.gaGlobal.hid?window.gaGlobal.hid:Math.rou=
nd(Math.random()*2147483647);window.gaGlobal=3Dg;return =
g};(function(){function b(){}b.prototype.s=3Dfunction(e){var =
d=3De.indexOf("#")+1;return =
d?e.substr(d):""};b.prototype.u=3Dfunction(e){return/[&<>\"]/.test(e)?e.r=
eplace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\=
"/g,"&quot;"):e};b.prototype.d=3Dfunction(e){var d=3D"<iframe";for(var f =
in e)d+=3D" "+f+'=3D"'+this.u(e[f])+'"';return =
d+"></iframe>"};b.prototype.t=3Dfunction(e,d){try{return =
e.frames[d]}catch(f){return null}};b.prototype.i=3Dfunction(e){var =
d=3Ddocument.createElement("iframe");for(var f in e)d.setAttribute(f,=0A=
e[f]);return d};b.prototype.o=3Dfunction(e,d){var =
f=3Dthis;setTimeout(function(){document.body.appendChild(f.i({id:e,name:e=
,src:d,width:0,height:0,frameBorder:0}))},0)};b.prototype.B=3Dfunction(e,=
d){var =
f=3Dthis;document.write(f.d({id:e,name:e,src:d,width:0,height:0,frameBord=
er:0}))};b.prototype.k=3Dfunction(e,d){var =
f=3D[],g=3De.length,k=3D0;while(k<g){var =
j=3De.substr(k,d),l=3Dj.length;if(k+l<g)for(var =
i=3D1;i<3;++i)if(j.charAt(l-i)=3D=3D"%")j=3Dj.substr(0,l-=3Di);f.push(j);=
k+=3Dl}return f};b.prototype.c=3Dfunction(e,d,f){if(!window[e]){var g=3D=0A=
window[e]=3Dnew d;for(var =
k=3D0;k<f.length;++k)g[f[k][0]]=3Df[k][1]}};var =
a=3Db.prototype,c=3D[["getHash",a.s],["htmlEscape",a.u],["makeIframeTag",=
a.d],["getIframe",a.t],["makeIframeNode",a.i],["appendHiddenIframe",a.o],=
["writeHiddenIframe",a.B],["splitURIComponent",a.k],["exportSingleton",a.=
c],["MAX_URL_LENGTH",4095],["IDI_DEFAULT_POLLING_INTERVAL",1000]];b.proto=
type.c("IDICommon",b,c)})();(function(){function b(d,f){for(var g in =
f)d[g]=3Df[g]}function a(){var =
d=3Dthis;d.H=3Dwindow.location.href.replace(/([^:\/])\/.*$/,"$1/robots.tx=
t");d.I=3D"";d.r=3D{};d.g=3D{};d.j=3D{};d.J=3D{};d.v=3D{}}a.prototype.L=3D=
function(d,f,g){var k;if(typeof g=3D=3D"object")k=3Dg.moduleRelayUrl;var =
j=3Dthis,l=3Dj.g[d];if(isNaN(l))throw new Error("Invalid module =
id");else{var i=3Dtypeof =
k=3D=3D"string"?k:j.h(j.J[d]),o=3DencodeURIComponent(f)+"$",r=3DIDICommon=
.MAX_URL_LENGTH-1-i.length,t=3DIDICommon.k(o,r),w=3Dt.length;for(var =
p=3D0;p<w;++p)IDICommon.o(d+=0A=
"_"+(l+p),i+"#"+t[p]);j.g[d]+=3Dw}};a.prototype.z=3Dfunction(d,f,g){var =
k=3Dthis;k.l(d);k.v[d]=3Dwindow.setInterval(function(){k.K(d,f)},typeof =
g=3D=3D"object"&&g.pollingInterval||IDICommon.IDI_DEFAULT_POLLING_INTERVA=
L)};a.prototype.l=3Dfunction(d){var =
f=3Dthis;window.clearInterval(f.v[d]);f.v[d]=3D0};a.prototype.N=3Dfunctio=
n(d){this.H=3Dd};a.prototype.A=3Dfunction(d){this.I=3Dd};a.prototype.h=3D=
function(d){return =
this.I||d.replace(/([^:\/]\/).*$/,"$1ig/idi_relay")};a.prototype.K=3Dfunc=
tion(d,f){var g=3Dthis,k=3Dwindow.frames[d];=0A=
if(k){var =
j;while(j=3DIDICommon.t(k,d+"_"+g.r[d])){try{if(j.location.href=3D=3D"abo=
ut:blank")break}catch(l){break}g.j[d]+=3DIDICommon.s(j.location.href);++g=
.r[d]}var =
i=3Dg.j[d].split("$"),o=3Di.length-1;if(o>0){g.j[d]=3Di[o];for(var =
r=3D0;r<o;++r)f(decodeURIComponent(i[r]),d)}}};a.prototype.q=3Dfunction(d=
,f,g,k,j){var =
l=3Dthis,i=3D{frameBorder:0,scrolling:"no"},o,r,t,w,p;if(typeof =
j=3D=3D"object"){o=3Dj.iframeAttrs;r=3Dj.callback;t=3Dj.userPrefs;w=3Dj.p=
ollingInterval;p=3Dj.parentDivId}if(typeof =
o=3D=3D"object")b(i,o);b(i,{id:f,name:f,src:d,=0A=
width:g,height:k});l.r[f]=3D0;l.g[f]=3D0;l.j[f]=3D"";l.J[f]=3Dd;var =
x=3D[];if(typeof t=3D=3D"object")for(var u in =
t)x.push(encodeURIComponent(u)+"=3D"+encodeURIComponent(t[u]));if(typeof =
r=3D=3D"function"){x.push("idi_hr=3D"+encodeURIComponent(l.H));l.z(f,r,j)=
}if(x.length){var =
A=3Dx.join("&");if(i.src.length+1+A.length>IDICommon.MAX_URL_LENGTH){A+=3D=
"$";var =
L=3Dl.h(d),W=3DIDICommon.MAX_URL_LENGTH-1-L.length,M=3DIDICommon.k(A,W),N=
=3DM.length;for(var u=3D0;u<N;++u){var =
H=3Df+"_"+u,O=3DL+"#"+M[u];if(p){var =
B=3Ddocument.getElementById(p);B.innerHTML=3D=0A=
B.innerHTML+l.i({id:H,name:H,src:O,width:0,height:0,frameBorder:0})}else =
IDICommon.B(H,O)}l.g[f]+=3DN;A=3D""}i.src+=3D"#"+A}if(p){var =
B=3Ddocument.getElementById(p);B.innerHTML=3DB.innerHTML+IDICommon.d(i)}e=
lse document.write(IDICommon.d(i))};var =
c=3Da.prototype,e=3D[["setHostRelayUrl",c.N],["setModuleRelayUrl",c.A],["=
getModuleRelayUrl",c.h],["createModule",c.q],["postMessageToModule",c.L],=
["registerListener",c.z],["unregisterListener",c.l]];IDICommon.c("IDIHost=
",a,e)})();function E(b){return b!=3Dnull?'"'+b+'"':'""'}function =
z(b){if(typeof encodeURIComponent=3D=3D"function")return =
encodeURIComponent(b);else return escape(b)}function =
F(b,a){if(b&&a)window.google_ad_url+=3D"&"+b+"=3D"+a}function G(b){var =
a=3Dwindow,c=3Dn(b),e=3Da[b];F(c,e)}function =
I(b,a){if(a)F(b,z(a))}function J(b){var =
a=3Dwindow,c=3Dn(b),e=3Da[b];I(c,e)}function K(b,a){var =
c=3Dwindow,e=3Dn(b),d=3Dc[b];if(e&&d&&typeof =
d=3D=3D"object")d=3Dd[a%d.length];F(e,d)}function P(b,a){var =
c=3Db.screen,e=3Dnavigator.javaEnabled(),d=3D-a.getTimezoneOffset();=0A=
if(c){F("u_h",c.height);F("u_w",c.width);F("u_ah",c.availHeight);F("u_aw"=
,c.availWidth);F("u_cd",c.colorDepth)}F("u_tz",d);F("u_his",history.lengt=
h);F("u_java",e);if(navigator.plugins)F("u_nplug",navigator.plugins.lengt=
h);if(navigator.mimeTypes)F("u_nmime",navigator.mimeTypes.length)}functio=
n =
Q(b){if(!b.google_enable_first_party_cookie)return;if(s=3D=3Dnull)s=3Dnew=
 q;if(b._GA_googleCookieHelper=3D=3Dnull)b._GA_googleCookieHelper=3Dnew =
y;if(!b._google_cookie_fetched){b._google_cookie_fetched=3Dtrue;b._GA_goo=
gleCookieHelper.D(R(b.google_ad_client))}}=0A=
function =
R(b){if(b){b=3Db.toLowerCase();if(b.substring(0,3)!=3D"ca-")b=3D"ca-"+b}r=
eturn b}function =
S(b){if(b){b=3Db.toLowerCase();if(b.substring(0,9)!=3D"dist-aff-")b=3D"di=
st-aff-"+b}return b}function T(b,a){var =
c=3Ddocument.getElementById(b);c.style.height=3Da+"px"}function =
aa(b,a,c){window.clearTimeout(c);var =
e=3D/^google_resize_flash_ad_idi\((\d+)\)/,d=3Db.match(e);if(d)T(a,d[1])}=
function =
ba(b,a,c,e){c=3Dc.substring(0,2000);c=3Dc.replace(/%\w?$/,"");if((b.googl=
e_ad_output=3D=3D"js"||b.google_ad_output=3D=3D"json_html")&&(b.google_ad=
_request_done||=0A=
b.google_radlink_request_done))a.write('<script =
language=3D"JavaScript1.1" src=3D'+E(c)+"><\/script>");else =
if(b.google_ad_output=3D=3D"html"){if(b.name!=3D"google_ads_frame"){if(e!=
=3Dnull)a.write('<div =
id=3D"'+e+'">');if(ca(b.google_ad_output,b.google_ad_client)){IDIHost.A("=
http://pagead2.googlesyndication.com/pagead/idi_relay.html");var =
d=3D0;if(b.google_num_0ad_slots)d+=3Db.google_num_0ad_slots;if(b.google_n=
um_ad_slots)d+=3Db.google_num_ad_slots;if(b.google_num_sdo_slots)d+=3Db.g=
oogle_num_sdo_slots;var f=3D"google_inline_div"+=0A=
d,g=3D"<div id=3D"+E(f)+' =
style=3D"position:relative;width:'+b.google_ad_width+'px"></div><div =
style=3D"position:relative;width:'+b.google_ad_width+"px;height:"+b.googl=
e_ad_height+'px;z-index:-1"></div>';a.write(g);var =
k=3D"google_frame"+d,j=3Db.setTimeout(function(){IDIHost.l(k)},5000);IDIH=
ost.q(c,k,b.google_ad_width,b.google_ad_height,{callback:function(l,i){aa=
(l,i,j)},pollingInterval:500,iframeAttrs:{style:"position: =
absolute;left:0px",marginWidth:"0",marginHeight:"0",vspace:"0",hspace:"0"=
,allowTransparency:"true"},=0A=
parentDivId:f})}else{a.write('<iframe name=3D"google_ads_frame" =
width=3D'+E(b.google_ad_width)+" height=3D"+E(b.google_ad_height)+" =
frameborder=3D"+E(b.google_ad_frameborder)+" src=3D"+E(c)+' =
marginwidth=3D"0" marginheight=3D"0" vspace=3D"0" hspace=3D"0" =
allowtransparency=3D"true" =
scrolling=3D"no">');a.write("</iframe>")}if(e!=3Dnull)a.write("</div>")}}=
else if(b.google_ad_output=3D=3D"textlink")a.write('<script =
language=3D"JavaScript1.1" src=3D'+E(c)+"><\/script>")}function =
da(b){for(var a in h)b[a]=3Dnull;for(var a in =
m){if(a=3D=3D"google_correlator")continue;=0A=
b[a]=3Dnull}}function ea(b){if(b.google_ad_format)return =
b.google_ad_format.indexOf("_0ads")>0;return =
b.google_ad_output!=3D"html"&&b.google_num_radlinks>0}function =
U(b){return b&&b.indexOf("_sdo")!=3D-1}function fa(){var =
b=3Dnull,a=3Dwindow,c=3Ddocument,e=3Dnew =
Date,d=3De.getTime(),f=3Da.google_ad_format;if(a.google_cpa_choice!=3Db){=
a.google_ad_url=3D"http://pagead2.googlesyndication.com/cpa/ads?";a.googl=
e_ad_url+=3D"client=3D"+escape(R(a.google_ad_client));a.google_ad_region=3D=
"_google_cpa_region_";G("google_cpa_choice");=0A=
if(typeof c.characterSet!=3D"undefined")I("oe",c.characterSet);else =
if(typeof c.charset!=3D"undefined")I("oe",c.charset)}else =
if(U(f)){a.google_ad_url=3D"http://pagead2.googlesyndication.com/pagead/s=
do?";a.google_ad_url+=3D"client=3D"+escape(S(a.google_ad_client))}else{a.=
google_ad_url=3D"http://pagead2.googlesyndication.com/pagead/ads?";a.goog=
le_ad_url+=3D"client=3D"+escape(R(a.google_ad_client))}G("google_ad_host"=
);var =
g=3Da.google_num_slots_by_client,k=3Da.google_num_slots_by_channel,j=3Da.=
google_prev_ad_formats_by_region,=0A=
l=3Da.google_prev_ad_slotnames_by_region;if(a.google_ad_region=3D=3Db&&a.=
google_ad_section!=3Db)a.google_ad_region=3Da.google_ad_section;var =
i=3Da.google_ad_region=3D=3Db?"":a.google_ad_region;if(U(f)){if(a.google_=
num_sdo_slots)a.google_num_sdo_slots=3Da.google_num_sdo_slots+1;else =
a.google_num_sdo_slots=3D1;if(a.google_num_sdo_slots>4)return false}else =
if(ea(a)){if(a.google_num_0ad_slots)a.google_num_0ad_slots=3Da.google_num=
_0ad_slots+1;else =
a.google_num_0ad_slots=3D1;if(a.google_num_0ad_slots>3)return false}else =
if(a.google_cpa_choice=3D=3D=0A=
b){if(a.google_num_ad_slots)a.google_num_ad_slots=3Da.google_num_ad_slots=
+1;else =
a.google_num_ad_slots=3D1;if(a.google_num_slots_to_rotate){j[i]=3Db;l[i]=3D=
b;if(a.google_num_slot_to_show=3D=3Db)a.google_num_slot_to_show=3Dd%a.goo=
gle_num_slots_to_rotate+1;if(a.google_num_slot_to_show!=3Da.google_num_ad=
_slots)return false}else if(a.google_num_ad_slots>6&&i=3D=3D"")return =
false}F("dt",e.getTime());G("google_language");if(a.google_country)G("goo=
gle_country");else =
G("google_gl");G("google_region");J("google_city");J("google_hints");=0A=
G("google_safe");G("google_encoding");G("google_last_modified_time");J("g=
oogle_alternate_ad_url");G("google_alternate_color");G("google_skip");G("=
google_targeting");var =
o=3Da.google_ad_client;if(!g[o]){g[o]=3D1;g.length+=3D1}else =
g[o]+=3D1;if(j[i])if(!U(f)){I("prev_fmts",j[i].toLowerCase());if(g.length=
>1)F("slot",g[o])}if(l[i])I("prev_slotnames",l[i].toLowerCase());if(f&&!a=
.google_ad_slot){I("format",f.toLowerCase());if(!U(f))if(j[i])j[i]=3Dj[i]=
+","+f;else =
j[i]=3Df}if(a.google_ad_slot)if(l[i])l[i]=3Dl[i]+","+a.google_ad_slot;=0A=
else =
l[i]=3Da.google_ad_slot;G("google_max_num_ads");F("output",a.google_ad_ou=
tput);G("google_adtest");G("google_ad_callback");G("google_ad_slot");J("g=
oogle_correlator");if(a.google_ad_channel){J("google_ad_channel");var =
r=3D"",t=3Da.google_ad_channel.split("+");for(var =
w=3D0;w<t.length;w++){var p=3Dt[w];if(!k[p])k[p]=3D1;else =
r+=3Dp+"+"}I("pv_ch",r)}if(a.google_enable_first_party_cookie)I("cookie",=
a._GA_googleCookieHelper.G());J("google_page_url");K("google_color_bg",d)=
;K("google_color_text",d);K("google_color_link",=0A=
d);K("google_color_url",d);K("google_color_border",d);K("google_color_lin=
e",d);if(a.google_reuse_colors)F("reuse_colors",1);else =
F("reuse_colors",0);G("google_kw_type");J("google_kw");J("google_contents=
");G("google_num_radlinks");G("google_max_radlink_len");G("google_rl_filt=
ering");G("google_rl_mode");G("google_rt");J("google_rl_dest_url");G("goo=
gle_num_radlinks_per_unit");G("google_ad_type");G("google_image_size");G(=
"google_ad_region");G("google_feedback");J("google_referrer_url");J("goog=
le_page_location");=0A=
F("frm",a.google_iframing);G("google_bid");G("google_cust_age");G("google=
_cust_gender");G("google_cust_interests");G("google_cust_id");G("google_c=
ust_job");G("google_cust_u_url");G("google_cust_l");G("google_cust_lh");G=
("google_cust_ch");G("google_ed");J("google_ui_features");J("google_only_=
ads_with_video");J("google_disable_video_autoplay");if(V(a,c)&&c.body){va=
r =
x=3Dc.body.scrollHeight,u=3Dc.body.clientHeight;if(u&&x)I("cc",Math.round=
(u*100/x))}D();F("ga_vid",a.gaGlobal.vid);F("ga_sid",a.gaGlobal.sid);=0A=
F("ga_hid",a.gaGlobal.hid);F("ga_fc",a.gaGlobal.from_cookie);J("google_an=
alytics_uacct");G("google_ad_override");G("google_flash_version");P(a,e);=
return true}function X(){var =
b=3Dwindow,a=3Ddocument;Q(b);if(!fa())return;ba(b,a,b.google_ad_url,null)=
;da(b)}function ga(b,a,c){X();return true}function V(b,a){return =
b.top.location=3D=3Da.location}function ha(b,a){var =
c=3Da.documentElement;if(V(b,a))return =
false;if(b.google_ad_width&&b.google_ad_height){var =
e=3D1,d=3D1;if(b.innerHeight){e=3Db.innerWidth;d=3Db.innerHeight}else =
if(c&&=0A=
c.clientHeight){e=3Dc.clientWidth;d=3Dc.clientHeight}else =
if(a.body){e=3Da.body.clientWidth;d=3Da.body.clientHeight}if(d>2*b.google=
_ad_height||e>2*b.google_ad_width)return false}return true}function =
ia(b){var =
a=3Dwindow,c=3Dnull,e=3Da.onerror;a.onerror=3Db;if(a.google_ad_frameborde=
r=3D=3Dc)a.google_ad_frameborder=3D0;if(a.google_ad_output=3D=3Dc)a.googl=
e_ad_output=3D"html";if(U(a.google_ad_format)){var =
d=3Da.google_ad_format.match(/^(\d+)x(\d+)_.*/);if(d){a.google_ad_width=3D=
parseInt(d[1],10);a.google_ad_height=3DparseInt(d[2],10);=0A=
a.google_ad_output=3D"html"}}if(a.google_ad_format=3D=3Dc&&a.google_ad_ou=
tput=3D=3D"html")a.google_ad_format=3Da.google_ad_width+"x"+a.google_ad_h=
eight;ja(a,document);if(a.google_num_slots_by_channel=3D=3Dc)a.google_num=
_slots_by_channel=3D[];if(a.google_num_slots_by_client=3D=3Dc)a.google_nu=
m_slots_by_client=3D[];if(a.google_prev_ad_formats_by_region=3D=3Dc)a.goo=
gle_prev_ad_formats_by_region=3D[];if(a.google_prev_ad_slotnames_by_regio=
n=3D=3Dc)a.google_prev_ad_slotnames_by_region=3D[];if(a.google_correlator=
=3D=3Dc)a.google_correlator=3D(new Date).getTime();=0A=
if(a.google_adslot_loaded=3D=3Dc)a.google_adslot_loaded=3D{};if(a.google_=
adContentsBySlot=3D=3Dc)a.google_adContentsBySlot=3D{};if(a.google_flash_=
version=3D=3Dc)a.google_flash_version=3Dka();a.onerror=3De}function =
la(b){if(b in Y)return Y[b];return =
Y[b]=3Dnavigator.userAgent.toLowerCase().indexOf(b)!=3D-1}var =
Y=3D{};function ca(b,a){if(b!=3D"html")return false;var =
c=3D{};c["ca-pub-7027491298716603"]=3Dtrue;c["ca-pub-8344185808443527"]=3D=
true;c["ca-pub-9812682548211238"]=3Dtrue;c["ca-pub-4424308218891706"]=3Dt=
rue;c["ca-pub-6922559858235084"]=3D=0A=
true;c["ca-pub-6477563040863705"]=3Dtrue;c["ca-google"]=3Dtrue;return =
c[R(a)]!=3Dnull}function ma(b){var =
a=3D{},c=3Db.split("?"),e=3Dc[c.length-1].split("&");for(var =
d=3D0;d<e.length;d++){var =
f=3De[d].split("=3D");if(f[0])try{a[f[0].toLowerCase()]=3Df.length>1?(win=
dow.decodeURIComponent?decodeURIComponent(f[1].replace(/\+/g," =
")):unescape(f[1])):""}catch(g){}}return a}function na(){var =
b=3Dwindow,a=3Dma(document.URL);if(a.google_ad_override)b.google_ad_overr=
ide=3Da.google_ad_override}function =
ka(){if(navigator.plugins&&navigator.mimeTypes.length){var b=3D=0A=
navigator.plugins["Shockwave Flash"];if(b&&b.description)return =
b.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s)+r/,".")}else =
if(navigator.userAgent&&navigator.userAgent.indexOf("Windows =
CE")>=3D0){var a=3D3,c=3D1;while(c)try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+(a+1));a++}catch(e){c=3Dnu=
ll}return a.toString()}else if(la("msie")&&!window.opera){var =
c=3Dnull;try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(e){var =
a=3D0;try{c=3Dnew ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");=0A=
a=3D6;c.AllowScriptAccess=3D"always"}catch(e){if(a=3D=3D6)return =
a.toString()}try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}}if(c!=3Dnull){v=
ar a=3Dc.GetVariable("$version").split(" ")[1];return =
a.replace(/,/g,".")}}return"0"}function oa(b,a){for(var c in =
a)b["google_"+c]=3Da[c]}function Z(b,a){if(!a)return b.location;return =
b.referrer}function pa(b,a){if(b.location=3D=3Da)return =
Date.parse(b.lastModified)/1000;else return null}function =
qa(b,a){if(!a&&b.google_referrer_url=3D=3Dnull)return"0";else if(a&&=0A=
b.google_referrer_url=3D=3Dnull)return"1";else =
if(!a&&b.google_referrer_url!=3Dnull)return"2";else =
if(a&&b.google_referrer_url!=3Dnull)return"3";return"4"}function =
ra(b,a,c){if(c)return b.google_referrer_url;else =
if(b.google_page_url&&b.google_referrer_url)return =
b.google_referrer_url;else return a.referrer}function =
sa(b,a,c,e){b.page_url=3DZ(c,e);b.page_location=3Dnull}function =
ta(b,a,c,e){b.page_url=3Da.google_page_url;b.page_location=3DZ(c,e)||"EMP=
TY"}function ua(b,a){var =
c=3D{},e=3Dha(b,a);c.iframing=3Dqa(b,e);if(!(!b.google_page_url))ta(c,=0A=
b,a,e);else =
sa(c,b,a,e);c.last_modified_time=3Dpa(a,c.page_url);c.referrer_url=3Dra(b=
,a,e);return c}function va(b){var =
a=3D{},c=3Db.URL.substring(b.URL.lastIndexOf("http"));a.iframing=3Dnull;a=
.page_url=3Dc;a.page_location=3Db.location;a.last_modified_time=3Dnull;a.=
referrer_url=3Dc;return a}function ja(b,a){var =
c;if(b.google_page_url=3D=3Dnull&&$[a.domain])c=3Dva(a);else =
c=3Dua(b,a);oa(b,c)}var =
$=3D{};$["ad.yieldmanager.com"]=3Dtrue;na();ia(ga);X();=0A=
})()=0A=

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Location: http://www.californiachronicle.com/_js/moveBio.js


var bio = document.getElementById("authorBioTemp").innerHTML;
document.getElementById("authorBioTemp").innerHTML = "";
document.getElementById("authorBioContainer").innerHTML = bio;
------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://hits.nextstat.com/cgi-bin/wsv2.cgi?87772

function wf_get_rfsqv() {=0A=
  var q =3D (WS_rfs_3p && WS_ref.indexOf('?') > =
0)?WS_ref.substring(WS_ref.indexOf('?')+1):WS_rfs.location.search.substri=
ng(1),v =3D q.split("&");=0A=
  for (var i=3D0;i<v.length;i++) {=0A=
    var m =3D v[i].split("=3D");=0A=
    if (m[0] =3D=3D 'WSCam') WS_Cam =3D m[1];=0A=
    else if (m[0] =3D=3D 'WSEvt') WS_Evt =3D m[1];=0A=
  } =0A=
}=0A=
=0A=
function wf_rfs_main (wd)=0A=
{=0A=
	var fr,ua=3Dnavigator.userAgent, getit=3D1;=0A=
    if (ua.indexOf('MAC')>=3D0&&ua.indexOf('MSIE 4')>=3D0) return WS_w;=0A=
    else=0A=
    {=0A=
        if (WS_d.cookie)=0A=
        {=0A=
           var cv =3D ' ' + WS_d.cookie;=0A=
           if (cv.indexOf (' ws_rfs=3D') >=3D 0) return WS_w;=0A=
        }=0A=
        =0A=
        WS_w.tmp_oe =3D WS_w.onerror;=0A=
        WS_w.onerror =3D wf_rfs_oe;=0A=
        fr =3D wf_rfs_loop (wd);=0A=
        WS_w.onerror =3D (WS_w.tmp_oe)?WS_w.tmp_oe:'';=0A=
        return fr;=0A=
    }=0A=
}=0A=
=0A=
function wf_rfs_loop (wd) {=0A=
	var d =3D wd.parent, w =3D wd.location;=0A=
    WS_rfs =3D wd; =0A=
	if (d && d.location !=3D w && d.location.host =3D=3D w.host) { WS_rfs =
=3D d; return wf_rfs_loop (WS_rfs) } return WS_rfs;=0A=
}=0A=
=0A=
function wf_rfs_oe (e) =0A=
{=0A=
    if (! WS_rfs_3p)=0A=
    {=0A=
        WS_rfs_3p =3D 1;=0A=
        wf_doit();=0A=
    }=0A=
    return true;=0A=
}=0A=
function wf_rfs_get() { if (! WS_rfs) { WS_rfs =3D WS_w; WS_rfs =3D =
wf_rfs_main (WS_rfs); } return WS_rfs; }=0A=
function wf_evt_trk(et){var i=3Dnew Image();i.src=3Det;}=0A=
=0A=
var WS_ac=3D"87772";=0A=
var WS_w=3Dwindow, WS_d=3Ddocument, WS_rfs =3D 0, WS_rfs_3p =3D 0, =
WS_ref =3D WS_d.referrer;=0A=
=0A=
var WS_aref;=0A=
var WS_pn;=0A=
var WS_pnj =3D "";=0A=
var WS_Cam, WS_Evt;=0A=
if (WS_pn) WS_pn =3D escape(WS_pn);=0A=
else if (WS_pnj) WS_pn =3D escape(WS_pnj);=0A=
else WS_pn =3D "";=0A=
=0A=
var WS_c=3D (WS_c) ? WS_c : "yes";=0A=
var WS_vp =3D (typeof(document.location) !=3D "undefined") ? =
document.location : "";=0A=
if (WS_vp =3D=3D "[object]") WS_vp =3D "";=0A=
if (!WS_vp) WS_vp =3D (typeof(document.URL) !=3D "undefined") ? =
document.URL : "";=0A=
=0A=
var WS_dobj =3D new Date();=0A=
var tzoffset =3D "";=0A=
if (WS_dobj.getTimezoneOffset) tzoffset =3D WS_dobj.getTimezoneOffset();=0A=
var WS_langs =3D "";=0A=
if (navigator.systemLanguage) WS_langs =3D  navigator.systemLanguage;=0A=
=0A=
var =
WS_sw=3Dscreen.width,WS_sh=3Dscreen.height,WS_sc=3Dscreen.colorDepth,WS_s=
p=3Dscreen.pixelDepth;=0A=
if (!WS_sw){var WS_sw=3D"";}=0A=
if (!WS_sh){var WS_sh=3D"";}=0A=
if (!WS_sc){var WS_sc=3DWS_sp;}=0A=
if (!WS_sc){var WS_sc=3D"";}=0A=
if (!WS_pg){var WS_pg=3D"123";}=0A=
=0A=
var WS_js=3D"Undetermined";=0A=
WS_d.write('<sc'+'ript language=3D"JavaS'+'cript">WS_js =3D =
"1"</script'+'>');=0A=
WS_d.write('<sc'+'ript language=3D"JavaS'+'cript1.1">WS_js =3D =
"1.1"</script'+'>');=0A=
WS_d.write('<sc'+'ript language=3D"JavaS'+'cript1.2">WS_js =3D =
"1.2"</script'+'>');=0A=
WS_d.write('<sc'+'ript language=3D"JavaS'+'cript1.3">WS_js =3D =
"1.3"</script'+'>');=0A=
WS_d.write('<sc'+'ript language=3D"JavaS'+'cript1.4">WS_js =3D =
"1.4"</script'+'>');=0A=
WS_d.write('<sc'+'ript language=3D"JavaS'+'cript1.5">WS_js =3D =
"1.5"</script'+'>');=0A=
WS_d.write('<sc'+'ript language=3D"JavaS'+'cript1.6">WS_js =3D =
"1.6"</script'+'>');=0A=
WS_d.write('<sc'+'ript language=3D"JavaS'+'cript2.0">WS_js =3D =
"2.0"</script'+'>');=0A=
=0A=
var WS_burl =3D 'http://hits.nextstat.com/scripts/wsb.php?';=0A=
if (window.location.protocol.toLowerCase().indexOf('https') >=3D 0) =
WS_burl =3D 'https://secure.webstat.com/scripts/wsb.php?';=0A=
=0A=
function wf_doit()=0A=
{=0A=
    var lurl =3D "http://www.webstat.com/";=0A=
    var WS_pgload_et;=0A=
    var WS_pg =3D Math.round(Math.random()*(99999 - 1))+1;=0A=
    =0A=
    if (WS_aref) lurl =3D "http://www.webstat.com/" + "?aref=3D" + =
WS_aref;=0A=
    =0A=
    if (WS_rfs && WS_rfs!=3DWS_w) WS_d.cookie =3D 'ws_rfs=3D1; =
path=3D/;';=0A=
    WS_ref =3D WS_rfs.document.referrer;=0A=
    wf_get_rfsqv();=0A=
    =0A=
    if(WS_ref) {=0A=
      WS_ref.toLowerCase();=0A=
      if(WS_ref.indexOf("unknown") !=3D -1) WS_ref =3D "";=0A=
      WS_ref =3D escape(WS_ref); =0A=
    }=0A=
	WS_vp =3D escape(WS_vp);=0A=
    WS_pgload_et =3D WS_burl + 'WSc=3D' +WS_c+ '&WSpn=3D' +WS_pn+ =
'&WSref=3D' +WS_ref+ '&pg=3D' +WS_pg+ '&ac=3D' +WS_ac+ '&w=3D' +WS_sw+ =
'&h=3D' +WS_sh+ '&c=3D' +WS_sc+ '&js=3D' +WS_js+ '&WSvp=3D' +WS_vp+ =
'&tz=3D' +tzoffset+'&ls=3D' + WS_langs + =
'&cam=3D'+WS_Cam+'&evt=3D'+WS_Evt;=0A=
    	 WS_d.write('<div style=3D"visibility: visible; z-index:1000;">');  =
   WS_d.write('<a href=3D"' + lurl + '" target=3D"_new"><img =
SRC=3D"'+WS_pgload_et+'" border=3D"0" alt=3D"" width=3D1 height=3D1 =
/></a>');=0A=
	 WS_d.write('</div>');         WS_didit =3D 1;=0A=
}=0A=
=0A=
var WS_didit =3D 0;=0A=
wf_rfs_get();=0A=
if (! WS_didit) wf_doit();=0A=

------=_NextPart_000_003E_01C88B62.F2AA6BD0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.google-analytics.com/urchin.js

//-- Google Analytics Urchin Module=0A=
//-- Copyright 2007 Google, All Rights Reserved.=0A=
=0A=
//-- Urchin On Demand Settings ONLY=0A=
var _uacct=3D"";			// set up the Urchin Account=0A=
var _userv=3D1;			// service mode (0=3Dlocal,1=3Dremote,2=3Dboth)=0A=
=0A=
//-- UTM User Settings=0A=
var _ufsc=3D1;			// set client info flag (1=3Don|0=3Doff)=0A=
var _udn=3D"auto";		// (auto|none|domain) set the domain name for cookies=0A=
var _uhash=3D"on";		// (on|off) unique domain hash for cookies=0A=
var _utimeout=3D"1800";   	// set the inactive session timeout in seconds=0A=
var _ugifpath=3D"/__utm.gif";	// set the web path to the __utm.gif file=0A=
var _utsp=3D"|";			// transaction field separator=0A=
var _uflash=3D1;			// set flash version detect option (1=3Don|0=3Doff)=0A=
var _utitle=3D1;			// set the document title detect option =
(1=3Don|0=3Doff)=0A=
var _ulink=3D0;			// enable linker functionality (1=3Don|0=3Doff)=0A=
var _uanchor=3D0;			// enable use of anchors for campaign =
(1=3Don|0=3Doff)=0A=
var _utcp=3D"/";			// the cookie path for tracking=0A=
var _usample=3D100;		// The sampling % of visitors to track (1-100).=0A=
=0A=
//-- UTM Campaign Tracking Settings=0A=
var _uctm=3D1;			// set campaign tracking module (1=3Don|0=3Doff)=0A=
var _ucto=3D"15768000";		// set timeout in seconds (6 month default)=0A=
var _uccn=3D"utm_campaign";	// name=0A=
var _ucmd=3D"utm_medium";		// medium (cpc|cpm|link|email|organic)=0A=
var _ucsr=3D"utm_source";		// source=0A=
var _uctr=3D"utm_term";		// term/keyword=0A=
var _ucct=3D"utm_content";	// content=0A=
var _ucid=3D"utm_id";		// id number=0A=
var _ucno=3D"utm_nooverride";	// don't override=0A=
=0A=
//-- Auto/Organic Sources and Keywords=0A=
var _uOsr=3Dnew Array();=0A=
var _uOkw=3Dnew Array();=0A=
_uOsr[0]=3D"google";	_uOkw[0]=3D"q";=0A=
_uOsr[1]=3D"yahoo";	_uOkw[1]=3D"p";=0A=
_uOsr[2]=3D"msn";		_uOkw[2]=3D"q";=0A=
_uOsr[3]=3D"aol";		_uOkw[3]=3D"query";=0A=
_uOsr[4]=3D"aol";		_uOkw[4]=3D"encquery";=0A=
_uOsr[5]=3D"lycos";	_uOkw[5]=3D"query";=0A=
_uOsr[6]=3D"ask";		_uOkw[6]=3D"q";=0A=
_uOsr[7]=3D"altavista";	_uOkw[7]=3D"q";=0A=
_uOsr[8]=3D"netscape";	_uOkw[8]=3D"query";=0A=
_uOsr[9]=3D"cnn";	_uOkw[9]=3D"query";=0A=
_uOsr[10]=3D"looksmart";	_uOkw[10]=3D"qt";=0A=
_uOsr[11]=3D"about";	_uOkw[11]=3D"terms";=0A=
_uOsr[12]=3D"mamma";	_uOkw[12]=3D"query";=0A=
_uOsr[13]=3D"alltheweb";	_uOkw[13]=3D"q";=0A=
_uOsr[14]=3D"gigablast";	_uOkw[14]=3D"q";=0A=
_uOsr[15]=3D"voila";	_uOkw[15]=3D"rdata";=0A=
_uOsr[16]=3D"virgilio";	_uOkw[16]=3D"qs";=0A=
_uOsr[17]=3D"live";	_uOkw[17]=3D"q";=0A=
_uOsr[18]=3D"baidu";	_uOkw[18]=3D"wd";=0A=
_uOsr[19]=3D"alice";	_uOkw[19]=3D"qs";=0A=
_uOsr[20]=3D"yandex";	_uOkw[20]=3D"text";=0A=
_uOsr[21]=3D"najdi";	_uOkw[21]=3D"q";=0A=
_uOsr[22]=3D"aol";	_uOkw[22]=3D"q";=0A=
_uOsr[23]=3D"club-internet"; _uOkw[23]=3D"q";=0A=
_uOsr[24]=3D"mama";	_uOkw[24]=3D"query";=0A=
_uOsr[25]=3D"seznam";	_uOkw[25]=3D"q";=0A=
_uOsr[26]=3D"search";	_uOkw[26]=3D"q";=0A=
_uOsr[27]=3D"szukaj";	_uOkw[27]=3D"szukaj";=0A=
_uOsr[28]=3D"szukaj";	_uOkw[28]=3D"qt";=0A=
_uOsr[29]=3D"netsprint";	_uOkw[29]=3D"q";=0A=
_uOsr[30]=3D"google.interia";	_uOkw[30]=3D"q";=0A=
_uOsr[31]=3D"szukacz";	_uOkw[31]=3D"q";=0A=
_uOsr[32]=3D"yam";	_uOkw[32]=3D"k";=0A=
_uOsr[33]=3D"pchome";	_uOkw[33]=3D"q";=0A=
=0A=
=0A=
//-- Auto/Organic Keywords to Ignore=0A=
var _uOno=3Dnew Array();=0A=
//_uOno[0]=3D"urchin";=0A=
//_uOno[1]=3D"urchin.com";=0A=
//_uOno[2]=3D"www.urchin.com";=0A=
=0A=
//-- Referral domains to Ignore=0A=
var _uRno=3Dnew Array();=0A=
//_uRno[0]=3D".urchin.com";=0A=
=0A=
//-- **** Don't modify below this point ***=0A=
var =
_uff,_udh,_udt,_ubl=3D0,_udo=3D"",_uu,_ufns=3D0,_uns=3D0,_ur=3D"-",_ufno=3D=
0,_ust=3D0,_ubd=3Ddocument,_udl=3D_ubd.location,_udlh=3D"",_uwv=3D"1";=0A=
var _ugifpath2=3D"http://www.google-analytics.com/__utm.gif";=0A=
if (_udl.hash) _udlh=3D_udl.href.substring(_udl.href.indexOf('#'));=0A=
if (_udl.protocol=3D=3D"https:") =
_ugifpath2=3D"https://ssl.google-analytics.com/__utm.gif";=0A=
if (!_utcp || _utcp=3D=3D"") _utcp=3D"/";=0A=
function urchinTracker(page) {=0A=
 if (_udl.protocol=3D=3D"file:") return;=0A=
 if (_uff && (!page || page=3D=3D"")) return;=0A=
 var a,b,c,xx,v,z,k,x=3D"",s=3D"",f=3D0;=0A=
 var nx=3D" expires=3D"+_uNx()+";";=0A=
 var dc=3D_ubd.cookie;=0A=
 _udh=3D_uDomain();=0A=
 if (!_uVG()) return;=0A=
 _uu=3DMath.round(Math.random()*2147483647);=0A=
 _udt=3Dnew Date();=0A=
 _ust=3DMath.round(_udt.getTime()/1000);=0A=
 a=3Ddc.indexOf("__utma=3D"+_udh);=0A=
 b=3Ddc.indexOf("__utmb=3D"+_udh);=0A=
 c=3Ddc.indexOf("__utmc=3D"+_udh);=0A=
 if (_udn && _udn!=3D"") { _udo=3D" domain=3D"+_udn+";"; }=0A=
 if (_utimeout && _utimeout!=3D"") {=0A=
  x=3Dnew Date(_udt.getTime()+(_utimeout*1000));=0A=
  x=3D" expires=3D"+x.toGMTString()+";";=0A=
 }=0A=
 if (_ulink) {=0A=
  if (_uanchor && _udlh && _udlh!=3D"") s=3D_udlh+"&";=0A=
  s+=3D_udl.search;=0A=
  if(s && s!=3D"" && s.indexOf("__utma=3D")>=3D0) {=0A=
   if (!(_uIN(a=3D_uGC(s,"__utma=3D","&")))) a=3D"-";=0A=
   if (!(_uIN(b=3D_uGC(s,"__utmb=3D","&")))) b=3D"-";=0A=
   if (!(_uIN(c=3D_uGC(s,"__utmc=3D","&")))) c=3D"-";=0A=
   v=3D_uGC(s,"__utmv=3D","&");=0A=
   z=3D_uGC(s,"__utmz=3D","&");=0A=
   k=3D_uGC(s,"__utmk=3D","&");=0A=
   xx=3D_uGC(s,"__utmx=3D","&");=0A=
   if ((k*1) !=3D ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) =
{_ubl=3D1;a=3D"-";b=3D"-";c=3D"-";xx=3D"-";z=3D"-";v=3D"-";}=0A=
   if (a!=3D"-" && b!=3D"-" && c!=3D"-") f=3D1;=0A=
   else if(a!=3D"-") f=3D2;=0A=
  }=0A=
 }=0A=
 if(f=3D=3D1) {=0A=
  _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A=
  _ubd.cookie=3D"__utmb=3D"+b+"; path=3D"+_utcp+";"+x+_udo;=0A=
  _ubd.cookie=3D"__utmc=3D"+c+"; path=3D"+_utcp+";"+_udo;=0A=
 } else if (f=3D=3D2) {=0A=
  a=3D_uFixA(s,"&",_ust);=0A=
  _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A=
  _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A=
  _ubd.cookie=3D"__utmc=3D"+_udh+"; path=3D"+_utcp+";"+_udo;=0A=
  _ufns=3D1;=0A=
 } else if (a>=3D0 && b>=3D0 && c>=3D0) {=0A=
  _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A=
 } else {=0A=
  if (a>=3D0) a=3D_uFixA(_ubd.cookie,";",_ust);=0A=
  else a=3D_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";=0A=
  _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A=
  _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A=
  _ubd.cookie=3D"__utmc=3D"+_udh+"; path=3D"+_utcp+";"+_udo;=0A=
  _ufns=3D1;=0A=
 }=0A=
 if (_ulink && xx && xx!=3D"" && xx!=3D"-") {=0A=
   xx=3D_uUES(xx);=0A=
   if (xx.indexOf(";")=3D=3D-1) _ubd.cookie=3D"__utmx=3D"+xx+"; =
path=3D"+_utcp+";"+nx+_udo;=0A=
 }=0A=
 if (_ulink && v && v!=3D"" && v!=3D"-") {=0A=
  v=3D_uUES(v);=0A=
  if (v.indexOf(";")=3D=3D-1) _ubd.cookie=3D"__utmv=3D"+v+"; =
path=3D"+_utcp+";"+nx+_udo;=0A=
 }=0A=
 _uInfo(page);=0A=
 _ufns=3D0;=0A=
 _ufno=3D0;=0A=
 if (!page || page=3D=3D"") _uff=3D1;=0A=
}=0A=
function _uInfo(page) {=0A=
 var p,s=3D"",dm=3D"",pg=3D_udl.pathname+_udl.search;=0A=
 if (page && page!=3D"") pg=3D_uES(page,1);=0A=
 _ur=3D_ubd.referrer;=0A=
 if (!_ur || _ur=3D=3D"") { _ur=3D"-"; }=0A=
 else {=0A=
  dm=3D_ubd.domain;=0A=
  if(_utcp && _utcp!=3D"/") dm+=3D_utcp;=0A=
  p=3D_ur.indexOf(dm);=0A=
  if ((p>=3D0) && (p<=3D8)) { _ur=3D"0"; }=0A=
  if (_ur.indexOf("[")=3D=3D0 && =
_ur.lastIndexOf("]")=3D=3D(_ur.length-1)) { _ur=3D"-"; }=0A=
 }=0A=
 s+=3D"&utmn=3D"+_uu;=0A=
 if (_ufsc) s+=3D_uBInfo();=0A=
 if (_uctm) s+=3D_uCInfo();=0A=
 if (_utitle && _ubd.title && _ubd.title!=3D"") =
s+=3D"&utmdt=3D"+_uES(_ubd.title);=0A=
 if (_udl.hostname && _udl.hostname!=3D"") =
s+=3D"&utmhn=3D"+_uES(_udl.hostname);=0A=
 s+=3D"&utmr=3D"+_ur;=0A=
 s+=3D"&utmp=3D"+pg;=0A=
 if ((_userv=3D=3D0 || _userv=3D=3D2) && _uSP()) {=0A=
  var i=3Dnew Image(1,1);=0A=
  i.src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s;=0A=
  i.onload=3Dfunction() {_uVoid();}=0A=
 }=0A=
 if ((_userv=3D=3D1 || _userv=3D=3D2) && _uSP()) {=0A=
  var i2=3Dnew Image(1,1);=0A=
  =
i2.src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D"+=
_uGCS();=0A=
  i2.onload=3Dfunction() { _uVoid(); }=0A=
 }=0A=
 return;=0A=
}=0A=
function _uVoid() { return; }=0A=
function _uCInfo() {=0A=
 if (!_ucto || _ucto=3D=3D"") { _ucto=3D"15768000"; }=0A=
 if (!_uVG()) return;=0A=
 var =
c=3D"",t=3D"-",t2=3D"-",t3=3D"-",o=3D0,cs=3D0,cn=3D0,i=3D0,z=3D"-",s=3D""=
;=0A=
 if (_uanchor && _udlh && _udlh!=3D"") s=3D_udlh+"&";=0A=
 s+=3D_udl.search;=0A=
 var x=3Dnew Date(_udt.getTime()+(_ucto*1000));=0A=
 var dc=3D_ubd.cookie;=0A=
 x=3D" expires=3D"+x.toGMTString()+";";=0A=
 if (_ulink && !_ubl) {=0A=
  z=3D_uUES(_uGC(s,"__utmz=3D","&"));=0A=
  if (z!=3D"-" && z.indexOf(";")=3D=3D-1) { =
_ubd.cookie=3D"__utmz=3D"+z+"; path=3D"+_utcp+";"+x+_udo; return ""; }=0A=
 }=0A=
 z=3Ddc.indexOf("__utmz=3D"+_udh);=0A=
 if (z>-1) { z=3D_uGC(dc,"__utmz=3D"+_udh,";"); }=0A=
 else { z=3D"-"; }=0A=
 t=3D_uGC(s,_ucid+"=3D","&");=0A=
 t2=3D_uGC(s,_ucsr+"=3D","&");=0A=
 t3=3D_uGC(s,"gclid=3D","&");=0A=
 if ((t!=3D"-" && t!=3D"") || (t2!=3D"-" && t2!=3D"") || (t3!=3D"-" && =
t3!=3D"")) {=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"utmcid=3D"+_uEC(t);=0A=
  if (t2!=3D"-" && t2!=3D"") { if (c !=3D "") c+=3D"|"; =
c+=3D"utmcsr=3D"+_uEC(t2); }=0A=
  if (t3!=3D"-" && t3!=3D"") { if (c !=3D "") c+=3D"|"; =
c+=3D"utmgclid=3D"+_uEC(t3); }=0A=
  t=3D_uGC(s,_uccn+"=3D","&");=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"|utmccn=3D"+_uEC(t);=0A=
  else c+=3D"|utmccn=3D(not+set)";=0A=
  t=3D_uGC(s,_ucmd+"=3D","&");=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"|utmcmd=3D"+_uEC(t);=0A=
  else  c+=3D"|utmcmd=3D(not+set)";=0A=
  t=3D_uGC(s,_uctr+"=3D","&");=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"|utmctr=3D"+_uEC(t);=0A=
  else { t=3D_uOrg(1); if (t!=3D"-" && t!=3D"") =
c+=3D"|utmctr=3D"+_uEC(t); }=0A=
  t=3D_uGC(s,_ucct+"=3D","&");=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"|utmcct=3D"+_uEC(t);=0A=
  t=3D_uGC(s,_ucno+"=3D","&");=0A=
  if (t=3D=3D"1") o=3D1;=0A=
  if (z!=3D"-" && o=3D=3D1) return "";=0A=
 }=0A=
 if (c=3D=3D"-" || c=3D=3D"") { c=3D_uOrg(); if (z!=3D"-" && =
_ufno=3D=3D1)  return ""; }=0A=
 if (c=3D=3D"-" || c=3D=3D"") { if (_ufns=3D=3D1)  c=3D_uRef(); if =
(z!=3D"-" && _ufno=3D=3D1)  return ""; }=0A=
 if (c=3D=3D"-" || c=3D=3D"") {=0A=
  if (z=3D=3D"-" && _ufns=3D=3D1) { =
c=3D"utmccn=3D(direct)|utmcsr=3D(direct)|utmcmd=3D(none)"; }=0A=
  if (c=3D=3D"-" || c=3D=3D"") return "";=0A=
 }=0A=
 if (z!=3D"-") {=0A=
  i=3Dz.indexOf(".");=0A=
  if (i>-1) i=3Dz.indexOf(".",i+1);=0A=
  if (i>-1) i=3Dz.indexOf(".",i+1);=0A=
  if (i>-1) i=3Dz.indexOf(".",i+1);=0A=
  t=3Dz.substring(i+1,z.length);=0A=
  if (t.toLowerCase()=3D=3Dc.toLowerCase()) cs=3D1;=0A=
  t=3Dz.substring(0,i);=0A=
  if ((i=3Dt.lastIndexOf(".")) > -1) {=0A=
   t=3Dt.substring(i+1,t.length);=0A=
   cn=3D(t*1);=0A=
  }=0A=
 }=0A=
 if (cs=3D=3D0 || _ufns=3D=3D1) {=0A=
  t=3D_uGC(dc,"__utma=3D"+_udh,";");=0A=
  if ((i=3Dt.lastIndexOf(".")) > 9) {=0A=
   _uns=3Dt.substring(i+1,t.length);=0A=
   _uns=3D(_uns*1);=0A=
  }=0A=
  cn++;=0A=
  if (_uns=3D=3D0) _uns=3D1;=0A=
  _ubd.cookie=3D"__utmz=3D"+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; =
path=3D"+_utcp+"; "+x+_udo;=0A=
 }=0A=
 if (cs=3D=3D0 || _ufns=3D=3D1) return "&utmcn=3D1";=0A=
 else return "&utmcr=3D1";=0A=
}=0A=
function _uRef() {=0A=
 if (_ur=3D=3D"0" || _ur=3D=3D"" || _ur=3D=3D"-") return "";=0A=
 var i=3D0,h,k,n;=0A=
 if ((i=3D_ur.indexOf("://"))<0) return "";=0A=
 h=3D_ur.substring(i+3,_ur.length);=0A=
 if (h.indexOf("/") > -1) {=0A=
  k=3Dh.substring(h.indexOf("/"),h.length);=0A=
  if (k.indexOf("?") > -1) k=3Dk.substring(0,k.indexOf("?"));=0A=
  h=3Dh.substring(0,h.indexOf("/"));=0A=
 }=0A=
 h=3Dh.toLowerCase();=0A=
 n=3Dh;=0A=
 if ((i=3Dn.indexOf(":")) > -1) n=3Dn.substring(0,i);=0A=
 for (var ii=3D0;ii<_uRno.length;ii++) {=0A=
  if ((i=3Dn.indexOf(_uRno[ii].toLowerCase())) > -1 && =
n.length=3D=3D(i+_uRno[ii].length)) { _ufno=3D1; break; }=0A=
 }=0A=
 if (h.indexOf("www.")=3D=3D0) h=3Dh.substring(4,h.length);=0A=
 return =
"utmccn=3D(referral)|utmcsr=3D"+_uEC(h)+"|"+"utmcct=3D"+_uEC(k)+"|utmcmd=3D=
referral";=0A=
}=0A=
function _uOrg(t) {=0A=
 if (_ur=3D=3D"0" || _ur=3D=3D"" || _ur=3D=3D"-") return "";=0A=
 var i=3D0,h,k;=0A=
 if ((i=3D_ur.indexOf("://")) < 0) return "";=0A=
 h=3D_ur.substring(i+3,_ur.length);=0A=
 if (h.indexOf("/") > -1) {=0A=
  h=3Dh.substring(0,h.indexOf("/"));=0A=
 }=0A=
 for (var ii=3D0;ii<_uOsr.length;ii++) {=0A=
  if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) {=0A=
   if ((i=3D_ur.indexOf("?"+_uOkw[ii]+"=3D")) > -1 || =
(i=3D_ur.indexOf("&"+_uOkw[ii]+"=3D")) > -1) {=0A=
    k=3D_ur.substring(i+_uOkw[ii].length+2,_ur.length);=0A=
    if ((i=3Dk.indexOf("&")) > -1) k=3Dk.substring(0,i);=0A=
    for (var yy=3D0;yy<_uOno.length;yy++) {=0A=
     if (_uOno[yy].toLowerCase()=3D=3Dk.toLowerCase()) { _ufno=3D1; =
break; }=0A=
    }=0A=
    if (t) return _uEC(k);=0A=
    else return =
"utmccn=3D(organic)|utmcsr=3D"+_uEC(_uOsr[ii])+"|"+"utmctr=3D"+_uEC(k)+"|=
utmcmd=3Dorganic";=0A=
   }=0A=
  }=0A=
 }=0A=
 return "";=0A=
}=0A=
function _uBInfo() {=0A=
 var sr=3D"-",sc=3D"-",ul=3D"-",fl=3D"-",cs=3D"-",je=3D1;=0A=
 var n=3Dnavigator;=0A=
 if (self.screen) {=0A=
  sr=3Dscreen.width+"x"+screen.height;=0A=
  sc=3Dscreen.colorDepth+"-bit";=0A=
 } else if (self.java) {=0A=
  var j=3Djava.awt.Toolkit.getDefaultToolkit();=0A=
  var s=3Dj.getScreenSize();=0A=
  sr=3Ds.width+"x"+s.height;=0A=
 }=0A=
 if (n.language) { ul=3Dn.language.toLowerCase(); }=0A=
 else if (n.browserLanguage) { ul=3Dn.browserLanguage.toLowerCase(); }=0A=
 je=3Dn.javaEnabled()?1:0;=0A=
 if (_uflash) fl=3D_uFlash();=0A=
 if (_ubd.characterSet) cs=3D_uES(_ubd.characterSet);=0A=
 else if (_ubd.charset) cs=3D_uES(_ubd.charset);=0A=
 return =
"&utmcs=3D"+cs+"&utmsr=3D"+sr+"&utmsc=3D"+sc+"&utmul=3D"+ul+"&utmje=3D"+j=
e+"&utmfl=3D"+fl;=0A=
}=0A=
function __utmSetTrans() {=0A=
 var e;=0A=
 if (_ubd.getElementById) e=3D_ubd.getElementById("utmtrans");=0A=
 else if (_ubd.utmform && _ubd.utmform.utmtrans) =
e=3D_ubd.utmform.utmtrans;=0A=
 if (!e) return;=0A=
 var l=3De.value.split("UTM:");=0A=
 var i,i2,c;=0A=
 if (_userv=3D=3D0 || _userv=3D=3D2) i=3Dnew Array();=0A=
 if (_userv=3D=3D1 || _userv=3D=3D2) { i2=3Dnew Array(); c=3D_uGCS(); }=0A=
=0A=
 for (var ii=3D0;ii<l.length;ii++) {=0A=
  l[ii]=3D_uTrim(l[ii]);=0A=
  if (l[ii].charAt(0)!=3D'T' && l[ii].charAt(0)!=3D'I') continue;=0A=
  var r=3DMath.round(Math.random()*2147483647);=0A=
  if (!_utsp || _utsp=3D=3D"") _utsp=3D"|";=0A=
  var f=3Dl[ii].split(_utsp),s=3D"";=0A=
  if (f[0].charAt(0)=3D=3D'T') {=0A=
   s=3D"&utmt=3Dtran"+"&utmn=3D"+r;=0A=
   f[1]=3D_uTrim(f[1]); if(f[1]&&f[1]!=3D"") =
s+=3D"&utmtid=3D"+_uES(f[1]);=0A=
   f[2]=3D_uTrim(f[2]); if(f[2]&&f[2]!=3D"") =
s+=3D"&utmtst=3D"+_uES(f[2]);=0A=
   f[3]=3D_uTrim(f[3]); if(f[3]&&f[3]!=3D"") =
s+=3D"&utmtto=3D"+_uES(f[3]);=0A=
   f[4]=3D_uTrim(f[4]); if(f[4]&&f[4]!=3D"") =
s+=3D"&utmttx=3D"+_uES(f[4]);=0A=
   f[5]=3D_uTrim(f[5]); if(f[5]&&f[5]!=3D"") =
s+=3D"&utmtsp=3D"+_uES(f[5]);=0A=
   f[6]=3D_uTrim(f[6]); if(f[6]&&f[6]!=3D"") =
s+=3D"&utmtci=3D"+_uES(f[6]);=0A=
   f[7]=3D_uTrim(f[7]); if(f[7]&&f[7]!=3D"") =
s+=3D"&utmtrg=3D"+_uES(f[7]);=0A=
   f[8]=3D_uTrim(f[8]); if(f[8]&&f[8]!=3D"") =
s+=3D"&utmtco=3D"+_uES(f[8]);=0A=
  } else {=0A=
   s=3D"&utmt=3Ditem"+"&utmn=3D"+r;=0A=
   f[1]=3D_uTrim(f[1]); if(f[1]&&f[1]!=3D"") =
s+=3D"&utmtid=3D"+_uES(f[1]);=0A=
   f[2]=3D_uTrim(f[2]); if(f[2]&&f[2]!=3D"") =
s+=3D"&utmipc=3D"+_uES(f[2]);=0A=
   f[3]=3D_uTrim(f[3]); if(f[3]&&f[3]!=3D"") =
s+=3D"&utmipn=3D"+_uES(f[3]);=0A=
   f[4]=3D_uTrim(f[4]); if(f[4]&&f[4]!=3D"") =
s+=3D"&utmiva=3D"+_uES(f[4]);=0A=
   f[5]=3D_uTrim(f[5]); if(f[5]&&f[5]!=3D"") =
s+=3D"&utmipr=3D"+_uES(f[5]);=0A=
   f[6]=3D_uTrim(f[6]); if(f[6]&&f[6]!=3D"") =
s+=3D"&utmiqt=3D"+_uES(f[6]);=0A=
  }=0A=
  if ((_userv=3D=3D0 || _userv=3D=3D2) && _uSP()) {=0A=
   i[ii]=3Dnew Image(1,1);=0A=
   i[ii].src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s;=0A=
   i[ii].onload=3Dfunction() { _uVoid(); }=0A=
  }=0A=
  if ((_userv=3D=3D1 || _userv=3D=3D2) && _uSP()) {=0A=
   i2[ii]=3Dnew Image(1,1);=0A=
   =
i2[ii].src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D=
"+c;=0A=
   i2[ii].onload=3Dfunction() { _uVoid(); }=0A=
  }=0A=
 }=0A=
 return;=0A=
}=0A=
function _uFlash() {=0A=
 var f=3D"-",n=3Dnavigator;=0A=
 if (n.plugins && n.plugins.length) {=0A=
  for (var ii=3D0;ii<n.plugins.length;ii++) {=0A=
   if (n.plugins[ii].name.indexOf('Shockwave Flash')!=3D-1) {=0A=
    f=3Dn.plugins[ii].description.split('Shockwave Flash ')[1];=0A=
    break;=0A=
   }=0A=
  }=0A=
 } else if (window.ActiveXObject) {=0A=
  for (var ii=3D10;ii>=3D2;ii--) {=0A=
   try {=0A=
    var fl=3Deval("new =
ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");=0A=
    if (fl) { f=3Dii + '.0'; break; }=0A=
   }=0A=
   catch(e) {}=0A=
  }=0A=
 }=0A=
 return f;=0A=
}=0A=
function __utmLinker(l,h) {=0A=
 if (!_ulink) return;=0A=
 var p,k,a=3D"-",b=3D"-",c=3D"-",x=3D"-",z=3D"-",v=3D"-";=0A=
 var dc=3D_ubd.cookie;=0A=
 if (!l || l=3D=3D"") return;=0A=
 var iq =3D l.indexOf("?"); =0A=
 var ih =3D l.indexOf("#"); =0A=
 if (dc) {=0A=
  a=3D_uES(_uGC(dc,"__utma=3D"+_udh,";"));=0A=
  b=3D_uES(_uGC(dc,"__utmb=3D"+_udh,";"));=0A=
  c=3D_uES(_uGC(dc,"__utmc=3D"+_udh,";"));=0A=
  x=3D_uES(_uGC(dc,"__utmx=3D"+_udh,";"));=0A=
  z=3D_uES(_uGC(dc,"__utmz=3D"+_udh,";"));=0A=
  v=3D_uES(_uGC(dc,"__utmv=3D"+_udh,";"));=0A=
  k=3D(_uHash(a+b+c+x+z+v)*1)+(_udh*1);=0A=
  =
p=3D"__utma=3D"+a+"&__utmb=3D"+b+"&__utmc=3D"+c+"&__utmx=3D"+x+"&__utmz=3D=
"+z+"&__utmv=3D"+v+"&__utmk=3D"+k;=0A=
 }=0A=
 if (p) {=0A=
  if (h && ih>-1) return;=0A=
  if (h) { _udl.href=3Dl+"#"+p; }=0A=
  else {=0A=
   if (iq=3D=3D-1 && ih=3D=3D-1) _udl.href=3Dl+"?"+p;=0A=
   else if (ih=3D=3D-1) _udl.href=3Dl+"&"+p;=0A=
   else if (iq=3D=3D-1) =
_udl.href=3Dl.substring(0,ih-1)+"?"+p+l.substring(ih);=0A=
   else _udl.href=3Dl.substring(0,ih-1)+"&"+p+l.substring(ih);=0A=
  }=0A=
 } else { _udl.href=3Dl; }=0A=
}=0A=
function __utmLinkPost(f,h) {=0A=
 if (!_ulink) return;=0A=
 var p,k,a=3D"-",b=3D"-",c=3D"-",x=3D"-",z=3D"-",v=3D"-";=0A=
 var dc=3D_ubd.cookie;=0A=
 if (!f || !f.action) return;=0A=
 var iq =3D f.action.indexOf("?"); =0A=
 var ih =3D f.action.indexOf("#"); =0A=
 if (dc) {=0A=
  a=3D_uES(_uGC(dc,"__utma=3D"+_udh,";"));=0A=
  b=3D_uES(_uGC(dc,"__utmb=3D"+_udh,";"));=0A=
  c=3D_uES(_uGC(dc,"__utmc=3D"+_udh,";"));=0A=
  x=3D_uES(_uGC(dc,"__utmx=3D"+_udh,";"));=0A=
  z=3D_uES(_uGC(dc,"__utmz=3D"+_udh,";"));=0A=
  v=3D_uES(_uGC(dc,"__utmv=3D"+_udh,";"));=0A=
  k=3D(_uHash(a+b+c+x+z+v)*1)+(_udh*1);=0A=
  =
p=3D"__utma=3D"+a+"&__utmb=3D"+b+"&__utmc=3D"+c+"&__utmx=3D"+x+"&__utmz=3D=
"+z+"&__utmv=3D"+v+"&__utmk=3D"+k;=0A=
 }=0A=
 if (p) {=0A=
  if (h && ih>-1) return;=0A=
  if (h) { f.action+=3D"#"+p; }=0A=
  else {=0A=
   if (iq=3D=3D-1 && ih=3D=3D-1) f.action+=3D"?"+p;=0A=
   else if (ih=3D=3D-1) f.action+=3D"&"+p;=0A=
   else if (iq=3D=3D-1) =
f.action=3Df.action.substring(0,ih-1)+"?"+p+f.action.substring(ih);=0A=
   else =
f.action=3Df.action.substring(0,ih-1)+"&"+p+f.action.substring(ih);=0A=
  }=0A=
 }=0A=
 return;=0A=
}=0A=
function __utmSetVar(v) {=0A=
 if (!v || v=3D=3D"") return;=0A=
 if (!_udo || _udo =3D=3D "") {=0A=
  _udh=3D_uDomain();=0A=
  if (_udn && _udn!=3D"") { _udo=3D" domain=3D"+_udn+";"; }=0A=
 }=0A=
 if (!_uVG()) return;=0A=
 var r=3DMath.round(Math.random() * 2147483647);=0A=
 _ubd.cookie=3D"__utmv=3D"+_udh+"."+_uES(v)+"; path=3D"+_utcp+"; =
expires=3D"+_uNx()+";"+_udo;=0A=
 var s=3D"&utmt=3Dvar&utmn=3D"+r;=0A=
 if ((_userv=3D=3D0 || _userv=3D=3D2) && _uSP()) {=0A=
  var i=3Dnew Image(1,1);=0A=
  i.src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s;=0A=
  i.onload=3Dfunction() { _uVoid(); }=0A=
 }=0A=
 if ((_userv=3D=3D1 || _userv=3D=3D2) && _uSP()) {=0A=
  var i2=3Dnew Image(1,1);=0A=
  =
i2.src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D"+=
_uGCS();=0A=
  i2.onload=3Dfunction() { _uVoid(); }=0A=
 }=0A=
}=0A=
function _uGCS() {=0A=
 var t,c=3D"",dc=3D_ubd.cookie;=0A=
 if ((t=3D_uGC(dc,"__utma=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utma=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmb=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmb=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmc=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmc=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmx=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmx=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmz=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmz=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmv=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmv=3D"+t+";");=0A=
 if (c.charAt(c.length-1)=3D=3D"+") c=3Dc.substring(0,c.length-1);=0A=
 return c;=0A=
}=0A=
function _uGC(l,n,s) {=0A=
 if (!l || l=3D=3D"" || !n || n=3D=3D"" || !s || s=3D=3D"") return "-";=0A=
 var i,i2,i3,c=3D"-";=0A=
 i=3Dl.indexOf(n);=0A=
 i3=3Dn.indexOf("=3D")+1;=0A=
 if (i > -1) {=0A=
  i2=3Dl.indexOf(s,i); if (i2 < 0) { i2=3Dl.length; }=0A=
  c=3Dl.substring((i+i3),i2);=0A=
 }=0A=
 return c;=0A=
}=0A=
function _uDomain() {=0A=
 if (!_udn || _udn=3D=3D"" || _udn=3D=3D"none") { _udn=3D""; return 1; }=0A=
 if (_udn=3D=3D"auto") {=0A=
  var d=3D_ubd.domain;=0A=
  if (d.substring(0,4)=3D=3D"www.") {=0A=
   d=3Dd.substring(4,d.length);=0A=
  }=0A=
  _udn=3Dd;=0A=
 }=0A=
 _udn =3D _udn.toLowerCase(); =0A=
 if (_uhash=3D=3D"off") return 1;=0A=
 return _uHash(_udn);=0A=
}=0A=
function _uHash(d) {=0A=
 if (!d || d=3D=3D"") return 1;=0A=
 var h=3D0,g=3D0;=0A=
 for (var i=3Dd.length-1;i>=3D0;i--) {=0A=
  var c=3DparseInt(d.charCodeAt(i));=0A=
  h=3D((h << 6) & 0xfffffff) + c + (c << 14);=0A=
  if ((g=3Dh & 0xfe00000)!=3D0) h=3D(h ^ (g >> 21));=0A=
 }=0A=
 return h;=0A=
}=0A=
function _uFixA(c,s,t) {=0A=
 if (!c || c=3D=3D"" || !s || s=3D=3D"" || !t || t=3D=3D"") return "-";=0A=
 var a=3D_uGC(c,"__utma=3D"+_udh,s);=0A=
 var lt=3D0,i=3D0;=0A=
 if ((i=3Da.lastIndexOf(".")) > 9) {=0A=
  _uns=3Da.substring(i+1,a.length);=0A=
  _uns=3D(_uns*1)+1;=0A=
  a=3Da.substring(0,i);=0A=
  if ((i=3Da.lastIndexOf(".")) > 7) {=0A=
   lt=3Da.substring(i+1,a.length);=0A=
   a=3Da.substring(0,i);=0A=
  }=0A=
  if ((i=3Da.lastIndexOf(".")) > 5) {=0A=
   a=3Da.substring(0,i);=0A=
  }=0A=
  a+=3D"."+lt+"."+t+"."+_uns;=0A=
 }=0A=
 return a;=0A=
}=0A=
function _uTrim(s) {=0A=
  if (!s || s=3D=3D"") return "";=0A=
  while ((s.charAt(0)=3D=3D' ') || (s.charAt(0)=3D=3D'\n') || =
(s.charAt(0,1)=3D=3D'\r')) s=3Ds.substring(1,s.length);=0A=
  while ((s.charAt(s.length-1)=3D=3D' ') || =
(s.charAt(s.length-1)=3D=3D'\n') || (s.charAt(s.length-1)=3D=3D'\r')) =
s=3Ds.substring(0,s.length-1);=0A=
  return s;=0A=
}=0A=
function _uEC(s) {=0A=
  var n=3D"";=0A=
  if (!s || s=3D=3D"") return "";=0A=
  for (var i=3D0;i<s.length;i++) {if (s.charAt(i)=3D=3D" ") n+=3D"+"; =
else n+=3Ds.charAt(i);}=0A=
  return n;=0A=
}=0A=
function __utmVisitorCode(f) {=0A=
 var r=3D0,t=3D0,i=3D0,i2=3D0,m=3D31;=0A=
 var a=3D_uGC(_ubd.cookie,"__utma=3D"+_udh,";");=0A=
 if ((i=3Da.indexOf(".",0))<0) return;=0A=
 if ((i2=3Da.indexOf(".",i+1))>0) r=3Da.substring(i+1,i2); else return =
"";  =0A=
 if ((i=3Da.indexOf(".",i2+1))>0) t=3Da.substring(i2+1,i); else return =
"";  =0A=
 if (f) {=0A=
  return r;=0A=
 } else {=0A=
  var c=3Dnew =
Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T'=
,'U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');=0A=
  return =
c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r=
&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5=
&m]+c[t&m];=0A=
 }=0A=
}=0A=
function _uIN(n) {=0A=
 if (!n) return false;=0A=
 for (var i=3D0;i<n.length;i++) {=0A=
  var c=3Dn.charAt(i);=0A=
  if ((c<"0" || c>"9") && (c!=3D".")) return false;=0A=
 }=0A=
 return true;=0A=
}=0A=
function _uES(s,u) {=0A=
 if (typeof(encodeURIComponent) =3D=3D 'function') {=0A=
  if (u) return encodeURI(s);=0A=
  else return encodeURIComponent(s);=0A=
 } else {=0A=
  return escape(s);=0A=
 }=0A=
}=0A=
function _uUES(s) {=0A=
 if (typeof(decodeURIComponent) =3D=3D 'function') {=0A=
  return decodeURIComponent(s);=0A=
 } else {=0A=
  return unescape(s);=0A=
 }=0A=
}=0A=
function _uVG() {=0A=
 if((_udn.indexOf("www.google.") =3D=3D 0 || _udn.indexOf(".google.") =
=3D=3D 0 || _udn.indexOf("google.") =3D=3D 0) && _utcp=3D=3D'/' && =
_udn.indexOf("google.org")=3D=3D-1) {=0A=
  return false;=0A=
 }=0A=
 return true;=0A=
}=0A=
function _uSP() {=0A=
 var s=3D100;=0A=
 if (_usample) s=3D_usample;=0A=
 if(s>=3D100 || s<=3D0) return true;=0A=
 return ((__utmVisitorCode(1)%10000)<(s*100));=0A=
}=0A=
function urchinPathCopy(p){=0A=
 var d=3Ddocument,nx,tx,sx,i,c,cs,t,h,o;=0A=
 cs=3Dnew Array("a","b","c","v","x","z");=0A=
 h=3D_uDomain(); if (_udn && _udn!=3D"") o=3D" domain=3D"+_udn+";";=0A=
 nx=3D_uNx()+";";=0A=
 tx=3Dnew Date(); tx.setTime(tx.getTime()+(_utimeout*1000));=0A=
 tx=3Dtx.toGMTString()+";";=0A=
 sx=3Dnew Date(); sx.setTime(sx.getTime()+(_ucto*1000));=0A=
 sx=3Dsx.toGMTString()+";";=0A=
 for (i=3D0;i<6;i++){=0A=
  t=3D" expires=3D";=0A=
  if (i=3D=3D1) t+=3Dtx; else if (i=3D=3D2) t=3D""; else if (i=3D=3D5) =
t+=3Dsx; else t+=3Dnx;=0A=
  c=3D_uGC(d.cookie,"__utm"+cs[i]+"=3D"+h,";");=0A=
  if (c!=3D"-") d.cookie=3D"__utm"+cs[i]+"=3D"+c+"; path=3D"+p+";"+t+o;=0A=
 }=0A=
}=0A=
function _uCO() {=0A=
 if (!_utk || _utk=3D=3D"" || _utk.length<10) return;=0A=
 var d=3D'www.google.com';=0A=
 if (_utk.charAt(0)=3D=3D'!') d=3D'analytics.corp.google.com';=0A=
 _ubd.cookie=3D"GASO=3D"+_utk+"; path=3D"+_utcp+";"+_udo;=0A=
 var sc=3Ddocument.createElement('script');=0A=
 sc.type=3D'text/javascript';=0A=
 sc.id=3D"_gasojs";=0A=
 =
sc.src=3D'https://'+d+'/analytics/reporting/overlay_js?gaso=3D'+_utk+'&'+=
Math.random();=0A=
 document.getElementsByTagName('head')[0].appendChild(sc);  =0A=
}=0A=
function _uGT() {=0A=
 var h=3Dlocation.hash, a;=0A=
 if (h && h!=3D"" && h.indexOf("#gaso=3D")=3D=3D0) {=0A=
  a=3D_uGC(h,"gaso=3D","&");=0A=
 } else {=0A=
  a=3D_uGC(_ubd.cookie,"GASO=3D",";");=0A=
 }=0A=
 return a;=0A=
}=0A=
var _utk=3D_uGT();=0A=
if (_utk && _utk!=3D"" && _utk.length>10) {=0A=
 if (window.addEventListener) {=0A=
  window.addEventListener('load', _uCO, false); =0A=
 } else if (window.attachEvent) { =0A=
  window.attachEvent('onload', _uCO);=0A=
 }=0A=
}=0A=
=0A=
function _uNx() {=0A=
  return (new Date((new Date()).getTime()+63072000000)).toGMTString();=0A=
}=0A=

------=_NextPart_000_003E_01C88B62.F2AA6BD0--
