From: <Saved by Microsoft Internet Explorer 5>
Subject: =?Windows-1252?Q?Here=92s_Hoping_AMD_Can_Rise_Again_to_Challenge_Intel_-_?=
	=?Windows-1252?Q?Dave's_Download_=28usnews.com=29?=
Date: Fri, 17 Oct 2008 10:29:51 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0079_01C93043.49B858D0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hoping-amd-can-rise-again-to-challenge-intel.html

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>Here=E2=80=99s Hoping AMD Can Rise Again to Challenge =
Intel - Dave's Download (usnews.com)</TITLE>
<META=20
content=3D"The underdog had the giant on the run for several years =
before Intel regained its footing."=20
name=3Ddescription>
<META content=3D"computers,LaGesse, David,technology,Intel," =
name=3Dkeywords>
<META content=3D"Money: Personal Finance" name=3Dsite>
<META content=3D"Dave's Download Blog" name=3Dzone>
<STYLE type=3Dtext/css media=3Dall>@import url( =
http://static.usnews.com/css/global.css );
</STYLE>

<STYLE type=3Dtext/css media=3Dall>@import url( =
http://static.usnews.com/css/blogs.css );
</STYLE>

<STYLE type=3Dtext/css media=3Dprint>@import url( =
http://static.usnews.com/css/blog-print.css );
</STYLE>
<!--[if lt IE 7]>
<STYLE type=3Dtext/css>@import url( =
http://www.usnews.com/usnews/v3/css/ie6-only.css );
</STYLE>
<![endif]--><!--[if IE]>
<STYLE type=3Dtext/css>@import url( =
http://www.usnews.com/usnews/v3/css/ie-only.css );
</STYLE>
<![endif]-->
<SCRIPT src=3D"http://www.usnews.com/usnews/v3/scripts/ibox.js"=20
type=3Dtext/javascript></SCRIPT>
<!-- Revenue Science: data collection -->
<SCRIPT src=3D"http://js.revsci.net/gateway/gw.js?csid=3DE08741"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>DM_tag();</SCRIPT>
<!-- //Revenue Science: data collection --><!-- Revenue Science: ad =
serving -->
<SCRIPT type=3Dtext/javascript>=0A=
var rsi_segs =3D [];=0A=
var segs_beg=3Ddocument.cookie.indexOf('rsi_segs=3D');=0A=
if(segs_beg>=3D0) {=0A=
	segs_beg=3Ddocument.cookie.indexOf('=3D',segs_beg)+1;=0A=
	if(segs_beg>0) {=0A=
		var segs_end=3Ddocument.cookie.indexOf(';',segs_beg);=0A=
		if(segs_end=3D=3D-1)segs_end=3Ddocument.cookie.length;=0A=
		rsi_segs=3Ddocument.cookie.substring(segs_beg,segs_end).split('|');=0A=
	}	=0A=
}=0A=
var segLen=3D20;=0A=
var segQS=3D"",segArr=3Dnew Array();=0A=
if (rsi_segs.length<segLen) { segLen=3Drsi_segs.length; }=0A=
for (var i=3D0;i<segLen;i++) {=0A=
    segArr=3Drsi_segs[i].split("_");=0A=
    if (segArr.length>1) { segQS+=3D("rsi"+"=3D"+segArr[1]+";"); }=0A=
}=0A=
</SCRIPT>
<!-- //Revenue Science: ad serving--><LINK=20
href=3D"http://www.usnews.com/usnews/favicon.ico" rel=3D"shortcut =
icon"><LINK=20
title=3D"USNews.com Search" =
href=3D"http://www.usnews.com/usnews/usnewssearch.xml"=20
type=3Dapplication/opensearchdescription+xml rel=3Dsearch>
<META http-equiv=3DContent-Type =
content=3Dtext/html;charset=3Dutf-8><LINK=20
title=3D"US News RSS Feed" =
href=3D"http://www.usnews.com/blogrss/daves-download.xml"=20
type=3Dapplication/rss+xml rel=3Dalternate><!-- Revenue Science: data =
collection -->
<SCRIPT src=3D"http://js.revsci.net/gateway/gw.js?csid=3DE08741"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>DM_tag();</SCRIPT>
<!-- //Revenue Science: data collection --><!-- Revenue Science: ad =
serving -->
<SCRIPT type=3Dtext/javascript>=0A=
var rsi_segs =3D [];=0A=
var segs_beg=3Ddocument.cookie.indexOf('rsi_segs=3D');=0A=
if(segs_beg>=3D0) {=0A=
	segs_beg=3Ddocument.cookie.indexOf('=3D',segs_beg)+1;=0A=
	if(segs_beg>0) {=0A=
		var segs_end=3Ddocument.cookie.indexOf(';',segs_beg);=0A=
		if(segs_end=3D=3D-1)segs_end=3Ddocument.cookie.length;=0A=
		rsi_segs=3Ddocument.cookie.substring(segs_beg,segs_end).split('|');=0A=
	}	=0A=
}=0A=
var segLen=3D20;=0A=
var segQS=3D"",segArr=3Dnew Array();=0A=
if (rsi_segs.length<segLen) { segLen=3Drsi_segs.length; }=0A=
for (var i=3D0;i<segLen;i++) {=0A=
    segArr=3Drsi_segs[i].split("_");=0A=
    if (segArr.length>1) { segQS+=3D("rsi"+"=3D"+segArr[1]+";"); }=0A=
}=0A=
</SCRIPT>
<!-- //Revenue Science: ad serving-->
<SCRIPT src=3D"http://www.usnews.com/usnews/v3/scripts/prototype.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.usnews.com/js/custom.js"></SCRIPT>

<SCRIPT =
src=3D"http://www.usnews.com/usnews/v3/scripts/homepage.js"></SCRIPT>

<SCRIPT src=3D"http://www.usnews.com/js/getShareJS" =
type=3Dtext/javascript></SCRIPT>

<META content=3D"MSHTML 6.00.2900.5659" name=3DGENERATOR></HEAD>
<BODY>
<DIV id=3Dad-container><!-- Dbk:leaderboardA -->
<DIV class=3Dad id=3Dposition-1>
<SCRIPT type=3Dtext/javascript>dblclick('leaderboardA');</SCRIPT>
<NOSCRIPT><A=20
href=3D"http://ad.doubleclick.net/usn/jump/usn.noscript/noscript;sz=3D728=
x90;pos=3DleaderboardA;tile=3D1;ord=3D000000000?"><IMG=20
height=3D90 src=3D"" width=3D728 border=3D1></A> </NOSCRIPT></DIV><!-- =
/Dbk:leaderboardA --><!-- Dbk:badgeA -->
<DIV class=3Dad id=3Dposition-2>
<SCRIPT type=3Dtext/javascript>dblclick('badgeA');</SCRIPT>
<NOSCRIPT><A=20
href=3D"http://ad.doubleclick.net/usn/jump/usn.noscript/noscript;sz=3D180=
x90;pos=3DbadgeA;tile=3D1;ord=3D000000000?"><IMG=20
height=3D90 src=3D"" width=3D180 border=3D1></A>=20
</NOSCRIPT></DIV><!-- /Dbk:badgeA --></DIV>
<DIV id=3Dpage><!-- header -->
<DIV id=3Dbranding>
<DIV id=3Dbranding-logo><A href=3D"http://www.usnews.com/"><IMG=20
alt=3D"U.S.News &amp; World Report"=20
src=3D"http://static.usnews.com/images/global/usn_logo.png"></A></DIV>
<DIV id=3Dbranding-timestamp>Friday, October 17, 2008</DIV>
<UL id=3Dnav-magazine>
  <LI><A href=3D"http://www.usnews.com/subscribe-hometop">Subscribe =
|</A>=20
  <LI><A =
href=3D"http://www.usnews.com/usnews/usinfo/infomain.htm">Contact Us</A> =

  </LI></UL></DIV><!-- /#branding -->
<FORM id=3Dnav-search =
action=3Dhttp://www.usnews.com/usnews/search/index.php>
<FIELDSET><LEGEND>Search U.S. News</LEGEND><INPUT class=3Dhidden =
type=3Dhidden=20
value=3Dxml_no_dtd name=3Doutput> <INPUT class=3Dhidden type=3Dhidden =
value=3Dsearch_v2=20
name=3Dclient> <INPUT class=3Dhidden type=3Dhidden value=3Dsearch_v2=20
name=3Dproxystylesheet> <INPUT class=3Dhidden type=3Dhidden value=3D0 =
name=3Dfilter>=20
<INPUT tabIndex=3D1 value=3D"Search U.S. News" name=3Dq> <INPUT =
id=3Dsubmit tabIndex=3D2 type=3Dsubmit value=3DSearch> </FIELDSET> =
</FORM>
<UL id=3Dnav-main>
  <LI class=3D""><A =
href=3D"http://www.usnews.com/sections/news/index.html">Nation=20
  &amp; World</A> </LI>
  <LI class=3D""><A =
href=3D"http://www.usnews.com/sections/health/index.html">Health=20
  </A></LI>
  <LI class=3Dactive><A=20
  href=3D"http://www.usnews.com/sections/business/index.html">Money =
&amp;=20
  Business</A> </LI>
  <LI class=3D""><A=20
  =
href=3D"http://www.usnews.com/sections/education/index.html">Education</A=
> </LI>
  <LI class=3D""><A=20
  href=3D"http://www.usnews.com/sections/opinion/index.html">Opinion</A> =
</LI>
  <LI class=3D""><A=20
  href=3D"http://www.usnews.com/sections/science/index.html">Science</A> =
</LI>
  <LI class=3D""><A=20
  =
href=3D"http://www.usnews.com/sections/photos-videos/index.html">Photo</A=
> </LI>
  <LI class=3D""><A=20
  =
href=3D"http://usnews.feedroom.com/?fr_chl=3Dc7e190546871ef6b81ea2c264782=
f93c03a69fd7&amp;rf=3DHP">Video</A>=20
  </LI>
  <LI class=3D""><A=20
  =
href=3D"http://www.usnews.com/sections/rankings/index.html">Rankings</A> =

</LI></UL>
<DIV id=3Dbranding-section>
<H2>Money &amp; Business</H2>
<DIV id=3Dpromo-magazine>
<UL>
  <LI><A href=3D"http://www.usnews.com/directories/contents">Article =
Index</A> |=20
  <LI><A=20
  =
href=3D"https://secure.palmcoastd.com/pcd/FormRedirect?iID=3D6211171">Sub=
scribe</A>=20
  </LI></UL></DIV><!-- /#nav-magazine -->
<DIV id=3Dnav-breadcrumb><A =
href=3D"http://www.usnews.com/index_html">Home</A> &gt;=20
<A class=3D"" =
href=3D"http://www.usnews.com/sections/business/index.html">Money=20
&amp; Business</A> &gt; <A class=3D""=20
href=3D"http://www.usnews.com/blogs/daves-download/index.html">Dave's =
Download</A>=20
&gt; <A class=3Dactive=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/7/heres-hoping=
-amd-can-rise-again-to-challenge-intel.html">Here=E2=80=99s=20
Hoping AMD Can Rise Again to Challenge Intel</A> </DIV></DIV><!-- =
/#branding-section -->
<DIV><!-- used to be: options.get('errors', '') -->
<DIV class=3Dcontent id=3Dblog>
<DIV class=3Dblog-entrynav>
<DIV class=3Dblog-previouslink>&nbsp;<A=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/6/realdvd-susp=
ends-sales-may-reappear-overnight.html">=C2=AB&nbsp;RealDVD=20
Suspends Sales, May Reappear Overnight</A></DIV>
<DIV class=3Dblog-nextlink><A=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/7/iphones-mish=
aps-force-blackberry-to-be-cautious-not-bold.html">IPhone=E2=80=99s=20
Mishaps Force BlackBerry to be Cautious, Not =
Bold&nbsp;=C2=BB</A>&nbsp;</DIV></DIV>
<DIV><A href=3D"http://www.usnews.com/blogs/daves-download"><IMG =
id=3Dblog-banner=20
title=3D"" alt=3D""=20
src=3D"http://www.usnews.com/blog_dbimages/58/DavesDownload3.jpg"></A> =
</DIV>
<UL class=3Dtabs>
  <LI><A class=3Dactive=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html">Blog=20
  Entry</A> </LI>
  <LI><A class=3D""=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel/comments/">Comments=20
  (0)</A> </LI></UL>
<H1>Here=E2=80=99s Hoping AMD Can Rise Again to Challenge Intel</H1>
<DIV class=3DblogCredit>October 07, 2008 04:41 PM ET | <A=20
href=3D"http://www.usnews.com/Topics/tag/Author/d/david_lagesse/index.htm=
l">David=20
LaGesse</A> | <A=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/7/heres-hoping=
-amd-can-rise-again-to-challenge-intel.html">Permanent=20
Link</A> | <A class=3Dprint=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel_print.htm"=20
target=3D_blank>Print</A> </DIV>
<DIV class=3Dbody>
<DIV class=3Dmedia-slot><A=20
title=3D"AMD was a leader in 64-bit processors. (Courtesy of AMD)"=20
href=3D"http://www.usnews.com/dbimages/master/7170/FE_PR_081007davesdownl=
oad1.jpg"=20
rel=3Dibox><IMG title=3D"AMD was a leader in 64-bit processors."=20
alt=3D"AMD was a leader in 64-bit processors."=20
src=3D"http://www.usnews.com/pubdbimages/image/9763/FE_PR_081007davesdown=
load1185x185.jpg"></A>
<DIV class=3Dphoto-caption>AMD was a leader in 64-bit processors.</DIV>
<DIV class=3Dphoto-credit>(Courtesy of AMD)</DIV></DIV>
<P>Some are debating which investors benefit with <A=20
href=3D"http://web.amd.com/newglobalfoundry/">AMD's decision</A> to spin =
off its=20
chip-making plants. I'm just glad to see the chip company doing =
something to=20
pull itself from what's been a steady slide against Intel.</P>
<P>AMD has proved the good that competition can do for the consumer. For =
a=20
while, the underdog designed chips that outperformed Intel's. AMD was =
producing=20
chips that won on raw computing power, power consumption, and/or =
features.</P>
<P>But that was a few years ago. Intel responded with investments in new =
designs=20
and factories that eventually overwhelmed AMD's ability to keep up.</P>
<P>It's <A=20
href=3D"http://bits.blogs.nytimes.com/2008/10/07/who-benefits-from-amds-f=
inancial-engineering/">fair=20
to question</A> if AMD can ever wholly divorce itself from chip making. =
Design=20
is closely tied to successful microprocessor production, which is helped =
with=20
control over factories. But the company had to do something.</P>
<P>While long expected, AMD at least made the move smartly, says <A=20
href=3D"http://www.ndpta.com/">Roger Kay</A>, an industry analyst. "It =
wanted to=20
enter into not just any partnership but the right partnership."</P>
<P>I hope he's right and it keeps AMD in the game.</P><A=20
name=3Dread_more></A></DIV>
<P class=3DBlogTools>Tags: <A=20
href=3D"http://www.usnews.com/Topics/tag/Subject/c/computers/index.html">=
computers</A>=20
| <A=20
href=3D"http://www.usnews.com/Topics/tag/Subject/t/technology/index.html"=
>technology</A>=20
| <A=20
href=3D"http://www.usnews.com/Topics/tag/Organizations/i/intel/index.html=
">Intel</A>=20
</P>
<P class=3DBlogTools>Tools: <A class=3D"iconshare akst_share_link"=20
id=3Dakst_link_14957 title=3D"E-mail this, post to del.icio.us, etc."=20
onclick=3D"akst_share('14957', =
'http://www.usnews.com/blogs/daves-download/2008/10/7/heres-hoping-amd-ca=
n-rise-again-to-challenge-intel.html', =
'Here%E2%80%99s%20Hoping%20AMD%20Can%20Rise%20Again%20to%20Challenge%20In=
tel - Dave\'s Download - usnews.com ');return false;"=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/"><IMG=20
src=3D"http://www.usnews.com/images/icon_share.gif"> Share</A> =
<!--buzz-->|
<SCRIPT src=3D"http://d.yimg.com/ds/badge.js" showbranding=3D"1" =
badgetype=3D"text">us_news_world913:http://www.usnews.com/blogs/daves-dow=
nload/2008/10/07/heres-hoping-amd-can-rise-again-to-challenge-intel.html?=
s_cid=3Drss:daves-download:heres-hoping-amd-can-rise-again-to-challenge-i=
ntel</SCRIPT>
 | <A class=3DcommentCount=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#Comments">Comments=20
(0)</A> | <A class=3Dprint=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel_print.htm"=20
target=3D_blank>Print</A> </P><!-- Share This BEGIN -->
<DIV id=3Dakst_form style=3D"Z-INDEX: 10"><A class=3Dakst_close=20
href=3D"javascript:void($('akst_form').style.display=3D'none');">Close</A=
>=20
<UL class=3Dtabs>
  <LI class=3Dselected id=3Dakst_tab1 =
onclick=3D"akst_share_tab('1');">Social Web=20
</LI>
  <LI id=3Dakst_tab2 onclick=3D"akst_share_tab('2');">E-mail </LI></UL>
<DIV class=3Dclear></DIV>
<DIV id=3Dakst_social>
<UL>
  <LI><A id=3Dakst_delicious=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">del.icio.us</A>=20
  </LI>
  <LI><A id=3Dakst_digg=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Digg</A>=20
  </LI>
  <LI><A id=3Dakst_facebook=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Facebook</A>=20
  </LI>
  <LI><A id=3Dakst_netscape=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Netscape</A>=20
  </LI>
  <LI><A id=3Dakst_yahoo_myweb=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Yahoo!=20
  My Web</A> </LI>
  <LI><A id=3Dakst_technorati=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Technorati</A>=20
  </LI>
  <LI><A id=3Dakst_google_bmarks=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Google=20
  Bookmarks</A> </LI>
  <LI><A id=3Dakst_newsvine=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Newsvine</A>=20
  </LI>
  <LI><A id=3Dakst_blinklist=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">BlinkList</A>=20
  </LI>
  <LI><A id=3Dakst_reddit=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">reddit</A>=20
  </LI>
  <LI><A id=3Dakst_blogmarks=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Blogmarks</A>=20
  </LI>
  <LI><A id=3Dakst_magnolia=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">ma.gnolia</A>=20
  </LI>
  <LI><A id=3Dakst_windows_live=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Windows=20
  Live</A> </LI>
  <LI><A id=3Dakst_tailrank=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#">Tailrank</A>=20
  </LI></UL>
<DIV class=3Dclear></DIV></DIV>
<DIV id=3Dakst_email><!--form action=3D"./sendEmail" name=3D"emailForm" =
method=3D"POST" tal:attributes=3D"action python: here.topURL() + =
'/sendShareEmail'"=0A=
                                                               =
tal:define=3D"Obj python: here.getCaptchasObject()"--><!--input =
type=3D"hidden" name=3D"randomkey" value=3D"" tal:attributes=3D"value =
python: Obj[0]"-->
<FORM name=3DemailForm action=3Dhttp://www.usnews.com/sendShareEmail=20
method=3Dpost><INPUT id=3DBlogEntryID type=3Dhidden value=3D14957 =
name=3DBlogEntryID>=20
<FIELDSET><LEGEND>E-mail It</LEGEND>
<UL>
  <LI><LABEL>To Address:</LABEL> <INPUT class=3Dakst_text =
name=3Dtoemail>=20
  <LI><LABEL>Your Name:</LABEL> <INPUT class=3Dakst_text =
name=3Dyourname>=20
  <LI><LABEL>Your Address:</LABEL> <INPUT class=3Dakst_text =
name=3Dyourmail>=20
  <LI><INPUT type=3Dsubmit value=3D"Send It" name=3Dakst_submit> =
</LI></UL><INPUT=20
type=3Dhidden value=3Dsend_mail name=3Dakst_action> <INPUT =
id=3Dakst_post_id type=3Dhidden=20
name=3Dakst_post_id> </FIELDSET> </FORM></DIV></DIV><!-- Share This END =
-->
<DIV class=3Dblog-entrynav>
<DIV class=3Dblog-previouslink>&nbsp;<A=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/6/realdvd-susp=
ends-sales-may-reappear-overnight.html">=C2=AB&nbsp;RealDVD=20
Suspends Sales, May Reappear Overnight</A></DIV>
<DIV class=3Dblog-nextlink><A=20
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/7/iphones-mish=
aps-force-blackberry-to-be-cautious-not-bold.html">IPhone=E2=80=99s=20
Mishaps Force BlackBerry to be Cautious, Not =
Bold&nbsp;=C2=BB</A>&nbsp;</DIV></DIV><A=20
name=3DComments></A>
<SCRIPT src=3D"http://www.usnews.com/usnews/v3/scripts/comments.js"=20
type=3Dtext/javascript></SCRIPT>
<!--/blog-comments-->
<DIV class=3Daaq><A name=3DComments></A>
<DIV id=3Dcomment-form>
<H4>Add your thoughts</H4>
<FORM name=3DtheForm=20
onsubmit=3D"return emailValidator(document.getElementById('emailer'), =
'In order to receive a response, please provide a valid email =
address.')"=20
action=3Dhttp://www.usnews.com/Blogs_tabbed/addBlogEntryComment=20
method=3Dpost><LABEL>Subject: <INPUT id=3Dsubject name=3DSubject> =
</LABEL><LABEL=20
for=3Dcomment>* Type your comments here: (<SPAN class=3Dminitext =
id=3Dcounter>3000=20
characters left</SPAN>)</LABEL> <TEXTAREA id=3Dcomment =
onkeyup=3D"toCount('comment','counter','{CHAR} characters left',3000);" =
name=3DComment rows=3D15 cols=3D30></TEXTAREA>=20
<INPUT type=3Dhidden value=3D14957 name=3DItemID> <LABEL for=3DName>Your =
name: <INPUT=20
id=3DName name=3DName> </LABEL><LABEL for=3Demailer>* Your E-mail =
address: <INPUT=20
id=3Demailer name=3DEmail> </LABEL><LABEL for=3DUSState>* State: <SELECT =
id=3DUSState=20
name=3DUSState> <OPTION value=3D"" selected>Choose State</OPTION> =
<OPTION=20
  value=3DAL>AL - Alabama</OPTION> <OPTION value=3DAK>AK - =
Alaska</OPTION> <OPTION=20
  value=3DAZ>AZ - Arizona</OPTION> <OPTION value=3DAR>AR - =
Arkansas</OPTION> <OPTION=20
  value=3DCA>CA - California</OPTION> <OPTION value=3DCO>CO - =
Colorado</OPTION>=20
  <OPTION value=3DCT>CT - Connecticut</OPTION> <OPTION value=3DDE>DE -=20
  Delaware</OPTION> <OPTION value=3DDC>DC - District of =
Columbia</OPTION> <OPTION=20
  value=3DFL>FL - Florida</OPTION> <OPTION value=3DGA>GA - =
Georgia</OPTION> <OPTION=20
  value=3DHI>HI - Hawaii</OPTION> <OPTION value=3DID>ID - Idaho</OPTION> =
<OPTION=20
  value=3DIL>IL - Illinois</OPTION> <OPTION value=3DIN>IN - =
Indiana</OPTION> <OPTION=20
  value=3DIA>IA - Iowa</OPTION> <OPTION value=3DKS>KS - Kansas</OPTION> =
<OPTION=20
  value=3DKY>KY - Kentucky</OPTION> <OPTION value=3DLA>LA - =
Louisiana</OPTION>=20
  <OPTION value=3DME>ME - Maine</OPTION> <OPTION value=3DMD>MD - =
Maryland</OPTION>=20
  <OPTION value=3DMA>MA - Massachusetts</OPTION> <OPTION value=3DMI>MI - =

  Michigan</OPTION> <OPTION value=3DMN>MN - Minnesota</OPTION> <OPTION =
value=3DMS>MS=20
  - Mississippi</OPTION> <OPTION value=3DMO>MO - Missouri</OPTION> =
<OPTION=20
  value=3DMT>MT - Montana</OPTION> <OPTION value=3DNE>NE - =
Nebraska</OPTION> <OPTION=20
  value=3DNV>NV - Nevada</OPTION> <OPTION value=3DNH>NH - New =
Hampshire</OPTION>=20
  <OPTION value=3DNJ>NJ - New Jersey</OPTION> <OPTION value=3DNM>NM - =
New=20
  Mexico</OPTION> <OPTION value=3DNY>NY - New York</OPTION> <OPTION =
value=3DNC>NC -=20
  North Carolina</OPTION> <OPTION value=3DND>ND - North Dakota</OPTION> =
<OPTION=20
  value=3DOH>OH - Ohio</OPTION> <OPTION value=3DOK>OK - =
Oklahoma</OPTION> <OPTION=20
  value=3DOR>OR - Oregon</OPTION> <OPTION value=3DPA>PA - =
Pennsylvania</OPTION>=20
  <OPTION value=3DRI>RI - Rhode Island</OPTION> <OPTION value=3DSC>SC - =
South=20
  Carolina</OPTION> <OPTION value=3DSD>SD - South Dakota</OPTION> =
<OPTION=20
  value=3DTN>TN - Tennessee</OPTION> <OPTION value=3DTX>TX - =
Texas</OPTION> <OPTION=20
  value=3DUT>UT - Utah</OPTION> <OPTION value=3DVT>VT - Vermont</OPTION> =
<OPTION=20
  value=3DVA>VA - Virginia</OPTION> <OPTION value=3DWA>WA - =
Washington</OPTION>=20
  <OPTION value=3DWV>WV - West Virginia</OPTION> <OPTION value=3DWI>WI - =

  Wisconsin</OPTION> <OPTION value=3DWY>WY - Wyoming</OPTION> <OPTION=20
  value=3DXX>International</OPTION></SELECT> </LABEL><BUTTON=20
onclick=3D"javascript:document.theForm.submit(); return =
true;">Submit</BUTTON>=20
</FORM><EM>Your comment will be posted immediately, unless it is spam or =

contains profanity. For more information, please see our <A=20
href=3D"http://www.usnews.com/articles/opinion/2008/04/15/comments-policy=
.html"=20
target=3D_blank>Comments FAQ</A>.</EM> </DIV></DIV>
<DIV class=3Dad id=3Dposition-6>
<P class=3DservedAdlabel>advertisement</P>
<SCRIPT type=3Dtext/javascript>dblclick('leaderboardB');</SCRIPT>
<NOSCRIPT><A=20
href=3D"http://ad.doubleclick.net/usn/jump/usn.noscript/noscript;sz=3D468=
x60;pos=3DleaderboardB;tile=3D1;ord=3D000000000?"><IMG=20
height=3D60 src=3D"" width=3D468 border=3D1></A> </NOSCRIPT></DIV></DIV>
<DIV class=3Dwidgets>
<DIV class=3Dpromo id=3Dabout-blog>
<H4 class=3Dheadline>About this Blog</H4>
<DIV class=3DemailContent>Our in-house gadget guru, Senior Writer =
<B>David=20
LaGesse</B>, tries out all the latest technologies and gizmos, from =
computer=20
software to GPS systems -- and reports back to you in plain English.
<P>
<P><FONT style=3D"FONT-SIZE: 10px; TEXT-TRANSFORM: uppercase"=20
color=3D#780808><B>Podcast</B></FONT></P>Subscribe to weekly Dave's =
Download=20
podcast <A=20
href=3D"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=3D=
274656448"><IMG=20
class=3Dicon height=3D15=20
src=3D"http://www.usnews.com/dbimages/master/3728/FE_GR_080225itunes_bug.=
gif"=20
width=3D17> iTunes</A> and <A =
href=3D"http://feeds.feedburner.com/DavesDownload"=20
target=3D_new><IMG class=3Dicon=20
src=3D"http://www.usnews.com/dbimages/master/3729/FE_GR_080225rss_icon.gi=
f">=20
RSS</A>.</DIV></DIV>
<DIV class=3Dad id=3Dposition-7><!-- Ad 7 --><!-- Dbk:rectangleA -->
<P class=3DservedAdlabel>advertisement</P>
<SCRIPT type=3Dtext/javascript>dblclick('rectangleA');</SCRIPT>
<NOSCRIPT><A=20
href=3D"http://ad.doubleclick.net/usn/jump/usn.noscript/noscript;sz=3D300=
x250;pos=3DrectangleA;tile=3D1;ord=3D000000000?"><IMG=20
height=3D250 src=3D"" width=3D300 border=3D1></A> </NOSCRIPT><!-- =
/Dbk:rectangleA --><!-- end Ad 7 --></DIV>
<DIV class=3Dpromo id=3Dmostpopular>
<H2>OTHER ARTICLES FROM THE DAVE'S DOWNLOAD BLOG</H2>
<DIV id=3Dtab_interface>
<UL class=3Dtabs>
  <LI><A class=3Dactive id=3Dmost_viewed_tab=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#most_viewed">Archives</A>=20
  </LI>
  <LI><A id=3Dmost_emailed_tab=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/07/heres-hopin=
g-amd-can-rise-again-to-challenge-intel.html#most_emailed">Recent=20
  Posts</A> </LI></UL>
<DIV class=3Dtab_items id=3Dmost_popular_items>
<OL id=3Dmost_viewed>
  <DIV id=3Dmontharchive>
  <UL>
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/index.html">Oc=
tober=20
    2008 (17)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/9/index.html">Sep=
tember=20
    2008 (44)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/8/index.html">Aug=
ust=20
    2008 (35)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/7/index.html">Jul=
y=20
    2008 (29)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/6/index.html">Jun=
e=20
    2008 (27)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/5/index.html">May=
 2008=20
    (30)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/4/index.html">Apr=
il=20
    2008 (22)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/3/index.html">Mar=
ch=20
    2008 (31)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/2/index.html">Feb=
ruary=20
    2008 (19)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2008/1/index.html">Jan=
uary=20
    2008 (20)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/12/index.html">De=
cember=20
    2007 (14)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/11/index.html">No=
vember=20
    2007 (13)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/10/index.html">Oc=
tober=20
    2007 (13)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/9/index.html">Sep=
tember=20
    2007 (8)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/8/index.html">Aug=
ust=20
    2007 (2)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/7/index.html">Jul=
y=20
    2007 (5)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/6/index.html">Jun=
e=20
    2007 (5)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/5/index.html">May=
 2007=20
    (10)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/4/index.html">Apr=
il=20
    2007 (12)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/3/index.html">Mar=
ch=20
    2007 (13)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/2/index.html">Feb=
ruary=20
    2007 (10)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2007/1/index.html">Jan=
uary=20
    2007 (8)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/12/index.html">De=
cember=20
    2006 (6)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/11/index.html">No=
vember=20
    2006 (3)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/10/index.html">Oc=
tober=20
    2006 (4)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/9/index.html">Sep=
tember=20
    2006 (5)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/8/index.html">Aug=
ust=20
    2006 (3)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/7/index.html">Jul=
y=20
    2006 (3)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/6/index.html">Jun=
e=20
    2006 (5)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/5/index.html">May=
 2006=20
    (4)</A>=20
    <LI><A=20
    =
href=3D"http://www.usnews.com/blogs/daves-download/2006/4/index.html">Apr=
il=20
    2006 (1)</A> </LI></UL></DIV></OL>
<OL id=3Dmost_emailed>
  <LI><A=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/16/google-phon=
e-leaps-past-expectations-but-not-past-the-iphone.html">Google=20
  Phone Leaps Past Expectations, but Not Past the IPhone</A>=20
  <LI><A=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/16/sandisk-slo=
tmusic-bows-at-a-disappointing-15.html">SanDisk=20
  SlotMusic Bows at a Disappointing $15</A>=20
  <LI><A=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/14/motorola-zn=
4-adds-outside-touch-screen-to-stop-butt-calls.html">Motorola=20
  ZN4 Adds Outside Touch-Screen to Stop 'Butt' Calls</A>=20
  <LI><A=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/14/apple-lapto=
ps-get-multitouch-pad-drop-only-to-1000.html">Apple=20
  Laptops Get Multitouch Pad, Drop Only to $1,000</A>=20
  <LI><A=20
  =
href=3D"http://www.usnews.com/blogs/daves-download/2008/10/14/microsoft-w=
ill-sell-windows-7-one-day-maybe-windows-x.html">Microsoft=20
  Will Sell 'Windows 7.' One Day, Maybe, 'Windows X'?</A>=20
</LI></OL></DIV></DIV></DIV><!-- /#newmedia-mostpopular =
--><!--Newsletter/RSS/Mobile-->
<DIV id=3Dsyndication>
<DIV id=3Dnewsletters>
<H2><A=20
href=3D"http://www-mail.usnews.com/registration/default.aspx?">NEWSLETTER=
</A></H2>
<FORM action=3Dhttp://www-mail.usnews.com/registration/default.aspx=20
method=3Dget><INPUT value=3D"Enter E-mail address" name=3Demail> <INPUT =
id=3Dsubmit type=3Dsubmit value=3D"Sign Up Now!"> </FORM>
<P>Sign up today for the latest headlines from U.S. News &amp; World =
Report=20
delivered to you free.</P>
<UL>
  <LI><A =
href=3D"http://www-mail.usnews.com/registration/default.aspx?">Learn=20
  More</A> </LI></UL></DIV>
<DIV id=3Dfeeds>
<H2><IMG id=3DRSSicon height=3D12 alt=3D""=20
src=3D"http://www.usnews.com/usnews/v3/images/global/feed-icon-small.gif"=
=20
width=3D12><A href=3D"http://www.usnews.com/usnews/rss_info.htm">RSS =
FEEDS</A></H2>
<P>Personalize your U.S. News with our feeds of blogs and breaking news=20
headlines.</P>
<UL>
  <LI><A =
href=3D"http://www.usnews.com/blogrss/daves-download.xml">Subscribe</A>=20
  </LI></UL></DIV>
<DIV id=3Dmobile>
<H2><A href=3D"http://www.usnews.com/usnews/mobile/">U.S. NEWS =
MOBILE</A></H2>
<P>U.S. News daily briefings are also available on your mobile =
device.</P>
<UL>
  <LI><A href=3D"http://www.usnews.com/usnews/mobile/">Subscribe</A>=20
</LI></UL></DIV></DIV><!--/Newsletter/RSS/Mobile-->
<DIV class=3Dpromo id=3Dblog-favorites>
<H4 class=3Dheadline>FAVORITES</H4>
<UL>
  <LI><A href=3D"http://www.engadget.com/" target=3D_new>Engadget</A>=20
  <LI><A href=3D"http://www.gizmodo.com/" target=3D_new>Gizmodo</A>=20
  <LI><A href=3D"http://www.gigaom.com/" target=3D_new>GigaOM</A>=20
  <LI><A href=3D"http://crave.cnet.com/" target=3D_new>Crave</A>=20
  <LI><A href=3D"http://www.readwriteweb.com/" =
target=3D_new>ReadWriteWeb</A>=20
  <LI><A href=3D"http://www.pcanswer.com/" target=3D_new>Larry Magid's =
PCAnswer</A>=20
  <LI><A href=3D"http://www.valleywag.com/" target=3D_new>ValleyWag</A>=20
  <LI><A href=3D"http://bink.nu/" target=3D_new>Bink.nu</A>=20
  <LI><A href=3D"http://cultofmac.com/" target=3D_new>Cult of Mac</A>=20
  <LI><A href=3D"http://www.appleinsider.com/" target=3D_new>Apple =
Insider</A>=20
  <LI><A href=3D"http://www.edbott.com/weblog/" target=3D_new>Ed Bott on =
Windows</A>=20
  </LI></UL></DIV></DIV>
<DIV class=3Dwidgets></DIV>
<SCRIPT>=0A=
document.getElementById('most_emailed').removeClassName('active');=0A=
document.getElementById('most_emailed_tab').removeClassName('active');=0A=
document.getElementById('most_viewed').addClassName('active');=0A=
document.getElementById('most_viewed_tab').addClassName('active');=0A=
</SCRIPT>
</DIV>
<DIV id=3Dnav-supplemental>
<UL>
  <LI class=3D""><A =
href=3D"http://www.usnews.com/sections/news/index.html">Nation=20
  &amp; World</A>&nbsp;&nbsp;|=20
  <LI class=3D""><A =
href=3D"http://www.usnews.com/sections/health/index.html">Health=20
  </A>&nbsp;&nbsp;|=20
  <LI class=3Dactive><A=20
  href=3D"http://www.usnews.com/sections/business/index.html">Money =
&amp;=20
  Business</A>&nbsp;&nbsp;|=20
  <LI class=3D""><A=20
  =
href=3D"http://www.usnews.com/sections/education/index.html">Education</A=
>&nbsp;&nbsp;|=20

  <LI class=3D""><A=20
  =
href=3D"http://www.usnews.com/sections/opinion/index.html">Opinion</A>&nb=
sp;&nbsp;|=20

  <LI class=3D""><A=20
  =
href=3D"http://www.usnews.com/sections/science/index.html">Science</A>&nb=
sp;&nbsp;|=20

  <LI class=3D""><A=20
  =
href=3D"http://www.usnews.com/sections/photos-videos/index.html">Photo</A=
>&nbsp;&nbsp;|=20

  <LI class=3D""><A=20
  =
href=3D"http://usnews.feedroom.com/?fr_chl=3Dc7e190546871ef6b81ea2c264782=
f93c03a69fd7&amp;rf=3DHP">Video</A>&nbsp;&nbsp;|=20

  <LI class=3D""><A=20
  =
href=3D"http://www.usnews.com/sections/rankings/index.html">Rankings</A> =

</LI></UL>
<P>Copyright =C2=A9 2008 U.S. News &amp; World Report, L.P. All rights=20
reserved.</P></DIV><!-- /#nav-supplemental --></DIV><!-- /#page -->
<DIV id=3Dsiteinfo>
<UL>
  <LI><A=20
  =
href=3D"https://secure.palmcoastd.com/pcd/eServ?iServ=3DMDIwREExODc0OQ">S=
ubscriber=20
  Services</A>&nbsp;&nbsp;|=20
  <LI><A href=3D"http://www.usnews.com/usnews/textmenu.htm">Site=20
  Map</A>&nbsp;&nbsp;|=20
  <LI><A =
href=3D"http://www.usnews.com/usnews/usinfo/about_usnews.htm">About=20
  Us</A>&nbsp;&nbsp;|=20
  <LI><A =
href=3D"http://www.usnews.com/usnews/usinfo/infomain.htm">Contact=20
  Us</A>&nbsp;&nbsp;|=20
  <LI><A href=3D"http://www.usnewsclassroom.com/">Classroom=20
  Program</A>&nbsp;&nbsp;|=20
  <LI><A=20
  =
href=3D"http://www.usnews.com/usnews/usinfo/market.htm">Marketplace</A>&n=
bsp;&nbsp;|=20

  <LI><A=20
  =
href=3D"http://www.usnews.com/usnews/store/index.htm">Store</A>&nbsp;&nbs=
p;|=20
  <LI><A href=3D"http://mediakit.usnews.com/">Advertise With =
Us</A>&nbsp;&nbsp;|=20
  <LI><A href=3D"http://www.usnews.com/usnews/pr/">Press =
Room</A>&nbsp;&nbsp;|=20
  <LI><A=20
  =
href=3D"http://www.usnews.com/usnews/usinfo/staff.htm">Masthead</A>&nbsp;=
&nbsp;|=20

  <LI><A href=3D"http://www.usnews.com/widgets">Widgets</A>&nbsp;&nbsp;| =

  <LI><A href=3D"http://www.usnews.com/usnews/rss_info.htm">RSS</A> =
</LI></UL>
<P>Use of this Web site constitutes acceptance of our<A=20
href=3D"http://www.usnews.com/usnews/usinfo/terms.htm"> Terms and =
Conditions of=20
Use</A> and <A=20
href=3D"http://www.usnews.com/usnews/usinfo/terms.htm#privacy">Privacy=20
Policy</A>.</P></DIV><!-- /#siteinfo -->
<SCRIPT>=0A=
document.getElementById('most_emailed').removeClassName('active');=0A=
document.getElementById('most_emailed_tab').removeClassName('active');=0A=
document.getElementById('most_viewed').addClassName('active');=0A=
document.getElementById('most_viewed_tab').addClassName('active');=0A=
</SCRIPT>
</BODY></HTML>

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://static.usnews.com/images/global/usn_logo.png

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

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.usnews.com/blog_dbimages/58/DavesDownload3.jpg

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

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.usnews.com/pubdbimages/image/9763/FE_PR_081007davesdownload1185x185.jpg

R0lGODdhkACQAIcAAAAAAP///wAmGgATDQCZZgCPYAB8UwBzTQBgQABNMwBDLQAdEwAKBu/v79/f
38/Pz7+/v6+vr5+fn4+Pj4CAgHBwcGBgYFBQUEBAQDAwMCAgIBAQEP///wAAAAAAAAAAACAgICEh
ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0
NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH
R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa
WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t
bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA
gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam
pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5
ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM
zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f
3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy
8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///ywAAAAAkACQAEAI/wADCBxI
sKDBgwgTKlzIsKHDhxAVUgBAsaLFixgzatzIsaPHjyBDiqRIIYDJABQAqFzJkqWFADBhNghAk6YE
ADhz6gSAIYDPnz8bZABAtCiEAEiTJqUAoGlTCgGiRoUAoKrVqhgeBNjK9QGAr2DDgl1QgIDZs2jT
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
ADs=

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.usnews.com/images/icon_share.gif

R0lGODlhDAAMAOYAAOny6Zq3nVqMW9Xj1qPApPT89DOFSZC3kGm0bGq0be7x7jilOyyRPS6RP5+/
oTiNSz2TSWiybBt3KrPMtS+WLc7c0CyEQ22nbRhyKc/e0EKbSRt5OazIrTukOCyPKjaKSEWxQKbE
qDeMNj2mQPL49KzGrTmgQD+fRDWiN0KeRi5/QL3TvTx9S5a0l2qhbXCocZSylyyYKy6ULTWKQC2Q
OEWeSUCXSTiEQySEPtLe0yx9RVibbE2YVCmAMDiOR2GhZJ+9oSSDPmiybSiKPjmkOkGuPmaacO7y
7leXbUOJSz2rOjiNPjuQS1SWazqOSyyLLDSdM1eabCOEOaTAqDigOSRxMS+JMCyOOEKvQE6ST1Ca
VLrPu0KdSUaiTMXXxlmVZEeITzaMNkKvPyiLP/H49CyVLEKYSyyMKxt4MiJtMdXg1jR/Qyh8QSF5
Kxt6Kyt4Pi6VO7LNtEGYS7LLtcvbzCqUKzmQR6/HtKzJrUSxQDyYQtLh1DObN0CrP+vz6////yH5
BAAAAAAALAAAAAAMAAwAAAeQgGRIOgYfTj43SUtCBU0bQUMNcDwOcS9QCGw4YwxXPQEAf3seJwZS
bm1gMEd+fxlnXSpfUyVeAwQHeBdUXGlzf34rAmEUMSgjNlUTwHQCIjJ1fCYQMz8hW2q3BxwuNExm
RGVPWS0KrRUSD3pYeUUdVqB+ORgWEUogYn0LWkB3RmhRCiRIUUODHDtrWLzZQSIQADs=

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.usnews.com/dbimages/master/3728/FE_GR_080225itunes_bug.gif

R0lGODlhEQAPAPcAAP////f7//H4/v3+//f8//f09pacpvH8/MLd7c/R0Lzx/97d3b3g+r7g+/fy
9v//ydvn5/Ty9OLe4/z+/4y/jfHyvrrM/4Wxh9jt/MHT4tjV2/H5/sXc693f37e1ura3ue3t7uPf
56m7tO3s7F23WmiYT+/m8On1/urs6lm0W/P6//X6/77f+a29sYSmg+j//b/KwJefrL7V6+Xl5rWy
uI3AkILYZqS+pe7v79zg2MT8/m/bR+Lh4aWvuNnZ3cjXyNbs/bvg7467jv//+db/3sTR97bI2oa1
h6CqtC6HMyOKJ1ixVoi4p83l/2+edO/s61WzQ+vs7bvQ4NDn+cXV4tvu/fLw8unq6keoU8/O0Lrw
7cjA0dfPzGqucMPO2WWpa3CmXqv2/+73/my5RD63Jv/vw4athYiolsX/163X/9/i+ebm6Pb19/r9
/8Lc7KTB//L/2Iu1jOz/x97d3ODc4uDx/rW0uMzj9d36/+Dg4b7R33a7fXTFXZOgkvf7/tz/2fL5
/TeqHXG2ePTj6uLg6bnEuL/Z/fHs79ne0GfWTfXt9q21ulmhXsPQ22Wzax2OHPr/yPP092+qbP//
yunn5tTd10+7T2LAg4bQStXU1/v9//7//7O6xerTxpabpOTk6LzT7Oz2/sjJ5eTz/uHj4cDLxKes
tL/R4cbNxby8vViVW62+ocTq7K3XzbXj/r7a8//4zuv/4fP087KytGGhZurj6vj393+gbVKhUtrg
jbzK0VyUYf/x5O3h8cHe51i7V7vL09Dq/dTh0t7Y1n3Jg8fNzvn3+oKma8Ld8OHc5Njr+Pn3+MLm
/cHz9rnN4L7U2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAARAA8A
AAj/AAEIHDhAgEFAP27EYRBgoEM/Z750EbSHmCMEDQWuOBWE1aRjWFKQWIIriZuMG0C5CoMGUolb
qwoVy9LnWRsABJxZeJOmWSwwnQYlo9PLCbIJAJS92iKqSJMDkhAdWpPHRA1gBAB84MFlmARCtY5U
0vAJhCIKIoIBmBVlDqUnmQqYWWDFhzEAQnxlUJEq0gwcbEIsczHC1hVSMFQJ8yBmCgtZEQB0aLEL
hQNUtH49ykEjwCgkAksxsqQkAQQmgXZAUWNngCYpRgBcIJNoTIU/Wi7xaWXojsA6PWQAsIEpVxk5
RHQowGPgxMBQemI0GMIL1gM4L5h5wuAQQAAgVExxC/LCQdeiRlU2CQwIADs=

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.usnews.com/dbimages/master/3729/FE_GR_080225rss_icon.gif

R0lGODlhEAAOANU0AOuDE/W9gP///v/+/PW+hP3z6fnYtPCeRvbCi/vlzvfMne+WNvnXsv769vOw
aPzp1f////CdQ/S2c/W8fvKqXfjQpf758/S3de+XOPGmVfzt3O+YO/GjUPbFkPKpW/bIlvS5evvk
zPCeRfXAh/jRp/CcQfzu3vS4d/jUrvfKmvzu4PW/hfKuZPnYte6TMvjPo/OvZvKtYvrdvfXBif//
/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADQALAAAAAAQAA4AAAZ3QBot
ACgajwHh8Mg0JmlFSQgFEjUBwiJBIBhoEM2sMUZqCBhMsUPhWGQegtZR3Ok+WKWEYGYUc04MAhYw
EQUFG0ViRS4TAyYLHxAriVAAFAkGGC8DFwcDMpRFIwINAB4QBgAFKqFFCgQABxWwCCmURFdISri5
T0EAOw==

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.usnews.com/usnews/v3/images/global/feed-icon-small.gif

R0lGODlhDAAMAOYAAPSTPf3x5uuDOeiNQe6GOu6HOt96PfabRONvLuh7N+t+Mud2MOuAOe6FM+Ny
NeKAPuV2NvWWPvOPNvKPPOBpLPGKNPCLO/GMPOmOQfGxivGPOe6mffmrXfS8mPeydfO2i/u6d/Cd
ZeZ6M9teKvGVTfq4dvjEmvuvX/SSPf3w5vq9g/748uuAMeVzLvaraPWVO+FuNN1jK/7z5t9qMPq3
du2aY/nHmvScT/eZP/jFmvzAg/u/g/CNQPujRv3q2f3v5f7nzvuuXuyHPul+N/OkZvi5geOAU/mx
avrl2Oh5MPeXOO+GNPaUN/7y5viYOPqbOfOONurc0vudOv/58////wAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAAAMAAwAAAeNgFEPQwIFFhMAES8Ygi01Qg0VEkxOT1IDIklUVCk2B5VSSigCLEQ5
PlRNQaFQFwUNJi5MJVNTHFBLBBYVm00gJ1MBPAoMExIHOzJUNB5UHwsJAExHOj1NAUs/SAgQEU5T
VCpFVCEdVBQOOE9AKzckVBkbVEYzGKxLCgsIFDEjBlEDNFwgwCABBAcw/gUCADs=

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://static.usnews.com/css/global.css

HTML {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
FIELDSET {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
H4 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
H5 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
H6 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
PRE {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
BLOCKQUOTE {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
OL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
ADDRESS {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
LABEL {
	CURSOR: pointer
}
FIELDSET {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
INPUT {
	FONT-SIZE: 100%
}
SELECT {
	FONT-SIZE: 100%
}
TEXTAREA {
	FONT-SIZE: 100%
}
LEGEND {
	DISPLAY: none
}
BODY {
	FONT: 62.5% Georgia, "Times New Roman", Times, serif; COLOR: #333; =
BACKGROUND-COLOR: #8596aa
}
#page {
	PADDING-RIGHT: 4px; PADDING-LEFT: 3px; PADDING-BOTTOM: 4px; MARGIN: 0px =
auto; OVERFLOW: hidden; WIDTH: 972px; PADDING-TOP: 3px; =
BACKGROUND-COLOR: #fff
}
A {
	COLOR: #005497; TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.6em; COLOR: #005497
}
H2 {
	COLOR: #780808
}
H2 A {
	COLOR: #780808
}
H3 {
	COLOR: #005497
}
H3 A {
	COLOR: #005497
}
BIG {
	FONT-SIZE: 1em
}
UL {
	LIST-STYLE-POSITION: inside
}
OL {
	LIST-STYLE-POSITION: inside
}
UL LI {
	LIST-STYLE-IMAGE: =
url(http://static.usnews.com/images/list-style-blue.gif)
}
LI P {
	DISPLAY: inline
}
.hidden {
	DISPLAY: none
}
.hide {
	DISPLAY: none
}
.text-image-left IMG {
	BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: =
#a9a9a9 1px solid; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: 2px; =
BORDER-LEFT: #a9a9a9 1px solid; MARGIN-RIGHT: 8px; PADDING-TOP: 2px; =
BORDER-BOTTOM: #a9a9a9 1px solid
}
.text-image-right IMG {
	BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: =
#a9a9a9 1px solid; PADDING-LEFT: 2px; FLOAT: right; PADDING-BOTTOM: 2px; =
MARGIN-LEFT: 8px; BORDER-LEFT: #a9a9a9 1px solid; PADDING-TOP: 2px; =
BORDER-BOTTOM: #a9a9a9 1px solid
}
BLOCKQUOTE {
	MARGIN-LEFT: 26px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.ad P {
	FONT: 1em Georgia, "Times New Roman", Times, serif
}
DIV.ad IMG {
	FLOAT: none
}
#ad-container {
	CLEAR: both; MARGIN: 10px auto; OVERFLOW: hidden; WIDTH: 972px
}
.ad#position-1 {
	PADDING-LEFT: 24px; BACKGROUND: =
url(http://static.usnews.com/images/global/advertisment-vertical.gif) =
no-repeat 12px 5px; FLOAT: left; OVERFLOW: hidden; WIDTH: 737px; =
PADDING-TOP: 1px; HEIGHT: 92px
}
.ad#position-1  {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.ad#position-1-homepage {
	MARGIN-TOP: 3px; FLOAT: right; MARGIN-RIGHT: 15px
}
.ad#position-2 {
	FLOAT: right; OVERFLOW: hidden; WIDTH: 211px; HEIGHT: 93px
}
.ad#position-2 IMG {
	BORDER-RIGHT: white 1px solid; BORDER-TOP: white 1px solid; =
BORDER-LEFT: white 1px solid; BORDER-BOTTOM: white 1px solid
}
.ad#position-4 {
	CLEAR: right; PADDING-RIGHT: 0px; PADDING-LEFT: 6px; PADDING-BOTTOM: =
8px; MARGIN: 10px 0px; OVERFLOW: hidden; WIDTH: 98%; PADDING-TOP: 6px; =
BACKGROUND-COLOR: #eff0f1
}
.ad#position-5 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1px; PADDING-BOTTOM: 8px; MARGIN: 0px =
0px 8px; OVERFLOW: visible; PADDING-TOP: 6px; BACKGROUND-COLOR: #eff0f1; =
TEXT-ALIGN: center
}
.ad#position-5 P {
	TEXT-ALIGN: left
}
.ad#position-6 P {
	FONT-SIZE: 1em
}
DIV#page .ad#position-7 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; MARGIN-BOTTOM: 8px; =
PADDING-BOTTOM: 12px; OVERFLOW: visible; BORDER-TOP-STYLE: none; =
PADDING-TOP: 5px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; =
BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center; BORDER-BOTTOM-STYLE: none
}
DIV#page .ad#position-8 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; MARGIN-BOTTOM: 8px; =
PADDING-BOTTOM: 12px; OVERFLOW: visible; BORDER-TOP-STYLE: none; =
PADDING-TOP: 5px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; =
BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center; BORDER-BOTTOM-STYLE: none
}
.widgets .ad-gray {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; MARGIN-BOTTOM: 8px; =
PADDING-BOTTOM: 12px; OVERFLOW: visible; BORDER-TOP-STYLE: none; =
PADDING-TOP: 5px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; =
BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center; BORDER-BOTTOM-STYLE: none
}
.ad#position-7 P {
	TEXT-ALIGN: left
}
.ad#position-8 P {
	TEXT-ALIGN: left
}
.ad#position-7 IMG {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.ad#position-8 IMG {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.this-google {
	TEXT-ALIGN: center
}
.poe {
	MARGIN: 15px auto 0px; TEXT-ALIGN: center
}
#POE-large {
	MARGIN: 15px auto 0px; TEXT-ALIGN: center
}
#grad-promo {
	PADDING-RIGHT: 14px; PADDING-LEFT: 14px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px; BACKGROUND-COLOR: #eee
}
#rectangleA {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 8px; =
PADDING-BOTTOM: 12px; OVERFLOW: auto; PADDING-TOP: 5px; =
BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center
}
#rectangleB {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 8px; =
PADDING-BOTTOM: 12px; OVERFLOW: auto; PADDING-TOP: 5px; =
BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center
}
#search_result #skyscraperA {
	CLEAR: left; MARGIN-LEFT: 15px; WIDTH: 175px
}
#search_result #skyscraperA P {
	MARGIN-LEFT: 45px
}
#leaderboardB {
	OVERFLOW: hidden; WIDTH: 100%; PADDING-TOP: 5px; TEXT-ALIGN: center
}
#boxA {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px; TEXT-ALIGN: center
}
#page .boxb-parent {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
#boxB {
=09
}
#boxB .servedAdlabel {
	FONT-SIZE: 1em
}
#boxB .promo {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #ccc 1px =
solid; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px solid
}
#boxB .promo H4 {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #ecf1f7; =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px solid
}
#boxB .promo .text-image-left {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#boxB .promo .text-image-left IMG {
	FLOAT: left; MARGIN-RIGHT: 5px
}
.widgets #boxB .promo {
	TEXT-ALIGN: left
}
.widgets #boxB .promo P {
	FONT-SIZE: 1em! important
}
#boxB .promo .text-image-left {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.widgets .text-image-left {
	MARGIN-RIGHT: 5px
}
#branding {
	BORDER-TOP: #fff 1px solid; BACKGROUND: =
url(http://static.usnews.com/images/global/branding-bg.png) #003399 =
repeat-x 0px 0px; BORDER-BOTTOM: #b2b2b2 1px solid; HEIGHT: 66px
}
#page .homepage {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/global/branding-bg-big.gif); HEIGHT: =
102px
}
#branding A {
	COLOR: #ffffff
}
DIV#branding-logo {
	FLOAT: left; MARGIN: 9px 5px 0pt
}
#page .homepage DIV#branding-logo {
	MARGIN: 18px 5px 0pt
}
#branding-timestamp {
	MARGIN-TOP: 41px; FONT-WEIGHT: bold; FONT-SIZE: 1.1em; FLOAT: left; =
MARGIN-LEFT: 5px; COLOR: #ffffff; FONT-FAMILY: =
Arial,Helvetica,sans-serif
}
#page .homepage #branding-timestamp {
	MARGIN-TOP: 72px
}
#nav-magazine {
	FONT-SIZE: 1.1em; FLOAT: right; MARGIN: 41px 14px 0px 0px; COLOR: =
#ffffff; FONT-FAMILY: Arial, Helvetica, sans-serif
}
#page .homepage #nav-magazine {
	MARGIN: 72px 14px 0pt 0pt
}
#nav-magazine LI {
	DISPLAY: inline; PADDING-LEFT: 3px; LIST-STYLE-TYPE: none
}
#nav-main {
	COLOR: #ffffff
}
#nav-main A {
	COLOR: #ffffff
}
#nav-supplemental {
	COLOR: #ffffff
}
#nav-supplemental A {
	COLOR: #ffffff
}
#nav-main {
	BACKGROUND: url(http://static.usnews.com/images/global/nav-main-bg.gif) =
#16324c repeat-x 0px 0px
}
#nav-supplemental {
	BACKGROUND: url(http://static.usnews.com/images/global/nav-main-bg.gif) =
#16324c repeat-x 0px 0px
}
#nav-main LI.active A {
	BORDER-RIGHT-WIDTH: 0px
}
#nav-main {
	PADDING-RIGHT: 0px; BORDER-TOP: #ffffff 1px solid; PADDING-LEFT: 10px; =
PADDING-BOTTOM: 0px; FONT: bold 1.1em Arial, Helvetica, sans-serif; =
OVERFLOW: hidden; PADDING-TOP: 2px; BORDER-BOTTOM: #ffffff 1px solid; =
HEIGHT: 21px
}
#nav-main LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px; LIST-STYLE-TYPE: none; HEIGHT: =
15px
}
#nav-main LI.active {
	BORDER-RIGHT: #bfd2e2 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#bfd2e2 1px solid; PADDING-LEFT: 0px; BACKGROUND: =
url(http://static.usnews.com/images/global/nav-main-active-bg.gif) =
#1866a9 repeat-x 0px 0px; PADDING-BOTTOM: 2px; BORDER-LEFT: #bfd2e2 1px =
solid; PADDING-TOP: 2px; BORDER-BOTTOM: #bfd2e2 1px solid; HEIGHT: 13px
}
#nav-main LI A {
	BORDER-RIGHT: #687b90 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: =
10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
#page #nav-search {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 500; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: -5px 0px 0px 667px; WIDTH: 261px; =
PADDING-TOP: 0px; POSITION: absolute; HEIGHT: 35px
}
#nav-search FIELDSET {
	PADDING-RIGHT: 0px; PADDING-LEFT: 32px; BACKGROUND: =
url(http://static.usnews.com/images/global/nav-search-bg.png) no-repeat =
0px 0px; PADDING-BOTTOM: 0px; WIDTH: 261px; PADDING-TOP: 8px; HEIGHT: =
35px
}
#page #nav-search INPUT {
	BORDER-RIGHT: #8e9195 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#8e9195 1px solid; MARGIN-TOP: -1px; DISPLAY: block; PADDING-LEFT: 9px; =
FONT-SIZE: 1.2em; FLOAT: left; BACKGROUND-IMAGE: none; PADDING-BOTTOM: =
0px; BORDER-LEFT: #8e9195 1px solid; WIDTH: 173px; COLOR: #000000; =
PADDING-TOP: 3px; BORDER-BOTTOM: #8e9195 1px solid; FONT-FAMILY: Arial, =
Helvetica, sans-serif; POSITION: relative; HEIGHT: 18px
}
#page #nav-search INPUT.hidden {
	DISPLAY: none
}
#page #nav-search INPUT#submit {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; MARGIN-TOP: 0px; =
PADDING-LEFT: 0px; FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: =
1.2em; BACKGROUND: =
url(http://static.usnews.com/images/global/nav-search-button.gif) =
#d55011 no-repeat 0px 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: =
0px; MARGIN-LEFT: 9px; WIDTH: 57px; COLOR: #ffffff; PADDING-TOP: 0px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 23px; =
BORDER-RIGHT-WIDTH: 0px
}
#branding-section {
	PADDING-RIGHT: 0px; PADDING-LEFT: 17px; BACKGROUND: =
url(http://static.usnews.com/images/branding-sections/banner-blank.jpg) =
#f3f2e4 repeat-x 50% bottom; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 12px; =
WIDTH: auto; PADDING-TOP: 0px; BORDER-BOTTOM: #e6e2d6 1px solid; HEIGHT: =
66px
}
#branding-section H2 {
	FONT-WEIGHT: normal; FONT-SIZE: 2.7em; COLOR: #780808; PADDING-TOP: =
14px; FONT-FAMILY: Georgia,"Times New Roman",Times,serif
}
#promo-magazine {
	PADDING-RIGHT: 16px; MARGIN-TOP: -48px; FONT-SIZE: 1.1em; FLOAT: right; =
COLOR: #1f5da6; FONT-FAMILY: Georgia,"Times New Roman",Times,serif
}
#promo-magazine UL {
	DISPLAY: inline; FLOAT: left; PADDING-TOP: 30px
}
#promo-magazine LI {
	DISPLAY: inline; LIST-STYLE-IMAGE: none; LIST-STYLE-TYPE: none
}
#nav-breadcrumb {
	FONT-SIZE: 1em; WIDTH: auto; COLOR: #094790; PADDING-TOP: 7px; =
FONT-FAMILY: Arial,Helvetica,sans-serif
}
#nav-breadcrumb A {
	COLOR: #094790
}
#nav-breadcrumb A.active {
	COLOR: #780808
}
#nav-supplemental {
	CLEAR: both; PADDING-RIGHT: 0px; BORDER-TOP: #ffffff 15px solid; =
PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 6px; FONT-FAMILY: =
Arial, Helvetica, sans-serif; HEIGHT: 21px; BACKGROUND-COLOR: #122c42
}
#nav-supplemental P {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
1em; FLOAT: right; PADDING-BOTTOM: 0px; PADDING-TOP: 3px
}
#nav-supplemental UL {
	FONT-WEIGHT: bold; FONT-SIZE: 1.1em; FLOAT: left
}
#nav-supplemental LI {
	DISPLAY: inline; PADDING-LEFT: 0.3em; LIST-STYLE-TYPE: none
}
#nav-supplemental-small {
	CLEAR: both; PADDING-RIGHT: 0px; BORDER-TOP: #ffffff 15px solid; =
PADDING-LEFT: 18px; PADDING-BOTTOM: 0px; WIDTH: 780px; PADDING-TOP: 6px; =
HEIGHT: 35px
}
#nav-supplemental-small P {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 3px
}
#nav-supplemental-small LI {
	DISPLAY: inline; PADDING-LEFT: 0.3em; LIST-STYLE-TYPE: none
}
#siteinfo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 22px; PADDING-BOTTOM: 45px; MARGIN: =
0px auto; FONT: 1em Arial, Helvetica, sans-serif; WIDTH: 972px; COLOR: =
#ffffff; PADDING-TOP: 8px; BACKGROUND-COLOR: #8596aa
}
#siteinfo A {
	COLOR: #ffffff
}
#siteinfo LI {
	PADDING-RIGHT: 0.4em; DISPLAY: inline; LIST-STYLE-TYPE: none
}
.axa {
	BACKGROUND-POSITION: left center; BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/sponsor/axa-sponsor-bar.png); =
PADDING-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat
}
#page .widgets .axa H4 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.3em; BACKGROUND-COLOR: transparent; =
BORDER-BOTTOM-STYLE: none
}
#page .widgets .axa H4 {
	CURSOR: default; COLOR: red; TEXT-DECORATION: none
}
#page .widgets .axa H4 A {
	CURSOR: default; COLOR: red; TEXT-DECORATION: none
}
.axa H4 {
	MARGIN-LEFT: 25px
}
.axa DIV.text-image-top {
	MARGIN-LEFT: 25px
}
#page .axa .text-image-top IMG {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: =
0px; MARGIN: 0px 10px; BORDER-TOP-STYLE: none! important; PADDING-TOP: =
0px; BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! =
important; BORDER-BOTTOM-STYLE: none! important
}
.axa .apply {
	COLOR: red
}
.axa UL.related-links {
	LIST-STYLE-POSITION: outside; MARGIN-LEFT: 30px
}
.axa .related-links LI P {
	FONT-SIZE: 1em; MARGIN-BOTTOM: 8px
}
.axa .related-links LI.first A {
	COLOR: red
}
.allstate {
	PADDING-RIGHT: 10px; BACKGROUND-POSITION: left center; PADDING-LEFT: =
10px; BACKGROUND-IMAGE: =
url(http://www.usnews.com/usnews/v3/sponsor/allstate-sponsor-bar.png); =
PADDING-BOTTOM: 10px; PADDING-TOP: 3px; BACKGROUND-REPEAT: no-repeat
}
.allstate DIV {
	MARGIN-LEFT: 9px! important
}
.allstate H4 {
	MARGIN-LEFT: 9px! important
}
#page .allstate H4 {
	PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 4px; =
BORDER-TOP-STYLE: none; PADDING-TOP: 4px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: transparent; =
BORDER-BOTTOM-STYLE: none
}
#page .allstate H4 A {
	FONT-WEIGHT: bold; FONT-SIZE: 1.3em; COLOR: #10b2f0; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.allstate H3 {
	COLOR: #0057a8
}
.allstate H3 A {
	COLOR: #0057a8
}
.allstate UL LI {
	FONT-SIZE: 0.9em
}
.allstate LI {
	COLOR: #222
}
.allstate LI A {
	COLOR: #222
}
.allstate .toolbox {
	CLEAR: both; BORDER-TOP: #222 1px solid; MARGIN-TOP: 5px; PADDING-TOP: =
5px
}
.allstate .text-image-right IMG {
	BORDER-TOP-WIDTH: 0px! important; MARGIN-TOP: -5px; BORDER-LEFT-WIDTH: =
0px! important; FLOAT: right! important; BORDER-BOTTOM-WIDTH: 0px! =
important; MARGIN-RIGHT: 5px; BORDER-RIGHT-WIDTH: 0px! important
}
.allstate SUP {
	FONT-WEIGHT: normal; FONT-SIZE: 0.83em; TEXT-TRANSFORM: none
}

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://static.usnews.com/css/blogs.css

.content {
	FLOAT: left; WIDTH: 625px
}
.content-data {
	FLOAT: right; WIDTH: 782px
}
.widgets {
	FLOAT: left; MARGIN-LEFT: 10px; WIDTH: 336px
}
.side-nav {
	FLOAT: left; WIDTH: 180px; MARGIN-RIGHT: 10px
}
#about-blog .emailContent {
	FONT-SIZE: 1.2em
}
.emailContent IMG {
	FLOAT: left; MARGIN: 0px 6px 6px
}
.emailContent IMG.icon {
	DISPLAY: inline; FLOAT: none; MARGIN: 0px
}
#blog H1 {
	PADDING-LEFT: 8px; FONT-WEIGHT: bolder; FONT-SIZE: 1.6em; =
MARGIN-BOTTOM: 4px
}
#blog H2 {
	FONT-SIZE: 1.5em
}
#blog .blogCredit {
	MARGIN-TOP: 4px; FONT-SIZE: 1.1em; MARGIN-LEFT: 8px
}
#blog-banner {
	MARGIN-BOTTOM: 12px
}
#blog .blog-index-photo {
	FLOAT: right; MARGIN-LEFT: 10px; WIDTH: 185px
}
#blog .media-slot {
	FLOAT: right; MARGIN-LEFT: 10px; WIDTH: 185px
}
.blog-navigation {
	OVERFLOW: auto; HEIGHT: 100%
}
.previous {
	FLOAT: left; PADDING-BOTTOM: 14px; WIDTH: 295px; TEXT-ALIGN: left
}
.next {
	FLOAT: right; PADDING-BOTTOM: 14px; WIDTH: 295px; TEXT-ALIGN: right
}
#related-articles {
	CLEAR: left; PADDING-RIGHT: 15px; PADDING-LEFT: 0pt; FLOAT: left; =
PADDING-BOTTOM: 10px; WIDTH: 185px; PADDING-TOP: 0px
}
#article-media {
	CLEAR: left; PADDING-RIGHT: 15px; PADDING-LEFT: 0pt; FLOAT: left; =
PADDING-BOTTOM: 10px; WIDTH: 185px; PADDING-TOP: 0px
}
DIV#related-articles {
	BORDER-RIGHT: #dcdfd8 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dcdfd8 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; MARGIN: -5px =
15px 8px 0pt; BORDER-LEFT: #dcdfd8 1px solid; WIDTH: 169px; LINE-HEIGHT: =
1.3em; PADDING-TOP: 9px; BORDER-BOTTOM: #dcdfd8 1px solid; =
BACKGROUND-COLOR: #f5f5e9
}
DIV#related-articles H3 {
	FONT-SIZE: 1.2em; COLOR: #7a0808
}
#related-articles UL {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 4px; FONT-SIZE: 1.2em; =
LIST-STYLE-IMAGE: =
url(http://static.usnews.com/images/global/article-list-bullet.gif); =
MARGIN-BOTTOM: 0pt; PADDING-BOTTOM: 4px; PADDING-TOP: 0pt
}
#related-articles OL LI #related-articles UL LI {
	PADDING-BOTTOM: 0pt; MARGIN: 5px 0pt 5px 1em; TEXT-INDENT: -1em
}
#article-photo .photo {
	TEXT-ALIGN: center
}
.content .photo-caption {
	DISPLAY: block; FONT-SIZE: 1.1em
}
.content .photo .caption {
	DISPLAY: block; FONT-SIZE: 1.1em
}
.content .photo-credit {
	PADDING-LEFT: 4px
}
.content .credit {
	PADDING-LEFT: 4px
}
.aaq {
	BORDER-RIGHT: #cdcdcd 1px solid; BORDER-TOP: #cdcdcd 1px solid; =
FONT-SIZE: 1.1em; MARGIN-LEFT: 60px; BORDER-LEFT: #cdcdcd 1px solid; =
WIDTH: 500px; BORDER-BOTTOM: #cdcdcd 1px solid; BACKGROUND-COLOR: =
#f3f3e2
}
.aaq FORM {
	PADDING-LEFT: 12px
}
#blog-comments {
	BORDER-TOP: #cccccc 2px solid; MARGIN: 15px 0px
}
.comment-holder {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 2px solid
}
.comment-holder .comment-entry {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 3px; FLOAT: left; =
WIDTH: 70%
}
.comment-holder .comment-entry H5 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.2em; MARGIN-BOTTOM: 5px
}
.comment-holder .comment-entry H5 A:link {
	COLOR: #666666
}
.comment-holder .comment-entry H5 A:visited {
	COLOR: #666666
}
.comment-holder .comment-entry H5 A:hover {
	COLOR: #1d5ca5
}
.comment-holder .comment-metadata {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; =
MARGIN-LEFT: 71%; PADDING-TOP: 3px
}
.comment-holder .comment-metadata CITE {
	DISPLAY: block; FONT-SIZE: 1em; FONT-STYLE: normal
}
.comment-holder .comment-metadata CITE SPAN.comment-author {
	FONT-WEIGHT: bold
}
.comment-holder .comment-metadata CITE SPAN.comment-state {
	FONT-WEIGHT: bold
}
#comment-form INPUT {
	DISPLAY: block; BACKGROUND-COLOR: #ffffff
}
#comment-form TEXTAREA {
	DISPLAY: block; BACKGROUND-COLOR: #ffffff
}
#comment-form SELECT {
	DISPLAY: block; BACKGROUND-COLOR: #ffffff
}
#comment-form INPUT {
	WIDTH: 300px
}
#comment-form SELECT {
	WIDTH: 300px
}
#comment-form TEXTAREA {
	WIDTH: 470px
}
#comment-form LABEL {
	DISPLAY: block; MARGIN-BOTTOM: 7px
}
#comment-form H4 {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#comment-form EM {
	PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; =
PADDING-BOTTOM: 10px; PADDING-TOP: 10px
}
.flagcontainer {
	MARGIN-TOP: 5px; FONT-SIZE: 1.2em; POSITION: relative
}
.flagcontainer SPAN {
	FONT-SIZE: 0.8em; COLOR: #c00
}
.flagform {
	BORDER-RIGHT: #666 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 7px; BACKGROUND: #fff; LEFT: 50px; PADDING-BOTTOM: =
7px; BORDER-LEFT: #ccc 1px solid; WIDTH: 130px; PADDING-TOP: 7px; =
BORDER-BOTTOM: #666 1px solid; POSITION: absolute; TOP: 0px
}
.flagform B {
	COLOR: red
}
.flagform TEXTAREA {
	WIDTH: 120px! important; HEIGHT: auto! important
}
.flagform INPUT.email {
	WIDTH: 120px! important; HEIGHT: auto! important
}
.comments-navigation {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
1.1em; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; HEIGHT: 16px
}
#comments-readall {
	BORDER-BOTTOM: #ccc 1px solid
}
.comments-readall {
	BORDER-BOTTOM: #ccc 1px solid
}
#comments-navigation-top {
	BORDER-TOP: #ccc 1px solid
}
#comments-navigation-bottom {
	MARGIN-BOTTOM: 1em; BORDER-BOTTOM: #ccc 1px solid
}
.comments-prev {
	FLOAT: left; WIDTH: 50%
}
.comments-next {
	FLOAT: right; TEXT-ALIGN: right
}
.content .body {
	PADDING-LEFT: 8px
}
.content P {
	FONT-SIZE: 1.2em; MARGIN-BOTTOM: 1.4em; LINE-HEIGHT: 1.6em
}
.content UL {
	FONT-SIZE: 1.2em; MARGIN-BOTTOM: 1.4em; LINE-HEIGHT: 1.6em
}
.content OL {
	FONT-SIZE: 1.2em; MARGIN-BOTTOM: 1.4em; LINE-HEIGHT: 1.6em
}
#page #blog {
	MARGIN-LEFT: 8px; WIDTH: 609px
}
#page #article {
	MARGIN-LEFT: 8px; WIDTH: 609px
}
.content BLOCKQUOTE {
	MARGIN-LEFT: 26px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.content .correction {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#cccccc 1px solid; PADDING-LEFT: 10px; FLOAT: right; PADDING-BOTTOM: =
6px; MARGIN-LEFT: 6px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 169px; =
PADDING-TOP: 6px; BORDER-BOTTOM: #cccccc 1px solid; FONT-STYLE: italic
}
.content .correction P {
	MARGIN-BOTTOM: 0px; LINE-HEIGHT: 1.2em
}
.content .correction STRONG {
	FONT-STYLE: normal
}
.table-holder {
	MARGIN-LEFT: 200px
}
.table-wrapper {
	OVERFLOW: auto; HEIGHT: 100%
}
.table-container {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#cccccc 1px solid; PADDING-LEFT: 10px; FLOAT: left; MARGIN-BOTTOM: =
1.4em; PADDING-BOTTOM: 10px; BORDER-LEFT: #cccccc 1px solid; =
PADDING-TOP: 10px; BORDER-BOTTOM: #cccccc 1px solid
}
.table-credit {
	MARGIN-BOTTOM: 0pt; PADDING-TOP: 5px
}
.content TABLE {
	FONT-SIZE: 1.1em; FONT-FAMILY: Arial, Helvetica, sans-serif; =
BORDER-COLLAPSE: collapse
}
.content TH {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; =
BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: left
}
.content TD {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; =
BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: left
}
.content TD {
	FONT-WEIGHT: bold; VERTICAL-ALIGN: top
}
.content TH {
	FONT-WEIGHT: bold; VERTICAL-ALIGN: bottom; COLOR: #780808
}
.content TABLE IMG {
	FLOAT: none
}
.content TH.center {
	TEXT-ALIGN: center
}
.content TD.center {
	TEXT-ALIGN: center
}
.content TH.right {
	TEXT-ALIGN: right
}
.content TD.right {
	TEXT-ALIGN: right
}
.archivePrevious {
	FLOAT: left; PADDING-BOTTOM: 14px; WIDTH: 295px; TEXT-ALIGN: left
}
.archiveNext {
	FLOAT: right; PADDING-BOTTOM: 14px; WIDTH: 295px; TEXT-ALIGN: right
}
#article-navigation {
	CLEAR: left; BORDER-RIGHT: #ddded8 1px solid; PADDING-RIGHT: 5px; =
BORDER-TOP: #ddded8 1px solid; PADDING-LEFT: 5px; MARGIN-BOTTOM: 8px; =
PADDING-BOTTOM: 5px; OVERFLOW: visible; BORDER-LEFT: #ddded8 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: #ddded8 1px solid; HEIGHT: 17px
}
#article-navigation UL {
	LIST-STYLE-IMAGE: none; MARGIN-BOTTOM: 0pt; LIST-STYLE-TYPE: none
}
#article-tools {
	LIST-STYLE-IMAGE: none; MARGIN-BOTTOM: 0pt; LIST-STYLE-TYPE: none
}
DIV.ad#position-6 {
	MARGIN: 30px 0pt 15px
}
UL#pagination-list {
	CLEAR: left; PADDING-RIGHT: 0pt; LIST-STYLE: none none outside; =
PADDING-LEFT: 0pt; FONT-SIZE: 1.1em; MARGIN-BOTTOM: 10px; =
PADDING-BOTTOM: 0pt; WIDTH: auto; PADDING-TOP: 0pt; TEXT-ALIGN: right
}
UL#pagination-list LI {
	DISPLAY: inline; TEXT-ALIGN: center
}
UL#pagination-list LI.currentpage {
	PADDING-RIGHT: 4px; PADDING-LEFT: 6px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 4px; PADDING-TOP: 4px; BORDER-BOTTOM: #999 1px solid
}
UL#pagination-list LI A {
	PADDING-RIGHT: 4px; PADDING-LEFT: 6px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
#article H2 {
	FONT-SIZE: 1.2em; MARGIN-BOTTOM: 0.5em; COLOR: #780808
}
#article H2 A {
	FONT-SIZE: 1.2em; MARGIN-BOTTOM: 0.5em; COLOR: #780808
}
#article H2 A:hover {
	FONT-SIZE: 1.2em; MARGIN-BOTTOM: 0.5em; COLOR: #780808
}
.blogCredit {
	MARGIN-BOTTOM: 10px
}
.podcast {
	BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; =
OVERFLOW: auto; BORDER-LEFT: #cccccc 1px solid; WIDTH: 300px; COLOR: =
#707070; BORDER-BOTTOM: #cccccc 1px solid; FONT-FAMILY: =
Helvetica,Arial,sans-serif; HEIGHT: 100%
}
.content .podcast {
	MARGIN-TOP: 6px; FLOAT: left; MARGIN-RIGHT: 15px
}
.widgets .podcast {
	MARGIN-LEFT: 15px
}
.widgets .podcast IMG {
	DISPLAY: inline; FLOAT: none; MARGIN: 0px
}
.podcast H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; FONT-SIZE: 1.2em; FLOAT: left; =
PADDING-BOTTOM: 3px; COLOR: #707070; PADDING-TOP: 5px
}
.widgets .emailContent .podcast H3 {
	FONT-SIZE: 1em; PADDING-TOP: 0px
}
#page .podcast P.subscribe {
	PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
2px
}
#page .widgets .emailContent .podcast P.subscribe {
	FONT-SIZE: 0.75em
}
#ibox_w {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 100; FILTER: =
alpha(opacity=3D0); LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: =
100%; PADDING-TOP: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 100%; =
BACKGROUND-COLOR: #000; moz-opacity: 0.0; opacity: 0.0
}
#ibox_progress {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 105; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: absolute
}
#ibox_wrapper {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; Z-INDEX: 1000; LEFT: 0px; =
PADDING-BOTTOM: 65px; MARGIN: 0px; WIDTH: 300px; PADDING-TOP: 20px; =
POSITION: absolute; TOP: 0px; HEIGHT: 300px; xborder: 1px solid #CCC; =
xbackground-color: #999999
}
#ibox_content {
	BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px =
solid; PADDING-LEFT: 2px; LEFT: 0px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: =
2px; BORDER-LEFT: #000 1px solid; WIDTH: 100%; PADDING-TOP: 2px; =
BORDER-BOTTOM: #000 1px solid; POSITION: relative; TOP: 0px; =
BACKGROUND-COLOR: #ffffff
}
#ibox_footer_wrapper {
	POSITION: relative; TEXT-ALIGN: left
}
#ibox_footer {
	FONT-SIZE: 1.4em; COLOR: #ffffff
}
#ibox_close_a {
	FONT-SIZE: 1.4em; LEFT: 10px; COLOR: #ffffff; POSITION: absolute; TOP: =
0px
}
#position-7 OBJECT {
=09
}
#position-7 EMBED {
=09
}
#syndication {
	BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; =
MARGIN-BOTTOM: 8px; OVERFLOW: auto; BORDER-LEFT: #cccccc 1px solid; =
BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 100%; BACKGROUND-COLOR: =
#eef4f9
}
#syndication P {
	MARGIN-TOP: 6px; FONT-SIZE: 1.2em; LIST-STYLE-IMAGE: =
url(http://static.usnews.com/images/global/article-list-bullet.gif)
}
#syndication UL {
	MARGIN-TOP: 6px; FONT-SIZE: 1.2em; LIST-STYLE-IMAGE: =
url(http://static.usnews.com/images/global/article-list-bullet.gif)
}
#syndication H3 {
	FONT-SIZE: 1.2em
}
#newsletters {
	PADDING-RIGHT: 9px; PADDING-LEFT: 12px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px dotted
}
#feeds {
	PADDING-RIGHT: 9px; PADDING-LEFT: 12px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px dotted
}
#mobile {
	PADDING-RIGHT: 9px; PADDING-LEFT: 12px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px dotted
}
#feeds {
	BORDER-RIGHT: #cccccc 1px dotted; FLOAT: left; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 43%
}
#mobile {
	BORDER-RIGHT: #cccccc 1px dotted; FLOAT: left; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 43%
}
#syndication H2 {
	FONT-WEIGHT: bold; FONT-SIZE: 1em; TEXT-TRANSFORM: uppercase
}
#syndication H2 A {
	COLOR: #780808
}
#syndication H2 A:hover {
	COLOR: #780808
}
#mobile {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
#feeds H2 IMG {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
#page IMG#RSSicon {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: =
2px; MARGIN: 0px 5px 0px -5px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none
}
#newsletters {
	BORDER-TOP-WIDTH: 0px
}
#newsletters FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
#newsletters INPUT {
	BORDER-RIGHT: #7d8084 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#7d8084 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; FONT: 1.1em =
georgia; BORDER-LEFT: #7d8084 1px solid; WIDTH: 270px; PADDING-TOP: 2px; =
BORDER-BOTTOM: #7d8084 1px solid; HEIGHT: 17px
}
#newsletters INPUT#submit {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: #eef4f9; =
BORDER-BOTTOM-WIDTH: 0px; WIDTH: 9em; CURSOR: pointer; COLOR: #204894; =
TEXT-ALIGN: left; BORDER-RIGHT-WIDTH: 0px
}
#external-widgets {
	CLEAR: both; PADDING-RIGHT: 9px; BORDER-TOP: #cccccc 1px dotted; =
PADDING-LEFT: 9px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.content .article-tags {
	CLEAR: both; PADDING-RIGHT: 5px; MARGIN-TOP: 0.5em; PADDING-LEFT: 5px; =
FONT-SIZE: 1.1em; BACKGROUND: #f6f6f6; MARGIN-BOTTOM: 0px; =
PADDING-BOTTOM: 5px; BORDER-LEFT: #dcdfd8 7px solid; WIDTH: 572px; =
COLOR: #888888; PADDING-TOP: 5px
}
.content P.BlogTools {
	CLEAR: both
}
#blog .share {
	BORDER-BOTTOM: #cccccc 1px dotted
}
#article UL#article-tools {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; FONT-SIZE: 1em; PADDING-BOTTOM: =
0pt; PADDING-TOP: 0pt
}
#article DIV#article-navigation UL {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; FONT-SIZE: 1em; PADDING-BOTTOM: =
0pt; PADDING-TOP: 0pt
}
#article-navigation A.share-controller SPAN.box {
	BORDER-RIGHT: #1f5da6 1px solid; PADDING-RIGHT: 0.2em; BORDER-TOP: =
#1f5da6 1px solid; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0pt; =
BORDER-LEFT: #1f5da6 1px solid; PADDING-TOP: 0pt; BORDER-BOTTOM: #1f5da6 =
1px solid; FONT-FAMILY: Courier New,Courier,monospace; TEXT-DECORATION: =
none
}
#article-tools A.share-controller SPAN.box {
	BORDER-RIGHT: #1f5da6 1px solid; PADDING-RIGHT: 0.2em; BORDER-TOP: =
#1f5da6 1px solid; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0pt; =
BORDER-LEFT: #1f5da6 1px solid; PADDING-TOP: 0pt; BORDER-BOTTOM: #1f5da6 =
1px solid; FONT-FAMILY: Courier New,Courier,monospace; TEXT-DECORATION: =
none
}
#article-navigation UL LI {
	DISPLAY: inline; PADDING-LEFT: 0.3em
}
#article-tools LI {
	DISPLAY: inline; PADDING-LEFT: 0.3em
}
.iconshare {
	PADDING-LEFT: 3px
}
.iconsphere {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 18px; BACKGROUND: =
url(http://www.sphere.com/images/sphereicon.gif) no-repeat left top; =
PADDING-BOTTOM: 0px; PADDING-TOP: 2px
}
#akst_form {
	BORDER-RIGHT: #dddddd 1px solid; BORDER-TOP: #dddddd 1px solid; =
DISPLAY: none; BACKGROUND: #999999 0% 50%; BORDER-LEFT: #dddddd 1px =
solid; WIDTH: 350px; BORDER-BOTTOM: #dddddd 1px solid; POSITION: =
absolute
}
#akst_form A.akst_close {
	FLOAT: right; MARGIN: 5px; COLOR: #ffffff
}
#akst_form UL.tabs {
	BORDER-RIGHT: #999999 1px solid; PADDING-RIGHT: 0pt; LIST-STYLE: none =
none outside; BORDER-TOP: #999999 1px solid; PADDING-LEFT: 0pt; =
PADDING-BOTTOM: 0pt; MARGIN: 10px 10px 0pt; BORDER-LEFT: #999999 1px =
solid; PADDING-TOP: 0pt; BORDER-BOTTOM: #999999 1px solid
}
#akst_form UL.tabs LI {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #cccccc 0% 50%; =
FLOAT: left; PADDING-BOTTOM: 2px; MARGIN: 0pt 3px 0pt 0pt; CURSOR: =
pointer; PADDING-TOP: 3px; BORDER-BOTTOM: #999999 1px solid
}
#akst_form UL.tabs LI.selected {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #ffffff 0% 50%; =
PADDING-BOTTOM: 1px; CURSOR: default; PADDING-TOP: 4px; BORDER-BOTTOM: =
#ffffff 1px solid
}
#akst_form DIV.clear {
	CLEAR: both; FLOAT: none
}
#akst_social {
	BORDER-RIGHT: #ffffff 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#ffffff 1px solid; PADDING-LEFT: 10px; BACKGROUND: #ffffff 0% 50%; =
PADDING-BOTTOM: 10px; BORDER-LEFT: #ffffff 1px solid; PADDING-TOP: 10px; =
BORDER-BOTTOM: #ffffff 1px solid
}
#akst_email {
	BORDER-RIGHT: #ffffff 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#ffffff 1px solid; PADDING-LEFT: 10px; BACKGROUND: #ffffff 0% 50%; =
PADDING-BOTTOM: 10px; BORDER-LEFT: #ffffff 1px solid; PADDING-TOP: 10px; =
BORDER-BOTTOM: #ffffff 1px solid
}
#akst_social UL {
	PADDING-RIGHT: 0pt; LIST-STYLE: none none outside; PADDING-LEFT: 0pt; =
PADDING-BOTTOM: 0pt; MARGIN: 0pt; PADDING-TOP: 0pt
}
#akst_social UL LI {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; FLOAT: left; PADDING-BOTTOM: =
0pt; MARGIN: 0pt; WIDTH: 45%; PADDING-TOP: 0pt
}
#akst_social UL LI A {
	PADDING-RIGHT: 0pt; BACKGROUND-POSITION: 0px 2px; DISPLAY: block; =
PADDING-LEFT: 22px; FLOAT: left; PADDING-BOTTOM: 0pt; VERTICAL-ALIGN: =
middle; PADDING-TOP: 4px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 24px
}
#akst_delicious {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/delicious.gif)
}
#akst_digg {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/digg.gif)
}
#akst_furl {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/furl.gif)
}
#akst_facebook {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/facebook-icon.jpg)
}
#akst_netscape {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/netscape.gif)
}
#akst_yahoo_myweb {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/yahoo_myweb.gif)
}
#akst_technorati {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/technorati.gif)
}
#akst_google_bmarks {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/google_bmarks.gif)
}
#akst_newsvine {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/newsvine.gif)
}
#akst_blinklist {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/blinklist.gif)
}
#akst_reddit {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/reddit.gif)
}
#akst_blogmarks {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/blogmarks.gif)
}
#akst_magnolia {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/magnolia.gif)
}
#akst_windows_live {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/windows_live.gif)
}
#akst_tailrank {
	BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/share-this/tailrank.gif)
}
#akst_email {
	DISPLAY: none; TEXT-ALIGN: left
}
#akst_email FORM {
	BORDER-RIGHT: 0pt; PADDING-RIGHT: 0pt; BORDER-TOP: 0pt; PADDING-LEFT: =
0pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt; BORDER-LEFT: 0pt; PADDING-TOP: =
0pt; BORDER-BOTTOM: 0pt
}
#akst_email FIELDSET {
	BORDER-RIGHT: 0pt; PADDING-RIGHT: 0pt; BORDER-TOP: 0pt; PADDING-LEFT: =
0pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt; BORDER-LEFT: 0pt; PADDING-TOP: =
0pt; BORDER-BOTTOM: 0pt
}
#akst_email FIELDSET LEGEND {
	DISPLAY: none
}
#akst_email UL {
	PADDING-RIGHT: 0pt; LIST-STYLE: none none outside; PADDING-LEFT: 0pt; =
PADDING-BOTTOM: 0pt; MARGIN: 0pt; PADDING-TOP: 0pt
}
#akst_email UL LI {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt =
0pt 7px; PADDING-TOP: 0pt
}
#akst_email UL LI LABEL {
	DISPLAY: block; MARGIN-BOTTOM: 3px; COLOR: #555555
}
#akst_email UL LI INPUT {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px
}
#akst_email UL LI INPUT.akst_text {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; WIDTH: =
280px; PADDING-TOP: 3px
}
.tabs {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
LIST-STYLE-POSITION: outside; FONT-SIZE: 1.2em! important; Z-INDEX: 1; =
FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 12px 0px 0px; OVERFLOW: =
hidden; WIDTH: auto; COLOR: #0f2d49; PADDING-TOP: 0px; BORDER-BOTTOM: =
#bbc0c7 1px solid; FONT-FAMILY: Georgia, "Times New Roman", Times, =
serif; HEIGHT: 24px
}
.content UL.tabs {
	MARGIN: 12px 0px
}
.tabs LI {
	FONT-WEIGHT: bold; FLOAT: left; LIST-STYLE-IMAGE: none; OVERFLOW: =
hidden; WIDTH: 129px; TEXT-INDENT: 0px; LIST-STYLE-TYPE: none; HEIGHT: =
22px
}
.tabs A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; FONT-SIZE: 1em; BACKGROUND: =
url(http://static.usnews.com/images/global/tab-bg.gif) #d3dae2 no-repeat =
0px 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; MARGIN: 2px 5px =
0px; OVERFLOW: hidden; WIDTH: 119px; COLOR: #1f5da6; LINE-HEIGHT: 1.9em; =
PADDING-TOP: 0px; POSITION: absolute; HEIGHT: 17px; TEXT-ALIGN: center; =
TEXT-DECORATION: none; moz-outline-style: none
}
.tabs A.active {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; FONT-SIZE: 1em; BACKGROUND: =
url(http://static.usnews.com/images/global/tab-bg.gif) #d3dae2 no-repeat =
0px 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; MARGIN: 2px 5px =
0px; OVERFLOW: hidden; WIDTH: 119px; COLOR: #1f5da6; LINE-HEIGHT: 1.9em; =
PADDING-TOP: 0px; POSITION: absolute; HEIGHT: 17px; TEXT-ALIGN: center; =
TEXT-DECORATION: none; moz-outline-style: none
}
.tabs A.active {
	BACKGROUND: =
url(http://static.usnews.com/images/global/tab-bg-active.gif) #d3dae2 =
no-repeat 0px 0px; COLOR: #0f2d49; BORDER-BOTTOM: #feffff 2px solid
}
.tabs A:hover {
	TEXT-DECORATION: underline
}
.even {
	BACKGROUND-COLOR: #ebf1f6
}
#tab_interface DIV.containers DIV.container {
	PADDING-RIGHT: 10px; DISPLAY: none; PADDING-LEFT: 10px; PADDING-BOTTOM: =
15px; PADDING-TOP: 15px
}
#tab_interface DIV.containers DIV.active {
	DISPLAY: block
}
#mostpopular {
	BORDER-RIGHT: #d8dcd4 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#d8dcd4 1px solid; PADDING-LEFT: 0px; BACKGROUND: #d3dae2; =
PADDING-BOTTOM: 1px; BORDER-LEFT: #d8dcd4 1px solid; BORDER-BOTTOM: =
#d8dcd4 1px solid
}
#mostpopular H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 11px; FONT-WEIGHT: bold; FONT-SIZE: =
1em; PADDING-BOTTOM: 0px; PADDING-TOP: 7px
}
#most_popular_items OL {
	DISPLAY: none; BACKGROUND-COLOR: #ffffff
}
#most_popular_items OL LI {
	PADDING-RIGHT: 5px; PADDING-LEFT: 30px; FONT-SIZE: 1.1em; =
PADDING-BOTTOM: 4px; TEXT-INDENT: -1.6em; PADDING-TOP: 4px
}
UNKNOWN {
	DISPLAY: none
}
#most_popular_items OL:unknown {
	DISPLAY: block
}
#most_popular_items OL.active {
	DISPLAY: block
}
OL#most_viewed LI {
	LIST-STYLE-IMAGE: none
}
OL#most_emailed LI {
	LIST-STYLE-IMAGE: none
}
.content .article-tags {
	CLEAR: both; PADDING-RIGHT: 10px; MARGIN-TOP: 0.5em; PADDING-LEFT: =
10px; FONT-SIZE: 1.1em; BACKGROUND: #f6f6f6; MARGIN-BOTTOM: 0px; =
PADDING-BOTTOM: 10px; BORDER-LEFT: #dcdfd8 7px solid; COLOR: #888888; =
PADDING-TOP: 10px
}
.content P.tags {
	CLEAR: both; PADDING-RIGHT: 10px; MARGIN-TOP: 0.5em; PADDING-LEFT: =
10px; FONT-SIZE: 1.1em; BACKGROUND: #f6f6f6; MARGIN-BOTTOM: 0px; =
PADDING-BOTTOM: 10px; BORDER-LEFT: #dcdfd8 7px solid; COLOR: #888888; =
PADDING-TOP: 10px
}
.quiz .question {
	PADDING-BOTTOM: 0.4em
}
.quiz OL.answer {
	MARGIN-BOTTOM: 1em; MARGIN-LEFT: 1em
}
.quiz OL.answer LI {
	LIST-STYLE-TYPE: upper-alpha
}
.widgets .promo {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 10px; MARGIN-BOTTOM: 8px; PADDING-BOTTOM: 10px; =
OVERFLOW: hidden; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; =
BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 100%
}
.widgets .promo H4 {
	PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 1em; PADDING-BOTTOM: =
4px; PADDING-TOP: 4px
}
.widgets .promo H4 {
	TEXT-TRANSFORM: uppercase; COLOR: #780808
}
.widgets .promo H4 A {
	TEXT-TRANSFORM: uppercase; COLOR: #780808
}
.widgets .promo H3 {
	FONT-SIZE: 1.2em
}
.widgets .promo P {
	FONT-SIZE: 1.2em
}
.widgets .promo UL {
	FONT-SIZE: 1.1em
}
.widgets .promo IMG {
	BACKGROUND-COLOR: #ffffff
}
.widgets .text-image-left {
	CLEAR: left
}
.widgets .text-image-right {
	CLEAR: right
}
.widgets .text-image-bottom {
	MARGIN-TOP: 10px
}
.widgets .image-caption {
	DISPLAY: none
}
.subwidget {
	OVERFLOW: auto; HEIGHT: 100%
}
.subwidget .timestamp {
	COLOR: #333333
}
#section-specific .subwidget {
	MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 6px; BORDER-BOTTOM: #cccccc 1px =
solid
}
.widgets H4 SPAN {
	PADDING-LEFT: 3px; FONT-SIZE: 1em; TEXT-TRANSFORM: none; COLOR: #333
}
.faux-list H3 {
	BACKGROUND-POSITION: left center; PADDING-LEFT: 10px; FONT-WEIGHT: =
normal; FONT-SIZE: 1.1em! important; BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/list-style-blue.gif); PADDING-TOP: =
2px; BACKGROUND-REPEAT: no-repeat
}
UL.ranking-column1 {
	FLOAT: left; WIDTH: 48%
}
UL.ranking-column2 {
	FLOAT: left; WIDTH: 48%
}
.twocolumn-left {
	CLEAR: none! important; FLOAT: left; WIDTH: 45%
}
.twocolumn-right {
	CLEAR: none! important; FLOAT: left; WIDTH: 45%
}
.twocolumn-right {
	PADDING-LEFT: 10px; MARGIN-LEFT: 3px; BORDER-LEFT: #cccccc 1px solid
}
.navyblue {
	BACKGROUND-COLOR: #00528e
}
#page .navyblue H4 {
	COLOR: #fff
}
#page .navyblue H4 A {
	COLOR: #fff
}
#page .navyblue H3 {
	COLOR: #fff
}
#page .navyblue H3 A {
	COLOR: #fff
}
#page .navyblue P {
	COLOR: #fff
}
.lightblue {
	BACKGROUND-COLOR: #ebf1f6
}
.quote .blurb {
	FONT-WEIGHT: bold; COLOR: #0147b9
}
.quote BIG {
	FONT-SIZE: 1.3em
}
.quote .blurb P {
	LINE-HEIGHT: 1.2em
}
.quote .cite {
	MARGIN-BOTTOM: 8px; MARGIN-RIGHT: 10px; TEXT-ALIGN: right
}
.quote .cite P {
	LINE-HEIGHT: 1em; FONT-STYLE: italic
}
.quote .cite STRONG {
	COLOR: #780808
}
.quote .related-links LI {
	LIST-STYLE-IMAGE: none; LIST-STYLE-TYPE: none
}
.top5 .related-links LI {
	LIST-STYLE: decimal none inside; PADDING-LEFT: 25px; FONT-WEIGHT: bold; =
MARGIN-BOTTOM: 4px; COLOR: #780808; TEXT-INDENT: -20px
}
.top5 LI.first {
	BACKGROUND-COLOR: #d4dbe3
}
.top5 LI.last {
	BACKGROUND-COLOR: #d4dbe3
}
.top5 .related-links {
	CLEAR: both
}
.top5 .related-links LI P {
	DISPLAY: inline; FONT-WEIGHT: normal; COLOR: #333
}
.video-widget {
	PADDING-RIGHT: 4px! important; PADDING-LEFT: 4px! important; =
BACKGROUND: =
url(http://static.usnews.com/images/homepage/video-widget-bg.png) black =
repeat-x left top; PADDING-BOTTOM: 0px! important; OVERFLOW: hidden! =
important; COLOR: white; PADDING-TOP: 0px! important
}
 HTML .video-widget {
	WIDTH: 262px
}
.video-widget A:link {
	COLOR: white
}
.video-widget A:visited {
	COLOR: white
}
.video-widget A:hover {
	COLOR: white
}
.video-widget H3 {
	PADDING-RIGHT: 0px; MARGIN-TOP: 0px; PADDING-LEFT: 20px; BACKGROUND: =
url(http://static.usnews.com/images/homepage/video-icon.png) no-repeat =
0% 50%; PADDING-BOTTOM: 7px; FONT: 1.2em Arial, Geneva, Helvetica, =
sans-serif; WIDTH: 95%; PADDING-TOP: 11px
}
.video-widget H3 B {
	FONT-WEIGHT: bold
}
.video-widget H3 {
	COLOR: white
}
.video-widget H3 A:link {
	COLOR: white
}
.video-widget H3 A:visited {
	COLOR: white
}
.video-widget P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.video-widget IMG {
	FLOAT: none! important
}
.video-widget H4 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.video-widget H4 A:link {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.video-widget H4 A:visited {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.video-widget H3.podcast-kicker {
	BORDER-TOP: #666 1px solid; MARGIN-TOP: 4px; PADDING-LEFT: 0px! =
important; FONT-SIZE: 1.1em; PADDING-BOTTOM: 7px; PADDING-TOP: 7px
}
.ama {
	BACKGROUND-POSITION: left center; BACKGROUND-IMAGE: =
url(http://www.usnews.com/usnews/v3/sponsor/allstate-sponsor-bar.png); =
PADDING-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat
}
.ama H4 {
	MARGIN-LEFT: 10px
}
.ama DIV#None {
	MARGIN-LEFT: 10px
}
.widgets .ama H4 {
	COLOR: #005497
}
.widgets .ama H4 A {
	COLOR: #005497
}
.ama UL.related-links {
	BORDER-TOP: #ccc 1px solid; MARGIN-TOP: 4px; LIST-STYLE-POSITION: =
outside; MARGIN-LEFT: 20px
}
.ama .related-links LI P {
	FONT-SIZE: 1em; MARGIN-BOTTOM: 8px
}
.ama .middle .text-image-top {
	MARGIN-TOP: -30px; FLOAT: right
}
.ama SMALL {
	DISPLAY: block
}
.dell {
	BACKGROUND-POSITION: left center; BACKGROUND-IMAGE: =
url(http://www.usnews.com/usnews/v3/sponsor/allstate-sponsor-bar.png); =
PADDING-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat
}
.dell .banner {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: left top; MARGIN-TOP: -5px; =
PADDING-LEFT: 0px; BACKGROUND-IMAGE: =
url(http://static.usnews.com/images/sponsor/sponsor-dell-banner.gif); =
PADDING-BOTTOM: 0px; MARGIN-LEFT: -12px! important; MARGIN-RIGHT: -10px; =
PADDING-TOP: 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 67px
}
.dell #None {
	MARGIN-LEFT: 9px
}
.dell H4 {
	MARGIN-LEFT: 9px
}
#page .dell H4 A {
	FONT-WEIGHT: bold; FONT-SIZE: 1.3em; COLOR: #10b2f0; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.dell H3 {
	COLOR: #0057a8
}
.dell H3 A {
	COLOR: #0057a8
}
.dell UL LI {
	FONT-SIZE: 0.9em
}
.dell LI {
=09
}
.dell LI A {
=09
}
.dell .toolbox {
	CLEAR: both; BORDER-TOP: #222 1px solid; MARGIN-TOP: 5px; PADDING-TOP: =
5px
}
.dell .text-image-right IMG {
	BORDER-TOP-WIDTH: 0px; MARGIN-TOP: -5px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; MARGIN-RIGHT: -10px; =
PADDING-TOP: 30px; BORDER-RIGHT-WIDTH: 0px
}
.dell .text-image-left IMG {
	BORDER-TOP-WIDTH: 0px; MARGIN-TOP: -5px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 5px; BORDER-RIGHT-WIDTH: 0px
}
.dell .community H3 {
	FONT-SIZE: 1.1em
}
.dell .community P {
	FONT-SIZE: 0.9em
}

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://static.usnews.com/css/blog-print.css

DIV#supplementary-content {
	DISPLAY: none; POSITION: relative
}
#ad-container {
	DISPLAY: none; POSITION: relative
}
DIV#promo-magazine {
	DISPLAY: none; POSITION: relative
}
DIV#article-navigation {
	DISPLAY: none; POSITION: relative
}
UL#article-tools {
	DISPLAY: none; POSITION: relative
}
UL.tabs {
	DISPLAY: none; POSITION: relative
}
UL#nav-main {
	DISPLAY: none; POSITION: relative
}
DIV#nav-supplemental UL {
	DISPLAY: none; POSITION: relative
}
DIV#site-info {
	DISPLAY: none; POSITION: relative
}
#siteinfo {
	DISPLAY: none; POSITION: relative
}
#nav-breadcrumb {
	DISPLAY: none; POSITION: relative
}
FORM#nav-search {
	DISPLAY: none; POSITION: relative
}
IFRAME {
	DISPLAY: none; POSITION: relative
}
UL#nav-magazine {
	DISPLAY: none; POSITION: relative
}
DIV#branding-section {
	DISPLAY: none; POSITION: relative
}
.widgets {
	DISPLAY: none; POSITION: relative
}
.side-nav {
	DISPLAY: none; POSITION: relative
}
.tools {
	DISPLAY: none; POSITION: relative
}
.pagination {
	DISPLAY: none; POSITION: relative
}
.compare {
	DISPLAY: none; POSITION: relative
}
#table_blurb P {
	DISPLAY: none; POSITION: relative
}
.profile-tabs {
	DISPLAY: none; POSITION: relative
}
.comparison-tabs {
	DISPLAY: none; POSITION: relative
}
#comparison TFOOT {
	DISPLAY: none; POSITION: relative
}
.content #related-articles {
	DISPLAY: none; POSITION: relative
}
.aaq {
	DISPLAY: none; POSITION: relative
}
.blog-entrynav {
	DISPLAY: none; POSITION: relative
}
A.print {
	DISPLAY: none; POSITION: relative
}
#actions {
	DISPLAY: none; POSITION: relative
}
DIV#branding {
	BACKGROUND-IMAGE: none; BORDER-TOP-STYLE: none; BACKGROUND-COLOR: =
transparent
}
DIV#branding #branding-logo {
	MARGIN-TOP: 0px; DISPLAY: block; BACKGROUND: none transparent scroll =
repeat 0% 0%; FONT: 2.6em Arial, sans-serif; WIDTH: 254px; TEXT-INDENT: =
0em; POSITION: relative
}
DIV#branding DIV#branding-logo IMG {
	DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
DIV#branding DIV#branding-logo A {
	DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
DIV#branding DIV#branding-logo A IMG {
	DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
DIV#page DIV#branding-logo A {
	FILTER: none
}
DIV#page DIV#branding-logo A IMG {
	VISIBILITY: visible
}
DIV#branding #branding-timestamp {
	DISPLAY: block; FLOAT: right; COLOR: black; MARGIN-RIGHT: 25px
}
DIV.ad {
	DISPLAY: none
}
#page #article DIV#position-6 {
	DISPLAY: none
}
UL#nav-main LI.active {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
HTML BODY #page #article {
	MARGIN-LEFT: 0px; WIDTH: 97%
}
HTML BODY #page #blog {
	MARGIN-LEFT: 0px; WIDTH: 97%
}
HTML BODY #page .content {
	MARGIN-LEFT: 0px; WIDTH: 97%
}
BODY #article H1 {
	MARGIN-TOP: 10px; FONT-SIZE: 15pt; COLOR: #000000
}
BODY #article H2 {
	FONT-SIZE: 13pt; COLOR: #000000
}
BODY #article P {
	FONT-SIZE: 12pt
}
BODY #article DIV#byline {
	FONT-SIZE: 12pt
}
BODY #article DIV#dateline {
	FONT-SIZE: 12pt
}
BODY #article DIV#related-articles {
	FONT-SIZE: 12pt
}
BODY #article UL {
	FONT-SIZE: 12pt
}
BODY #article OL {
	FONT-SIZE: 12pt
}
#page TABLE TD {
	FONT-SIZE: 12pt
}
#page TABLE TH {
	FONT-SIZE: 12pt
}
BODY #page {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: =
0px; MARGIN: 0px auto; OVERFLOW: visible; WIDTH: auto; PADDING-TOP: 0px
}
#page .content {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: =
0px; MARGIN: 0px auto; OVERFLOW: visible; WIDTH: auto; PADDING-TOP: 0px
}
#page .content-data {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: =
0px; MARGIN: 0px auto; OVERFLOW: visible; WIDTH: auto; PADDING-TOP: 0px
}
#page .directory-result {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: =
0px; MARGIN: 0px auto; OVERFLOW: visible; WIDTH: auto; PADDING-TOP: 0px
}
BODY {
	FONT-SIZE: 10pt; BACKGROUND-COLOR: #ffffff
}
BODY #nav-supplemental {
	BACKGROUND: none transparent scroll repeat 0% 0%; WIDTH: auto
}
BODY #nav-supplemental P {
	FONT-SIZE: 9pt; FLOAT: none; COLOR: #000
}
BODY A IMG {
	OVERFLOW: visible; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
#page #profile-details {
	OVERFLOW: visible; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
#page #table_holder {
	OVERFLOW: visible; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
BODY .rank {
	COLOR: #000
}

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/usnews/v3/css/ie6-only.css

DIV#page DIV#promo-magazine DIV#current-issue {
	BACKGROUND: none transparent scroll repeat 0% 0%; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, =
src=3D'http://www.usnews.com/usnews/v3/images/global/current-issue-thumbn=
ail.png')
}
DIV#page .homepage DIV#branding-logo A {
	DISPLAY: block; BACKGROUND-IMAGE: =
url(http://www.usnews.com/usnews/v3/images/global/usn_logo_big.gif); =
WIDTH: 276px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 69px
}
DIV#page DIV#branding-logo A {
	DISPLAY: block; BACKGROUND-IMAGE: =
url(http://www.usnews.com/usnews/v3/images/global/usn_logo.gif); WIDTH: =
203px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 55px
}
DIV#page DIV#branding-logo A IMG {
	DISPLAY: none
}
DIV#page #nav-search FIELDSET {
	BACKGROUND: none transparent scroll repeat 0% 0%; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, =
src=3D'http://www.usnews.com/usnews/v3/images/global/nav-search-bg.png')
}
#nav-search INPUT {
	Z-INDEX: 1500; BACKGROUND-IMAGE: none; WIDTH: 150px; POSITION: relative
}
#akst_tab1 {
	WIDTH: 90px! important
}
#akst_tab2 {
	WIDTH: 90px! important
}
#nav-search FIELDSET {
	PADDING-LEFT: 42px
}
DIV#bubble DIV.bubble-top {
	BACKGROUND: none transparent scroll repeat 0% 0%; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, =
src=3D'http://static.usnews.com/images/data-projects/bubble_top_bg.png')
}
DIV#bubble DIV.bubble-content {
	BACKGROUND: none transparent scroll repeat 0% 0%; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, =
src=3D'http://static.usnews.com/images/data-projects/bubble_content_bg.pn=
g')
}
DIV#bubble DIV.bubble-bottom {
	BACKGROUND: none transparent scroll repeat 0% 0%; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, =
src=3D'http://static.usnews.com/images/data-projects/bubble_bottom_bg.png=
')
}

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/usnews/v3/css/ie-only.css

DIV.promo LI {
	LIST-STYLE-IMAGE: =
url(/usnews/v3/images/global/article-list-bullet-ie.gif)
}
#current-articles LI {
	LIST-STYLE-IMAGE: =
url(/usnews/v3/images/global/article-list-bullet-ie.gif)
}
#related-articles LI {
	LIST-STYLE-IMAGE: =
url(/usnews/v3/images/global/article-list-bullet-ie.gif)
}
#current-articles LI {
	LIST-STYLE-IMAGE: =
url(/usnews/v3/images/global/article-list-bullet-ie.gif)
}
#newmedia LI {
	LIST-STYLE-IMAGE: =
url(/usnews/v3/images/global/article-list-bullet-ie.gif)
}
#content LI {
	LIST-STYLE-IMAGE: =
url(/usnews/v3/images/global/article-list-bullet-ie.gif)
}
#syndication UL {
	LIST-STYLE-IMAGE: =
url(/usnews/v3/images/global/article-list-bullet-ie.gif)
}
UL#nav-section LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 29px; PADDING-BOTTOM: 0px; MARGIN: =
0px 0px 0px -16px; PADDING-TOP: 8px; HEIGHT: 22px
}
#article-navigation LI.expanded DIV.social-bookmarking {
	MARGIN-LEFT: 2em; POSITION: absolute
}
#article-navigation LI.expanded#share-bottom DIV.social-bookmarking {
	MARGIN-LEFT: 20px
}
#article-tools LI.expanded#share-top DIV.social-bookmarking {
	MARGIN-LEFT: 20px
}
#article-navigation A.share-controller {
	PADDING-BOTTOM: 2px
}
#article-tools A.share-controller {
	PADDING-BOTTOM: 2px
}
#akst_email .akst_text {
	MARGIN-LEFT: 17px
}

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/usnews/v3/scripts/ibox.js

/********************************************************
For more info & download: http://www.ibegin.com/blog/p_ibox.html
Created for iBegin.com - local search done right
MIT Licensed Style
*********************************************************/
var indicator_img_path =3D =
"http://www.usnews.com/usnews/v3/images/loading.gif";
var indicator_img_html =3D "<img name=3D\"ibox_indicator\" =
src=3D\""+indicator_img_path+"\" alt=3D\"Loading...\" =
style=3D\"width:128px;height:128px;\"/>"; // don't remove the name

var opacity_level =3D 8; // how transparent our overlay bg is
var ibAttr =3D "rel"; 	// our attribute identifier for our iBox elements
=09

var imgPreloader =3D new Image(); // create an preloader object
function init_ibox() {
	var elem_wrapper =3D "ibox";
=09
	createIbox(document.getElementsByTagName("body")[0]); //create our ibox

	//	elements here start the look up from the start non <a> tags
	//var docRoot =3D (document.all) ? document.all : =
document.getElementsByTagName("*");
=09
	// Or make sure we only check <a> tags
	var docRoot =3D document.getElementsByTagName("a");

	var e;
	for (var i =3D 0; i < docRoot.length - 1; i++) {
			e =3D docRoot[i];
			if(e.getAttribute(ibAttr)) {
				var t =3D e.getAttribute(ibAttr);
				if ((t.indexOf("ibox") !=3D -1)  ||  t.toLowerCase() =3D=3D "ibox") =
{ // check if this element is an iBox element
						if (e.href.indexOf("#") !=3D -1){
							var id =3D e.href.substr(e.href.indexOf("#")+1,e.href.length)
							document.getElementById(id).style.display =3D "none";
						}
						e.onclick =3D function() { // rather assign an onclick event
							var t =3D this.getAttribute(ibAttr);
							var params =3D parseQuery(t.substr(5,999));
							var url =3D this.href;
							if(this.target !=3D "") {url =3D this.target}=20
=09
							var title =3D this.title;

							if(showIbox(url,title,params)) {
								showBG();
								window.onscroll =3D maintPos;
								window.onresize =3D maintPos;
							}
							return false;
						};=20
					=09
				}
			}
     }
}

showBG =3D function() {
	var box_w =3D getElem('ibox_w');
=09

	box_w.style.opacity =3D 0;
	box_w.style.filter =3D 'alpha(opacity=3D0)';
	setBGOpacity =3D setOpacity;
	for (var i=3D0;i<=3Dopacity_level;i++) =
{setTimeout("setIboxOpacity('ibox_w',"+i+")",70*i);} // from =
quirksmode.org
=09
	=09
	box_w.style.display =3D "";
	var pagesize =3D new getPageSize();
	var scrollPos =3D new getScrollPos();
	var ua =3D navigator.userAgent;
=09
	if(ua.indexOf("MSIE ") !=3D -1) {box_w.style.width =3D =
pagesize.width+'px';}=20
	/*else {box_w.style.width =3D pagesize.width-20+'px';}*/ // scrollbars =
removed! Hurray!
	box_w.style.height =3D pagesize.height+scrollPos.scrollY+'px';

}

hideBG =3D function() {
	var box_w =3D getElem('ibox_w');
	box_w.style.display =3D "none";

}

var loadCancelled =3D false;
showIndicator =3D function() {
	var ibox_p =3D getElem('ibox_progress');
	ibox_p.style.display =3D "";
	posToCenter(ibox_p);
	ibox_p.onclick =3D function() {hideIbox();hideIndicator();loadCancelled =
=3D true;}
}


hideIndicator =3D function() {
	var ibox_p =3D getElem('ibox_progress');
	ibox_p.style.display =3D "none";
	ibox_p.onclick =3D null;
}

createIbox =3D function(elem) {
	// a trick on just creating an ibox wrapper then doing an innerHTML on =
our root ibox element
	var strHTML =3D "<div id=3D\"ibox_w\" =
style=3D\"display:none;\"></div>";
	strHTML +=3D	"<div id=3D\"ibox_progress\" style=3D\"display:none;\">";
	strHTML +=3D  indicator_img_html;
	strHTML +=3D  "</div>";
	strHTML +=3D	"<div id=3D\"ibox_wrapper\" style=3D\"display:none\">";
	strHTML +=3D	"<a id=3D\"ibox_close_a\" =
href=3D\"javascript:void(null);\" >Click here to close</a>";
	strHTML +=3D	"<div id=3D\"ibox_content\"></div>";
	strHTML +=3D	"<div id=3D\"ibox_footer_wrapper\"><div =
id=3D\"ibox_close\" style=3D\"float:right;\"></div>";
	strHTML +=3D  "<div id=3D\"ibox_footer\">&nbsp;</div>";
	strHTML +=3D  "</div></div></div>";

	var docBody =3D document.getElementsByTagName("body")[0];
	var ibox =3D document.createElement("div");
	ibox.setAttribute("id","ibox");
	ibox.style.display =3D '';
	ibox.innerHTML =3D strHTML;
	elem.appendChild(ibox);
}

var ibox_w_height =3D 0;
showIbox =3D function(url,title,params) {
=09
	var ibox =3D getElem('ibox_wrapper');
	var ibox_type =3D 0;
											=09
	// set title here
	var ibox_footer =3D getElem('ibox_footer');
	if(title !=3D "") {ibox_footer.innerHTML =3D title;} else =
{ibox_footer.innerHTML =3D "&nbsp;";}
=09
	// file checking code borrowed from thickbox
	var urlString =3D =
/\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.j=
st|\.rb|\.rhtml|\.txt/g;
=09
	var urlType =3D url.match(urlString);

	if(urlType =3D=3D '.jpg' || urlType =3D=3D '.jpeg' || urlType =3D=3D =
'.png' || urlType =3D=3D '.gif'){
		ibox_type =3D 1;
	} else if(url.indexOf("#") !=3D -1) {
		ibox_type =3D 2;
	} else =
if(urlType=3D=3D'.htm'||urlType=3D=3D'.html'||urlType=3D=3D'.php'||
			 urlType=3D=3D'.asp'||urlType=3D=3D'.aspx'||urlType=3D=3D'.jsp'||
			 =
urlType=3D=3D'.jst'||urlType=3D=3D'.rb'||urlType=3D=3D'.txt'||urlType=3D=3D=
'.rhtml'||
			 urlType=3D=3D'.cfm') {
		ibox_type =3D 3;
	} else {
		// override our ibox type if forced param exist
		if(params['type']) {ibox_type =3D parseInt(params['type']);}
		else{hideIbox();return false;}
	}
=09
	ibox_type =3D parseInt(ibox_type);


	switch(ibox_type) {
	=09
		case 1:

			showIndicator();
		=09
			imgPreloader =3D new Image();
		=09
			imgPreloader.onload =3D function(){
=09
				imgPreloader =3D resizeImageToScreen(imgPreloader);
				hideIndicator();
=09
				var strHTML =3D "<img name=3D\"ibox_img\" src=3D\""+url+"\" =
style=3D\"width:"+imgPreloader.width+"px;height:"+imgPreloader.height+"px=
;border:0;cursor:hand;margin:0;padding:0;\"/>";
=09
				if(loadCancelled =3D=3D false) {
				=09
					// set width and height
					ibox.style.height =3D imgPreloader.height+'px';
					ibox.style.width =3D imgPreloader.width+'px';
			=09
					ibox.style.display =3D "";
					ibox.style.visibility =3D "hidden";
					posToCenter(ibox); =09
					ibox.style.visibility =3D "visible";

					setIBoxContent(strHTML);
				}
				=09
			}
		=09
			loadCancelled =3D false;
			imgPreloader.src =3D url;
		=09
			break;

		case 2:
		=09
			var strHTML =3D "";

		=09
			if(params['height']) {ibox.style.height =3D params['height']+'px';}=20
			else {ibox.style.height =3D '280px';}
		=09
			if(params['width']) {ibox.style.width =3D params['width']+'px';}=20
			else {ibox.style.width =3D '450px';}

	=09
			ibox.style.display =3D "";
			ibox.style.visibility =3D "hidden";
			posToCenter(ibox); =09
			ibox.style.visibility =3D "visible";
		=09
			getElem('ibox_content').style.overflow =3D "auto";
		=09
			var elemSrcId =3D url.substr(url.indexOf("#") + 1,1000);
		=09
			var elemSrc =3D getElem(elemSrcId);
		=09
			if(elemSrc) {strHTML =3D elemSrc.innerHTML;}
	=09
			setIBoxContent(strHTML);
		=09
			break;
		=09
		case 3:
			showIndicator();
			http.open('get',url,true);

			http.onreadystatechange =3D function() {
				if(http.readyState =3D=3D 4){
					hideIndicator();
				=09
					if(params['height']) {ibox.style.height =3D params['height']+'px';} =

					else {ibox.style.height =3D '280px';}
				=09
					if(params['width']) {ibox.style.width =3D params['width']+'px';}=20
					else {ibox.style.width =3D '450px';}
	=09
					ibox.style.display =3D "";
					ibox.style.visibility =3D "hidden";
					posToCenter(ibox); =09
					ibox.style.visibility =3D "visible";
					getElem('ibox_content').style.overflow =3D "auto";
				=09
					var response =3D http.responseText;
					setIBoxContent(response);
				=09
				}
			}
		=09
			=
http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; =
charset=3DUTF-8");
			http.send(null);
			break;
	=09
		default:
		=09
	 }=20
	=20
=09
	ibox.style.opacity =3D 0;
	ibox.style.filter =3D 'alpha(opacity=3D0)';=09
	var ibox_op_level =3D 10;
=09
	setIboxOpacity =3D setOpacity;
	for (var i=3D0;i<=3Dibox_op_level;i++) =
{setTimeout("setIboxOpacity('ibox_wrapper',"+i+")",30*i);}

	if(ibox_type =3D=3D 2 || ibox_type =3D=3D 3) {
		ibox.onclick =3D null;getElem("ibox_close_a").onclick =3D function() =
{hideIbox();}
	} else {ibox.onclick =3D hideIbox;getElem("ibox_close_a").onclick =3D =
null;}

	return true;
}

setOpacity =3D function (elemid,value)	{
		var e =3D getElem(elemid);
		e.style.opacity =3D value/10;
		e.style.filter =3D 'alpha(opacity=3D' + value*10 + ')';
}

resizeImageToScreen =3D function(objImg) {
=09
	var pagesize =3D new getPageSize();
=09
	var x =3D pagesize.width - 100;
	var y =3D pagesize.height - 100;

	if(objImg.width > x) {=20
		objImg.height =3D objImg.height * (x/objImg.width);=20
		objImg.width =3D x;=20
		if(objImg.height > y) {=20
			objImg.width =3D objImg.width * (y/objImg.height);=20
			objImg.height =3D y;=20
		}
	}=20

	else if(objImg.height > y) {=20
		objImg.width =3D objImg.width * (y/objImg.height);=20
		objImg.height =3D y;=20
		if(objImg.width > x) {=20
			objImg.height =3D objImg.height * (x/objImg.width);=20
			objImg.width =3D x;
		}
	}

	return objImg;
}

maintPos =3D function() {
=09
	var ibox =3D getElem('ibox_wrapper');
	var box_w =3D getElem('ibox_w');
	var pagesize =3D new getPageSize();
	var scrollPos =3D new getScrollPos();
	var ua =3D navigator.userAgent;

	if(ua.indexOf("MSIE ") !=3D -1) {box_w.style.width =3D =
pagesize.width+'px';}=20
	/*else {box_w.style.width =3D pagesize.width-20+'px';}*/

	if(ua.indexOf("Opera/9") !=3D -1) {box_w.style.height =3D =
document.body.scrollHeight+'px';}
	else {box_w.style.height =3D pagesize.height+scrollPos.scrollY+'px';}
=09
	// alternative 1
	//box_w.style.height =3D document.body.scrollHeight+50+'px';=09
=09
	posToCenter(ibox);
=09
}

hideIbox =3D function() {
	hideBG();
	var ibox =3D getElem('ibox_wrapper');
	ibox.style.display =3D "none";

	clearIboxContent();
	window.onscroll =3D null;
}

posToCenter =3D function(elem) {
	var scrollPos =3D new getScrollPos();
	var pageSize =3D new getPageSize();
	var emSize =3D new getElementSize(elem);
	var x =3D Math.round(pageSize.width/2) - (emSize.width /2) + =
scrollPos.scrollX;
	var y =3D Math.round(pageSize.height/2) - (emSize.height /2) + =
scrollPos.scrollY;=09
	elem.style.left =3D x+'px';
	elem.style.top =3D y+'px';=09
}

getScrollPos =3D function() {
	var docElem =3D document.documentElement;
	this.scrollX =3D self.pageXOffset || (docElem&&docElem.scrollLeft) || =
document.body.scrollLeft;
	this.scrollY =3D self.pageYOffset || (docElem&&docElem.scrollTop) || =
document.body.scrollTop;
}

getPageSize =3D function() {
	var docElem =3D document.documentElement
	this.width =3D self.innerWidth || (docElem&&docElem.clientWidth) || =
document.body.clientWidth;
	this.height =3D self.innerHeight || (docElem&&docElem.clientHeight) || =
document.body.clientHeight;
}

getElementSize =3D function(elem) {
	this.width =3D elem.offsetWidth ||  elem.style.pixelWidth;
	this.height =3D elem.offsetHeight || elem.style.pixelHeight;
}

setIBoxContent =3D function(str) {
	clearIboxContent();
	var e =3D getElem('ibox_content');
	e.style.overflow =3D "auto";
	e.innerHTML =3D str;
=09
}
clearIboxContent =3D function() {
	var e =3D getElem('ibox_content');
	e.innerHTML =3D "";

}


getElem =3D function(elemId) {
	return document.getElementById(elemId);=09
}

// parseQuery code borrowed from thickbox, Thanks Cody!
parseQuery =3D function(query) {
   var Params =3D new Object ();
   if (!query) return Params;=20
   var Pairs =3D query.split(/[;&]/);
   for ( var i =3D 0; i < Pairs.length; i++ ) {
      var KeyVal =3D Pairs[i].split('=3D');
      if ( ! KeyVal || KeyVal.length !=3D 2 ) continue;
      var key =3D unescape( KeyVal[0] );
      var val =3D unescape( KeyVal[1] );
      val =3D val.replace(/\+/g, ' ');
      Params[key] =3D val;

   }
  =20
   return Params;
}

/********************************************************
 Make this IE7 Compatible ;)
 http://ajaxian.com/archives/ajax-on-ie-7-check-native-first
*********************************************************/
createRequestObject =3D function() {
	var xmlhttp;
		/*@cc_on
	@if (@_jscript_version>=3D 5)
			try {xmlhttp =3D new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
					try {xmlhttp =3D new ActiveXObject("Microsoft.XMLHTTP");}
					catch (E) {xmlhttp =3D false;}
			}
	@else
		xmlhttp =3D false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest !=3D "undefined") {
			try {xmlhttp =3D new XMLHttpRequest();} catch (e) {xmlhttp =3D =
false;}
	}
	return xmlhttp;
}

var http =3D createRequestObject();

function addEvent(obj, evType, fn){=20
 if (obj.addEventListener){=20
   obj.addEventListener(evType, fn, false);=20
   return true;=20
 } else if (obj.attachEvent){=20
   var r =3D obj.attachEvent("on"+evType, fn);=20
   return r;=20
 } else {=20
   return false;=20
 }=20
}
addEvent(window, 'load', init_ibox);

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://js.revsci.net/gateway/gw.js?csid=E08741

/*=0A=
 * Build version UW-11.1.0-94=0A=
 */=0A=
var rsi_k;=0A=
var rsi_now =3D new Date();=0A=
var rsi_csid =3D 'E08741';=0A=
if(typeof(csids)=3D=3D"undefined"){var =
csids=3D[rsi_csid];}else{csids.push(rsi_csid);}var _rsiaa=3D0;var =
_rsiba=3D1;var _rsica=3D0;var _rsida=3D0;var _rsiea=3D0;var =
_rsifa=3D1;var _rsiga=3D"0806180";var _rsiha=3D"pix04.revsci.net";var =
_rsiia=3D"js";var _rsija=3D"b";var _rsika=3D"3";var _rsila=3D3;var =
_rsima=3Dnew Array();var _rsina=3D0;var _rsioa;var _rsipa;var _rsiqa;var =
_rsira;var _rsisa;var _rsita;_rsiua();function =
DM_cat(Da){_rsioa=3DDa;}function DM_name(Ea){_rsipa=3DEa;}function =
DM_keywords(st){_rsiqa=3Dst;}function DM_event(Fa){_rsira=3DFa;}function =
DM_addToLoc(n,v){_rsisa=3D_rsiva(_rsisa,n,v);}function =
DM_addEncToLoc(n,v){DM_addToLoc(_rsiwa(n),_rsiwa(v));}function =
DM_setLoc(u){_rsisa=3Du;}function DM_setCsid(Ga){rsi_csid=3DGa;}function =
rsi_c(Ha){this._rsixa=3DHa;}function =
rsi_ral(Ia){this._rsiaa=3DIa;}function =
rsi_riu(Ja){this._rsiba=3DJa;}function =
rsi_tiu(Ka){this._rsica=3DKa;}function =
rsi_m(La){this._rsida=3DLa;}function =
rsi_dw(Ma){this._rsiea=3DMa;}function =
rsi_tu(Na){this._rsifa=3DdocW;}function =
rsi_s(Oa){this._rsiha=3DOa;}function =
rsi_t(Pa){this._rsiia=3DPa;}function =
rsi_en(Qa){this._rsija=3DQa;}function =
rsi_cn(Ra){this._rsika=3DRa;}function =
rsi_us(Sa){this._rsila=3DSa;}function DM_tag(){var =
Ta;if(_rsina=3D=3D0||_rsida=3D=3D1){if(typeof(DM_prep)=3D=3D"function"){D=
M_prep(rsi_csid);}var Ua=3D_rsiya();if(_rsiia=3D=3D"gif"){Ta=3Dnew =
Image(2,3);Ta.src=3DUa;_rsima[_rsima.length]=3DTa;}else =
if(_rsiia=3D=3D"js"){if(_rsiea=3D=3D1){document.write("<script =
language=3D\"JavaScript\" type=3D\"text/javascript\" =
src=3D\""+Ua+"\"><"+"/script>");}else{var =
Va=3Ddocument.createElement("script");Va.language=3D"JavaScript";Va.type=3D=
"text/javascript";Va.src=3DUa;if(document.body=3D=3Dnull){document.getEle=
mentsByTagName("head")[0].appendChild(Va);}else{document.body.insertBefor=
e(Va,document.body.firstChild);}Ta=3DVa;}}_rsina=3D1;}_rsiua();return =
Ta;}function _rsiya(){var =
Wa=3D"";Wa=3D"DM_LOC=3D"+_rsiwa(_rsisa);if(_rsioa){Wa+=3D"&DM_CAT=3D"+_rs=
iwa(_rsioa);}if(_rsira){Wa+=3D"&DM_EVT=3D"+_rsiwa(_rsira);}if(_rsiqa){Wa+=
=3D"&DM_KYW=3D"+_rsiwa(_rsiqa);}if(_rsiba=3D=3D1&&_rsita){Wa+=3D"&DM_REF=3D=
"+_rsiwa(_rsita);}if(_rsica=3D=3D1){Wa+=3D"&DM_TIT=3D"+_rsiwa(document.ti=
tle);}if(_rsipa){Wa+=3D"&DM_NAM=3D"+_rsiwa(_rsipa);}Wa+=3D"&DM_EOM=3D1";v=
ar Xa=3Dlocation.protocol+"//";var =
Ya=3D"/"+rsi_csid+"/"+_rsija+_rsika+"/0/"+_rsila+"/"+_rsiga+"/";var =
Za=3DMath.floor(Math.random()*1000000000)+"."+_rsiia;var =
$a=3DXa+_rsiha+Ya+Za+"?D=3D"+_rsiwa(Wa)+"&C=3D"+_rsiwa(csids);if(_rsifa){=
var =
ab=3D$a.length;if(ab>=3D2000){if($a.charAt(1998)=3D=3D'%'){$a=3D$a.substr=
(0,1998);}else =
if($a.charAt(1999)=3D=3D'%'){$a=3D$a.substr(0,1999);}else{$a=3D$a.substr(=
0,2000);}}}return $a;}function _rsiza(i){var =
bb=3Di.toString(16).toUpperCase();return bb.length<2?"0"+bb:bb;}function =
_rsiAa(c){var i=3Dc.charCodeAt(0);if(isNaN(i))return "";if(i<128)return =
"%"+_rsiza(i);if(i<2048)return =
"%"+_rsiza(0xC0+(i>>6))+"%"+_rsiza(0x80+(i&0x3F));if(i<65536)return =
"%"+_rsiza(0xE0+(i>>12))+"%"+_rsiza(0x80+(i>>6&0x3F))+"%"+_rsiza(0x80+(i&=
0x3F));return =
"%"+_rsiza(0xF0+(i>>18))+"%"+_rsiza(0x80+(i>>12&0x3F))+"%"+_rsiza(0x80+(i=
>>6&0x3F))+"%"+_rsiza(0x80+(i&0x3F));}var =
_rsiwa;if(typeof(encodeURIComponent)=3D=3D"function"){_rsiwa=3DencodeURIC=
omponent;}else{var _rsiBa=3Dnew =
RegExp("[\x00-\x20]|[\x22-\x26]|[\x2B-\x2C]|\x2F|[\x3A-\x40]|[\x5B-\x5E]|=
\x60|[\x7B-\x7D]|[\x7F-\uFFFF]","g");_rsiwa=3Dfunction(v){return =
v.toString().replace(_rsiBa,_rsiAa);}}function _rsiva(u,n,v){return =
u+(u.indexOf("?")=3D=3D-1?"?":"&")+n+"=3D"+v;}function _rsiCa(u){var =
i=3Du.indexOf('#');return(i>=3D0)?u.substr(0,i):u;}function =
_rsiua(){_rsita=3D_rsiCa(document.referrer.toString());_rsisa=3D(_rsiaa=3D=
=3D1)?_rsita:_rsiCa(window.location.href);_rsioa=3Dnull;_rsipa=3Dnull;_rs=
iqa=3Dnull;}=0A=

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/usnews/v3/scripts/prototype.js

function findParent(node, testFunction) {
        //recursively crawl from leaf to trunk of the DOM tree,
        //@param node (DOM Node) point at which to start crawl.
        //@param testFunction (function) Function that takes a DOM node, =
tests it, and returns a boolean
        //@return first element that returens True from testFunction or =
False if nothing matches
        if (testFunction(node)) {
                return node;
        }
        else if (node =3D=3D document.body) {
                return false;
        }
        else  {
                return findParent(node.parentNode, testFunction);
        }
}

var USN =3D {
	version: '1.0',
	base: 'http://www.usnews.com/usnews/v3/scripts/', /* note: this =
attibute if FINAL. If you must change, change outside the USN class!*/
	load: function(libName) {
		var includes =3D {
			ads: "ads",
			printing: "print",
			socialBookmarking: "shareLinks",
			striping: "stripe",
			tabs: "tabs",
			slider: "slide",
			effects: "effects",
			analytics: "analytics",=20
			analyticsExtensions: "analyticsCustom",
			windows: "window",
			technorati: "technorati",
			gallery: 'ibox'
		}
		if (includes[libName]) {
			document.write('<script type=3D"text/javascript" =
src=3D"'+this.base+includes[libName]+'.js"></script>');

		}
	}
}
/*  Prototype JavaScript framework, version 1.5.1
 *  (c) 2005-2007 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style =
license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
 *
/*-----------------------------------------------------------------------=
---*/

var Prototype =3D {
  Version: '1.5.1',

  Browser: {
    IE:     !!(window.attachEvent && !window.opera),
    Opera:  !!window.opera,
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && =
navigator.userAgent.indexOf('KHTML') =3D=3D -1
  },

  BrowserFeatures: {
    XPath: !!document.evaluate,
    ElementExtensions: !!window.HTMLElement,
    SpecificElementExtensions:
      (document.createElement('div').__proto__ !=3D=3D
       document.createElement('form').__proto__)
  },

  ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>',
  JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/,

  emptyFunction: function() { },
  K: function(x) { return x }
}

var Class =3D {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}

var Abstract =3D new Object();

Object.extend =3D function(destination, source) {
  for (var property in source) {
    destination[property] =3D source[property];
  }
  return destination;
}

Object.extend(Object, {
  inspect: function(object) {
    try {
      if (object =3D=3D=3D undefined) return 'undefined';
      if (object =3D=3D=3D null) return 'null';
      return object.inspect ? object.inspect() : object.toString();
    } catch (e) {
      if (e instanceof RangeError) return '...';
      throw e;
    }
  },

  toJSON: function(object) {
    var type =3D typeof object;
    switch(type) {
      case 'undefined':
      case 'function':
      case 'unknown': return;
      case 'boolean': return object.toString();
    }
    if (object =3D=3D=3D null) return 'null';
    if (object.toJSON) return object.toJSON();
    if (object.ownerDocument =3D=3D=3D document) return;
    var results =3D [];
    for (var property in object) {
      var value =3D Object.toJSON(object[property]);
      if (value !=3D=3D undefined)
        results.push(property.toJSON() + ': ' + value);
    }
    return '{' + results.join(', ') + '}';
  },

  keys: function(object) {
    var keys =3D [];
    for (var property in object)
      keys.push(property);
    return keys;
  },

  values: function(object) {
    var values =3D [];
    for (var property in object)
      values.push(object[property]);
    return values;
  },

  clone: function(object) {
    return Object.extend({}, object);
  }
});

Function.prototype.bind =3D function() {
  var __method =3D this, args =3D $A(arguments), object =3D =
args.shift();
  return function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
}

Function.prototype.bindAsEventListener =3D function(object) {
  var __method =3D this, args =3D $A(arguments), object =3D =
args.shift();
  return function(event) {
    return __method.apply(object, [event || window.event].concat(args));
  }
}

Object.extend(Number.prototype, {
  toColorPart: function() {
    return this.toPaddedString(2, 16);
  },

  succ: function() {
    return this + 1;
  },

  times: function(iterator) {
    $R(0, this, true).each(iterator);
    return this;
  },

  toPaddedString: function(length, radix) {
    var string =3D this.toString(radix || 10);
    return '0'.times(length - string.length) + string;
  },

  toJSON: function() {
    return isFinite(this) ? this.toString() : 'null';
  }
});

Date.prototype.toJSON =3D function() {
  return '"' + this.getFullYear() + '-' +
    (this.getMonth() + 1).toPaddedString(2) + '-' +
    this.getDate().toPaddedString(2) + 'T' +
    this.getHours().toPaddedString(2) + ':' +
    this.getMinutes().toPaddedString(2) + ':' +
    this.getSeconds().toPaddedString(2) + '"';
};

var Try =3D {
  these: function() {
    var returnValue;

    for (var i =3D 0, length =3D arguments.length; i < length; i++) {
      var lambda =3D arguments[i];
      try {
        returnValue =3D lambda();
        break;
      } catch (e) {}
    }

    return returnValue;
  }
}

/*-----------------------------------------------------------------------=
---*/

var PeriodicalExecuter =3D Class.create();
PeriodicalExecuter.prototype =3D {
  initialize: function(callback, frequency) {
    this.callback =3D callback;
    this.frequency =3D frequency;
    this.currentlyExecuting =3D false;

    this.registerCallback();
  },

  registerCallback: function() {
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);
  },

  stop: function() {
    if (!this.timer) return;
    clearInterval(this.timer);
    this.timer =3D null;
  },

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting =3D true;
        this.callback(this);
      } finally {
        this.currentlyExecuting =3D false;
      }
    }
  }
}
Object.extend(String, {
  interpret: function(value) {
    return value =3D=3D null ? '' : String(value);
  },
  specialChar: {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '\\': '\\\\'
  }
});

Object.extend(String.prototype, {
  gsub: function(pattern, replacement) {
    var result =3D '', source =3D this, match;
    replacement =3D arguments.callee.prepareReplacement(replacement);

    while (source.length > 0) {
      if (match =3D source.match(pattern)) {
        result +=3D source.slice(0, match.index);
        result +=3D String.interpret(replacement(match));
        source  =3D source.slice(match.index + match[0].length);
      } else {
        result +=3D source, source =3D '';
      }
    }
    return result;
  },

  sub: function(pattern, replacement, count) {
    replacement =3D this.gsub.prepareReplacement(replacement);
    count =3D count =3D=3D=3D undefined ? 1 : count;

    return this.gsub(pattern, function(match) {
      if (--count < 0) return match[0];
      return replacement(match);
    });
  },

  scan: function(pattern, iterator) {
    this.gsub(pattern, iterator);
    return this;
  },

  truncate: function(length, truncation) {
    length =3D length || 30;
    truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation;
    return this.length > length ?
      this.slice(0, length - truncation.length) + truncation : this;
  },

  strip: function() {
    return this.replace(/^\s+/, '').replace(/\s+$/, '');
  },

  stripTags: function() {
    return this.replace(/<\/?[^>]+>/gi, '');
  },

  stripScripts: function() {
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), =
'');
  },

  extractScripts: function() {
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');
    var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');
    return (this.match(matchAll) || []).map(function(scriptTag) {
      return (scriptTag.match(matchOne) || ['', ''])[1];
    });
  },

  evalScripts: function() {
    return this.extractScripts().map(function(script) { return =
eval(script) });
  },

  escapeHTML: function() {
    var self =3D arguments.callee;
    self.text.data =3D this;
    return self.div.innerHTML;
  },

  unescapeHTML: function() {
    var div =3D document.createElement('div');
    div.innerHTML =3D this.stripTags();
    return div.childNodes[0] ? (div.childNodes.length > 1 ?
      $A(div.childNodes).inject('', function(memo, node) { return =
memo+node.nodeValue }) :
      div.childNodes[0].nodeValue) : '';
  },

  toQueryParams: function(separator) {
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);
    if (!match) return {};

    return match[1].split(separator || '&').inject({}, function(hash, =
pair) {
      if ((pair =3D pair.split('=3D'))[0]) {
        var key =3D decodeURIComponent(pair.shift());
        var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];
        if (value !=3D undefined) value =3D decodeURIComponent(value);

        if (key in hash) {
          if (hash[key].constructor !=3D Array) hash[key] =3D =
[hash[key]];
          hash[key].push(value);
        }
        else hash[key] =3D value;
      }
      return hash;
    });
  },

  toArray: function() {
    return this.split('');
  },

  succ: function() {
    return this.slice(0, this.length - 1) +
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
  },

  times: function(count) {
    var result =3D '';
    for (var i =3D 0; i < count; i++) result +=3D this;
    return result;
  },

  camelize: function() {
    var parts =3D this.split('-'), len =3D parts.length;
    if (len =3D=3D 1) return parts[0];

    var camelized =3D this.charAt(0) =3D=3D '-'
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
      : parts[0];

    for (var i =3D 1; i < len; i++)
      camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);

    return camelized;
  },

  capitalize: function() {
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();
  },

  underscore: function() {
    return this.gsub(/::/, =
'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{=
1}_#{2}').gsub(/-/,'_').toLowerCase();
  },

  dasherize: function() {
    return this.gsub(/_/,'-');
  },

  inspect: function(useDoubleQuotes) {
    var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {
      var character =3D String.specialChar[match[0]];
      return character ? character : '\\u00' + =
match[0].charCodeAt().toPaddedString(2, 16);
    });
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') =
+ '"';
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";
  },

  toJSON: function() {
    return this.inspect(true);
  },

  unfilterJSON: function(filter) {
    return this.sub(filter || Prototype.JSONFilter, '#{1}');
  },

  evalJSON: function(sanitize) {
    var json =3D this.unfilterJSON();
    try {
      if (!sanitize || =
(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u =
\n\r\t])+?$/.test(json)))
        return eval('(' + json + ')');
    } catch (e) { }
    throw new SyntaxError('Badly formed JSON string: ' + =
this.inspect());
  },

  include: function(pattern) {
    return this.indexOf(pattern) > -1;
  },

  startsWith: function(pattern) {
    return this.indexOf(pattern) =3D=3D=3D 0;
  },

  endsWith: function(pattern) {
    var d =3D this.length - pattern.length;
    return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;
  },

  empty: function() {
    return this =3D=3D '';
  },

  blank: function() {
    return /^\s*$/.test(this);
  }
});

if (Prototype.Browser.WebKit || Prototype.Browser.IE) =
Object.extend(String.prototype, {
  escapeHTML: function() {
    return =
this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
  },
  unescapeHTML: function() {
    return =
this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
  }
});

String.prototype.gsub.prepareReplacement =3D function(replacement) {
  if (typeof replacement =3D=3D 'function') return replacement;
  var template =3D new Template(replacement);
  return function(match) { return template.evaluate(match) };
}

String.prototype.parseQuery =3D String.prototype.toQueryParams;

Object.extend(String.prototype.escapeHTML, {
  div:  document.createElement('div'),
  text: document.createTextNode('')
});

with (String.prototype.escapeHTML) div.appendChild(text);

var Template =3D Class.create();
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;
Template.prototype =3D {
  initialize: function(template, pattern) {
    this.template =3D template.toString();
    this.pattern  =3D pattern || Template.Pattern;
  },

  evaluate: function(object) {
    return this.template.gsub(this.pattern, function(match) {
      var before =3D match[1];
      if (before =3D=3D '\\') return match[2];
      return before + String.interpret(object[match[3]]);
    });
  }
}

var $break =3D {}, $continue =3D new Error('"throw $continue" is =
deprecated, use "return" instead');

var Enumerable =3D {
  each: function(iterator) {
    var index =3D 0;
    try {
      this._each(function(value) {
        iterator(value, index++);
      });
    } catch (e) {
      if (e !=3D $break) throw e;
    }
    return this;
  },

  eachSlice: function(number, iterator) {
    var index =3D -number, slices =3D [], array =3D this.toArray();
    while ((index +=3D number) < array.length)
      slices.push(array.slice(index, index+number));
    return slices.map(iterator);
  },

  all: function(iterator) {
    var result =3D true;
    this.each(function(value, index) {
      result =3D result && !!(iterator || Prototype.K)(value, index);
      if (!result) throw $break;
    });
    return result;
  },

  any: function(iterator) {
    var result =3D false;
    this.each(function(value, index) {
      if (result =3D !!(iterator || Prototype.K)(value, index))
        throw $break;
    });
    return result;
  },

  collect: function(iterator) {
    var results =3D [];
    this.each(function(value, index) {
      results.push((iterator || Prototype.K)(value, index));
    });
    return results;
  },

  detect: function(iterator) {
    var result;
    this.each(function(value, index) {
      if (iterator(value, index)) {
        result =3D value;
        throw $break;
      }
    });
    return result;
  },

  findAll: function(iterator) {
    var results =3D [];
    this.each(function(value, index) {
      if (iterator(value, index))
        results.push(value);
    });
    return results;
  },

  grep: function(pattern, iterator) {
    var results =3D [];
    this.each(function(value, index) {
      var stringValue =3D value.toString();
      if (stringValue.match(pattern))
        results.push((iterator || Prototype.K)(value, index));
    })
    return results;
  },

  include: function(object) {
    var found =3D false;
    this.each(function(value) {
      if (value =3D=3D object) {
        found =3D true;
        throw $break;
      }
    });
    return found;
  },

  inGroupsOf: function(number, fillWith) {
    fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith;
    return this.eachSlice(number, function(slice) {
      while(slice.length < number) slice.push(fillWith);
      return slice;
    });
  },

  inject: function(memo, iterator) {
    this.each(function(value, index) {
      memo =3D iterator(memo, value, index);
    });
    return memo;
  },

  invoke: function(method) {
    var args =3D $A(arguments).slice(1);
    return this.map(function(value) {
      return value[method].apply(value, args);
    });
  },

  max: function(iterator) {
    var result;
    this.each(function(value, index) {
      value =3D (iterator || Prototype.K)(value, index);
      if (result =3D=3D undefined || value >=3D result)
        result =3D value;
    });
    return result;
  },

  min: function(iterator) {
    var result;
    this.each(function(value, index) {
      value =3D (iterator || Prototype.K)(value, index);
      if (result =3D=3D undefined || value < result)
        result =3D value;
    });
    return result;
  },

  partition: function(iterator) {
    var trues =3D [], falses =3D [];
    this.each(function(value, index) {
      ((iterator || Prototype.K)(value, index) ?
        trues : falses).push(value);
    });
    return [trues, falses];
  },

  pluck: function(property) {
    var results =3D [];
    this.each(function(value, index) {
      results.push(value[property]);
    });
    return results;
  },

  reject: function(iterator) {
    var results =3D [];
    this.each(function(value, index) {
      if (!iterator(value, index))
        results.push(value);
    });
    return results;
  },

  sortBy: function(iterator) {
    return this.map(function(value, index) {
      return {value: value, criteria: iterator(value, index)};
    }).sort(function(left, right) {
      var a =3D left.criteria, b =3D right.criteria;
      return a < b ? -1 : a > b ? 1 : 0;
    }).pluck('value');
  },

  toArray: function() {
    return this.map();
  },

  zip: function() {
    var iterator =3D Prototype.K, args =3D $A(arguments);
    if (typeof args.last() =3D=3D 'function')
      iterator =3D args.pop();

    var collections =3D [this].concat(args).map($A);
    return this.map(function(value, index) {
      return iterator(collections.pluck(index));
    });
  },

  size: function() {
    return this.toArray().length;
  },

  inspect: function() {
    return '#<Enumerable:' + this.toArray().inspect() + '>';
  }
}

Object.extend(Enumerable, {
  map:     Enumerable.collect,
  find:    Enumerable.detect,
  select:  Enumerable.findAll,
  member:  Enumerable.include,
  entries: Enumerable.toArray
});
var $A =3D Array.from =3D function(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) {
    return iterable.toArray();
  } else {
    var results =3D [];
    for (var i =3D 0, length =3D iterable.length; i < length; i++)
      results.push(iterable[i]);
    return results;
  }
}

if (Prototype.Browser.WebKit) {
  $A =3D Array.from =3D function(iterable) {
    if (!iterable) return [];
    if (!(typeof iterable =3D=3D 'function' && iterable =3D=3D '[object =
NodeList]') &&
      iterable.toArray) {
      return iterable.toArray();
    } else {
      var results =3D [];
      for (var i =3D 0, length =3D iterable.length; i < length; i++)
        results.push(iterable[i]);
      return results;
    }
  }
}

Object.extend(Array.prototype, Enumerable);

if (!Array.prototype._reverse)
  Array.prototype._reverse =3D Array.prototype.reverse;

Object.extend(Array.prototype, {
  _each: function(iterator) {
    for (var i =3D 0, length =3D this.length; i < length; i++)
      iterator(this[i]);
  },

  clear: function() {
    this.length =3D 0;
    return this;
  },

  first: function() {
    return this[0];
  },

  last: function() {
    return this[this.length - 1];
  },

  compact: function() {
    return this.select(function(value) {
      return value !=3D null;
    });
  },

  flatten: function() {
    return this.inject([], function(array, value) {
      return array.concat(value && value.constructor =3D=3D Array ?
        value.flatten() : [value]);
    });
  },

  without: function() {
    var values =3D $A(arguments);
    return this.select(function(value) {
      return !values.include(value);
    });
  },

  indexOf: function(object) {
    for (var i =3D 0, length =3D this.length; i < length; i++)
      if (this[i] =3D=3D object) return i;
    return -1;
  },

  reverse: function(inline) {
    return (inline !=3D=3D false ? this : this.toArray())._reverse();
  },

  reduce: function() {
    return this.length > 1 ? this : this[0];
  },

  uniq: function(sorted) {
    return this.inject([], function(array, value, index) {
      if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))
        array.push(value);
      return array;
    });
  },

  clone: function() {
    return [].concat(this);
  },

  size: function() {
    return this.length;
  },

  inspect: function() {
    return '[' + this.map(Object.inspect).join(', ') + ']';
  },

  toJSON: function() {
    var results =3D [];
    this.each(function(object) {
      var value =3D Object.toJSON(object);
      if (value !=3D=3D undefined) results.push(value);
    });
    return '[' + results.join(', ') + ']';
  }
});

Array.prototype.toArray =3D Array.prototype.clone;

function $w(string) {
  string =3D string.strip();
  return string ? string.split(/\s+/) : [];
}

if (Prototype.Browser.Opera){
  Array.prototype.concat =3D function() {
    var array =3D [];
    for (var i =3D 0, length =3D this.length; i < length; i++) =
array.push(this[i]);
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {
      if (arguments[i].constructor =3D=3D Array) {
        for (var j =3D 0, arrayLength =3D arguments[i].length; j < =
arrayLength; j++)
          array.push(arguments[i][j]);
      } else {
        array.push(arguments[i]);
      }
    }
    return array;
  }
}
var Hash =3D function(object) {
  if (object instanceof Hash) this.merge(object);
  else Object.extend(this, object || {});
};

Object.extend(Hash, {
  toQueryString: function(obj) {
    var parts =3D [];
    parts.add =3D arguments.callee.addPair;

    this.prototype._each.call(obj, function(pair) {
      if (!pair.key) return;
      var value =3D pair.value;

      if (value && typeof value =3D=3D 'object') {
        if (value.constructor =3D=3D Array) value.each(function(value) {
          parts.add(pair.key, value);
        });
        return;
      }
      parts.add(pair.key, value);
    });

    return parts.join('&');
  },

  toJSON: function(object) {
    var results =3D [];
    this.prototype._each.call(object, function(pair) {
      var value =3D Object.toJSON(pair.value);
      if (value !=3D=3D undefined) results.push(pair.key.toJSON() + ': ' =
+ value);
    });
    return '{' + results.join(', ') + '}';
  }
});

Hash.toQueryString.addPair =3D function(key, value, prefix) {
  key =3D encodeURIComponent(key);
  if (value =3D=3D=3D undefined) this.push(key);
  else this.push(key + '=3D' + (value =3D=3D null ? '' : =
encodeURIComponent(value)));
}

Object.extend(Hash.prototype, Enumerable);
Object.extend(Hash.prototype, {
  _each: function(iterator) {
    for (var key in this) {
      var value =3D this[key];
      if (value && value =3D=3D Hash.prototype[key]) continue;

      var pair =3D [key, value];
      pair.key =3D key;
      pair.value =3D value;
      iterator(pair);
    }
  },

  keys: function() {
    return this.pluck('key');
  },

  values: function() {
    return this.pluck('value');
  },

  merge: function(hash) {
    return $H(hash).inject(this, function(mergedHash, pair) {
      mergedHash[pair.key] =3D pair.value;
      return mergedHash;
    });
  },

  remove: function() {
    var result;
    for(var i =3D 0, length =3D arguments.length; i < length; i++) {
      var value =3D this[arguments[i]];
      if (value !=3D=3D undefined){
        if (result =3D=3D=3D undefined) result =3D value;
        else {
          if (result.constructor !=3D Array) result =3D [result];
          result.push(value)
        }
      }
      delete this[arguments[i]];
    }
    return result;
  },

  toQueryString: function() {
    return Hash.toQueryString(this);
  },

  inspect: function() {
    return '#<Hash:{' + this.map(function(pair) {
      return pair.map(Object.inspect).join(': ');
    }).join(', ') + '}>';
  },

  toJSON: function() {
    return Hash.toJSON(this);
  }
});

function $H(object) {
  if (object instanceof Hash) return object;
  return new Hash(object);
};

// Safari iterates over shadowed properties
if (function() {
  var i =3D 0, Test =3D function(value) { this.key =3D value };
  Test.prototype.key =3D 'foo';
  for (var property in new Test('bar')) i++;
  return i > 1;
}()) Hash.prototype._each =3D function(iterator) {
  var cache =3D [];
  for (var key in this) {
    var value =3D this[key];
    if ((value && value =3D=3D Hash.prototype[key]) || =
cache.include(key)) continue;
    cache.push(key);
    var pair =3D [key, value];
    pair.key =3D key;
    pair.value =3D value;
    iterator(pair);
  }
};
ObjectRange =3D Class.create();
Object.extend(ObjectRange.prototype, Enumerable);
Object.extend(ObjectRange.prototype, {
  initialize: function(start, end, exclusive) {
    this.start =3D start;
    this.end =3D end;
    this.exclusive =3D exclusive;
  },

  _each: function(iterator) {
    var value =3D this.start;
    while (this.include(value)) {
      iterator(value);
      value =3D value.succ();
    }
  },

  include: function(value) {
    if (value < this.start)
      return false;
    if (this.exclusive)
      return value < this.end;
    return value <=3D this.end;
  }
});

var $R =3D function(start, end, exclusive) {
  return new ObjectRange(start, end, exclusive);
}

var Ajax =3D {
  getTransport: function() {
    return Try.these(
      function() {return new XMLHttpRequest()},
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
    ) || false;
  },

  activeRequestCount: 0
}

Ajax.Responders =3D {
  responders: [],

  _each: function(iterator) {
    this.responders._each(iterator);
  },

  register: function(responder) {
    if (!this.include(responder))
      this.responders.push(responder);
  },

  unregister: function(responder) {
    this.responders =3D this.responders.without(responder);
  },

  dispatch: function(callback, request, transport, json) {
    this.each(function(responder) {
      if (typeof responder[callback] =3D=3D 'function') {
        try {
          responder[callback].apply(responder, [request, transport, =
json]);
        } catch (e) {}
      }
    });
  }
};

Object.extend(Ajax.Responders, Enumerable);

Ajax.Responders.register({
  onCreate: function() {
    Ajax.activeRequestCount++;
  },
  onComplete: function() {
    Ajax.activeRequestCount--;
  }
});

Ajax.Base =3D function() {};
Ajax.Base.prototype =3D {
  setOptions: function(options) {
    this.options =3D {
      method:       'post',
      asynchronous: true,
      contentType:  'application/x-www-form-urlencoded',
      encoding:     'UTF-8',
      parameters:   ''
    }
    Object.extend(this.options, options || {});

    this.options.method =3D this.options.method.toLowerCase();
    if (typeof this.options.parameters =3D=3D 'string')
      this.options.parameters =3D =
this.options.parameters.toQueryParams();
  }
}

Ajax.Request =3D Class.create();
Ajax.Request.Events =3D
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];

Ajax.Request.prototype =3D Object.extend(new Ajax.Base(), {
  _complete: false,

  initialize: function(url, options) {
    this.transport =3D Ajax.getTransport();
    this.setOptions(options);
    this.request(url);
  },

  request: function(url) {
    this.url =3D url;
    this.method =3D this.options.method;
    var params =3D Object.clone(this.options.parameters);

    if (!['get', 'post'].include(this.method)) {
      // simulate other verbs over post
      params['_method'] =3D this.method;
      this.method =3D 'post';
    }

    this.parameters =3D params;

    if (params =3D Hash.toQueryString(params)) {
      // when GET, append parameters to URL
      if (this.method =3D=3D 'get')
        this.url +=3D (this.url.include('?') ? '&' : '?') + params;
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
        params +=3D '&_=3D';
    }

    try {
      if (this.options.onCreate) this.options.onCreate(this.transport);
      Ajax.Responders.dispatch('onCreate', this, this.transport);

      this.transport.open(this.method.toUpperCase(), this.url,
        this.options.asynchronous);

      if (this.options.asynchronous)
        setTimeout(function() { this.respondToReadyState(1) =
}.bind(this), 10);

      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);
      this.setRequestHeaders();

      this.body =3D this.method =3D=3D 'post' ? (this.options.postBody =
|| params) : null;
      this.transport.send(this.body);

      /* Force Firefox to handle ready state 4 for synchronous requests =
*/
      if (!this.options.asynchronous && this.transport.overrideMimeType)
        this.onStateChange();

    }
    catch (e) {
      this.dispatchException(e);
    }
  },

  onStateChange: function() {
    var readyState =3D this.transport.readyState;
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))
      this.respondToReadyState(this.transport.readyState);
  },

  setRequestHeaders: function() {
    var headers =3D {
      'X-Requested-With': 'XMLHttpRequest',
      'X-Prototype-Version': Prototype.Version,
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'
    };

    if (this.method =3D=3D 'post') {
      headers['Content-type'] =3D this.options.contentType +
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');

      /* Force "Connection: close" for older Mozilla browsers to work
       * around a bug where XMLHttpRequest sends an incorrect
       * Content-length header. See Mozilla Bugzilla #246651.
       */
      if (this.transport.overrideMimeType &&
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)
            headers['Connection'] =3D 'close';
    }

    // user-defined headers
    if (typeof this.options.requestHeaders =3D=3D 'object') {
      var extras =3D this.options.requestHeaders;

      if (typeof extras.push =3D=3D 'function')
        for (var i =3D 0, length =3D extras.length; i < length; i +=3D =
2)
          headers[extras[i]] =3D extras[i+1];
      else
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });
    }

    for (var name in headers)
      this.transport.setRequestHeader(name, headers[name]);
  },

  success: function() {
    return !this.transport.status
        || (this.transport.status >=3D 200 && this.transport.status < =
300);
  },

  respondToReadyState: function(readyState) {
    var state =3D Ajax.Request.Events[readyState];
    var transport =3D this.transport, json =3D this.evalJSON();

    if (state =3D=3D 'Complete') {
      try {
        this._complete =3D true;
        (this.options['on' + this.transport.status]
         || this.options['on' + (this.success() ? 'Success' : =
'Failure')]
         || Prototype.emptyFunction)(transport, json);
      } catch (e) {
        this.dispatchException(e);
      }

      var contentType =3D this.getHeader('Content-type');
      if (contentType && contentType.strip().
        match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))
          this.evalResponse();
    }

    try {
      (this.options['on' + state] || Prototype.emptyFunction)(transport, =
json);
      Ajax.Responders.dispatch('on' + state, this, transport, json);
    } catch (e) {
      this.dispatchException(e);
    }

    if (state =3D=3D 'Complete') {
      // avoid memory leak in MSIE: clean up
      this.transport.onreadystatechange =3D Prototype.emptyFunction;
    }
  },

  getHeader: function(name) {
    try {
      return this.transport.getResponseHeader(name);
    } catch (e) { return null }
  },

  evalJSON: function() {
    try {
      var json =3D this.getHeader('X-JSON');
      return json ? json.evalJSON() : null;
    } catch (e) { return null }
  },

  evalResponse: function() {
    try {
      return eval((this.transport.responseText || '').unfilterJSON());
    } catch (e) {
      this.dispatchException(e);
    }
  },

  dispatchException: function(exception) {
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);
    Ajax.Responders.dispatch('onException', this, exception);
  }
});

Ajax.Updater =3D Class.create();

Object.extend(Object.extend(Ajax.Updater.prototype, =
Ajax.Request.prototype), {
  initialize: function(container, url, options) {
    this.container =3D {
      success: (container.success || container),
      failure: (container.failure || (container.success ? null : =
container))
    }

    this.transport =3D Ajax.getTransport();
    this.setOptions(options);

    var onComplete =3D this.options.onComplete || =
Prototype.emptyFunction;
    this.options.onComplete =3D (function(transport, param) {
      this.updateContent();
      onComplete(transport, param);
    }).bind(this);

    this.request(url);
  },

  updateContent: function() {
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'];
    var response =3D this.transport.responseText;

    if (!this.options.evalScripts) response =3D response.stripScripts();

    if (receiver =3D $(receiver)) {
      if (this.options.insertion)
        new this.options.insertion(receiver, response);
      else
        receiver.update(response);
    }

    if (this.success()) {
      if (this.onComplete)
        setTimeout(this.onComplete.bind(this), 10);
    }
  }
});

Ajax.PeriodicalUpdater =3D Class.create();
Ajax.PeriodicalUpdater.prototype =3D Object.extend(new Ajax.Base(), {
  initialize: function(container, url, options) {
    this.setOptions(options);
    this.onComplete =3D this.options.onComplete;

    this.frequency =3D (this.options.frequency || 2);
    this.decay =3D (this.options.decay || 1);

    this.updater =3D {};
    this.container =3D container;
    this.url =3D url;

    this.start();
  },

  start: function() {
    this.options.onComplete =3D this.updateComplete.bind(this);
    this.onTimerEvent();
  },

  stop: function() {
    this.updater.options.onComplete =3D undefined;
    clearTimeout(this.timer);
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
  },

  updateComplete: function(request) {
    if (this.options.decay) {
      this.decay =3D (request.responseText =3D=3D this.lastText ?
        this.decay * this.options.decay : 1);

      this.lastText =3D request.responseText;
    }
    this.timer =3D setTimeout(this.onTimerEvent.bind(this),
      this.decay * this.frequency * 1000);
  },

  onTimerEvent: function() {
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);
  }
});
function $(element) {
  if (arguments.length > 1) {
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (typeof element =3D=3D 'string')
    element =3D document.getElementById(element);
  return Element.extend(element);
}

if (Prototype.BrowserFeatures.XPath) {
  document._getElementsByXPath =3D function(expression, parentElement) {
    var results =3D [];
    var query =3D document.evaluate(expression, $(parentElement) || =
document,
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)
      results.push(query.snapshotItem(i));
    return results;
  };

  document.getElementsByClassName =3D function(className, parentElement) =
{
    var q =3D ".//*[contains(concat(' ', @class, ' '), ' " + className + =
" ')]";
    return document._getElementsByXPath(q, parentElement);
  }

} else document.getElementsByClassName =3D function(className, =
parentElement) {
  var children =3D ($(parentElement) || =
document.body).getElementsByTagName('*');
  var elements =3D [], child;
  for (var i =3D 0, length =3D children.length; i < length; i++) {
    child =3D children[i];
    if (Element.hasClassName(child, className))
      elements.push(Element.extend(child));
  }
  return elements;
};

/*-----------------------------------------------------------------------=
---*/

if (!window.Element) var Element =3D {};

Element.extend =3D function(element) {
  var F =3D Prototype.BrowserFeatures;
  if (!element || !element.tagName || element.nodeType =3D=3D 3 ||
   element._extended || F.SpecificElementExtensions || element =3D=3D =
window)
    return element;

  var methods =3D {}, tagName =3D element.tagName, cache =3D =
Element.extend.cache,
   T =3D Element.Methods.ByTag;

  // extend methods for all tags (Safari doesn't need this)
  if (!F.ElementExtensions) {
    Object.extend(methods, Element.Methods),
    Object.extend(methods, Element.Methods.Simulated);
  }

  // extend methods for specific tags
  if (T[tagName]) Object.extend(methods, T[tagName]);

  for (var property in methods) {
    var value =3D methods[property];
    if (typeof value =3D=3D 'function' && !(property in element))
      element[property] =3D cache.findOrStore(value);
  }

  element._extended =3D Prototype.emptyFunction;
  return element;
};

Element.extend.cache =3D {
  findOrStore: function(value) {
    return this[value] =3D this[value] || function() {
      return value.apply(null, [this].concat($A(arguments)));
    }
  }
};

Element.Methods =3D {
  visible: function(element) {
    return $(element).style.display !=3D 'none';
  },

  toggle: function(element) {
    element =3D $(element);
    Element[Element.visible(element) ? 'hide' : 'show'](element);
    return element;
  },

  hide: function(element) {
    $(element).style.display =3D 'none';
    return element;
  },

  show: function(element) {
    $(element).style.display =3D '';
    return element;
  },

  remove: function(element) {
    element =3D $(element);
    element.parentNode.removeChild(element);
    return element;
  },

  update: function(element, html) {
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();
    $(element).innerHTML =3D html.stripScripts();
    setTimeout(function() {html.evalScripts()}, 10);
    return element;
  },

  replace: function(element, html) {
    element =3D $(element);
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();
    if (element.outerHTML) {
      element.outerHTML =3D html.stripScripts();
    } else {
      var range =3D element.ownerDocument.createRange();
      range.selectNodeContents(element);
      element.parentNode.replaceChild(
        range.createContextualFragment(html.stripScripts()), element);
    }
    setTimeout(function() {html.evalScripts()}, 10);
    return element;
  },

  inspect: function(element) {
    element =3D $(element);
    var result =3D '<' + element.tagName.toLowerCase();
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {
      var property =3D pair.first(), attribute =3D pair.last();
      var value =3D (element[property] || '').toString();
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);
    });
    return result + '>';
  },

  recursivelyCollect: function(element, property) {
    element =3D $(element);
    var elements =3D [];
    while (element =3D element[property])
      if (element.nodeType =3D=3D 1)
        elements.push(Element.extend(element));
    return elements;
  },

  ancestors: function(element) {
    return $(element).recursivelyCollect('parentNode');
  },

  descendants: function(element) {
    return =
$A($(element).getElementsByTagName('*')).each(Element.extend);
  },

  firstDescendant: function(element) {
    element =3D $(element).firstChild;
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;
    return $(element);
  },

  immediateDescendants: function(element) {
    if (!(element =3D $(element).firstChild)) return [];
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;
    if (element) return [element].concat($(element).nextSiblings());
    return [];
  },

  previousSiblings: function(element) {
    return $(element).recursivelyCollect('previousSibling');
  },

  nextSiblings: function(element) {
    return $(element).recursivelyCollect('nextSibling');
  },

  siblings: function(element) {
    element =3D $(element);
    return =
element.previousSiblings().reverse().concat(element.nextSiblings());
  },

  match: function(element, selector) {
    if (typeof selector =3D=3D 'string')
      selector =3D new Selector(selector);
    return selector.match($(element));
  },

  up: function(element, expression, index) {
    element =3D $(element);
    if (arguments.length =3D=3D 1) return $(element.parentNode);
    var ancestors =3D element.ancestors();
    return expression ? Selector.findElement(ancestors, expression, =
index) :
      ancestors[index || 0];
  },

  down: function(element, expression, index) {
    element =3D $(element);
    if (arguments.length =3D=3D 1) return element.firstDescendant();
    var descendants =3D element.descendants();
    return expression ? Selector.findElement(descendants, expression, =
index) :
      descendants[index || 0];
  },

  previous: function(element, expression, index) {
    element =3D $(element);
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.previousElementSibling(element));
    var previousSiblings =3D element.previousSiblings();
    return expression ? Selector.findElement(previousSiblings, =
expression, index) :
      previousSiblings[index || 0];
  },

  next: function(element, expression, index) {
    element =3D $(element);
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.nextElementSibling(element));
    var nextSiblings =3D element.nextSiblings();
    return expression ? Selector.findElement(nextSiblings, expression, =
index) :
      nextSiblings[index || 0];
  },

  getElementsBySelector: function() {
    var args =3D $A(arguments), element =3D $(args.shift());
    return Selector.findChildElements(element, args);
  },

  getElementsByClassName: function(element, className) {
    return document.getElementsByClassName(className, element);
  },

  readAttribute: function(element, name) {
    element =3D $(element);
    if (Prototype.Browser.IE) {
      if (!element.attributes) return null;
      var t =3D Element._attributeTranslations;
      if (t.values[name]) return t.values[name](element, name);
      if (t.names[name])  name =3D t.names[name];
      var attribute =3D element.attributes[name];
      return attribute ? attribute.nodeValue : null;
    }
    return element.getAttribute(name);
  },

  getHeight: function(element) {
    return $(element).getDimensions().height;
  },

  getWidth: function(element) {
    return $(element).getDimensions().width;
  },

  classNames: function(element) {
    return new Element.ClassNames(element);
  },

  hasClassName: function(element, className) {
    if (!(element =3D $(element))) return;
    var elementClassName =3D element.className;
    if (elementClassName.length =3D=3D 0) return false;
    if (elementClassName =3D=3D className ||
        elementClassName.match(new RegExp("(^|\\s)" + className + =
"(\\s|$)")))
      return true;
    return false;
  },

  addClassName: function(element, className) {
    if (!(element =3D $(element))) return;
    Element.classNames(element).add(className);
    return element;
  },

  removeClassName: function(element, className) {
    if (!(element =3D $(element))) return;
    Element.classNames(element).remove(className);
    return element;
  },

  toggleClassName: function(element, className) {
    if (!(element =3D $(element))) return;
    Element.classNames(element)[element.hasClassName(className) ? =
'remove' : 'add'](className);
    return element;
  },

  observe: function() {
    Event.observe.apply(Event, arguments);
    return $A(arguments).first();
  },

  stopObserving: function() {
    Event.stopObserving.apply(Event, arguments);
    return $A(arguments).first();
  },

  // removes whitespace-only text node children
  cleanWhitespace: function(element) {
    element =3D $(element);
    var node =3D element.firstChild;
    while (node) {
      var nextNode =3D node.nextSibling;
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))
        element.removeChild(node);
      node =3D nextNode;
    }
    return element;
  },

  empty: function(element) {
    return $(element).innerHTML.blank();
  },

  descendantOf: function(element, ancestor) {
    element =3D $(element), ancestor =3D $(ancestor);
    while (element =3D element.parentNode)
      if (element =3D=3D ancestor) return true;
    return false;
  },

  scrollTo: function(element) {
    element =3D $(element);
    var pos =3D Position.cumulativeOffset(element);
    window.scrollTo(pos[0], pos[1]);
    return element;
  },

  getStyle: function(element, style) {
    element =3D $(element);
    style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();
    var value =3D element.style[style];
    if (!value) {
      var css =3D document.defaultView.getComputedStyle(element, null);
      value =3D css ? css[style] : null;
    }
    if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;
    return value =3D=3D 'auto' ? null : value;
  },

  getOpacity: function(element) {
    return $(element).getStyle('opacity');
  },

  setStyle: function(element, styles, camelized) {
    element =3D $(element);
    var elementStyle =3D element.style;

    for (var property in styles)
      if (property =3D=3D 'opacity') =
element.setOpacity(styles[property])
      else
        elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?
          (elementStyle.styleFloat =3D=3D=3D undefined ? 'cssFloat' : =
'styleFloat') :
          (camelized ? property : property.camelize())] =3D =
styles[property];

    return element;
  },

  setOpacity: function(element, value) {
    element =3D $(element);
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :
      (value < 0.00001) ? 0 : value;
    return element;
  },

  getDimensions: function(element) {
    element =3D $(element);
    var display =3D $(element).getStyle('display');
    if (display !=3D 'none' && display !=3D null) // Safari bug
      return {width: element.offsetWidth, height: element.offsetHeight};

    // All *Width and *Height properties give 0 on elements with display =
none,
    // so enable the element temporarily
    var els =3D element.style;
    var originalVisibility =3D els.visibility;
    var originalPosition =3D els.position;
    var originalDisplay =3D els.display;
    els.visibility =3D 'hidden';
    els.position =3D 'absolute';
    els.display =3D 'block';
    var originalWidth =3D element.clientWidth;
    var originalHeight =3D element.clientHeight;
    els.display =3D originalDisplay;
    els.position =3D originalPosition;
    els.visibility =3D originalVisibility;
    return {width: originalWidth, height: originalHeight};
  },

  makePositioned: function(element) {
    element =3D $(element);
    var pos =3D Element.getStyle(element, 'position');
    if (pos =3D=3D 'static' || !pos) {
      element._madePositioned =3D true;
      element.style.position =3D 'relative';
      // Opera returns the offset relative to the positioning context, =
when an
      // element is position relative but top and left have not been =
defined
      if (window.opera) {
        element.style.top =3D 0;
        element.style.left =3D 0;
      }
    }
    return element;
  },

  undoPositioned: function(element) {
    element =3D $(element);
    if (element._madePositioned) {
      element._madePositioned =3D undefined;
      element.style.position =3D
        element.style.top =3D
        element.style.left =3D
        element.style.bottom =3D
        element.style.right =3D '';
    }
    return element;
  },

  makeClipping: function(element) {
    element =3D $(element);
    if (element._overflow) return element;
    element._overflow =3D element.style.overflow || 'auto';
    if ((Element.getStyle(element, 'overflow') || 'visible') !=3D =
'hidden')
      element.style.overflow =3D 'hidden';
    return element;
  },

  undoClipping: function(element) {
    element =3D $(element);
    if (!element._overflow) return element;
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;
    element._overflow =3D null;
    return element;
  }
};

Object.extend(Element.Methods, {
  childOf: Element.Methods.descendantOf,
  childElements: Element.Methods.immediateDescendants
});

if (Prototype.Browser.Opera) {
  Element.Methods._getStyle =3D Element.Methods.getStyle;
  Element.Methods.getStyle =3D function(element, style) {
    switch(style) {
      case 'left':
      case 'top':
      case 'right':
      case 'bottom':
        if (Element._getStyle(element, 'position') =3D=3D 'static') =
return null;
      default: return Element._getStyle(element, style);
    }
  };
}
else if (Prototype.Browser.IE) {
  Element.Methods.getStyle =3D function(element, style) {
    element =3D $(element);
    style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();
    var value =3D element.style[style];
    if (!value && element.currentStyle) value =3D =
element.currentStyle[style];

    if (style =3D=3D 'opacity') {
      if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))
        if (value[1]) return parseFloat(value[1]) / 100;
      return 1.0;
    }

    if (value =3D=3D 'auto') {
      if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))
        return element['offset'+style.capitalize()] + 'px';
      return null;
    }
    return value;
  };

  Element.Methods.setOpacity =3D function(element, value) {
    element =3D $(element);
    var filter =3D element.getStyle('filter'), style =3D element.style;
    if (value =3D=3D 1 || value =3D=3D=3D '') {
      style.filter =3D filter.replace(/alpha\([^\)]*\)/gi,'');
      return element;
    } else if (value < 0.00001) value =3D 0;
    style.filter =3D filter.replace(/alpha\([^\)]*\)/gi, '') +
      'alpha(opacity=3D' + (value * 100) + ')';
    return element;
  };

  // IE is missing .innerHTML support for TABLE-related elements
  Element.Methods.update =3D function(element, html) {
    element =3D $(element);
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();
    var tagName =3D element.tagName.toUpperCase();
    if (['THEAD','TBODY','TR','TD'].include(tagName)) {
      var div =3D document.createElement('div');
      switch (tagName) {
        case 'THEAD':
        case 'TBODY':
          div.innerHTML =3D '<table><tbody>' +  html.stripScripts() + =
'</tbody></table>';
          depth =3D 2;
          break;
        case 'TR':
          div.innerHTML =3D '<table><tbody><tr>' +  html.stripScripts() =
+ '</tr></tbody></table>';
          depth =3D 3;
          break;
        case 'TD':
          div.innerHTML =3D '<table><tbody><tr><td>' +  =
html.stripScripts() + '</td></tr></tbody></table>';
          depth =3D 4;
      }
      $A(element.childNodes).each(function(node) { =
element.removeChild(node) });
      depth.times(function() { div =3D div.firstChild });
      $A(div.childNodes).each(function(node) { element.appendChild(node) =
});
    } else {
      element.innerHTML =3D html.stripScripts();
    }
    setTimeout(function() { html.evalScripts() }, 10);
    return element;
  }
}
else if (Prototype.Browser.Gecko) {
  Element.Methods.setOpacity =3D function(element, value) {
    element =3D $(element);
    element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :
      (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;
    return element;
  };
}

Element._attributeTranslations =3D {
  names: {
    colspan:   "colSpan",
    rowspan:   "rowSpan",
    valign:    "vAlign",
    datetime:  "dateTime",
    accesskey: "accessKey",
    tabindex:  "tabIndex",
    enctype:   "encType",
    maxlength: "maxLength",
    readonly:  "readOnly",
    longdesc:  "longDesc"
  },
  values: {
    _getAttr: function(element, attribute) {
      return element.getAttribute(attribute, 2);
    },
    _flag: function(element, attribute) {
      return $(element).hasAttribute(attribute) ? attribute : null;
    },
    style: function(element) {
      return element.style.cssText.toLowerCase();
    },
    title: function(element) {
      var node =3D element.getAttributeNode('title');
      return node.specified ? node.nodeValue : null;
    }
  }
};

(function() {
  Object.extend(this, {
    href: this._getAttr,
    src:  this._getAttr,
    type: this._getAttr,
    disabled: this._flag,
    checked:  this._flag,
    readonly: this._flag,
    multiple: this._flag
  });
}).call(Element._attributeTranslations.values);

Element.Methods.Simulated =3D {
  hasAttribute: function(element, attribute) {
    var t =3D Element._attributeTranslations, node;
    attribute =3D t.names[attribute] || attribute;
    node =3D $(element).getAttributeNode(attribute);
    return node && node.specified;
  }
};

Element.Methods.ByTag =3D {};

Object.extend(Element, Element.Methods);

if (!Prototype.BrowserFeatures.ElementExtensions &&
 document.createElement('div').__proto__) {
  window.HTMLElement =3D {};
  window.HTMLElement.prototype =3D =
document.createElement('div').__proto__;
  Prototype.BrowserFeatures.ElementExtensions =3D true;
}

Element.hasAttribute =3D function(element, attribute) {
  if (element.hasAttribute) return element.hasAttribute(attribute);
  return Element.Methods.Simulated.hasAttribute(element, attribute);
};

Element.addMethods =3D function(methods) {
  var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;

  if (!methods) {
    Object.extend(Form, Form.Methods);
    Object.extend(Form.Element, Form.Element.Methods);
    Object.extend(Element.Methods.ByTag, {
      "FORM":     Object.clone(Form.Methods),
      "INPUT":    Object.clone(Form.Element.Methods),
      "SELECT":   Object.clone(Form.Element.Methods),
      "TEXTAREA": Object.clone(Form.Element.Methods)
    });
  }

  if (arguments.length =3D=3D 2) {
    var tagName =3D methods;
    methods =3D arguments[1];
  }

  if (!tagName) Object.extend(Element.Methods, methods || {});
  else {
    if (tagName.constructor =3D=3D Array) tagName.each(extend);
    else extend(tagName);
  }

  function extend(tagName) {
    tagName =3D tagName.toUpperCase();
    if (!Element.Methods.ByTag[tagName])
      Element.Methods.ByTag[tagName] =3D {};
    Object.extend(Element.Methods.ByTag[tagName], methods);
  }

  function copy(methods, destination, onlyIfAbsent) {
    onlyIfAbsent =3D onlyIfAbsent || false;
    var cache =3D Element.extend.cache;
    for (var property in methods) {
      var value =3D methods[property];
      if (!onlyIfAbsent || !(property in destination))
        destination[property] =3D cache.findOrStore(value);
    }
  }

  function findDOMClass(tagName) {
    var klass;
    var trans =3D {
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", =
"THEAD":
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", =
"TR":
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
      "FrameSet", "IFRAME": "IFrame"
    };
    if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';
    if (window[klass]) return window[klass];
    klass =3D 'HTML' + tagName + 'Element';
    if (window[klass]) return window[klass];
    klass =3D 'HTML' + tagName.capitalize() + 'Element';
    if (window[klass]) return window[klass];

    window[klass] =3D {};
    window[klass].prototype =3D =
document.createElement(tagName).__proto__;
    return window[klass];
  }

  if (F.ElementExtensions) {
    copy(Element.Methods, HTMLElement.prototype);
    copy(Element.Methods.Simulated, HTMLElement.prototype, true);
  }

  if (F.SpecificElementExtensions) {
    for (var tag in Element.Methods.ByTag) {
      var klass =3D findDOMClass(tag);
      if (typeof klass =3D=3D "undefined") continue;
      copy(T[tag], klass.prototype);
    }
  }

  Object.extend(Element, Element.Methods);
  delete Element.ByTag;
};

var Toggle =3D { display: Element.toggle };

/*-----------------------------------------------------------------------=
---*/

Abstract.Insertion =3D function(adjacency) {
  this.adjacency =3D adjacency;
}

Abstract.Insertion.prototype =3D {
  initialize: function(element, content) {
    this.element =3D $(element);
    this.content =3D content.stripScripts();

    if (this.adjacency && this.element.insertAdjacentHTML) {
      try {
        this.element.insertAdjacentHTML(this.adjacency, this.content);
      } catch (e) {
        var tagName =3D this.element.tagName.toUpperCase();
        if (['TBODY', 'TR'].include(tagName)) {
          this.insertContent(this.contentFromAnonymousTable());
        } else {
          throw e;
        }
      }
    } else {
      this.range =3D this.element.ownerDocument.createRange();
      if (this.initializeRange) this.initializeRange();
      =
this.insertContent([this.range.createContextualFragment(this.content)]);
    }

    setTimeout(function() {content.evalScripts()}, 10);
  },

  contentFromAnonymousTable: function() {
    var div =3D document.createElement('div');
    div.innerHTML =3D '<table><tbody>' + this.content + =
'</tbody></table>';
    return $A(div.childNodes[0].childNodes[0].childNodes);
  }
}

var Insertion =3D new Object();

Insertion.Before =3D Class.create();
Insertion.Before.prototype =3D Object.extend(new =
Abstract.Insertion('beforeBegin'), {
  initializeRange: function() {
    this.range.setStartBefore(this.element);
  },

  insertContent: function(fragments) {
    fragments.each((function(fragment) {
      this.element.parentNode.insertBefore(fragment, this.element);
    }).bind(this));
  }
});

Insertion.Top =3D Class.create();
Insertion.Top.prototype =3D Object.extend(new =
Abstract.Insertion('afterBegin'), {
  initializeRange: function() {
    this.range.selectNodeContents(this.element);
    this.range.collapse(true);
  },

  insertContent: function(fragments) {
    fragments.reverse(false).each((function(fragment) {
      this.element.insertBefore(fragment, this.element.firstChild);
    }).bind(this));
  }
});

Insertion.Bottom =3D Class.create();
Insertion.Bottom.prototype =3D Object.extend(new =
Abstract.Insertion('beforeEnd'), {
  initializeRange: function() {
    this.range.selectNodeContents(this.element);
    this.range.collapse(this.element);
  },

  insertContent: function(fragments) {
    fragments.each((function(fragment) {
      this.element.appendChild(fragment);
    }).bind(this));
  }
});

Insertion.After =3D Class.create();
Insertion.After.prototype =3D Object.extend(new =
Abstract.Insertion('afterEnd'), {
  initializeRange: function() {
    this.range.setStartAfter(this.element);
  },

  insertContent: function(fragments) {
    fragments.each((function(fragment) {
      this.element.parentNode.insertBefore(fragment,
        this.element.nextSibling);
    }).bind(this));
  }
});

/*-----------------------------------------------------------------------=
---*/

Element.ClassNames =3D Class.create();
Element.ClassNames.prototype =3D {
  initialize: function(element) {
    this.element =3D $(element);
  },

  _each: function(iterator) {
    this.element.className.split(/\s+/).select(function(name) {
      return name.length > 0;
    })._each(iterator);
  },

  set: function(className) {
    this.element.className =3D className;
  },

  add: function(classNameToAdd) {
    if (this.include(classNameToAdd)) return;
    this.set($A(this).concat(classNameToAdd).join(' '));
  },

  remove: function(classNameToRemove) {
    if (!this.include(classNameToRemove)) return;
    this.set($A(this).without(classNameToRemove).join(' '));
  },

  toString: function() {
    return $A(this).join(' ');
  }
};

Object.extend(Element.ClassNames.prototype, Enumerable);
/* Portions of the Selector class are derived from Jack Slocum=E2=80=99s =
DomQuery,
 * part of YUI-Ext version 0.40, distributed under the terms of an =
MIT-style
 * license.  Please see http://www.yui-ext.com/ for more information. */

var Selector =3D Class.create();

Selector.prototype =3D {
  initialize: function(expression) {
    this.expression =3D expression.strip();
    this.compileMatcher();
  },

  compileMatcher: function() {
    // Selectors with namespaced attributes can't use the XPath version
    if (Prototype.BrowserFeatures.XPath && =
!(/\[[\w-]*?:/).test(this.expression))
      return this.compileXPathMatcher();

    var e =3D this.expression, ps =3D Selector.patterns, h =3D =
Selector.handlers,
        c =3D Selector.criteria, le, p, m;

    if (Selector._cache[e]) {
      this.matcher =3D Selector._cache[e]; return;
    }
    this.matcher =3D ["this.matcher =3D function(root) {",
                    "var r =3D root, h =3D Selector.handlers, c =3D =
false, n;"];

    while (e && le !=3D e && (/\S/).test(e)) {
      le =3D e;
      for (var i in ps) {
        p =3D ps[i];
        if (m =3D e.match(p)) {
          this.matcher.push(typeof c[i] =3D=3D 'function' ? c[i](m) :
    	      new Template(c[i]).evaluate(m));
          e =3D e.replace(m[0], '');
          break;
        }
      }
    }

    this.matcher.push("return h.unique(n);\n}");
    eval(this.matcher.join('\n'));
    Selector._cache[this.expression] =3D this.matcher;
  },

  compileXPathMatcher: function() {
    var e =3D this.expression, ps =3D Selector.patterns,
        x =3D Selector.xpath, le,  m;

    if (Selector._cache[e]) {
      this.xpath =3D Selector._cache[e]; return;
    }

    this.matcher =3D ['.//*'];
    while (e && le !=3D e && (/\S/).test(e)) {
      le =3D e;
      for (var i in ps) {
        if (m =3D e.match(ps[i])) {
          this.matcher.push(typeof x[i] =3D=3D 'function' ? x[i](m) :
            new Template(x[i]).evaluate(m));
          e =3D e.replace(m[0], '');
          break;
        }
      }
    }

    this.xpath =3D this.matcher.join('');
    Selector._cache[this.expression] =3D this.xpath;
  },

  findElements: function(root) {
    root =3D root || document;
    if (this.xpath) return document._getElementsByXPath(this.xpath, =
root);
    return this.matcher(root);
  },

  match: function(element) {
    return this.findElements(document).include(element);
  },

  toString: function() {
    return this.expression;
  },

  inspect: function() {
    return "#<Selector:" + this.expression.inspect() + ">";
  }
};

Object.extend(Selector, {
  _cache: {},

  xpath: {
    descendant:   "//*",
    child:        "/*",
    adjacent:     "/following-sibling::*[1]",
    laterSibling: '/following-sibling::*',
    tagName:      function(m) {
      if (m[1] =3D=3D '*') return '';
      return "[local-name()=3D'" + m[1].toLowerCase() +
             "' or local-name()=3D'" + m[1].toUpperCase() + "']";
    },
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",
    id:           "[@id=3D'#{1}']",
    attrPresence: "[@#{1}]",
    attr: function(m) {
      m[3] =3D m[5] || m[6];
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
    },
    pseudo: function(m) {
      var h =3D Selector.xpath.pseudos[m[1]];
      if (!h) return '';
      if (typeof h =3D=3D=3D 'function') return h(m);
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
    },
    operators: {
      '=3D':  "[@#{1}=3D'#{3}']",
      '!=3D': "[@#{1}!=3D'#{3}']",
      '^=3D': "[starts-with(@#{1}, '#{3}')]",
      '$=3D': "[substring(@#{1}, (string-length(@#{1}) - =
string-length('#{3}') + 1))=3D'#{3}']",
      '*=3D': "[contains(@#{1}, '#{3}')]",
      '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
      '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
    },
    pseudos: {
      'first-child': '[not(preceding-sibling::*)]',
      'last-child':  '[not(following-sibling::*)]',
      'only-child':  '[not(preceding-sibling::* or =
following-sibling::*)]',
      'empty':       "[count(*) =3D 0 and (count(text()) =3D 0 or =
translate(text(), ' \t\r\n', '') =3D '')]",
      'checked':     "[@checked]",
      'disabled':    "[@disabled]",
      'enabled':     "[not(@disabled)]",
      'not': function(m) {
        var e =3D m[6], p =3D Selector.patterns,
            x =3D Selector.xpath, le, m, v;

        var exclusion =3D [];
        while (e && le !=3D e && (/\S/).test(e)) {
          le =3D e;
          for (var i in p) {
            if (m =3D e.match(p[i])) {
              v =3D typeof x[i] =3D=3D 'function' ? x[i](m) : new =
Template(x[i]).evaluate(m);
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");
              e =3D e.replace(m[0], '');
              break;
            }
          }
        }
        return "[not(" + exclusion.join(" and ") + ")]";
      },
      'nth-child':      function(m) {
        return =
Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);
      },
      'nth-last-child': function(m) {
        return =
Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);
      },
      'nth-of-type':    function(m) {
        return Selector.xpath.pseudos.nth("position() ", m);
      },
      'nth-last-of-type': function(m) {
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", =
m);
      },
      'first-of-type':  function(m) {
        m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);
      },
      'last-of-type':   function(m) {
        m[6] =3D "1"; return =
Selector.xpath.pseudos['nth-last-of-type'](m);
      },
      'only-of-type':   function(m) {
        var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + =
p['last-of-type'](m);
      },
      nth: function(fragment, m) {
        var mm, formula =3D m[6], predicate;
        if (formula =3D=3D 'even') formula =3D '2n+0';
        if (formula =3D=3D 'odd')  formula =3D '2n+1';
        if (mm =3D formula.match(/^(\d+)$/)) // digit only
          return '[' + fragment + "=3D " + mm[1] + ']';
        if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
          if (mm[1] =3D=3D "-") mm[1] =3D -1;
          var a =3D mm[1] ? Number(mm[1]) : 1;
          var b =3D mm[2] ? Number(mm[2]) : 0;
          predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +
          "((#{fragment} - #{b}) div #{a} >=3D 0)]";
          return new Template(predicate).evaluate({
            fragment: fragment, a: a, b: b });
        }
      }
    }
  },

  criteria: {
    tagName:      'n =3D h.tagName(n, r, "#{1}", c);   c =3D false;',
    className:    'n =3D h.className(n, r, "#{1}", c); c =3D false;',
    id:           'n =3D h.id(n, r, "#{1}", c);        c =3D false;',
    attrPresence: 'n =3D h.attrPresence(n, r, "#{1}"); c =3D false;',
    attr: function(m) {
      m[3] =3D (m[5] || m[6]);
      return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}"); c =
=3D false;').evaluate(m);
    },
    pseudo:       function(m) {
      if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');
      return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c =
=3D false;').evaluate(m);
    },
    descendant:   'c =3D "descendant";',
    child:        'c =3D "child";',
    adjacent:     'c =3D "adjacent";',
    laterSibling: 'c =3D "laterSibling";'
  },

  patterns: {
    // combinators must be listed first
    // (and descendant needs to be last combinator)
    laterSibling: /^\s*~\s*/,
    child:        /^\s*>\s*/,
    adjacent:     /^\s*\+\s*/,
    descendant:   /^\s/,

    // selectors follow
    tagName:      /^\s*(\*|[\w\-]+)(\b|$)?/,
    id:           /^#([\w\-\*]+)(\b|$)/,
    className:    /^\.([\w\-\*]+)(\b|$)/,
    pseudo:       =
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|\s|(?=3D:))/,
    attrPresence: /^\[([\w]+)\]/,
    attr:         =
/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\]]*?)\4|([^'"][^=
\]]*?)))?\]/
  },

  handlers: {
    // UTILITY FUNCTIONS
    // joins two collections
    concat: function(a, b) {
      for (var i =3D 0, node; node =3D b[i]; i++)
        a.push(node);
      return a;
    },

    // marks an array of nodes for counting
    mark: function(nodes) {
      for (var i =3D 0, node; node =3D nodes[i]; i++)
        node._counted =3D true;
      return nodes;
    },

    unmark: function(nodes) {
      for (var i =3D 0, node; node =3D nodes[i]; i++)
        node._counted =3D undefined;
      return nodes;
    },

    // mark each child node with its position (for nth calls)
    // "ofType" flag indicates whether we're indexing for nth-of-type
    // rather than nth-child
    index: function(parentNode, reverse, ofType) {
      parentNode._counted =3D true;
      if (reverse) {
        for (var nodes =3D parentNode.childNodes, i =3D nodes.length - =
1, j =3D 1; i >=3D 0; i--) {
          node =3D nodes[i];
          if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) =
node.nodeIndex =3D j++;
        }
      } else {
        for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node =
=3D nodes[i]; i++)
          if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) =
node.nodeIndex =3D j++;
      }
    },

    // filters out duplicates and extends all nodes
    unique: function(nodes) {
      if (nodes.length =3D=3D 0) return nodes;
      var results =3D [], n;
      for (var i =3D 0, l =3D nodes.length; i < l; i++)
        if (!(n =3D nodes[i])._counted) {
          n._counted =3D true;
          results.push(Element.extend(n));
        }
      return Selector.handlers.unmark(results);
    },

    // COMBINATOR FUNCTIONS
    descendant: function(nodes) {
      var h =3D Selector.handlers;
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        h.concat(results, node.getElementsByTagName('*'));
      return results;
    },

    child: function(nodes) {
      var h =3D Selector.handlers;
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        for (var j =3D 0, children =3D [], child; child =3D =
node.childNodes[j]; j++)
          if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') =
results.push(child);
      }
      return results;
    },

    adjacent: function(nodes) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        var next =3D this.nextElementSibling(node);
        if (next) results.push(next);
      }
      return results;
    },

    laterSibling: function(nodes) {
      var h =3D Selector.handlers;
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        h.concat(results, Element.nextSiblings(node));
      return results;
    },

    nextElementSibling: function(node) {
      while (node =3D node.nextSibling)
	      if (node.nodeType =3D=3D 1) return node;
      return null;
    },

    previousElementSibling: function(node) {
      while (node =3D node.previousSibling)
        if (node.nodeType =3D=3D 1) return node;
      return null;
    },

    // TOKEN FUNCTIONS
    tagName: function(nodes, root, tagName, combinator) {
      tagName =3D tagName.toUpperCase();
      var results =3D [], h =3D Selector.handlers;
      if (nodes) {
        if (combinator) {
          // fastlane for ordinary descendant combinators
          if (combinator =3D=3D "descendant") {
            for (var i =3D 0, node; node =3D nodes[i]; i++)
              h.concat(results, node.getElementsByTagName(tagName));
            return results;
          } else nodes =3D this[combinator](nodes);
          if (tagName =3D=3D "*") return nodes;
        }
        for (var i =3D 0, node; node =3D nodes[i]; i++)
          if (node.tagName.toUpperCase() =3D=3D tagName) =
results.push(node);
        return results;
      } else return root.getElementsByTagName(tagName);
    },

    id: function(nodes, root, id, combinator) {
      var targetNode =3D $(id), h =3D Selector.handlers;
      if (!nodes && root =3D=3D document) return targetNode ? =
[targetNode] : [];
      if (nodes) {
        if (combinator) {
          if (combinator =3D=3D 'child') {
            for (var i =3D 0, node; node =3D nodes[i]; i++)
              if (targetNode.parentNode =3D=3D node) return =
[targetNode];
          } else if (combinator =3D=3D 'descendant') {
            for (var i =3D 0, node; node =3D nodes[i]; i++)
              if (Element.descendantOf(targetNode, node)) return =
[targetNode];
          } else if (combinator =3D=3D 'adjacent') {
            for (var i =3D 0, node; node =3D nodes[i]; i++)
              if (Selector.handlers.previousElementSibling(targetNode) =
=3D=3D node)
                return [targetNode];
          } else nodes =3D h[combinator](nodes);
        }
        for (var i =3D 0, node; node =3D nodes[i]; i++)
          if (node =3D=3D targetNode) return [targetNode];
        return [];
      }
      return (targetNode && Element.descendantOf(targetNode, root)) ? =
[targetNode] : [];
    },

    className: function(nodes, root, className, combinator) {
      if (nodes && combinator) nodes =3D this[combinator](nodes);
      return Selector.handlers.byClassName(nodes, root, className);
    },

    byClassName: function(nodes, root, className) {
      if (!nodes) nodes =3D Selector.handlers.descendant([root]);
      var needle =3D ' ' + className + ' ';
      for (var i =3D 0, results =3D [], node, nodeClassName; node =3D =
nodes[i]; i++) {
        nodeClassName =3D node.className;
        if (nodeClassName.length =3D=3D 0) continue;
        if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' =
').include(needle))
          results.push(node);
      }
      return results;
    },

    attrPresence: function(nodes, root, attr) {
      var results =3D [];
      for (var i =3D 0, node; node =3D nodes[i]; i++)
        if (Element.hasAttribute(node, attr)) results.push(node);
      return results;
    },

    attr: function(nodes, root, attr, value, operator) {
      if (!nodes) nodes =3D root.getElementsByTagName("*");
      var handler =3D Selector.operators[operator], results =3D [];
      for (var i =3D 0, node; node =3D nodes[i]; i++) {
        var nodeValue =3D Element.readAttribute(node, attr);
        if (nodeValue =3D=3D=3D null) continue;
        if (handler(nodeValue, value)) results.push(node);
      }
      return results;
    },

    pseudo: function(nodes, name, value, root, combinator) {
      if (nodes && combinator) nodes =3D this[combinator](nodes);
      if (!nodes) nodes =3D root.getElementsByTagName("*");
      return Selector.pseudos[name](nodes, value, root);
    }
  },

  pseudos: {
    'first-child': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        if (Selector.handlers.previousElementSibling(node)) continue;
          results.push(node);
      }
      return results;
    },
    'last-child': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        if (Selector.handlers.nextElementSibling(node)) continue;
          results.push(node);
      }
      return results;
    },
    'only-child': function(nodes, value, root) {
      var h =3D Selector.handlers;
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (!h.previousElementSibling(node) && =
!h.nextElementSibling(node))
          results.push(node);
      return results;
    },
    'nth-child':        function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root);
    },
    'nth-last-child':   function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, true);
    },
    'nth-of-type':      function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, false, true);
    },
    'nth-last-of-type': function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, true, true);
    },
    'first-of-type':    function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, "1", root, false, true);
    },
    'last-of-type':     function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, "1", root, true, true);
    },
    'only-of-type':     function(nodes, formula, root) {
      var p =3D Selector.pseudos;
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), =
formula, root);
    },

    // handles the an+b logic
    getIndices: function(a, b, total) {
      if (a =3D=3D 0) return b > 0 ? [b] : [];
      return $R(1, total).inject([], function(memo, i) {
        if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);
        return memo;
      });
    },

    // handles nth(-last)-child, nth(-last)-of-type, and =
(first|last)-of-type
    nth: function(nodes, formula, root, reverse, ofType) {
      if (nodes.length =3D=3D 0) return [];
      if (formula =3D=3D 'even') formula =3D '2n+0';
      if (formula =3D=3D 'odd')  formula =3D '2n+1';
      var h =3D Selector.handlers, results =3D [], indexed =3D [], m;
      h.mark(nodes);
      for (var i =3D 0, node; node =3D nodes[i]; i++) {
        if (!node.parentNode._counted) {
          h.index(node.parentNode, reverse, ofType);
          indexed.push(node.parentNode);
        }
      }
      if (formula.match(/^\d+$/)) { // just a number
        formula =3D Number(formula);
        for (var i =3D 0, node; node =3D nodes[i]; i++)
          if (node.nodeIndex =3D=3D formula) results.push(node);
      } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // =
an+b
        if (m[1] =3D=3D "-") m[1] =3D -1;
        var a =3D m[1] ? Number(m[1]) : 1;
        var b =3D m[2] ? Number(m[2]) : 0;
        var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);
        for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; =
i++) {
          for (var j =3D 0; j < l; j++)
            if (node.nodeIndex =3D=3D indices[j]) results.push(node);
        }
      }
      h.unmark(nodes);
      h.unmark(indexed);
      return results;
    },

    'empty': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        // IE treats comments as element nodes
        if (node.tagName =3D=3D '!' || (node.firstChild && =
!node.innerHTML.match(/^\s*$/))) continue;
        results.push(node);
      }
      return results;
    },

    'not': function(nodes, selector, root) {
      var h =3D Selector.handlers, selectorType, m;
      var exclusions =3D new Selector(selector).findElements(root);
      h.mark(exclusions);
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (!node._counted) results.push(node);
      h.unmark(exclusions);
      return results;
    },

    'enabled': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (!node.disabled) results.push(node);
      return results;
    },

    'disabled': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (node.disabled) results.push(node);
      return results;
    },

    'checked': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (node.checked) results.push(node);
      return results;
    }
  },

  operators: {
    '=3D':  function(nv, v) { return nv =3D=3D v; },
    '!=3D': function(nv, v) { return nv !=3D v; },
    '^=3D': function(nv, v) { return nv.startsWith(v); },
    '$=3D': function(nv, v) { return nv.endsWith(v); },
    '*=3D': function(nv, v) { return nv.include(v); },
    '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + =
' '); },
    '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + =
'-').include('-' + v.toUpperCase() + '-'); }
  },

  matchElements: function(elements, expression) {
    var matches =3D new Selector(expression).findElements(), h =3D =
Selector.handlers;
    h.mark(matches);
    for (var i =3D 0, results =3D [], element; element =3D elements[i]; =
i++)
      if (element._counted) results.push(element);
    h.unmark(matches);
    return results;
  },

  findElement: function(elements, expression, index) {
    if (typeof expression =3D=3D 'number') {
      index =3D expression; expression =3D false;
    }
    return Selector.matchElements(elements, expression || '*')[index || =
0];
  },

  findChildElements: function(element, expressions) {
    var exprs =3D expressions.join(','), expressions =3D [];
    exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {
      expressions.push(m[1].strip());
    });
    var results =3D [], h =3D Selector.handlers;
    for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {
      selector =3D new Selector(expressions[i].strip());
      h.concat(results, selector.findElements(element));
    }
    return (l > 1) ? h.unique(results) : results;
  }
});

function $$() {
  return Selector.findChildElements(document, $A(arguments));
}
var Form =3D {
  reset: function(form) {
    $(form).reset();
    return form;
  },

  serializeElements: function(elements, getHash) {
    var data =3D elements.inject({}, function(result, element) {
      if (!element.disabled && element.name) {
        var key =3D element.name, value =3D $(element).getValue();
        if (value !=3D null) {
         	if (key in result) {
            if (result[key].constructor !=3D Array) result[key] =3D =
[result[key]];
            result[key].push(value);
          }
          else result[key] =3D value;
        }
      }
      return result;
    });

    return getHash ? data : Hash.toQueryString(data);
  }
};

Form.Methods =3D {
  serialize: function(form, getHash) {
    return Form.serializeElements(Form.getElements(form), getHash);
  },

  getElements: function(form) {
    return $A($(form).getElementsByTagName('*')).inject([],
      function(elements, child) {
        if (Form.Element.Serializers[child.tagName.toLowerCase()])
          elements.push(Element.extend(child));
        return elements;
      }
    );
  },

  getInputs: function(form, typeName, name) {
    form =3D $(form);
    var inputs =3D form.getElementsByTagName('input');

    if (!typeName && !name) return $A(inputs).map(Element.extend);

    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {
      var input =3D inputs[i];
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))
        continue;
      matchingInputs.push(Element.extend(input));
    }

    return matchingInputs;
  },

  disable: function(form) {
    form =3D $(form);
    Form.getElements(form).invoke('disable');
    return form;
  },

  enable: function(form) {
    form =3D $(form);
    Form.getElements(form).invoke('enable');
    return form;
  },

  findFirstElement: function(form) {
    return $(form).getElements().find(function(element) {
      return element.type !=3D 'hidden' && !element.disabled &&
        ['input', 'select', =
'textarea'].include(element.tagName.toLowerCase());
    });
  },

  focusFirstElement: function(form) {
    form =3D $(form);
    form.findFirstElement().activate();
    return form;
  },

  request: function(form, options) {
    form =3D $(form), options =3D Object.clone(options || {});

    var params =3D options.parameters;
    options.parameters =3D form.serialize(true);

    if (params) {
      if (typeof params =3D=3D 'string') params =3D =
params.toQueryParams();
      Object.extend(options.parameters, params);
    }

    if (form.hasAttribute('method') && !options.method)
      options.method =3D form.method;

    return new Ajax.Request(form.readAttribute('action'), options);
  }
}

/*-----------------------------------------------------------------------=
---*/

Form.Element =3D {
  focus: function(element) {
    $(element).focus();
    return element;
  },

  select: function(element) {
    $(element).select();
    return element;
  }
}

Form.Element.Methods =3D {
  serialize: function(element) {
    element =3D $(element);
    if (!element.disabled && element.name) {
      var value =3D element.getValue();
      if (value !=3D undefined) {
        var pair =3D {};
        pair[element.name] =3D value;
        return Hash.toQueryString(pair);
      }
    }
    return '';
  },

  getValue: function(element) {
    element =3D $(element);
    var method =3D element.tagName.toLowerCase();
    return Form.Element.Serializers[method](element);
  },

  clear: function(element) {
    $(element).value =3D '';
    return element;
  },

  present: function(element) {
    return $(element).value !=3D '';
  },

  activate: function(element) {
    element =3D $(element);
    try {
      element.focus();
      if (element.select && (element.tagName.toLowerCase() !=3D 'input' =
||
        !['button', 'reset', 'submit'].include(element.type)))
        element.select();
    } catch (e) {}
    return element;
  },

  disable: function(element) {
    element =3D $(element);
    element.blur();
    element.disabled =3D true;
    return element;
  },

  enable: function(element) {
    element =3D $(element);
    element.disabled =3D false;
    return element;
  }
}

/*-----------------------------------------------------------------------=
---*/

var Field =3D Form.Element;
var $F =3D Form.Element.Methods.getValue;

/*-----------------------------------------------------------------------=
---*/

Form.Element.Serializers =3D {
  input: function(element) {
    switch (element.type.toLowerCase()) {
      case 'checkbox':
      case 'radio':
        return Form.Element.Serializers.inputSelector(element);
      default:
        return Form.Element.Serializers.textarea(element);
    }
  },

  inputSelector: function(element) {
    return element.checked ? element.value : null;
  },

  textarea: function(element) {
    return element.value;
  },

  select: function(element) {
    return this[element.type =3D=3D 'select-one' ?
      'selectOne' : 'selectMany'](element);
  },

  selectOne: function(element) {
    var index =3D element.selectedIndex;
    return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;
  },

  selectMany: function(element) {
    var values, length =3D element.length;
    if (!length) return null;

    for (var i =3D 0, values =3D []; i < length; i++) {
      var opt =3D element.options[i];
      if (opt.selected) values.push(this.optionValue(opt));
    }
    return values;
  },

  optionValue: function(opt) {
    // extend element because hasAttribute may not be native
    return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;
  }
}

/*-----------------------------------------------------------------------=
---*/

Abstract.TimedObserver =3D function() {}
Abstract.TimedObserver.prototype =3D {
  initialize: function(element, frequency, callback) {
    this.frequency =3D frequency;
    this.element   =3D $(element);
    this.callback  =3D callback;

    this.lastValue =3D this.getValue();
    this.registerCallback();
  },

  registerCallback: function() {
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  },

  onTimerEvent: function() {
    var value =3D this.getValue();
    var changed =3D ('string' =3D=3D typeof this.lastValue && 'string' =
=3D=3D typeof value
      ? this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value));
    if (changed) {
      this.callback(this.element, value);
      this.lastValue =3D value;
    }
  }
}

Form.Element.Observer =3D Class.create();
Form.Element.Observer.prototype =3D Object.extend(new =
Abstract.TimedObserver(), {
  getValue: function() {
    return Form.Element.getValue(this.element);
  }
});

Form.Observer =3D Class.create();
Form.Observer.prototype =3D Object.extend(new Abstract.TimedObserver(), =
{
  getValue: function() {
    return Form.serialize(this.element);
  }
});

/*-----------------------------------------------------------------------=
---*/

Abstract.EventObserver =3D function() {}
Abstract.EventObserver.prototype =3D {
  initialize: function(element, callback) {
    this.element  =3D $(element);
    this.callback =3D callback;

    this.lastValue =3D this.getValue();
    if (this.element.tagName.toLowerCase() =3D=3D 'form')
      this.registerFormCallbacks();
    else
      this.registerCallback(this.element);
  },

  onElementEvent: function() {
    var value =3D this.getValue();
    if (this.lastValue !=3D value) {
      this.callback(this.element, value);
      this.lastValue =3D value;
    }
  },

  registerFormCallbacks: function() {
    =
Form.getElements(this.element).each(this.registerCallback.bind(this));
  },

  registerCallback: function(element) {
    if (element.type) {
      switch (element.type.toLowerCase()) {
        case 'checkbox':
        case 'radio':
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));
          break;
        default:
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));
          break;
      }
    }
  }
}

Form.Element.EventObserver =3D Class.create();
Form.Element.EventObserver.prototype =3D Object.extend(new =
Abstract.EventObserver(), {
  getValue: function() {
    return Form.Element.getValue(this.element);
  }
});

Form.EventObserver =3D Class.create();
Form.EventObserver.prototype =3D Object.extend(new =
Abstract.EventObserver(), {
  getValue: function() {
    return Form.serialize(this.element);
  }
});
if (!window.Event) {
  var Event =3D new Object();
}

Object.extend(Event, {
  KEY_BACKSPACE: 8,
  KEY_TAB:       9,
  KEY_RETURN:   13,
  KEY_ESC:      27,
  KEY_LEFT:     37,
  KEY_UP:       38,
  KEY_RIGHT:    39,
  KEY_DOWN:     40,
  KEY_DELETE:   46,
  KEY_HOME:     36,
  KEY_END:      35,
  KEY_PAGEUP:   33,
  KEY_PAGEDOWN: 34,

  element: function(event) {
    return $(event.target || event.srcElement);
  },

  isLeftClick: function(event) {
    return (((event.which) && (event.which =3D=3D 1)) ||
            ((event.button) && (event.button =3D=3D 1)));
  },

  pointerX: function(event) {
    return event.pageX || (event.clientX +
      (document.documentElement.scrollLeft || =
document.body.scrollLeft));
  },

  pointerY: function(event) {
    return event.pageY || (event.clientY +
      (document.documentElement.scrollTop || document.body.scrollTop));
  },

  stop: function(event) {
    if (event.preventDefault) {
      event.preventDefault();
      event.stopPropagation();
    } else {
      event.returnValue =3D false;
      event.cancelBubble =3D true;
    }
  },

  // find the first node with the given tagName, starting from the
  // node the event was triggered on; traverses the DOM upwards
  findElement: function(event, tagName) {
    var element =3D Event.element(event);
    while (element.parentNode && (!element.tagName ||
        (element.tagName.toUpperCase() !=3D tagName.toUpperCase())))
      element =3D element.parentNode;
    return element;
  },

  observers: false,

  _observeAndCache: function(element, name, observer, useCapture) {
    if (!this.observers) this.observers =3D [];
    if (element.addEventListener) {
      this.observers.push([element, name, observer, useCapture]);
      element.addEventListener(name, observer, useCapture);
    } else if (element.attachEvent) {
      this.observers.push([element, name, observer, useCapture]);
      element.attachEvent('on' + name, observer);
    }
  },

  unloadCache: function() {
    if (!Event.observers) return;
    for (var i =3D 0, length =3D Event.observers.length; i < length; =
i++) {
      Event.stopObserving.apply(this, Event.observers[i]);
      Event.observers[i][0] =3D null;
    }
    Event.observers =3D false;
  },

  observe: function(element, name, observer, useCapture) {
    element =3D $(element);
    useCapture =3D useCapture || false;

    if (name =3D=3D 'keypress' &&
      (Prototype.Browser.WebKit || element.attachEvent))
      name =3D 'keydown';

    Event._observeAndCache(element, name, observer, useCapture);
  },

  stopObserving: function(element, name, observer, useCapture) {
    element =3D $(element);
    useCapture =3D useCapture || false;

    if (name =3D=3D 'keypress' &&
        (Prototype.Browser.WebKit || element.attachEvent))
      name =3D 'keydown';

    if (element.removeEventListener) {
      element.removeEventListener(name, observer, useCapture);
    } else if (element.detachEvent) {
      try {
        element.detachEvent('on' + name, observer);
      } catch (e) {}
    }
  }
});

/* prevent memory leaks in IE */
if (Prototype.Browser.IE)
  Event.observe(window, 'unload', Event.unloadCache, false);
var Position =3D {
  // set to true if needed, warning: firefox performance problems
  // NOT neeeded for page scrolling, only if draggable contained in
  // scrollable elements
  includeScrollOffsets: false,

  // must be called before calling withinIncludingScrolloffset, every =
time the
  // page is scrolled
  prepare: function() {
    this.deltaX =3D  window.pageXOffset
                || document.documentElement.scrollLeft
                || document.body.scrollLeft
                || 0;
    this.deltaY =3D  window.pageYOffset
                || document.documentElement.scrollTop
                || document.body.scrollTop
                || 0;
  },

  realOffset: function(element) {
    var valueT =3D 0, valueL =3D 0;
    do {
      valueT +=3D element.scrollTop  || 0;
      valueL +=3D element.scrollLeft || 0;
      element =3D element.parentNode;
    } while (element);
    return [valueL, valueT];
  },

  cumulativeOffset: function(element) {
    var valueT =3D 0, valueL =3D 0;
    do {
      valueT +=3D element.offsetTop  || 0;
      valueL +=3D element.offsetLeft || 0;
      element =3D element.offsetParent;
    } while (element);
    return [valueL, valueT];
  },

  positionedOffset: function(element) {
    var valueT =3D 0, valueL =3D 0;
    do {
      valueT +=3D element.offsetTop  || 0;
      valueL +=3D element.offsetLeft || 0;
      element =3D element.offsetParent;
      if (element) {
        if(element.tagName=3D=3D'BODY') break;
        var p =3D Element.getStyle(element, 'position');
        if (p =3D=3D 'relative' || p =3D=3D 'absolute') break;
      }
    } while (element);
    return [valueL, valueT];
  },

  offsetParent: function(element) {
    if (element.offsetParent) return element.offsetParent;
    if (element =3D=3D document.body) return element;

    while ((element =3D element.parentNode) && element !=3D =
document.body)
      if (Element.getStyle(element, 'position') !=3D 'static')
        return element;

    return document.body;
  },

  // caches x/y coordinate pair to use with overlap
  within: function(element, x, y) {
    if (this.includeScrollOffsets)
      return this.withinIncludingScrolloffsets(element, x, y);
    this.xcomp =3D x;
    this.ycomp =3D y;
    this.offset =3D this.cumulativeOffset(element);

    return (y >=3D this.offset[1] &&
            y <  this.offset[1] + element.offsetHeight &&
            x >=3D this.offset[0] &&
            x <  this.offset[0] + element.offsetWidth);
  },

  withinIncludingScrolloffsets: function(element, x, y) {
    var offsetcache =3D this.realOffset(element);

    this.xcomp =3D x + offsetcache[0] - this.deltaX;
    this.ycomp =3D y + offsetcache[1] - this.deltaY;
    this.offset =3D this.cumulativeOffset(element);

    return (this.ycomp >=3D this.offset[1] &&
            this.ycomp <  this.offset[1] + element.offsetHeight &&
            this.xcomp >=3D this.offset[0] &&
            this.xcomp <  this.offset[0] + element.offsetWidth);
  },

  // within must be called directly before
  overlap: function(mode, element) {
    if (!mode) return 0;
    if (mode =3D=3D 'vertical')
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
        element.offsetHeight;
    if (mode =3D=3D 'horizontal')
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
        element.offsetWidth;
  },

  page: function(forElement) {
    var valueT =3D 0, valueL =3D 0;

    var element =3D forElement;
    do {
      valueT +=3D element.offsetTop  || 0;
      valueL +=3D element.offsetLeft || 0;

      // Safari fix
      if (element.offsetParent =3D=3D document.body)
        if (Element.getStyle(element,'position')=3D=3D'absolute') break;

    } while (element =3D element.offsetParent);

    element =3D forElement;
    do {
      if (!window.opera || element.tagName=3D=3D'BODY') {
        valueT -=3D element.scrollTop  || 0;
        valueL -=3D element.scrollLeft || 0;
      }
    } while (element =3D element.parentNode);

    return [valueL, valueT];
  },

  clone: function(source, target) {
    var options =3D Object.extend({
      setLeft:    true,
      setTop:     true,
      setWidth:   true,
      setHeight:  true,
      offsetTop:  0,
      offsetLeft: 0
    }, arguments[2] || {})

    // find page position of source
    source =3D $(source);
    var p =3D Position.page(source);

    // find coordinate system to use
    target =3D $(target);
    var delta =3D [0, 0];
    var parent =3D null;
    // delta [0,0] will do fine with position: fixed elements,
    // position:absolute needs offsetParent deltas
    if (Element.getStyle(target,'position') =3D=3D 'absolute') {
      parent =3D Position.offsetParent(target);
      delta =3D Position.page(parent);
    }

    // correct by body offsets (fixes Safari)
    if (parent =3D=3D document.body) {
      delta[0] -=3D document.body.offsetLeft;
      delta[1] -=3D document.body.offsetTop;
    }

    // set position
    if(options.setLeft)   target.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';
    if(options.setTop)    target.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';
    if(options.setWidth)  target.style.width =3D source.offsetWidth + =
'px';
    if(options.setHeight) target.style.height =3D source.offsetHeight + =
'px';
  },

  absolutize: function(element) {
    element =3D $(element);
    if (element.style.position =3D=3D 'absolute') return;
    Position.prepare();

    var offsets =3D Position.positionedOffset(element);
    var top     =3D offsets[1];
    var left    =3D offsets[0];
    var width   =3D element.clientWidth;
    var height  =3D element.clientHeight;

    element._originalLeft   =3D left - parseFloat(element.style.left  || =
0);
    element._originalTop    =3D top  - parseFloat(element.style.top || =
0);
    element._originalWidth  =3D element.style.width;
    element._originalHeight =3D element.style.height;

    element.style.position =3D 'absolute';
    element.style.top    =3D top + 'px';
    element.style.left   =3D left + 'px';
    element.style.width  =3D width + 'px';
    element.style.height =3D height + 'px';
  },

  relativize: function(element) {
    element =3D $(element);
    if (element.style.position =3D=3D 'relative') return;
    Position.prepare();

    element.style.position =3D 'relative';
    var top  =3D parseFloat(element.style.top  || 0) - =
(element._originalTop || 0);
    var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);

    element.style.top    =3D top + 'px';
    element.style.left   =3D left + 'px';
    element.style.height =3D element._originalHeight;
    element.style.width  =3D element._originalWidth;
  }
}

// Safari returns margins on body which is incorrect if the child is =
absolutely
// positioned.  For performance reasons, redefine =
Position.cumulativeOffset for
// KHTML/WebKit only.
if (Prototype.Browser.WebKit) {
  Position.cumulativeOffset =3D function(element) {
    var valueT =3D 0, valueL =3D 0;
    do {
      valueT +=3D element.offsetTop  || 0;
      valueL +=3D element.offsetLeft || 0;
      if (element.offsetParent =3D=3D document.body)
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;

      element =3D element.offsetParent;
    } while (element);

    return [valueL, valueT];
  }
}

Element.addMethods();

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/js/custom.js

function delMainWidget(MainWidgetID, HPID){=0A=
    var answer =3D confirm ("Do you really want to remove the Main =
Widget?")=0A=
    if (answer) {=0A=
        document.location.href=3D'delMainWidget?ItemID=3D' + =
MainWidgetID + '&HPID=3D' + HPID;=0A=
        return false;=0A=
    }=0A=
}=0A=
=0A=
function delSubWidget(SubWidgetID, MainWidgetID, came_from_section, =
came_from_subsection, came_from_splash){=0A=
    var answer =3D confirm ("Do you really want to delete the Sub =
Widget?")=0A=
    if (answer) {=0A=
        document.location.href=3D'delSubWidget?ItemID=3D' + SubWidgetID =
+ '&MainWidgetID=3D' + MainWidgetID + '&came_from_section=3D' + =
came_from_section + '&came_from_subsection=3D' + came_from_subsection + =
'&came_from_splash=3D' + came_from_splash;=0A=
        return false;=0A=
    }=0A=
}=0A=
=0A=
function sortSubWidgets(){=0A=
	var url =3D 'sortSubWidgets';=0A=
        var pars =3D =
Sortable.serialize('subwidgets_wrapper',{name:'sw'});=0A=
        //var pars2 =3D pars.replace(/\[\]/g,"");=0A=
        //var pars2 =3D pars2.replace(/&/g,"_");=0A=
        //var pars2 =3D "vvv=3D2&ccc=3D6&xxx=3D5&sw=3D1";=0A=
        //alert(pars2);=0A=
        //alert('"' + pars + '"');=0A=
        //alert(pars.replace(/\[\]/g,""));=0A=
        var pars2 =3D pars;=0A=
        var Counter =3D 1; =0A=
        while (pars2.search(/\[\]/) !=3D -1) {=0A=
            pars2 =3D pars2.replace(/\[\]/,Counter);=0A=
            Counter++;=0A=
        }=0A=
        //alert(pars2);=0A=
	var myAjax =3D new Ajax.Updater('SearchResult', url, {method: 'get', =
parameters: pars2});=0A=
}=0A=
=0A=
=0A=

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/usnews/v3/scripts/homepage.js

var USN =3D {
	version: '1.0',
	base: 'http://www.usnews.com/usnews/v3/scripts/', /* note: this =
attibute if FINAL. If you must change, change outside the USN class!*/
	load: function(libName) {
		var includes =3D {
			ads: "ads",
			printing: "print",
			socialBookmarking: "shareLinks",
			striping: "stripe",
			tabs: "tabs",
			slider: "slide",
			effects: "effects",
			analytics: "analytics",=20
			analyticsExtensions: "analyticsCustom",
			windows: "window",
			technorati: "technorati",
			gallery: 'ibox'
		}
		if (includes[libName]) {
			document.write('<script type=3D"text/javascript" =
src=3D"'+this.base+includes[libName]+'.js"></script>');

		}
	}
}
//USN.load('windows');
USN.load('ads');
USN.load('analytics');
USN.load('analyticsExtensions');
USN.load('tabs');
USN.load('striping');

var newwindow =3D "";=09

function openWindow(url,width,height) {
	// derived from PPK, http://www.quirksmode.org/js/croswin.html
	if (!newwindow.closed && newwindow.location) {
		//alert('newwindow is closed or already has a location');
		newwindow.location.href =3D url;
	}
	else {
		params =3D =
(arguments[3])?','+arguemnts[3]:',resizable=3Dyes,scrollbars=3Dno,status=3D=
no,toolbar=3Dno';
		var windowOptionsString =3D [
			'height=3D',
			height,
			',width=3D',
			width,
			params
		];
		var windowOptionsString =3D windowOptionsString.join('');
		newwindow=3Dwindow.open(url,'window',windowOptionsString);
		if (!newwindow.opener) newwindow.opener =3D self;
	}
	if (window.focus) {newwindow.focus();}
	if (this !=3D window) {
		return false;
	}
}
function openWindowTMP(url,width,height) {
	// derived from PPK, http://www.quirksmode.org/js/croswin.html
	if (!newwindow.closed && newwindow.location) {
		//alert('newwindow is closed or already has a location');
		newwindow.location.href =3D url;
	}
	else {
		params =3D =
(arguments[3])?','+arguemnts[3]:',resizable=3Dyes,scrollbars=3Dno,status=3D=
no,toolbar=3Dno';
		var windowOptionsString =3D [
			'height=3D',
			height,
			',width=3D',
			width,
			params
		];
		var windowOptionsString =3D windowOptionsString.join('');
		newwindow=3Dwindow.open(url,'window',windowOptionsString);
		if (!newwindow.opener) newwindow.opener =3D self;
	}
	if (window.focus) {newwindow.focus();}
	if (this !=3D window) {
		return false;
	}
}

Event.observe(window, 'load', init, false);

function init() {
	if ($('tab_interface')) {
		mostPopular =3D new tabInterface('tab_interface');
		Element.addClassName($('most_viewed'), 'active');
		stripe('most_popular_items');
	}
	if (!$('slide-list')) return false;
	l =3D new shifter($('slide-list'));
	if (l.check) {
		m =3D new PeriodicalExecuter(function() { l.advance() },5);
		leftButton =3D $('leftbutton')
		pauseButton =3D $('pausebutton')=20
		rightButton =3D $('rightbutton')
		leftButton.onclick=3D function(){l.leftClick(); return false}
		pauseButton.onclick=3D function(){l.toggle(); return false}
		rightButton.onclick=3D function(){l.rightClick(); return false}
	}
}
function jumpToMenu() {
	var menu =3D document.getElementById('jumpMenu');
	if (menu.selectedIndex > 1) {
		top.location.href =3D menu.options[menu.selectedIndex].value;
	}
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  =
eval(targ+".location=3D'"+selObj.options[selObj.selectedIndex].value+"'")=
;
  if (restore) selObj.selectedIndex=3D0;
}

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/js/getShareJS

=0A=
function akst_share(id, url, title) {=0A=
=0A=
	var form =3D $('akst_form');=0A=
	var post_id =3D $('akst_post_id');=0A=
	=0A=
	if (form.style.display =3D=3D 'block' && post_id.value =3D=3D id) {=0A=
		form.style.display =3D 'none';=0A=
		return;=0A=
	}=0A=
	var link =3D (arguments[3]) ? arguments[3]: $('akst_link_' + id);=0A=
	var offset =3D Position.cumulativeOffset(link);=0A=
=0A=
	$("akst_delicious").href =3D =
akst_share_url("http://del.icio.us/post?url=3D{url}&title=3D{title}", =
url, title);=0A=
	$("akst_digg").href =3D =
akst_share_url("http://digg.com/submit?phase=3D2&url=3D{url}&title=3D{tit=
le}", url, title);=0A=
	/*$("akst_furl").href =3D =
akst_share_url("http://furl.net/storeIt.jsp?u=3D{url}&t=3D{title}", url, =
title);*/=0A=
	$("akst_facebook").href =3D =
akst_share_url("http://www.facebook.com/sharer.php?u=3D{url}&t=3D{title}"=
, url, title);=0A=
	$("akst_netscape").href =3D akst_share_url(" =
http://www.netscape.com/submit/?U=3D{url}&T=3D{title}", url, title);=0A=
	$("akst_yahoo_myweb").href =3D =
akst_share_url("http://myweb2.search.yahoo.com/myresults/bookmarklet?u=3D=
{url}&t=3D{title}", url, title);=0A=
	$("akst_technorati").href =3D =
akst_share_url("http://www.technorati.com/faves?add=3D{url}", url, =
title);=0A=
	$("akst_google_bmarks").href =3D akst_share_url("  =
http://www.google.com/bookmarks/mark?op=3Dedit&bkmk=3D{url}&title=3D{titl=
e}", url, title);=0A=
	$("akst_newsvine").href =3D =
akst_share_url("http://www.newsvine.com/_wine/save?u=3D{url}&h=3D{title}"=
, url, title);=0A=
	$("akst_blinklist").href =3D =
akst_share_url("http://blinklist.com/index.php?Action=3DBlink/addblink.ph=
p&Url=3D{url}&Title=3D{title}", url, title);=0A=
	$("akst_reddit").href =3D =
akst_share_url("http://reddit.com/submit?url=3D{url}&title=3D{title}", =
url, title);=0A=
	$("akst_blogmarks").href =3D =
akst_share_url("http://blogmarks.net/my/new.php?mini=3D1&url=3D{url}&titl=
e=3D{title}", url, title);=0A=
	$("akst_magnolia").href =3D =
akst_share_url("http://ma.gnolia.com/bookmarklet/add?url=3D{url}&title=3D=
{title}", url, title);=0A=
	$("akst_windows_live").href =3D =
akst_share_url("https://favorites.live.com/quickadd.aspx?marklet=3D1&mkt=3D=
en-us&url=3D{url}&title=3D{title}&top=3D1", url, title);=0A=
	$("akst_tailrank").href =3D =
akst_share_url("http://tailrank.com/share/?link_href=3D{url}&title=3D{tit=
le}", url, title);=0A=
=0A=
	post_id.value =3D id;=0A=
=0A=
	form.style.left =3D offset[0] + 'px';=0A=
	form.style.top =3D (offset[1] + link.offsetHeight + 3) + 'px';=0A=
	form.style.display =3D 'block';=0A=
}=0A=
=0A=
function akst_share_url(base, url, title) {=0A=
	base =3D base.replace('{url}', url);=0A=
	return base.replace('{title}', title);=0A=
}=0A=
=0A=
function akst_share_tab(tab) {=0A=
	var tab1 =3D document.getElementById('akst_tab1');=0A=
	var tab2 =3D document.getElementById('akst_tab2');=0A=
	var body1 =3D document.getElementById('akst_social');=0A=
	var body2 =3D document.getElementById('akst_email');=0A=
	=0A=
	switch (tab) {=0A=
		case '1':=0A=
			tab2.className =3D '';=0A=
			tab1.className =3D 'selected';=0A=
			body2.style.display =3D 'none';=0A=
			body1.style.display =3D 'block';=0A=
			break;=0A=
		case '2':=0A=
			tab1.className =3D '';=0A=
			tab2.className =3D 'selected';=0A=
			body1.style.display =3D 'none';=0A=
			body2.style.display =3D 'block';=0A=
			break;=0A=
	}=0A=
}=0A=
=0A=
function akst_xy(id) {=0A=
	var element =3D $(id);=0A=
	var x =3D 0;=0A=
	var y =3D 0;=0A=
}=0A=
=0A=

------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://d.yimg.com/ds/badge.js

(function(){var T=3D"http://buzz.yahoo.com";var =
L=3Dwindow.location.href.replace(/http:\/\/([^\/:]+).*$/,"$1").split(".")=
.slice(-2).join(".");var F=3D"http://l.yimg.com/ds/orion";var =
G=3D"0.3.9";var Q=3DF+"/"+G;var =
D=3Dwindow.yahooBuzzOnLoad||function(){};var =
C=3Dwindow.yahooBuzzArticleId;var H=3Dwindow.yahooBuzzShowBranding;var =
J=3Dwindow.yahooBuzzBadgeType;var =
S=3Dfunction(X,Y,W,Z,V){M({name:"from",value:"publisher"});M({name:"asset=
type",value:"article"});M({name:"publisherurn",value:Y[0]});M({name:"guid=
",value:Y[1]});M({name:".done",value:"/article/"+Y[0]+"/"+encodeURICompon=
ent(encodeURIComponent(Y[1]))});M({name:"loc",value:L});M({name:"votetype=
",value:1});R(X,W,Z,O+"/article/"+Y[0]+"/"+encodeURIComponent(encodeURICo=
mponent(Y[1])),V);D.call(X);};var B=3D[];var N=3Dfunction(Y,W){var =
V=3Ddocument.createElement(Y);V.attachEventListener=3DP;V.removeEventList=
ener=3DP;V.attachEvent=3DP;V.detatchEvent=3DP;for(var Z in =
W){if(Z=3D=3D=3D"style"){for(var X in =
W[Z]){V.style[X]=3DW[Z][X];}}else{V[Z]=3DW[Z];}}return V;};var =
R=3Dfunction(X,b,d,W,Y){var c,f;var Z=3D'<span =
style=3D"cursor:pointer;cursor:hand;color:#666;line-height:10px;display:b=
lock;margin-top:3px;font-size:10px;font-family:Verdana,Tahoma,Arial,Helve=
tica,sans-serif;padding-right:5px;">on Yahoo!</span>';var =
e=3D{form:X,href:W,onclick:I};var =
V=3D{"textDecoration":"none","width":"74px","display":"block","textAlign"=
:"right"};switch(b){case"text":f=3D'<span =
style=3D"cursor:pointer;cursor:hand;position:relative;padding-left:20px;l=
ine-height:16px;"><span =
style=3D"cursor:pointer;cursor:hand;display:block;position:absolute;top:0=
;left:0;background:transparent url('+Q+'/img/badge-logo.png) top left =
no-repeat;height:16px;width:16px;"></span>Yahoo! =
Buzz</span>';e.innerHTML=3Df;break;case"textbutton":f=3D'<span =
style=3D"cursor:pointer;cursor:hand;position:relative;left:-4px;padding-l=
eft:24px;font-size:80%;font-family:Verdana,Tahoma,Helvetica,Arial,sans-se=
rif;display:block;line-height:22px;height:22px;color:#00c;background:url(=
'+Q+'/img/badge-textbutton.png) left center no-repeat;">Buzz =
up!</span>';e.style=3D{target:"_new",width:"auto",position:"relative",lef=
t:"4px",display:"block",width:"80px",background:"url("+Q+"/img/badge-text=
button.png) right center =
no-repeat"};e.innerHTML=3Df;break;case"logo":f=3D'<span =
style=3D"cursor:pointer;cursor:hand;position:relative;padding-left:20px;l=
ine-height:16px;"><span =
style=3D"cursor:pointer;cursor:hand;display:block;position:absolute;top:0=
;left:0;background:transparent url('+Q+'/img/badge-logo.png) top left =
no-repeat;height:16px;width:16px;"></span></span>';e.innerHTML=3Df;break;=
case"small":f=3D'<span =
style=3D"cursor:pointer;cursor:hand;background:transparent =
url('+Q+'/img/badge-small.png) top left =
no-repeat;display:block;height:0;padding-top:22px;width:74px;text-indent:=
-999em;overflow:hidden">Buzz =
up!</span>';if(d){f+=3DZ;}e.style=3DV;e.innerHTML=3Df;break;case"large":f=
=3D'<span style=3D"cursor:pointer;cursor:hand;background:transparent =
url('+Q+'/img/badge-large.png) top left =
no-repeat;display:block;height:0;padding-top:33px;width:109px;text-indent=
:-999em;overflow:hidden">Buzz =
up!</span>';if(d){f+=3DZ;}e.style=3DV;V.width=3D"109px";e.innerHTML=3Df;b=
reak;case"medium":default:f=3D'<span =
style=3D"cursor:pointer;cursor:hand;background:transparent =
url('+Q+'/img/badge-medium.png) top left =
no-repeat;display:block;height:0;padding-top:27px;width:91px;text-indent:=
-999em;overflow:hidden">Buzz =
up!</span>';if(d){f+=3DZ;}e.style=3DV;V.width=3D"91px";e.innerHTML=3Df;br=
eak;}var =
g=3DN("span",{id:X.id,className:X.className});g.appendChild(N("a",e));X.i=
d=3DX.id+"-form";Y.parentNode.insertBefore(g,Y);Y.parentNode.removeChild(=
Y);K();};var M=3Dfunction(W){var V=3DN("input",W);B.push(V);};var =
I=3Dfunction(X){X=3DX||window.event;var =
V=3DX.target||X.srcElement;while(V&&V.tagName!=3D=3D"A"){V=3DV.parentNode=
;}if(!V){return true;}var W=3DV.form;U(W);if(typeof =
(X.preventDefault)=3D=3D=3D"function"){X.preventDefault();}X.returnValue=3D=
false;X.cancelBubble=3Dtrue;X.stopPropagation&&X.stopPropagation();return=
 false;};var P=3Dfunction(V){return true;};var =
U=3Dfunction(Z){if(!Z){return true;}for(var =
Y=3DB.length-1;Y>-1;Y--){Z.appendChild(B[Y]);}Z.onsubmit=3DP;document.bod=
y.appendChild(Z);Z.submit();var =
W=3DZ.getElementsByTagName("input");for(var =
Y=3D0,V=3DW.length;Y<V;Y++){try{W[Y].parentNode.removeChild(W[Y]);}catch(=
X){continue;}}Z.parentNode.removeChild(Z);};var A=3Dfunction(){var =
Y=3D"yahooBuzzBadge",W=3DY,V=3D0,X;while((X=3Ddocument.getElementById(W))=
&&X.____yb=3D=3D1||document.getElementById(W+"-form")){W=3DY+"-"+V;V++;}i=
f(X){X.____yb=3D1;}return W;}();var E=3Dfunction(){var W=3DA;for(var =
V=3D0;V<5;V++){W+=3DString.fromCharCode(Math.floor(Math.random()*26)+97);=
}document.write('<span id=3D"'+W+'" =
style=3D"position:absolute;left:-999em;height:0;width:0;"></span>');retur=
n document.getElementById(W);}();E.____yb=3D1;var K;var =
O;window.setTimeout(function(){K=3Dfunction(){if(E&&E.parentNode){E.paren=
tNode.removeChild(E);}Y=3Dnull;};var W=3Dfunction(){if(!E){return =
undefined;}var =
b=3DE;while(b&&(!b.tagName||b.tagName!=3D=3D"SCRIPT")){if(b&&b.previousSi=
bling&&b.previousSibling.tagName&&b.previousSibling.childNodes.length){b=3D=
b.previousSibling.lastChild;}else{if(b=3D=3D=3Db.parentNode.firstChild){b=
=3Db.parentNode;}else{b=3Db.previousSibling;}}}if(!b){return =
undefined;}b.____yb=3D1;return =
b;}();O=3D(W&&W.src)||"";if(O.substr(0,1)=3D=3D=3D"/"){O=3D"http://"+wind=
ow.location.host;}O=3DO.replace(/^http:\/\/([^\/]+.yahoo.com)(:[0-9]+)?(\=
/.*)?/,"http://$1$2");if(!O.match(/^http:\/\/([^\/]+.yahoo.com)(:[0-9]+)?=
$/)){O=3DT;}var Z=3Dfunction(){var b=3D"";if(C&&typeof =
(C)=3D=3D=3D"string"){b=3DC;}else{if(W&&W.innerHTML&&W.src){b=3DW.innerHT=
ML.replace(/[\n\r\s\t]+/g," =
").replace(/^\s+/,"").replace(/\s+$/,"");}}b=3Db.split(":");return[b.shif=
t(),b.join(":")];}();var X=3Dfunction(){var b;if(J&&typeof =
(J)=3D=3D=3D"string"){b=3DJ;}else{if(W){b=3DW.getAttribute("badgetype");}=
}return b||"medium";}();var a=3Dfunction(){var b;if(H&&typeof =
(H)!=3D=3D"undefined"){b=3DH;}else{if(W){b=3DW.getAttribute("showbranding=
");}}if(!isNaN(b)){b=3D(+b);}else{if(b=3D=3D=3D"false"||b=3D=3D=3D"no"||b=
=3D=3D=3D"off"){b=3Dfalse;}}return !!b;}();var =
V=3Ddocument.getElementById(A)||E;V.____yb=3D1;var =
Y=3Dfunction(){if(!V){return undefined;}var =
b=3DN("form",{id:A+"-form",className:"yahooBuzzBadge-form",action:O+"/vot=
e/",method:"post",target:"_new",____yb:1,style:{position:"absolute",heigh=
t:"1px",width:"1px",visibility:"hidden"}});V.id=3D"";return =
b;}();S(Y,Z,X,a,V);},0);})();
------=_NextPart_000_0079_01C93043.49B858D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/usnews/v3/scripts/comments.js

function getObject(obj) {
  var theObj;
  if(document.all) {
    if(typeof obj=3D=3D"string") {
      return document.all(obj);
    } else {
      return obj.style;
    }
  }
  if(document.getElementById) {
    if(typeof obj=3D=3D"string") {
      return document.getElementById(obj);
    } else {
      return obj.style;
    }
  }
  return null;
}

function toCount(entrance,exit,text,characters) {
  var entranceObj=3DgetObject(entrance);
  var exitObj=3DgetObject(exit);
  var length=3Dcharacters - entranceObj.value.length;
  if(length <=3D 0) {
    length=3D0;
    text=3D'<span class=3D"disable"> '+text+' <' + '/span>';
    entranceObj.value=3DentranceObj.value.substr(0,characters);
  }
  exitObj.innerHTML =3D text.replace("{CHAR}",length);
}

function flagcomment(targetid,entryurl) {
  var flagid =3D 'flag' + targetid;
  var flagformid =3D 'form' + flagid;
  if ($(flagid).innerHTML =3D=3D '') {
    var formhtml =3D '';
    formhtml +=3D '<form action=3D"/forms/flagcomment" id=3D"' + =
flagformid + '" name=3D"' + flagformid + '" class=3D"flagform" =
method=3D"get">';
    formhtml +=3D '<div><b>Report Comment:</b></div>';
    formhtml +=3D '<div><label>Your email:<br><input type=3D"text" =
size=3D"16" name=3D"flagemail" class=3D"flagemail"></label></div>';
    formhtml +=3D '<div><label>Report reason:<br><textarea type=3D"text" =
cols=3D"16" rows=3D"5" name=3D"flagreason"></textarea></label></div>';
    formhtml +=3D '<div><input type=3D"submit"  value=3D"Report" =
onclick=3D"flagcheck(' + targetid + ');return false;"> <a href=3D"#" =
onclick=3D"flagcomment(' + targetid + ');return false">[cancel]</a>';
    formhtml +=3D '<input type=3D"hidden" name=3D"entryurl" value=3D"' + =
entryurl + '">';
    formhtml +=3D '<input type=3D"hidden" name=3D"commentid" value=3D"' =
+ targetid + '"></div>';
    formhtml +=3D '</form>';
    $(flagid).update(formhtml);
  } else {
    $(flagid).update();
  }
}


function flagcheck(targetid) {
  var flagid =3D 'flag' + targetid;
  var flagformid =3D 'form' + flagid;
  var email =3D $(flagformid).flagemail.value;
  var reason =3D $(flagformid).flagreason.value;
  var reg =3D =
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  if (reg.test(email)=3D=3Dfalse || email=3D=3D'') {
    alert("A valid email address is required.");
    return false;
  }
  if (reason =3D=3D '') {
    alert("A reason for reporting this comment is required.");
    return false;
  }

  $(flagformid).submit();
}

------=_NextPart_000_0079_01C93043.49B858D0--
