From: <Salvato da Windows Internet Explorer 7>
Subject: Expert Reviews - Expert Review of Neurotherapeutics - 10(10):1493 - Full Text
Date: Sat, 23 Oct 2010 08:40:22 +0200
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CB728D.EE54C840"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/doi/full/10.1586/ern.10.123

=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>Expert Reviews - Expert Review of Neurotherapeutics - =
10(10):1493 - Full Text</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3DUTF-8">
<META content=3Dnoarchive,nofollow name=3Drobots><LINK=20
href=3D"http://purl.org/DC/elements/1.0/" rel=3Dschema.DC></LINK>
<META=20
content=3D"From survival to survivorship: late side effects become an =
issue in high-grade glioma"=20
name=3Ddc.Title></META>
<META content=3D" Yaacov R   Lawrence " name=3Ddc.Creator></META>
<META content=3D" Wenyin   Shi " name=3Ddc.Creator></META>
<META content=3D" Adam P   Dicker " name=3Ddc.Creator></META>
<META=20
content=3D"brain tumor; cognitive decline; glioma; radiation therapy; =
side effects"=20
name=3Ddc.Subject></META>
<META content=3D" Expert Reviews Ltd London, UK " =
name=3Ddc.Publisher></META>
<META scheme=3DWTN8601 content=3D2010-10-06 name=3Ddc.Date></META>
<META content=3Dtext/HTML name=3Ddc.Format></META>
<META scheme=3Ddoi content=3D10.1586/ern.10.123 =
name=3Ddc.Identifier></META>
<META content=3Dhttp://dx.doi.org/10.1586/ern.10.123 =
name=3Ddc.Source></META>
<META content=3DEN name=3Ddc.Language></META>
<META content=3D"London, UK" name=3Ddc.Coverage></META>
<META content=3D"=C2=A9 Expert Reviews Ltd" name=3Ddc.Rights></META>
<META=20
content=3D"brain tumor, cognitive decline, glioma, radiation therapy, =
side effects"=20
name=3Dkeywords></META>
<META content=3Dtrue name=3DMSSmartTagsPreventParsing><LINK=20
href=3D"http://www.expert-reviews.com/templates/jsp/style.css" =
type=3Dtext/css=20
rel=3Dstylesheet><LINK=20
href=3D"http://www.expert-reviews.com/templates/jsp/_midtier/style.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.expert-reviews.com/templates/jsp/_midtier/_fud/style.c=
ss"=20
type=3Dtext/css rel=3Dstylesheet>
<SCRIPT src=3D"http://www.expert-reviews.com/templates/jsp/script.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://www.expert-reviews.com/templates/jsp/_midtier/script.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://www.expert-reviews.com/templates/jsp/js/prototype.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://www.expert-reviews.com/templates/jsp/js/cssQuery.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://www.expert-reviews.com/templates/jsp/js/behavior.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.expert-reviews.com/templates/jsp/_midtier/_fud/js/behav=
iourRules.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.expert-reviews.com/templates/jsp/js/jquery.js" =

type=3Dtext/javascript></SCRIPT>
<LINK href=3D"/templates/jsp/_midtier/_fud/favicon.ico" rel=3D"SHORTCUT =
ICON"><LINK=20
title=3D"RSS - eTOC alert for Expert Review of Neurotherapeutics"=20
href=3D"http://www.expert-reviews.com/action/showFeed?ui=3D0&amp;mi=3D3ba=
o1x&amp;ai=3Drw&amp;jc=3Dern&amp;type=3Detoc&amp;feed=3Drss"=20
type=3Dapplication/rss+xml rel=3Dalternate><LINK title=3D"RSS - Cited =
articles"=20
href=3D"http://www.expert-reviews.com/action/showFeed?ui=3D0&amp;mi=3D3ba=
o1x&amp;ai=3Dgdq&amp;doi=3D10.1586%2Fern.10.123&amp;type=3Dcitrack&amp;fe=
ed=3Drss"=20
type=3Dapplication/rss+xml rel=3Dalternate>
<META content=3D"MSHTML 6.00.6000.17092" name=3DGENERATOR></HEAD>
<BODY leftMargin=3D0 topMargin=3D0 =
onload=3Dif(window.preload){preload();}=20
onunload=3Dif(window.preunload){preunload();} marginwidth=3D"0" =
marginheight=3D"0"><A=20
name=3Dtop><!-- top --></A>
<TABLE=20
style=3D"BACKGROUND-IMAGE: =
url(/templates/jsp/_midtier/_fud/images/headerBackground.gif); =
BACKGROUND-REPEAT: repeat-y"=20
cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD><A href=3D"http://www.expert-reviews.com/"><IMG height=3D111=20
      alt=3D"Expert Reviews Logo"=20
      =
src=3D"http://www.expert-reviews.com/templates/jsp/_midtier/_fud/images/l=
ogo.gif"=20
      width=3D1000 border=3D0></A> </TD>
    <TD align=3Dright></TD></TR>
  <TR>
    <TD class=3DidentitiesBar style=3D"PADDING-BOTTOM: 3px" =
vAlign=3Dbottom=20
    align=3Dright colSpan=3D2><SPAN =
class=3DidentitiesWelcome>Welcome</SPAN> <SPAN=20
      class=3DidentitiesName>Guest user | <A=20
      href=3D"https://www.expert-reviews.com/action/showLogin">Log =
in</A> | <A=20
      =
href=3D"http://auth.athensams.net/?ath_returl=3D%22http%3A%2F%2Fwww.exper=
t-reviews.com%2Faction%2FathensAuthenticate%3FcurrUrl%3D%252Fdoi%252Ffull=
%252F10.1586%252Fern.10.123%22&amp;ath_dspid=3DFUTURE">Athens=20
      Login</A> | <A=20
      =
href=3D"http://www.expert-reviews.com/action/ssostart?redirectUri=3D%2Fdo=
i%2Ffull%2F10.1586%2Fern.10.123">Shibboleth=20
      Login</A> | <A=20
      =
href=3D"https://www.expert-reviews.com/action/registration">Register</A> =

      </SPAN></TD></TR></TBODY></TABLE><!-- begin main menu -->
<TABLE class=3DmainMenu cellSpacing=3D2 cellPadding=3D2 width=3D"100%" =
border=3D0>
  <TBODY>
  <TR>
    <TD style=3D"WIDTH: 165px"><A class=3DmainMenu=20
      href=3D"http://www.expert-reviews.com/">Home</A></TD>
    <TD=20
    style=3D"PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px"><A=20
      class=3DmainMenu=20
      href=3D"http://www.expert-reviews.com/action/showJournals">Browse=20
      Journals</A></TD>
    <TD=20
    style=3D"PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px"><A=20
      class=3DmainMenu =
href=3D"http://www.expert-reviews.com/search/advanced">Search=20
      Journals</A></TD>
    <TD=20
    style=3D"PADDING-RIGHT: 2em; PADDING-LEFT: 2em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px"><A=20
      class=3DmainMenu =
href=3D"http://www.expert-reviews.com/feedback/show">Contact=20
      Us</A></TD>
    <TD=20
    style=3D"PADDING-RIGHT: 3em; PADDING-LEFT: 3em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px"><A=20
      class=3DmainMenu =
href=3D"http://www.expert-reviews.com/page/about.jsp">About=20
      Us</A></TD>
    <TD=20
    style=3D"PADDING-RIGHT: 2em; PADDING-LEFT: 2em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px"><A=20
      class=3DmainMenu=20
      href=3D"http://www.expert-reviews.com/action/showPreferences">My=20
    Profile</A></TD></TR></TBODY></TABLE><!-- end main menu -->
<TABLE class=3DpageBody cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
  <TBODY>
  <TR>
    <TD class=3DpageBody>
      <TABLE>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop width=3D165><!-- begin left side menu -->
            <TABLE class=3D"sideMenu mceItemTable" =
style=3D"MARGIN-BOTTOM: 1px"=20
            cellSpacing=3D2 cellPadding=3D2 width=3D165 border=3D0>
              <TBODY style=3D"TEXT-ALIGN: left">
              <TR style=3D"TEXT-ALIGN: left">
                <TD class=3DsideMenuHead=20
style=3D"TEXT-ALIGN: left">Resources</TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"https://www.future-drugs.com/action/registration">Register</A>=20
                  <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/page/authors.jsp">For=20
                  Authors</A> <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/page/librarians.jsp">For=20
                  Librarians</A> <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/page/advertisers">For=20
                  Advertisers</A> <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD class=3DsideMenuHead style=3D"TEXT-ALIGN: =
left">Services</TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/page/subscribe.jsp">Subscriptions/P=
ricing</A>=20
                  <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/page/reprints.jsp">Reprints</A>=20
                  <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/page/advertising">Advertising</A>=20
                  <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/page/pressrelease">Press=20
                  Releases/News</A> <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/page/fdhelp">Help</A>=20
                <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD class=3DsideMenuHead=20
                style=3D"TEXT-ALIGN: left">Downloads/Links</TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  href=3D"http://www.future-science-group.com/catalogue" =

                  target=3D_blank>2009/10 Catalogue</A> <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  =
href=3D"http://www.expert-reviews.com/action/recommendation">Library=20
                  Recommendation</A> <BR></TD></TR>
              <TR style=3D"TEXT-ALIGN: left">
                <TD style=3D"TEXT-ALIGN: left"><A=20
                  href=3D"http://www.future-science-group.com/">Future =
Science=20
                  Group</A>=20
          <BR></TD></TR></TBODY></TABLE><!-- end left side menu --></TD>
          <TD class=3Dmain>
            <SCRIPT type=3Dtext/javascript>=0A=
    =0A=
        <!--=0A=
            Behavior.start();=0A=
        //-->=0A=
    </SCRIPT>

            <SCRIPT type=3Dtext/javascript>=0A=
<!-- // hide it from old browsers=0A=
=0A=
var anyDbId =3D -1;=0A=
var sideParts =3D {=0A=
  citation: "<tr><td class=3D\"black9pt\" width=3D\"15\" =
valign=3D\"top\">&nbsp;&bull;&nbsp;<\/td><td class=3D\"black9pt\" =
valign=3D\"top\"><a =
href=3D\"javascript:newWindow('{$linkoutUrl}')\">{$display}<\/a><\/td><\/=
tr>",=0A=
  citingIsi: "<tr><td class=3D\"black9pt\" width=3D\"15\" =
valign=3D\"top\">&nbsp;&bull;&nbsp;<\/td><td class=3D\"black9pt\" =
valign=3D\"top\">Search for citing articles in:<br/>&nbsp;<a =
href=3D\"javascript:newWindow('/servlet/linkout?suffix=3Ds0&dbid=3D128&do=
i=3D{$doi}&url=3D{$urlEnc}')\">ISI Web of Science<\/a> ({$citNum} or =
more)<\/a><\/td><\/tr>",=0A=
  citingCrossref: "<tr><td class=3D\"black9pt\" width=3D\"15\" =
valign=3D\"top\">&nbsp;&bull;&nbsp;<\/td><td class=3D\"black9pt\" =
valign=3D\"top\"><a href=3D\"{$url}\">Citing articles in =
CrossRef<\/a><\/td><\/tr>",=0A=
  quicksearch: "<option value=3D\"{$value}\">{$display}<\/option>",=0A=
  related: ", <a =
href=3D\"javascript:newWindow('{$linkoutUrl}')\">{$display}<\/a>"=0A=
};=0A=
=0A=
function genSide(part, dbid, linkoutUrl, display, doi, url, citNum, =
value) {=0A=
  if (dbid !=3D anyDbId && (34359738367 & dbid) =3D=3D 0) return;=0A=
	var content =3D sideParts[part];=0A=
	if (linkoutUrl) { content =3D content.replace(/{\$linkoutUrl}/g, =
linkoutUrl); }=0A=
	if (display) { content =3D content.replace(/{\$display}/g, display); }=0A=
	if (doi) { content =3D content.replace(/{\$doi}/g, doi); }=0A=
	if (url) {=0A=
	  content =3D content.replace(/{\$url}/g, url);=0A=
	  content =3D content.replace(/{\$urlEnc}/g, =
encodeURIComponent(encodeURIComponent(url)));=0A=
  }=0A=
	if (citNum) { content =3D content.replace(/{\$citNum}/g, citNum); }=0A=
	if (value) { content =3D content.replace(/{\$value}/g, value); }=0A=
	document.write(content);=0A=
}=0A=
=0A=
function hasSfxLinks() {=0A=
	return false;=0A=
}=0A=
=0A=
=0A=
function genSfxLinks(id, url, doi) { }=0A=
=0A=
var sfxRefDisplay =3D {=0A=
	64:"ADS",=0A=
	32:"CAS",=0A=
	8192:"CIS",=0A=
	256:"CSA",=0A=
	16:"CrossRef",=0A=
	128:"ISI",=0A=
	4096:"JSTOR",=0A=
	8:"Medline"=0A=
};=0A=
function genRefLink(dbid, id, key, textOfLink) {=0A=
	if (34359738367 & dbid !=3D 0) {=0A=
	    if (typeof textOfLink =3D=3D=3D "undefined") textOfLink =3D =
"["+sfxRefDisplay[dbid]+"]"; // ToDo: move '[' and ']' to sfxRefDisplay=0A=
	    else textOfLink =3D unescape(textOfLink);=0A=
		document.write("<a class=3D'ref' =
href=3D\"javascript:popRefLink("+dbid+",'"+id+"','"+key+"')\">"+textOfLin=
k+"<\/a>");=0A=
	}=0A=
}=0A=
function popRefLink(dbid, id, key) {=0A=
	var redirect =3D "/servlet/linkout?suffix=3D" + id + "&dbid=3D" + dbid =
+ "&doi=3D10.1586%2Fern.10.123&key=3D" + key;=0A=
	return newWindow(redirect);=0A=
}=0A=
function popRefFull(rid, citart, ptype, area) {=0A=
	return popRefImplFull(rid, citart, ptype, area, 600, 500);=0A=
}=0A=
function popRefImplFull(rid, citart, ptype, area, width, height) {=0A=
	var doi =3D "10.1586%2Fern.10.123";=0A=
	if (! ptype) { ptype =3D ""; }=0A=
	var pt =3D rid.charAt(0) + "ern10123" + ptype;=0A=
	return popupFull(rid, doi, pt, area, width, height);=0A=
}=0A=
function popRef(rid, citart, ptype, area) {=0A=
	return popRefImpl(rid, citart, ptype, area, 600, 500);=0A=
}=0A=
function popRef2(rid, citart, ptype, area) {=0A=
	return popRefImpl(rid, citart, ptype, area, 400, 100);=0A=
}=0A=
function popRefImpl(rid, citart, ptype, area, width, height) {=0A=
	var doi =3D "10.1586%2Fern.10.123";=0A=
	if (! citart) { citart =3D "citart1"; }=0A=
	if (! ptype) { ptype =3D ""; }=0A=
	var pt =3D rid.charAt(0) + "ern10123" + ptype;=0A=
	return popupRef(citart, rid, doi, pt, area, width, height);=0A=
}=0A=
=0A=
=0A=
=0A=
function genCitingIsi() { =0A=
}=0A=
=0A=
function genCitingCrossref() {=0A=
}=0A=
=0A=
var citLinkDisplay =3D {=0A=
=0A=
	0:"SYSTEM",=0A=
	4:"SYSTEM",=0A=
	20:"SYSTEM",=0A=
	64:"ADS",=0A=
	32:"CAS",=0A=
	8192:"CIS",=0A=
	256:"CSA",=0A=
	16:"CrossRef",=0A=
	128:"ISI",=0A=
	4096:"JSTOR",=0A=
	8:"MEDLINE"=0A=
};=0A=
var feeBasedMask =3D 4480;=0A=
=0A=
function genCitLink(dbid, suffix, key) {=0A=
  if (dbid !=3D anyDbId && (feeBasedMask & dbid) !=3D 0 && (34359738367 =
& dbid) =3D=3D 0) return;=0A=
=0A=
	var param =3D "/servlet/linkout?suffix=3D" + suffix + "&dbid=3D" + dbid =
+ "&doi=3D10.1586%2Fern.10.123&key=3D" + key;=0A=
	var display =3D citLinkDisplay[dbid];=0A=
	var img =3D "/templates/jsp/_midtier/_fud/images/" + display + =
"_btn.gif";=0A=
=0A=
=0A=
=0A=
	document.write("<a class=3D'ref' href=3D'javascript:newWindow(\"" + =
param + "\")'>");=0A=
	document.write("<img src=3D'"+img+"' width=3D'85' height=3D'20' =
align=3D'BOTTOM' alt=3D'"+display+" Abstract' border=3D'0'/>");=0A=
	document.write("<\/a>");=0A=
}=0A=
// stop hiding -->=0A=
</SCRIPT>

            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD vAlign=3Dtop><!-- when referer is not from literatum =
(referer is null or not equals to the default host), display note on =
abstarct page --><!-- Start title of page and review -->
                  <DIV class=3DpageTitle>Full Text</DIV>
                  <DIV class=3DjournalTitle><A=20
                  href=3D"http://www.expert-reviews.com/loi/ern">Expert =
Review of=20
                  Neurotherapeutics</A></DIV>
                  <DIV class=3Dblack9pt>October 2010, Vol. 10, No. 10, =
Pages=20
                  1493-1495 , DOI 10.1586/ern.10.123 </DIV>
                  <DIV =
class=3Dblack9pt>(doi:10.1586/ern.10.123)</DIV><BR><!-- End title of =
page and review --><!-- Start full text content -->
                  <DIV class=3DshowFullText>
                  <P class=3Dfulltext></P><!-- abstract content -->
                  <DIV class=3DdocumentTitle><SPAN class=3Darttitle>From =
survival to=20
                  survivorship: late side effects become an issue in =
high-grade=20
                  glioma</SPAN></DIV><SPAN class=3Dcontrib><A =
class=3Dref=20
                  href=3D"javascript:popRef2('a1')">Yaacov R=20
                  Lawrence</A><SUP>=E2=80=A0</SUP>, </SPAN><SPAN =
class=3Dcontrib><A=20
                  class=3Dref href=3D"javascript:popRef2('a2')">Wenyin =
Shi</A> &amp;=20
                  </SPAN><SPAN class=3Dcontrib><A class=3Dref=20
                  href=3D"javascript:popRef2('a3')">Adam P =
Dicker</A></SPAN>=20
                  <DIV class=3DNLM_corresp>=E2=80=A0<IMG class=3DentityA =
alt=3D""=20
                  =
src=3D"http://www.expert-reviews.com/na101/home/literatum/publisher/fud/j=
ournals/entities/2002.gif"=20
                  align=3Dbottom><I>Author for correspondence</I></DIV>
                  <DIV class=3DSectionMenu>Sections:=20
                  <FORM style=3D"DISPLAY: inline; MARGIN: 0px"=20
                  action=3Djavascript:void()><SELECT class=3Dfulltextdd=20
                  onchange=3D"GoTo(this, 'self')"><OPTION=20
                    selected>Choose</OPTION><OPTION=20
                  value=3D#h3>References</OPTION></SELECT></FORM></DIV>
                  <P class=3Dfulltext></P><BR clear=3Dall><BR><!-- =
/abstract content --><!-- fulltext content -->
                  <P class=3Dfirst>Gliomas are the most common primary =
brain=20
                  tumors. In adults, the most frequent subtype is =
glioblastoma,=20
                  an aggressive and lethal tumor characterized =
histologically by=20
                  frequent mitoses, rich angiogenesis and necrosis.=20
                  Multimodality treatment is the standard of care: =
maximal safe=20
                  resection followed by partial brain irradiation =
combined with=20
                  temozolomide. Resection followed by radiation produces =
a=20
                  median survival of 2=E2=80=933 years in anaplastic =
astrocytoma <A=20
                  class=3Dref-1 =
href=3D"javascript:popRef2('ref-1')">[1]</A>, but=20
                  only 5=E2=80=9312 months in patients with =
glioblastoma, depending on=20
                  the population studied <A class=3Dref-2=20
                  href=3D"javascript:popRef2('ref-2')">[2]</A>. The =
addition of=20
                  temozolomide, while only increasing median survival by =
2.5=20
                  months <A class=3Dref-3=20
                  href=3D"javascript:popRef2('ref-3')">[3]</A>, produces =
a marked=20
                  increase in long-term survival, with 9.8% of patients =
who=20
                  received combination treatment living 5 years, as =
opposed to=20
                  1.9% with radiation alone <A class=3Dref-4=20
                  href=3D"javascript:popRef2('ref-4')">[4]</A>. Longer =
survival is=20
                  associated with host factors (performance status and =
age <A=20
                  class=3Dref-5 =
href=3D"javascript:popRef2('ref-5')">[5]</A>),=20
                  molecular characteristics (<I>O<SUP>6</SUP>=20
                  </I>-methylguanine-DNA methyltransferase [MGMT] =
methylation <A=20
                  class=3Dref-6 =
href=3D"javascript:popRef2('ref-6')">[6]</A>,=20
                  isocitrate dehydrogenase mutations <A class=3Dref-7=20
                  href=3D"javascript:popRef2('ref-7')">[7]</A> and =
polymorphisms=20
                  in DNA repair enzymes <A class=3Dref-8=20
                  href=3D"javascript:popRef2('ref-8')">[8]</A>), and =
treatment=20
                  factors (more radical resection <A class=3Dref-9=20
                  href=3D"javascript:popRef2('ref-9')">[9]</A> and use =
of=20
                  temozolomide <A class=3Dref-4=20
                  href=3D"javascript:popRef2('ref-4')">[4]</A>). The =
cardinal=20
                  non-molecular factors have been combined to define the =

                  Radiation Therapy Oncology Group (RTOG) recursive =
partitioning=20
                  analysis class <A class=3Dref-5=20
                  href=3D"javascript:popRef2('ref-5')">[5]</A>.</P>
                  <P>There is circumstantial evidence that survival may =
be=20
                  improving further =E2=80=93 in recent single-arm =
trials run by the New=20
                  Approaches to Brain Tumor Therapy Consortium, median =
survival=20
                  was nearly 20 months <A class=3Dref-10=20
                  href=3D"javascript:popRef2('ref-10')">[10]</A>. =
Whether this=20
                  survival increase is a reflection of the activity of =
the=20
                  various therapeutic agents tested, the results of a =
more=20
                  aggressive approach, the increased use of second- and=20
                  third-line treatments or some other factor is not =
clear. The=20
                  expectation is that newer therapies will further =
lengthen=20
                  survival. As glioblastoma shifts from being a rapidly =
fatal to=20
                  slowly progressive disease, we are obligated to =
consider the=20
                  long-term side effects of present and future =
treatments. In=20
                  addition to the =E2=80=98classical=E2=80=99 side =
effects, such as neurological=20
                  deficits and brain necrosis, research now emphasizes=20
                  neurocognitive function and quality of life. These =
=E2=80=98newer=E2=80=99 end=20
                  points are complex, since both the tumor and the =
treatment=20
                  impact upon them.</P>
                  <P>The long-term effects of radiation on the brain =
have been=20
                  well described <A class=3D"ref-11 ref-12 ref-13 =
ref-14"=20
                  href=3D"javascript:popRef2('ref-11 ref-12 ref-13 =
ref-14')">[11=E2=80=9314]</A>.=20
                  Pathological changes range from transient =
demyelination to=20
                  irreversible vascular damage with resultant necrosis. =
A recent=20
                  meta-analysis suggested that the brain is able to =
tolerate=20
                  high doses of ionizing radiation (approximately 70 Gy) =
before=20
                  undergoing necrosis <A class=3Dref-15=20
                  href=3D"javascript:popRef2('ref-15')">[15]</A>; =
however, more=20
                  subtle cognitive changes occur at lower doses. Memory =
deficits=20
                  following irradiation follow a biphasic pattern =
=E2=80=93 in the=20
                  initial months an initial decrement with rebound, =
followed by=20
                  a secondary permanent decline <A class=3D"ref-16 =
ref-17 ref-18"=20
                  href=3D"javascript:popRef2('ref-16 ref-17 =
ref-18')">[16=E2=80=9318]</A>.=20
                  Radiation-induced neurocognitive impairment is =
especially=20
                  noted in children <A class=3D"ref-19 ref-21"=20
                  href=3D"javascript:popRef2('ref-19 =
ref-21')">[19=E2=80=9321]</A> and=20
                  patients with primary CNS lymphoma <A=20
                  class=3D"ref-22 ref-23 ref-24"=20
                  href=3D"javascript:popRef2('ref-22 ref-23 =
ref-24')">[22=E2=80=9324]</A>,=20
                  possibly reflecting the use of neurotoxic methotrexate =
in the=20
                  latter.</P>
                  <P>Cytotoxic chemotherapy alone may also induce =
cognitive=20
                  impairment. This is best documented in breast cancer =
patients=20
                  receiving adjuvant adriamycin-based chemotherapy <A=20
                  class=3D"ref-25 ref-26"=20
                  href=3D"javascript:popRef2('ref-25 =
ref-26')">[25,26]</A>.=20
                  Although impairment is generally subtle and =
intermittent on=20
                  objective testing <A class=3Dref-27=20
                  href=3D"javascript:popRef2('ref-27')">[27]</A>, a =
subset of=20
                  patients exhibit more profound and sustained =
impairment <A=20
                  class=3Dref-26 =
href=3D"javascript:popRef2('ref-26')">[26]</A>.=20
                  Consequently, a potential concern is that temozolomide =
may be=20
                  lengthening survival, but worsening neurocognitive =
function=20
                  and quality of life. Reassuringly, there is evidence =
that this=20
                  is not the case, at least for early time points: in a =
trial of=20
                  temozolomide for recurrent glioblastoma, individuals =
who were=20
                  progression-free on temozolomide at 6 months had =
improvement=20
                  in quality of life <A class=3Dref-28=20
                  href=3D"javascript:popRef2('ref-28')">[28]</A>. =
Another study=20
                  demonstrated that amongst patients with glioblastoma,=20
                  temozolomide treatment is associated with prolonged =
functional=20
                  independence <A class=3Dref-29=20
                  href=3D"javascript:popRef2('ref-29')">[29]</A>. =
Furthermore, the=20
                  European Organization for Research on Treatment of=20
                  Cancer/National Cancer Institute of Canada Phase III =
trial=20
                  that established temozolomide as standard of care in =
grade IV=20
                  gliomas on the basis of improved survival also =
assessed seven=20
                  domains of health-related quality of life (HRQOL; =
fatigue,=20
                  insomnia, emotional function, social function, future=20
                  uncertainty, communication deficit and overall HRQOL) =
<A=20
                  class=3Dref-30 =
href=3D"javascript:popRef2('ref-30')">[30]</A>.=20
                  Variations during treatment and follow-up were not=20
                  substantial; however, they nearly all showed some =
improvement.=20
                  Overall there was little difference between the =
radiation=20
                  alone and the combined radiation=E2=80=93temozolomide =
arms; subjects=20
                  on the experimental arm experienced more =
gastrointestinal=20
                  symptoms early on, but this was to be expected and =
quickly=20
                  improved following the cessation of temozolomide.=20
                  Unfortunately the study had two limitations: firstly, =
due to=20
                  dwindling numbers, only HRQOL data from the first year =
of=20
                  follow-up was analyzed; secondly, neurocognitive =
function was=20
                  not formally tested during follow-up. However, there =
is some=20
                  preliminary evidence that glioblastoma patients who =
survive=20
                  for more than 3 years may fare less well, with 85% =
having at=20
                  least one significant neurologic deficit <A =
class=3Dref-31=20
                  href=3D"javascript:popRef2('ref-31')">[31]</A>.</P>
                  <P>Little is known about the long-term neurocognitive =
side=20
                  effects of novel molecular targeting agents, such as=20
                  monoclonal antibodies, small molecular inhibitors and=20
                  immunotherapy. Interestingly, early phase clinical =
trial data=20
                  suggest that bevacizumab (VEGF antibody) can stabilize =

                  neurocognitive function and reduce reliance on =
steroids,=20
                  improving day-to-day life for patients with recurrent=20
                  glioblastoma <A class=3Dref-32=20
                  href=3D"javascript:popRef2('ref-32')">[32]</A>.</P>
                  <P>Treatment side effects amongst glioma sufferers may =
not=20
                  only be unpleasant, they may also impinge upon =
prognosis. By=20
                  analyzing the side effects experienced by subjects =
previously=20
                  enrolled on RTOG high-grade glioma trials, we were =
able to=20
                  define risk factors for both acute (age greater than =
50 years,=20
                  poor performance status, more aggressive surgery, poor =

                  neurological function, poor mental function and =
twice-daily=20
                  radiation) and chronic (once-daily radiation, use of=20
                  chemotherapy, previous acute neurologic toxicity and =
total=20
                  radiation dose) neurologic toxicity. The presence of =
acute=20
                  neurologic toxicity was also found to predict poor =
overall=20
                  survival, independent of recursive partitioning =
analysis class=20
                  (median survival 7.8 vs 11.8 months; p &lt; 0.0001) <A =

                  class=3Dref-33 =
href=3D"javascript:popRef2('ref-33')">[33]</A>.</P>
                  <P>We do not know what the impact of new experimental =
agents=20
                  on normal tissue function will be, whether used alone =
or=20
                  together with radiation therapy. International =
cooperative=20
                  groups led by the European Organization for Research =
on=20
                  Treatment of Cancer and the RTOG have led the way in=20
                  incorporating quality of life and neurocognitive end =
points=20
                  into clinical trials; unfortunately, only a proportion =
of=20
                  patients seen in the clinic are typically eligible for =
such=20
                  trials. Only by bringing neuropsychological testing =
into daily=20
                  practice will we be able to capture information on =
=E2=80=98real=20
                  patients=E2=80=99 (those with poor performance status, =
elderly, ethnic=20
                  minorities) that rarely enroll onto clinical trials.=20
                  Standardized neuropsychological tests are reliable and =
valid=20
                  measures when used correctly. When selecting=20
                  neuropsychological tests, it is recommended to focus =
on=20
                  specific domains of functioning, such as short-term =
memory;=20
                  that tests be re-administered repeatedly in order to =
estimate=20
                  variance and account for the =E2=80=98training =
effect=E2=80=99; and finally=20
                  that only standardized tests with documented =
reliability and=20
                  validity are chosen <A class=3Dref-34=20
                  href=3D"javascript:popRef2('ref-34')">[34]</A>. =
Although formal=20
                  neuropsychological tests are considered to be the =
=E2=80=98gold=20
                  standard=E2=80=99, the associated logistical costs and =
staff training=20
                  required hamper their widespread adoption. =
Computerized=20
                  testing, such as provided by CogState<SUP>=C2=AE</SUP> =
(CogState=20
                  Ltd, Melbourne, Australia), may help overcome these =
hurdles <A=20
                  class=3Dref-35 =
href=3D"javascript:popRef2('ref-35')">[35]</A>.</P>
                  <P class=3Dlast>Patients with high-grade gliomas =
desperately=20
                  require more effective interventions. For many =
patients,=20
                  controlling neurological symptoms, preventing =
cognitive=20
                  dysfunction and maintaining functional independence =
are just=20
                  as important as prolonging survival. As new innovative =

                  therapies that seek to extend survival in this =
devastating=20
                  disease are investigated, it is critical that we also =
evaluate=20
                  their possible negative impact on functional outcomes =
over the=20
                  long-term.</P>
                  <DIV class=3Dack><SPAN class=3Dtitle =
id=3Dd473930e364>Financial=20
                  &amp; competing interests disclosure</SPAN>=20
                  <P><I>Yaacov R Lawrence is supported by the American =
Society=20
                  of Clinical Oncology Cancer Foundation Young =
Investigator=20
                  Award. Any opinions, findings and conclusions =
expressed in=20
                  this material are those of the author(s) and do not=20
                  necessarily reflect those of the American Society of =
Clinical=20
                  Oncology or the American Society of Clinical Oncology =
Cancer=20
                  Foundation. Adam P Dicker is supported by NIH Grant =
CA10663,=20
                  Tobacco Research Settlement Fund (State of =
Pennsylvania), and=20
                  the Christine Baxter Fund. The authors have no other =
relevant=20
                  affiliations or financial involvement with any =
organization or=20
                  entity with a financial interest in or financial =
conflict with=20
                  the subject matter or materials discussed in the =
manuscript=20
                  apart from those disclosed.</I> </P>
                  <P class=3Dlast><I>No writing assistance was utilized =
in the=20
                  production of this manuscript.</I> </P></DIV><A =
name=3Dh3><!-- title --></A><BR clear=3Dright><BR>
                  <TABLE class=3DsectionHeading cellSpacing=3D0 =
cellPadding=3D0=20
                  width=3D"100%">
                    <TBODY>
                    <TR>
                      <TH vAlign=3Dcenter align=3Dleft =
width=3D"95%">References</TH>
                      <TD class=3DsectionHeading vAlign=3Dcenter noWrap =
align=3Dright=20
                      width=3D92 height=3D16>
                        <FORM style=3D"MARGIN-BOTTOM: 0px"><SELECT=20
                        class=3Dfulltextdd onchange=3D"GoTo(this, =
'self')"=20
                        name=3Dselect23><OPTION =
selected>Choose</OPTION><OPTION=20
                          value=3D#>Top of page</OPTION><OPTION=20
                          value=3D"">References =
&lt;&lt;</OPTION></SELECT></FORM></TD>
                      <TD class=3DsectionHeading vAlign=3Dcenter noWrap =
align=3Dright=20
                      width=3D10 height=3D16><IMG height=3D10 alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/templates/jsp/images/10x10_spacer.gi=
f"=20
                        width=3D10></TD>
                      <TD noWrap width=3D16 bgColor=3D#ffffff=20
                    height=3D16><BR></TD></TR></TBODY></TABLE>
                  <TABLE class=3Dreferences border=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-1>1&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">DeAngelis</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        LM. Brain tumors. <I>N. Eng. J. =
Med.</I>344,<SPAN=20
                        class=3DNLM_fpage>114</SPAN>=E2=80=93123 (<SPAN=20
                        class=3DNLM_year>2001</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-1', '10.1056%2FNEJM200101113440207');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-1', '11150363');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-1', =
'%26stitle%3DN.%2BEng.%2BJ.%2BMed.%26volume%3D344%26spage%3D114%26date%3D=
2001%26id%3Ddoi%3A10.1056%252FNEJM200101113440207');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-2>2&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Ohgaki</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        H, Kleihues P. Population-based studies on =
incidence,=20
                        survival rates, and genetic alterations in =
astrocytic=20
                        and oligodendroglial gliomas. <I>J. Neuropathol. =
Exp.=20
                        Neurol.</I>64,<SPAN =
class=3DNLM_fpage>479</SPAN>=E2=80=93489=20
                        (<SPAN class=3DNLM_year>2005</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-2', '15977639');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-2', =
'%26stitle%3DJ.%2BNeuropathol.%2BExp.%2BNeurol.%26volume%3D64%26spage%3D4=
79%26date%3D2005');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-3>3&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Stupp</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        R, Mason WP, van den Bent MJ <I>et al.</I> =
Radiotherapy=20
                        plus concomitant and adjuvant temozolomide for=20
                        glioblastoma. <I>N. Eng. J. Med.</I>352,<SPAN=20
                        class=3DNLM_fpage>987</SPAN>=E2=80=93996 (<SPAN=20
                        class=3DNLM_year>2005</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-3', '10.1056%2FNEJMoa043330');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-3', '15758009');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-3', =
'%26stitle%3DN.%2BEng.%2BJ.%2BMed.%26volume%3D352%26spage%3D987%26date%3D=
2005%26id%3Ddoi%3A10.1056%252FNEJMoa043330');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-4>4&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Stupp</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        R, Hegi ME, Mason WP <I>et al.</I> Effects of=20
                        radiotherapy with concomitant and adjuvant =
temozolomide=20
                        versus radiotherapy alone on survival in =
glioblastoma in=20
                        a randomised Phase III study: 5-year analysis of =
the=20
                        EORTC-NCIC trial. <I>Lancet Oncol.</I>10,<SPAN=20
                        class=3DNLM_fpage>459</SPAN>=E2=80=93466 (<SPAN=20
                        class=3DNLM_year>2009</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-4', '10.1016%2FS1470-2045%2809%2970025-7');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-4', '19269895');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-4', =
'%26stitle%3DLancet%2BOncol.%26volume%3D10%26spage%3D459%26date%3D2009%26=
id%3Ddoi%3A10.1016%252FS1470-2045%252809%252970025-7');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-5>5&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Curran</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        WJ Jr, Scott CB, Horton J <I>et al.</I> =
Recursive=20
                        partitioning analysis of prognostic factors in =
three=20
                        Radiation Therapy Oncology Group malignant =
glioma=20
                        trials. <I>J. Natl Cancer Inst.</I>85,<SPAN=20
                        class=3DNLM_fpage>704</SPAN>=E2=80=93710 (<SPAN=20
                        class=3DNLM_year>1993</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-5', '10.1093%2Fjnci%2F85.9.704');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-5', '8478956');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-5', =
'%26stitle%3DJ.%2BNatl%2BCancer%2BInst.%26volume%3D85%26spage%3D704%26dat=
e%3D1993%26id%3Ddoi%3A10.1093%252Fjnci%252F85.9.704');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-6>6&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Krex</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        D, Klink B, Hartmann C <I>et al.</I> Long-term =
survival=20
                        with glioblastoma multiforme. =
<I>Brain</I>130,<SPAN=20
                        class=3DNLM_fpage>2596</SPAN>=E2=80=932606 =
(<SPAN=20
                        class=3DNLM_year>2007</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-6', '10.1093%2Fbrain%2Fawm204');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-6', '17785346');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-6', =
'%26stitle%3DBrain%26volume%3D130%26spage%3D2596%26date%3D2007%26id%3Ddoi=
%3A10.1093%252Fbrain%252Fawm204');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-7>7&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Weller</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        M, Felsberg J, Hartmann C <I>et al.</I> =
Molecular=20
                        predictors of progression-free and overall =
survival in=20
                        patients with newly diagnosed glioblastoma: a=20
                        prospective translational study of the German =
Glioma=20
                        Network. <I>J. Clin.Oncol.</I>27,<SPAN=20
                        class=3DNLM_fpage>5743</SPAN>=E2=80=935750 =
(<SPAN=20
                        class=3DNLM_year>2009</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-7', '10.1200%2FJCO.2009.23.0805');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-7', '19805672');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-7', =
'%26stitle%3DJ.%2BClin.Oncol.%26volume%3D27%26spage%3D5743%26date%3D2009%=
26id%3Ddoi%3A10.1200%252FJCO.2009.23.0805');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-8>8&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN class=3D"name =
noWrap">Liu</SPAN><SPAN=20
                        class=3Dwbr><IMG class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        Y, Shete S, Etzel CJ <I>et al.</I> Polymorphisms =
of=20
                        <I>LIG4</I>, <I>BTBD2</I>, <I>HMGA2</I>, and=20
                        <I>RTEL1</I> genes involved in the double-strand =
break=20
                        repair pathway predict glioblastoma survival. =
<I>J.=20
                        Clin. Oncol.</I>28,<SPAN=20
                        class=3DNLM_fpage>2467</SPAN>=E2=80=932474 =
(<SPAN=20
                        class=3DNLM_year>2010</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-8', '10.1200%2FJCO.2009.26.6213');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-8', '20368557');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-8', =
'%26stitle%3DJ.%2BClin.%2BOncol.%26volume%3D28%26spage%3D2467%26date%3D20=
10%26id%3Ddoi%3A10.1200%252FJCO.2009.26.6213');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-9>9&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Felsberg</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        J, Rapp M, Loeser S <I>et al.</I> Prognostic=20
                        significance of molecular markers and extent of=20
                        resection in primary glioblastoma patients. =
<I>Clin.=20
                        Cancer Res.</I>15,<SPAN =
class=3DNLM_fpage>6683</SPAN>=E2=80=936693=20
                        (<SPAN class=3DNLM_year>2009</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-9', '10.1158%2F1078-0432.CCR-08-2801');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-9', '19861461');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-9', =
'%26stitle%3DClin.%2BCancer%2BRes.%26volume%3D15%26spage%3D6683%26date%3D=
2009%26id%3Ddoi%3A10.1158%252F1078-0432.CCR-08-2801');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-10>10&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Grossman</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        SA, Ye X, Piantadosi S <I>et al.</I> Survival of =

                        patients with newly diagnosed glioblastoma =
treated with=20
                        radiation and temozolomide in research studies =
in the=20
                        United States. <I>Clin. Cancer Res.</I>16,<SPAN=20
                        class=3DNLM_fpage>2443</SPAN>=E2=80=932449 =
(<SPAN=20
                        class=3DNLM_year>2010</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-10', '10.1158%2F1078-0432.CCR-09-3106');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-10', '20371685');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-10', =
'%26stitle%3DClin.%2BCancer%2BRes.%26volume%3D16%26spage%3D2443%26date%3D=
2010%26id%3Ddoi%3A10.1158%252F1078-0432.CCR-09-3106');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-11>11&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">al-Mefty</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        O, Kersh JE, Routh A, Smith RR. The long-term =
side=20
                        effects of radiation therapy for benign brain =
tumors in=20
                        adults. <I>J. Neurosurg.</I>73,<SPAN=20
                        class=3DNLM_fpage>502</SPAN>=E2=80=93512 (<SPAN=20
                        class=3DNLM_year>1990</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-11', '10.3171%2Fjns.1990.73.4.0502');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-11', '2204689');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-11', =
'%26stitle%3DJ.%2BNeurosurg.%26volume%3D73%26spage%3D502%26date%3D1990%26=
id%3Ddoi%3A10.3171%252Fjns.1990.73.4.0502');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-12>12&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Armstrong</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        CL, Gyato K, Awadalla AW, Lustig R, Tochner ZA. =
A=20
                        critical review of the clinical effects of =
therapeutic=20
                        irradiation damage to the brain: the roots of=20
                        controversy. <I>Neuropsychol. Rev.</I>14,<SPAN=20
                        class=3DNLM_fpage>65</SPAN>=E2=80=9386 (<SPAN=20
                        class=3DNLM_year>2004</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-12', '10.1023%2FB%3ANERV.0000026649.68781.8e');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-12', '15260139');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-12', =
'%26stitle%3DNeuropsychol.%2BRev.%26volume%3D14%26spage%3D65%26date%3D200=
4%26id%3Ddoi%3A10.1023%252FB%253ANERV.0000026649.68781.8e');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-13>13&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Balducci</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        M, Mattiucci GC, Dinapoli N <I>et al.</I> Impact =
of dose=20
                        and volume on the tolerance of central nervous =
system.=20
                        <I>Rays</I>30,<SPAN =
class=3DNLM_fpage>189</SPAN>=E2=80=93195=20
                        (<SPAN class=3DNLM_year>2005</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-13', '16294913');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-13', =
'%26stitle%3DRays%26volume%3D30%26spage%3D189%26date%3D2005');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-14>14&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Chong</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        VF, Khoo JB, Chan LL, Rumpel H. Neurological =
changes=20
                        following radiation therapy for head and neck =
tumours.=20
                        <I>Eur. J. Radiol.</I>44,<SPAN=20
                        class=3DNLM_fpage>120</SPAN>=E2=80=93129 (<SPAN=20
                        class=3DNLM_year>2002</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-14', '10.1016%2FS0720-048X%2802%2900066-9');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-14', '12413680');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-14', =
'%26stitle%3DEur.%2BJ.%2BRadiol.%26volume%3D44%26spage%3D120%26date%3D200=
2%26id%3Ddoi%3A10.1016%252FS0720-048X%252802%252900066-9');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-15>15&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Lawrence</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        YR, Li XA, el Naqa I <I>et al.</I> Radiation =
dose-volume=20
                        effects in the brain. <I>Int. J. Radiat. Oncol. =
Biol.=20
                        Phys.</I>76,<SPAN =
class=3DNLM_fpage>S20</SPAN>=E2=80=93S27 (<SPAN=20
                        class=3DNLM_year>2010</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-15', '20171513');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-15', =
'%26stitle%3DInt.%2BJ.%2BRadiat.%2BOncol.%2BBiol.%2BPhys.%26volume%3D76%2=
6spage%3DS20%26date%3D2010');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-16>16&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Armstrong</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        C, Ruffer J, Corn B, DeVries K, Mollman J. =
Biphasic=20
                        patterns of memory deficits following =
moderate-dose=20
                        partial-brain irradiation: neuropsychologic =
outcome and=20
                        proposed mechanisms. <I>J. Clin. =
Oncol.</I>13,<SPAN=20
                        class=3DNLM_fpage>2263</SPAN>=E2=80=932271 =
(<SPAN=20
                        class=3DNLM_year>2995</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-16', =
'%26stitle%3DJ.%2BClin.%2BOncol.%26volume%3D13%26spage%3D2263%26date%3D29=
95');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-17>17&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Movsas</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        B. Phase III study of prophylactic cranial =
irradiation=20
                        (PCI) versus observation in patients with stage =
III=20
                        non-small cell lung cancer (NSCLC): =
neurocognitive and=20
                        quality of life (QOL) analysis of RTOG 0214. In: =

                        <I>Annual Meeting of American Society for =
Radiation=20
                        Oncology</I>, Chicago, IL, USA, <SPAN=20
                        class=3DNLM_fpage>1</SPAN>=E2=80=935 November =
2009.
                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-17', '%26spage%3D1');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-18>18&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Douw</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        L, Klein M, Fagel SS <I>et al.</I> Cognitive and =

                        radiological effects of radiotherapy in patients =
with=20
                        low-grade glioma: long-term follow-up. <I>Lancet =

                        Neurol.</I>8,<SPAN =
class=3DNLM_fpage>810</SPAN>=E2=80=93818 (<SPAN=20
                        class=3DNLM_year>2009</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-18', '10.1016%2FS1474-4422%2809%2970204-2');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-18', '19665931');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-18', =
'%26stitle%3DLancet%2BNeurol.%26volume%3D8%26spage%3D810%26date%3D2009%26=
id%3Ddoi%3A10.1016%252FS1474-4422%252809%252970204-2');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-19>19&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Brown</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        RT, Madan-Swain A, Walco GA <I>et al.</I> =
Cognitive and=20
                        academic late effects among children previously =
treated=20
                        for acute lymphocytic leukemia receiving =
chemotherapy as=20
                        CNS prophylaxis. <I>J. Pediatr. =
Psychol.</I>23,<SPAN=20
                        class=3DNLM_fpage>333</SPAN>=E2=80=93340 (<SPAN=20
                        class=3DNLM_year>1998</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-19', '10.1093%2Fjpepsy%2F23.5.333');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-19', '9782681');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-19', =
'%26stitle%3DJ.%2BPediatr.%2BPsychol.%26volume%3D23%26spage%3D333%26date%=
3D1998%26id%3Ddoi%3A10.1093%252Fjpepsy%252F23.5.333');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-20>20&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Duffner</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        PK. Long-term effects of radiation therapy on =
cognitive=20
                        and endocrine function in children with leukemia =
and=20
                        brain tumors. <I>Neurologist</I>10,<SPAN=20
                        class=3DNLM_fpage>293</SPAN>=E2=80=93310 (<SPAN=20
                        class=3DNLM_year>2004</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-20', '10.1097%2F01.nrl.0000144287.35993.96');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-20', '15518596');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-20', =
'%26stitle%3DNeurologist%26volume%3D10%26spage%3D293%26date%3D2004%26id%3=
Ddoi%3A10.1097%252F01.nrl.0000144287.35993.96');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-21>21&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Ellenberg</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        L, McComb JG, Siegel SE, Stowe S. Factors =
affecting=20
                        intellectual outcome in pediatric brain tumor =
patients.=20
                        <I>Neurosurgery</I>21,<SPAN=20
                        class=3DNLM_fpage>638</SPAN>=E2=80=93644 (<SPAN=20
                        class=3DNLM_year>1987</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-21', '10.1097%2F00006123-198711000-00006');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-21', '3696394');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-21', =
'%26stitle%3DNeurosurgery%26volume%3D21%26spage%3D638%26date%3D1987%26id%=
3Ddoi%3A10.1097%252F00006123-198711000-00006');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-22>22&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Correa</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        DD, DeAngelis LM, Shi W, Thaler H, Glass A, =
Abrey LE.=20
                        Cognitive functions in survivors of primary =
central=20
                        nervous system lymphoma. =
<I>Neurology</I>62,<SPAN=20
                        class=3DNLM_fpage>548</SPAN>=E2=80=93555 (<SPAN=20
                        class=3DNLM_year>2004</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-22', '14981169');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-22', =
'%26stitle%3DNeurology%26volume%3D62%26spage%3D548%26date%3D2004');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-23>23&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Harder</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        H, Holtel H, Bromberg JE <I>et al.</I> Cognitive =
status=20
                        and quality of life after treatment for primary =
CNS=20
                        lymphoma. <I>Neurology</I>62,<SPAN=20
                        class=3DNLM_fpage>544</SPAN>=E2=80=93547 (<SPAN=20
                        class=3DNLM_year>2004</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-23', '14981168');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-23', =
'%26stitle%3DNeurology%26volume%3D62%26spage%3D544%26date%3D2004');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-24>24&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Schlegel</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        U, Pels H, Oehring R, Blumcke I. Neurologic =
sequelae of=20
                        treatment of primary CNS lymphomas. <I>J.=20
                        Neurooncol.</I>43,<SPAN =
class=3DNLM_fpage>277</SPAN>=E2=80=93286=20
                        (<SPAN class=3DNLM_year>1999</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-24', '10.1023%2FA%3A1006214804736');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-24', '10563434');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-24', =
'%26stitle%3DJ.%2BNeurooncol.%26volume%3D43%26spage%3D277%26date%3D1999%2=
6id%3Ddoi%3A10.1023%252FA%253A1006214804736');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-25>25&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Vardy</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        J, Rourke S, Tannock IF. Evaluation of cognitive =

                        function associated with chemotherapy: a review =
of=20
                        published studies and recommendations for future =

                        research. <I>J. Clin. Oncol.</I>25,<SPAN=20
                        class=3DNLM_fpage>2455</SPAN>=E2=80=932463 =
(<SPAN=20
                        class=3DNLM_year>2007</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-25', '10.1200%2FJCO.2006.08.1604');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-25', '17485710');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-25', =
'%26stitle%3DJ.%2BClin.%2BOncol.%26volume%3D25%26spage%3D2455%26date%3D20=
07%26id%3Ddoi%3A10.1200%252FJCO.2006.08.1604');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-26>26&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Stewart</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        A, Bielajew C, Collins B, Parkinson M, Tomiak E. =
A=20
                        meta-analysis of the neuropsychological effects =
of=20
                        adjuvant chemotherapy treatment in women treated =
for=20
                        breast cancer. <I>Clin. =
Neuropsychol.</I>20,<SPAN=20
                        class=3DNLM_fpage>76</SPAN>=E2=80=9389 (<SPAN=20
                        class=3DNLM_year>2006</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-26', '10.1080%2F138540491005875');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-26', '16410227');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-26', =
'%26stitle%3DClin.%2BNeuropsychol.%26volume%3D20%26spage%3D76%26date%3D20=
06%26id%3Ddoi%3A10.1080%252F138540491005875');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-27>27&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Vardy</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        J, Wefel JS, Ahles T, Tannock IF, Schagen SB. =
Cancer and=20
                        cancer-therapy related cognitive dysfunction: an =

                        international perspective from the Venice =
cognitive=20
                        workshop. <I>Ann. Oncol.</I>19,<SPAN=20
                        class=3DNLM_fpage>623</SPAN>=E2=80=93629 (<SPAN=20
                        class=3DNLM_year>2008</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-27', '10.1093%2Fannonc%2Fmdm500');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-27', '17974553');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-27', =
'%26stitle%3DAnn.%2BOncol.%26volume%3D19%26spage%3D623%26date%3D2008%26id=
%3Ddoi%3A10.1093%252Fannonc%252Fmdm500');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-28>28&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Osoba</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        D, Brada M, Yung WK, Prados M. Health-related =
quality of=20
                        life in patients treated with temozolomide =
versus=20
                        procarbazine for recurrent glioblastoma =
multiforme.=20
                        <I>J. Clin. Oncol.</I>18,<SPAN=20
                        class=3DNLM_fpage>1481</SPAN>=E2=80=931491 =
(<SPAN=20
                        class=3DNLM_year>2000</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-28', '10735896');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-28', =
'%26stitle%3DJ.%2BClin.%2BOncol.%26volume%3D18%26spage%3D1481%26date%3D20=
00');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-29>29&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Chaichana</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        KL, Halthore AN, Parker SL <I>et al.</I> Factors =

                        involved in maintaining prolonged functional=20
                        independence following supratentorial =
glioblastoma=20
                        resection. <I>J. Neurosurg.</I>=20
                        DOI:10.3171/2010.4.JNS091340 (<SPAN=20
                        class=3DNLM_year>2010</SPAN>) (Epub ahead of =
print).
                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-29', =
'%26stitle%3DJ.%2BNeurosurg.%26date%3D2010');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-30>30&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Taphoorn</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        MJ, Stupp R, Coens C <I>et al.</I> =
Health-related=20
                        quality of life in patients with glioblastoma: a =

                        randomised controlled trial. <I>Lancet =
Oncol.</I>6,<SPAN=20
                        class=3DNLM_fpage>937</SPAN>=E2=80=93944 (<SPAN=20
                        class=3DNLM_year>2005</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-30', '10.1016%2FS1470-2045%2805%2970432-0');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-30', '16321761');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-30', =
'%26stitle%3DLancet%2BOncol.%26volume%3D6%26spage%3D937%26date%3D2005%26i=
d%3Ddoi%3A10.1016%252FS1470-2045%252805%252970432-0');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-31>31&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Hottinger</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        AF, Yoon H, DeAngelis LM, Abrey LE. Neurological =
outcome=20
                        of long-term glioblastoma survivors. <I>J.=20
                        Neurooncol.</I>95,<SPAN =
class=3DNLM_fpage>301</SPAN>=E2=80=93305=20
                        (<SPAN class=3DNLM_year>2009</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-31', '10.1007%2Fs11060-009-9946-9');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-31', '19557499');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-31', =
'%26stitle%3DJ.%2BNeurooncol.%26volume%3D95%26spage%3D301%26date%3D2009%2=
6id%3Ddoi%3A10.1007%252Fs11060-009-9946-9');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-32>32&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Chamberlain</SPAN><SPAN=20
                        class=3Dwbr><IMG class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        MC. Emerging clinical principles on the use of=20
                        bevacizumab for the treatment of malignant =
gliomas.=20
                        <I>Cancer</I>116(17),<SPAN=20
                        class=3DNLM_fpage>3988</SPAN>=E2=80=933999 =
(<SPAN=20
                        class=3DNLM_year>2010</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-32', '10.1002%2Fcncr.25256');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-32', '20564141');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-32', =
'%26stitle%3DCancer%26volume%3D116%26spage%3D3988%26date%3D2010%26id%3Ddo=
i%3A10.1002%252Fcncr.25256');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-33>33&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Lawrence</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        YR, Wang M, Dicker A <I>et al.</I> Acute =
neurological=20
                        toxicity (NT) and long-term outcomes in =
high-grade=20
                        glioma RTOG trials. <I>J. Clin. =
Oncol.</I>28(Suppl. 1),=20
                        abstract <SPAN class=3DNLM_fpage>2037</SPAN> =
(<SPAN=20
                        class=3DNLM_year>2010</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-33', =
'%26stitle%3DJ.%2BClin.%2BOncol.%26volume%3D28%26spage%3D2037%26date%3D20=
10');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-34>34&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Baschnagel</SPAN><SPAN=20
                        class=3Dwbr><IMG class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        A, Wolters P, Camphausen K. Neuropsychological =
testing=20
                        and biomarkers in the management of brain =
metastases.=20
                        <I>Radiat. Oncol.</I>3,<SPAN =
class=3DNLM_fpage>26</SPAN>=20
                        (<SPAN class=3DNLM_year>2008</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-34', =
'%26stitle%3DRadiat.%2BOncol.%26volume%3D3%26spage%3D26%26date%3D2008');
        </SCRIPT>
                         </TD></TR>
                    <TR>
                      <TD class=3Drefnumber><A =
name=3Dref-35>35&nbsp;</A></TD>
                      <TD vAlign=3Dtop><SPAN=20
                        class=3D"name noWrap">Falleti</SPAN><SPAN =
class=3Dwbr><IMG=20
                        class=3DentityD alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/entityImage/?code=3D200B">=E2=80=8C<=
/SPAN>=20
                        MG, Maruff P, Collie A, Darby DG. Practice =
effects=20
                        associated with the repeated assessment of =
cognitive=20
                        function using the CogState battery at =
10-minute, one=20
                        week and one month test=E2=80=93retest =
intervals. <I>J. Clin.=20
                        Exp. Neuropsychol.</I>28,<SPAN=20
                        class=3DNLM_fpage>1095</SPAN>=E2=80=931112 =
(<SPAN=20
                        class=3DNLM_year>2006</SPAN>).
                        <SCRIPT type=3Dtext/javascript>
				genRefLink(16, 'ref-35', '10.1080%2F13803390500205718');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
				genRefLink(8, 'ref-35', '16840238');
			</SCRIPT>

                        <SCRIPT type=3Dtext/javascript>
            genSfxLinks('ref-35', =
'%26stitle%3DJ.%2BClin.%2BExp.%2BNeuropsychol.%26volume%3D28%26spage%3D10=
95%26date%3D2006%26id%3Ddoi%3A10.1080%252F13803390500205718');
        </SCRIPT>
                         </TD></TR></TBODY></TABLE>
                  <H2 style=3D"MARGIN-TOP: 1em">Affiliations</H2>
                  <DIV class=3Daffiliations>
                  <DIV class=3Dart_authors>Yaacov R =
Lawrence</DIV>Department of=20
                  Radiation Oncology, Jefferson Medical College of =
Thomas=20
                  Jefferson University, 111 South 11th Street, =
Philadelphia, PA=20
                  19107=E2=80=935097, USA. <A class=3D"ref email"=20
                  =
href=3D"mailto:richard.lawrence@jefferson.edu">richard.lawrence@jefferson=
.edu</A>=20
                  </DIV>
                  <DIV class=3Daffiliations>
                  <DIV class=3Dart_authors>Wenyin Shi</DIV>Jefferson =
Medical=20
                  College of Thomas Jefferson University, PA, USA</DIV>
                  <DIV class=3Daffiliations>
                  <DIV class=3Dart_authors>Adam P Dicker</DIV>Jefferson =
Medical=20
                  College of Thomas Jefferson University, PA, USA</DIV>
                  <DIV class=3Darticle_link>
                  <TABLE cellSpacing=3D10 align=3Dcenter>
                    <TBODY>
                    <TR></TR></TBODY></TABLE></DIV><!-- pdfLink =
placeholder --><!-- /fulltext content --></DIV>
                  <DIV class=3Dfull_text>
                  <DIV class=3Dheader_divide>
                  <H3>Users who read this article also read:</H3></DIV>
                  <TABLE class=3DarticleEntry width=3D"100%" border=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DfirstCell></TD>
                      <TD vAlign=3Dtop>
                        <DIV class=3D"art_title =
listTableCell">Multimodality=20
                        intraoperative MRI for brain tumor =
surgery</DIV><A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Colen, Rivka R)">Rivka=20
                        R Colen</A>, <A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Kekhia, Hussein)">Hussein=20
                        Kekhia</A>, <A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Jolesz, Ferenc A)">Ferenc=20
                        A Jolesz</A>
                        <DIV class=3Dart_meta><SPAN =
class=3DsearchResultJournal><A=20
                        class=3DsearchResultJournal=20
                        =
href=3D"http://www.expert-reviews.com/loi/ern">Expert=20
                        Review of Neurotherapeutics</A></SPAN>, Oct =
2010, Vol.=20
                        10, No. 10, Pages 1545-1558.</DIV><A =
class=3D"ref nowrap"=20
                        =
href=3D"http://www.expert-reviews.com/doi/abs/10.1586/ern.10.145">Summary=
</A>=20
                        | <A class=3D"ref nowrap"=20
                        =
href=3D"http://www.expert-reviews.com/doi/full/10.1586/ern.10.145">Full=20
                        Text</A> | <A class=3D"ref nowrap"=20
                        title=3D"Opens new window"=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdf/10.1586/ern.10.145"=20
                        target=3D_blank>PDF (417 KB)</A> | <A =
class=3D"ref nowrap"=20
                        title=3D"Opens new window"=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdfplus/10.1586/ern.10.145"=20
                        target=3D_blank>PDF Plus (471 KB)</A> | <A =
class=3Dref=20
                        =
href=3D"http://www.expert-reviews.com/personalize/addFavoriteArticle?doi=3D=
10.1586%2Fern.10.145">Add=20
                        to Favorites</A> | <A class=3Dref=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?doi=3D10.1586%2Fern=
.10.145&amp;target=3Drelated">Related</A>&nbsp;=20
                        | <A class=3D"ref nowrap" title=3D"Opens new =
window"=20
                        =
onclick=3D"window.open('/action/showReprintsAndPermissions?doi=3D10.1586%=
2Fern.10.145', '_blank', 'width=3D950,height=3D800')"=20
                        href=3D"javascript:void(0)">Reprints &amp; =
Permissions=20
</A>
                        <SCRIPT type=3Dtext/javascript>
			genSfxLinks('s0', '', '10.1586/ern.10.145');
		</SCRIPT>
                      </TD>
                      <TD vAlign=3Dtop></TD></TR></TBODY></TABLE>
                  <TABLE class=3DarticleEntry width=3D"100%" border=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DfirstCell></TD>
                      <TD vAlign=3Dtop>
                        <DIV class=3D"art_title =
listTableCell">Temozolomide:=20
                        therapeutic limitations in the treatment of =
adult=20
                        high-grade gliomas</DIV><A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Chamberlain, Marc C)">Marc=20
                        C Chamberlain</A>
                        <DIV class=3Dart_meta><SPAN =
class=3DsearchResultJournal><A=20
                        class=3DsearchResultJournal=20
                        =
href=3D"http://www.expert-reviews.com/loi/ern">Expert=20
                        Review of Neurotherapeutics</A></SPAN>, Oct =
2010, Vol.=20
                        10, No. 10, Pages 1537-1544.</DIV><A =
class=3D"ref nowrap"=20
                        =
href=3D"http://www.expert-reviews.com/doi/abs/10.1586/ern.10.32">Summary<=
/A>=20
                        | <A class=3D"ref nowrap"=20
                        =
href=3D"http://www.expert-reviews.com/doi/full/10.1586/ern.10.32">Full=20
                        Text</A> | <A class=3D"ref nowrap"=20
                        title=3D"Opens new window"=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdf/10.1586/ern.10.32"=20
                        target=3D_blank>PDF (322 KB)</A> | <A =
class=3D"ref nowrap"=20
                        title=3D"Opens new window"=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdfplus/10.1586/ern.10.32"=20
                        target=3D_blank>PDF Plus (323 KB)</A> | <A =
class=3Dref=20
                        =
href=3D"http://www.expert-reviews.com/personalize/addFavoriteArticle?doi=3D=
10.1586%2Fern.10.32">Add=20
                        to Favorites</A> | <A class=3Dref=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?doi=3D10.1586%2Fern=
.10.32&amp;target=3Drelated">Related</A>&nbsp;=20
                        | <A class=3D"ref nowrap" title=3D"Opens new =
window"=20
                        =
onclick=3D"window.open('/action/showReprintsAndPermissions?doi=3D10.1586%=
2Fern.10.32', '_blank', 'width=3D950,height=3D800')"=20
                        href=3D"javascript:void(0)">Reprints &amp; =
Permissions=20
</A>
                        <SCRIPT type=3Dtext/javascript>
			genSfxLinks('s0', '', '10.1586/ern.10.32');
		</SCRIPT>
                      </TD>
                      <TD vAlign=3Dtop></TD></TR></TBODY></TABLE>
                  <TABLE class=3DarticleEntry width=3D"100%" border=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DfirstCell></TD>
                      <TD vAlign=3Dtop>
                        <DIV class=3D"art_title =
listTableCell">Paraneoplastic=20
                        neurological disorders</DIV><A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Blaes, Franz)">Franz=20
                        Blaes</A>, <A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Tschernatsch, Marlene)">Marlene=20
                        Tschernatsch</A>
                        <DIV class=3Dart_meta><SPAN =
class=3DsearchResultJournal><A=20
                        class=3DsearchResultJournal=20
                        =
href=3D"http://www.expert-reviews.com/loi/ern">Expert=20
                        Review of Neurotherapeutics</A></SPAN>, Oct =
2010, Vol.=20
                        10, No. 10, Pages 1559-1568.</DIV><A =
class=3D"ref nowrap"=20
                        =
href=3D"http://www.expert-reviews.com/doi/abs/10.1586/ern.10.134">Summary=
</A>=20
                        | <A class=3D"ref nowrap"=20
                        =
href=3D"http://www.expert-reviews.com/doi/full/10.1586/ern.10.134">Full=20
                        Text</A> | <A class=3D"ref nowrap"=20
                        title=3D"Opens new window"=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdf/10.1586/ern.10.134"=20
                        target=3D_blank>PDF (371 KB)</A> | <A =
class=3D"ref nowrap"=20
                        title=3D"Opens new window"=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdfplus/10.1586/ern.10.134"=20
                        target=3D_blank>PDF Plus (430 KB)</A> | <A =
class=3Dref=20
                        =
href=3D"http://www.expert-reviews.com/personalize/addFavoriteArticle?doi=3D=
10.1586%2Fern.10.134">Add=20
                        to Favorites</A> | <A class=3Dref=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?doi=3D10.1586%2Fern=
.10.134&amp;target=3Drelated">Related</A>&nbsp;=20
                        | <A class=3D"ref nowrap" title=3D"Opens new =
window"=20
                        =
onclick=3D"window.open('/action/showReprintsAndPermissions?doi=3D10.1586%=
2Fern.10.134', '_blank', 'width=3D950,height=3D800')"=20
                        href=3D"javascript:void(0)">Reprints &amp; =
Permissions=20
</A>
                        <SCRIPT type=3Dtext/javascript>
			genSfxLinks('s0', '', '10.1586/ern.10.134');
		</SCRIPT>
                      </TD>
                      <TD vAlign=3Dtop></TD></TR></TBODY></TABLE>
                  <TABLE class=3DarticleEntry width=3D"100%" border=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DfirstCell></TD>
                      <TD vAlign=3Dtop>
                        <DIV class=3D"art_title listTableCell"><IMG =
alt=3D""=20
                        =
src=3D"http://www.expert-reviews.com/templates/jsp/_midtier/_fud/images/f=
ree.gif"=20
                        border=3D0> &nbsp;Calculating a cure for cancer: =
managing=20
                        medulloblastoma MATH1-ematically</DIV><A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Dubuc, Adrian M)">Adrian=20
                        M Dubuc</A>, <A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Northcott, Paul A)">Paul=20
                        A Northcott</A>, <A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Kenney, Anna M)">Anna=20
                        M Kenney</A>, <A=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?action=3DrunSearch&=
amp;type=3Dadvanced&amp;result=3Dtrue&amp;prevSearch=3D%2Bauthorsfield%3A=
(Taylor, Michael D)">Michael=20
                        D Taylor</A>
                        <DIV class=3Dart_meta><SPAN =
class=3DsearchResultJournal><A=20
                        class=3DsearchResultJournal=20
                        =
href=3D"http://www.expert-reviews.com/loi/ern">Expert=20
                        Review of Neurotherapeutics</A></SPAN>, Oct =
2010, Vol.=20
                        10, No. 10, Pages 1489-1492.</DIV><A =
class=3D"ref nowrap"=20
                        =
href=3D"http://www.expert-reviews.com/doi/abs/10.1586/ern.10.126">Citatio=
n</A>=20
                        | <A class=3D"ref nowrap"=20
                        =
href=3D"http://www.expert-reviews.com/doi/full/10.1586/ern.10.126">Full=20
                        Text</A> | <A class=3D"ref nowrap"=20
                        title=3D"Opens new window"=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdf/10.1586/ern.10.126"=20
                        target=3D_blank>PDF (557 KB)</A> | <A =
class=3D"ref nowrap"=20
                        title=3D"Opens new window"=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdfplus/10.1586/ern.10.126"=20
                        target=3D_blank>PDF Plus (558 KB)</A> | <A =
class=3Dref=20
                        =
href=3D"http://www.expert-reviews.com/personalize/addFavoriteArticle?doi=3D=
10.1586%2Fern.10.126">Add=20
                        to Favorites</A> | <A class=3Dref=20
                        =
href=3D"http://www.expert-reviews.com/action/doSearch?doi=3D10.1586%2Fern=
.10.126&amp;target=3Drelated">Related</A>&nbsp;=20
                        | <A class=3D"ref nowrap" title=3D"Opens new =
window"=20
                        =
onclick=3D"window.open('/action/showReprintsAndPermissions?doi=3D10.1586%=
2Fern.10.126', '_blank', 'width=3D950,height=3D800')"=20
                        href=3D"javascript:void(0)">Reprints &amp; =
Permissions=20
</A>
                        <SCRIPT type=3Dtext/javascript>
			genSfxLinks('s0', '', '10.1586/ern.10.126');
		</SCRIPT>
                      </TD>
                      <TD =
vAlign=3Dtop></TD></TR></TBODY></TABLE></DIV></TD>
                <TD width=3D10>&nbsp;</TD><!-- side region -->
                <TD vAlign=3Dtop width=3D170><!-- Start top Links -->
                  <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD class=3Dgray9pt>
                        <TABLE class=3Dbreadcrumbs cellSpacing=3D0 =
cellPadding=3D0=20
                        border=3D0>
                          <TBODY>
                          <TR>
                            <TD><A=20
                              =
href=3D"http://www.expert-reviews.com/">Home</A></TD>
                            <TD>&nbsp;&gt;
                            <TD>
                            <TD noWrap><A=20
                              =
href=3D"http://www.expert-reviews.com/loi/ern">Journal=20
                              home</A></TD>
                            <TD>&nbsp;&gt;
                            <TD>
                            <TD noWrap><A=20
                              =
href=3D"http://www.expert-reviews.com/toc/ern/10/10">TOC</A></TD>
                            <TD>&nbsp;&gt;
                            <TD>
                            <TD noWrap>Full =
Text</TD></TR></TBODY></TABLE><BR><!-- Previous and Next Articles --><A=20
                        =
href=3D"http://www.expert-reviews.com/doi/full/10.1586/ern.10.126">Prev. =

                        Article</A> | <A=20
                        =
href=3D"http://www.expert-reviews.com/doi/full/10.1586/ern.10.142">Next=20
                        Article</A> <BR><A=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdf/10.1586/ern.10.123"=20
                        target=3D_blank>View/Print PDF <SPAN =
class=3DfileSize>(449=20
                        KB)</SPAN></A><BR><A=20
                        =
href=3D"http://www.expert-reviews.com/doi/pdfplus/10.1586/ern.10.123"=20
                        target=3D_blank>View PDF Plus <SPAN =
class=3DfileSize>(449=20
                        KB)</SPAN></A><BR><A=20
                        =
href=3D"http://www.expert-reviews.com/personalize/addFavoriteArticle?doi=3D=
10.1586%2Fern.10.123">Add=20
                        to favorites</A><BR><A=20
                        =
href=3D"http://www.expert-reviews.com/action/showMailPage?href=3D%2Fdoi%2=
Ffull%2F10.1586%2Fern.10.123&amp;title=3DFrom+survival+to+survivorship%3A=
+late+side+effects+become+an+issue+in+high-grade+glioma&amp;doi=3D10.1586=
%2Fern.10.123">Email=20
                        to a friend</A><BR><FONT color=3D#000000><A=20
                        =
href=3D"http://www.expert-reviews.com/action/showFeed?ui=3D0&amp;mi=3D3ba=
o1x&amp;ai=3Drw&amp;jc=3Dern&amp;type=3Detoc&amp;feed=3Drss"><IMG=20
                        =
src=3D"http://www.expert-reviews.com/templates/jsp/_midtier/_fud/images/x=
ml.gif"=20
                        align=3DabsBottom border=3D0> TOC =
Alert</A></FONT> | <FONT=20
                        color=3D#000000><A=20
                        =
href=3D"http://www.expert-reviews.com/action/showFeed?ui=3D0&amp;mi=3D3ba=
o1x&amp;ai=3Dgdq&amp;doi=3D10.1586%2Fern.10.123&amp;type=3Dcitrack&amp;fe=
ed=3Drss">Citation=20
                        Alert</A></FONT> <SMALL><A class=3Dview_link=20
                        onclick=3D"popupHelp(this.href); return false;"=20
                        =
href=3D"http://www.expert-reviews.com/help?context=3DRss">What=20
                        is RSS?</A></SMALL> <BR></TD></TR><!-- End Top =
Links -->
                    <TR>
                      <TD align=3Dright><BR>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D170>
                          <TBODY>
                          <TR>
                            <TD vAlign=3Dtop width=3D170>
                              <TABLE cellSpacing=3D0 cellPadding=3D2 =
width=3D"100%"=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3D"section_head =
quickLinks_head"=20
                                align=3Dmiddle>Quick Links</TD></TR>
                                <TR>
                                <TD class=3DquickLinks_content>
                                <TABLE cellSpacing=3D0 cellPadding=3D1 =
width=3D"100%"=20
                                border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3Dblack9pt>=E2=80=A2 </TD>
                                <TD><A class=3Dref title=3D"Opens new =
window"=20
                                =
onclick=3D"window.open('/action/showReprintsAndPermissions?doi=3D10.1586%=
2Fern.10.123', '_blank', 'width=3D950,height=3D800')"=20
                                href=3D"javascript:void(0);">Reprints =
&amp;=20
                                Permissions </A></TD></TR>
                                <SCRIPT=20
                                =
type=3Dtext/javascript>genCitingIsi()</SCRIPT>

                                <SCRIPT=20
                                =
type=3Dtext/javascript>genCitingCrossref()</SCRIPT>

                                <TR>
                                <TD class=3D"black9pt =
fullSideBullet">=E2=80=A2 </TD>
                                <TD class=3Dblack9pt =
vAlign=3Dcenter>Alert me=20
                                when:<BR><A=20
                                =
href=3D"http://www.expert-reviews.com/action/addCitationAlert?doi=3D10.15=
86%2Fern.10.123">New=20
                                articles cite this article</A></TD></TR>
                                <TR>
                                <TD class=3D"black9pt =
fullSideBullet">=E2=80=A2 </TD>
                                <TD class=3Dblack9pt vAlign=3Dtop><A=20
                                =
href=3D"http://www.expert-reviews.com/action/showCitFormats?doi=3D10.1586=
%2Fern.10.123">Download=20
                                to citation manager</A></TD></TR>
                                <TR>
                                <TD class=3D"black9pt =
fullSideBullet">=E2=80=A2 </TD>
                                <TD class=3Dblack9pt =
vAlign=3Dcenter>Related=20
                                articles found in:<BR><A=20
                                =
href=3D"http://www.expert-reviews.com/action/doSearch?target=3Drelated&am=
p;doi=3D10.1586%2Fern.10.123">Expert=20
                                Reviews</A></TD></TR>
                                <TR>
                                <TD class=3D"black9pt =
fullSideBullet">=E2=80=A2 </TD>
                                <TD class=3Dblack9pt vAlign=3Dcenter><A=20
                                =
href=3D"http://www.expert-reviews.com/action/showMostReadArticles?journal=
Code=3Dern">View=20
                                Most Downloaded=20
                                =
Articles</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR=
>
                          <TR>
                            <TD></TD></TR>
                          <TR>
                            <TD></TD></TR>
                          <TR>
                            <TD vAlign=3Dtop>
                              <TABLE cellSpacing=3D0 cellPadding=3D2 =
width=3D"100%"=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3D"section_head =
quickSearch_head"=20
                                align=3Dmiddle>Quick Search</TD></TR>
                                <TR>
                                <TD class=3DquickSearch_content>
                                <FORM name=3DfrmQuickSearch=20
                                onsubmit=3D"onAuthorSearchClick(this); =
return false;"=20
                                action=3D"" method=3Dpost><INPUT =
type=3Dhidden=20
                                value=3Dsimple name=3Dtype><INPUT =
type=3Dhidden=20
                                value=3Dsearch name=3Daction><INPUT =
type=3Dhidden=20
                                value=3D10 name=3Dnh><INPUT =
type=3Dhidden value=3Dfalse=20
                                name=3DdisplaySummary>
                                <TABLE cellSpacing=3D0 cellPadding=3D4 =
width=3D"100%"=20
                                bgColor=3D#ffffff border=3D0>
                                <TBODY>
                                <TR>
                                <TD vAlign=3Dtop width=3D"100%"><SPAN=20
                                class=3Dblack9pt><SELECT size=3D1=20
                                name=3Ddbname><OPTION value=3Dfud =
selected>Expert=20
                                Reviews</OPTION>
                                <SCRIPT type=3Dtext/javascript>
				genSideQuickSearch('8','medline','PubMed');
			</SCRIPT>
                                =20
                                <SCRIPT type=3Dtext/javascript>
				genSideQuickSearch('16','crossref','CrossRef');
			</SCRIPT>
                                </SELECT> for </SPAN></TD></TR><!-- =
quicksearch authors -->
                                <TR>
                                <TD class=3DpageTitle vAlign=3Dtop=20
                                width=3D"100%">Authors:</TD></TR>
                                <TR>
                                <TD class=3Dblack9pt vAlign=3Dtop =
width=3D"100%">
                                <TABLE cellSpacing=3D1 cellPadding=3D2 =
width=3D"100%"=20
                                border=3D0>
                                <TBODY>
                                <TR>
                                <TD vAlign=3Dtop><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox value=3D"Lawrence, =
Yaacov R"=20
                                name=3Dsauthcbx></TD>
                                <TD>Yaacov R Lawrence <BR></TD></TR>
                                <TR>
                                <TD vAlign=3Dtop><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox value=3D"Shi, Wenyin"=20
                                name=3Dsauthcbx></TD>
                                <TD>Wenyin Shi <BR></TD></TR>
                                <TR>
                                <TD vAlign=3Dtop><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox value=3D"Dicker, Adam P" =

                                name=3Dsauthcbx></TD>
                                <TD><INPUT type=3Dhidden value=3D3 =
name=3DcheckboxNum>=20
                                Adam P Dicker=20
                                </TD></TR></TBODY></TABLE></TD></TR><!-- =
/quicksearch authors --><!-- quicksearch keywords -->
                                <TR>
                                <TD class=3DpageTitle vAlign=3Dtop=20
                                width=3D"100%">Keywords:</TD></TR>
                                <TR>
                                <TD class=3Dblack9pt vAlign=3Dtop =
width=3D"100%">
                                <TABLE cellSpacing=3D1 cellPadding=3D2 =
width=3D"100%"=20
                                border=3D0>
                                <TBODY>
                                <TR>
                                <TD vAlign=3Dtop><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox value=3D"brain tumor"=20
                                name=3Dkeycbx></TD>
                                <TD>brain tumor<BR></TD></TR>
                                <TR>
                                <TD vAlign=3Dtop><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox value=3D"cognitive =
decline"=20
                                name=3Dkeycbx></TD>
                                <TD>cognitive decline<BR></TD></TR>
                                <TR>
                                <TD vAlign=3Dtop><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox value=3Dglioma =
name=3Dkeycbx></TD>
                                <TD>glioma<BR></TD></TR>
                                <TR>
                                <TD vAlign=3Dtop><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox value=3D"radiation =
therapy"=20
                                name=3Dkeycbx></TD>
                                <TD>radiation therapy<BR></TD></TR>
                                <TR>
                                <TD vAlign=3Dtop><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox value=3D"side effects"=20
                                name=3Dkeycbx></TD>
                                <TD>side=20
                                =
effects</TD></TR></TBODY></TABLE></TD></TR>
                                <TR>
                                <TD class=3Dblack9pt><INPUT =
class=3Dinput_boxes=20
                                type=3Dcheckbox name=3Dkeyusercbx><INPUT =

                                class=3Dinput_boxes size=3D15=20
name=3Dkeytext></TD></TR><!-- /quicksearch keywords -->
                                <TR>
                                <TD class=3Dblack9pt vAlign=3Dtop=20
                                width=3D"100%"><INPUT type=3Dhidden =
value=3Dtrue=20
                                name=3Dresult><INPUT type=3Dhidden =
value=3Dsimple=20
                                name=3Dtype><SPAN =
class=3Dblack9pt><INPUT type=3Dimage=20
                                alt=3DSearch=20
                                =
src=3D"http://www.expert-reviews.com/templates/jsp/_midtier/_fud/images/s=
earchButton.gif"=20
                                align=3Dright=20
                                =
border=3D0></SPAN></TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TA=
BLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY=
></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<DIV class=3DbottomSiteMapLink><A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/">Home</A> | <A =
class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/action/showJournals">Browse =
Journals</A> |=20
<A class=3DsiteMapLink =
href=3D"http://www.expert-reviews.com/search/advanced">Search=20
Journals</A> |&nbsp;<A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/feedback/show">Contact =
Us</A>&nbsp;|&nbsp;<A=20
class=3DsiteMapLink =
href=3D"http://www.expert-reviews.com/page/about.jsp">About=20
Us</A> | <A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/action/showPreferences">My =
Profile</A>=20
<BR><A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/action/registration">Register</A> =
| <A=20
class=3DsiteMapLink =
href=3D"http://www.expert-reviews.com/page/authors.jsp">For=20
Authors</A> | <A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/page/librarians.jsp">For =
Librarians</A> | <A=20
class=3DsiteMapLink =
href=3D"http://www.expert-reviews.com/page/advertisers">For=20
Advertisers</A><SPAN style=3D"COLOR: rgb(0,127,97)">&nbsp;</SPAN><SPAN=20
style=3D"COLOR: rgb(0,0,0)">|</SPAN> <A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/page/subscribe.jsp">Subscriptions =
and=20
Pricing</A> | <A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/page/reprints.jsp">Reprints and=20
Supplements</A>&nbsp;<SPAN style=3D"COLOR: rgb(0,127,97)">|</SPAN> <A=20
class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/page/advertising">Advertising</A><S=
PAN=20
style=3D"COLOR: rgb(0,127,97)">&nbsp;|&nbsp;<A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/page/pressrelease">Press Releases =
and=20
News</A></SPAN><SPAN style=3D"COLOR: rgb(0,127,97)">&nbsp;|</SPAN> <A=20
class=3DsiteMapLink =
href=3D"http://www.expert-reviews.com/page/fdhelp">Help</A>=20
<BR><BR><A href=3D"http://www.crossref.org/"><IMG=20
style=3D"WIDTH: 80px; HEIGHT: 31px" height=3D35 alt=3D"" hspace=3D0=20
src=3D"http://www.expert-reviews.com/userimages/ContentEditor/11289329077=
78/Crossref%20link%20copy.gif"=20
width=3D80 border=3D0></A>&nbsp;<IMG alt=3D""=20
src=3D"http://www.expert-reviews.com/userimages/ContentEditor/12073230860=
38/part-of-the-FSG_FM_wide_new.jpeg">&nbsp;<A=20
href=3D"http://www.projectcounter.org/"><IMG style=3D"WIDTH: 81px; =
HEIGHT: 31px"=20
height=3D33 alt=3D"" hspace=3D0=20
src=3D"http://www.expert-reviews.com/userimages/ContentEditor/11289328606=
46/Counter%20copy.gif"=20
width=3D85 border=3D0></A> <BR></DIV>
<HR SIZE=3D1>
<!-- contact info -->
<DIV class=3DbottomContactInfo>Expert Reviews&nbsp;Ltd, Unitec =
House,&nbsp;2=20
Albert Place,&nbsp;London, N3 1QB, UK <BR>Business Office: Tel +44=20
(0)20&nbsp;8371 6080&nbsp;=C2=B7 Fax +44 (0)20 8371 6099&nbsp; =
<BR>Editorial=20
Office:&nbsp;Tel +44 (0)20&nbsp;8371 6090&nbsp;=C2=B7 Fax +44 (0)20=20
8343&nbsp;2313</DIV>
<DIV class=3DbottomContactInfo>We welcome your <A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/feedback/show#FF">Feedback</A>. =
See our <A=20
class=3DsiteMapLink =
href=3D"http://www.expert-reviews.com/page/privacy.jsp">Privacy=20
Statement</A> and <A class=3DsiteMapLink=20
href=3D"http://www.expert-reviews.com/page/terms.jsp">Terms and=20
Conditions</A>.</DIV><BR></BODY></HTML>

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/templates/jsp/_midtier/_fud/images/logo.gif

R0lGODlh6ANvAIcAADAvUWEiKllkZ4qUmGGu1qdumihpmqatucjNzpSZm5ebp9be53qEiGtzeXR7
he/393KUrpyttra7vYaLl2fK6JBva6aprL3O1nJQTomxz2VnaauEd4WLjGIxQktyh73W1rm9x3V7
elVXWOS4yoqYpqaaszSg1kE/ZnmHmE6QsWx1h2Vpdy9Ra8jO1kRERSkpKVdVdmdmha3V7TNGVIvV
6oaJpzGIsTQ1N4hVTFZXZs1sXraJm8xvls2xv5NDN2Q7OmZac3t4lLV3a8+Rr3SkvIPU4Y9McIIv
J/TG1cmPhBQlM0A9WlCDmnReWYljW2iImpiWsu/v9wwKDYumu4YuXAwRK0RYZ3lpZm5IkCkQErBn
WNbv91dGREdTVlpYhpu1tpiKlaRWSXeIc8zn7Pna5sPe7YObsvzt7zZmfURyp+ysv7vn73Vtsjok
Ioemq6tSf+uPuGlqkHiXnrqou195kRVYf2eEh3RriJKDgJeLp//374q+5NnK3KTI5ayqwEpKbrqn
qSIzQEAVHMvs+E1KZZCll2V2bXZpdoiXiyo2hZmXytjMzcykoCMgR0VgdsC71+OWjNXCw1ZjV3Vz
dl1RTyoiGDMoNP3v90tKTdjn3qbd4ra1tJy93LysyRo8VVNJdd73+UEvLqqr1GSYqMbJ5YyOr0pT
R3ZrlMze9H9aoJ+TkoSFvz687XmNiZy5raidn1A5gCxTpSYxMMbW1r3Ozq3GxrXOzs7e3t7n5+/v
79be3vf397XGzrXGxufv787W1ufn5/f//621xtbn5/f/9629xqXGxs7W3qW1vaW1ta21vaW9vZyl
pd7e4J2lscDGxq21tZSlpZytra29vb3GzpSlrtbW1ufv59bW36S9xufn76O1x97v8a29zq3Gz5Kt
sP/39/f3/9Tv76S90Nbn8+/374S0tP//9621rZq108DW6N7n8pSMta3OzhQaHOfU3uSon97v573W
zsFSQUA7PJrI0tbWzvPn6zR3t8He3t7377i1y6q2wiMfIP///6vDxCH5BAAAAP8ALAAAAADoA28A
AAj/AG3V6jWwIMGDBhMiXKiwIcOHDiNCnCixIsWLFjNi3KixI8ePHjUeHDmQVy+TKHvZUslypUuW
vGzFnCmzJs2btnLaopWT586eQH/+5El0KFFaSJMqXar0Ai2nUJ9KjUp1qlWnsy5cyMp1q9dZXMNu
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

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/na101/home/literatum/publisher/fud/journals/entities/2002.gif

R0lGODlhCAABAHAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAAAAACwAAAAACAABAID///8AAAAC
A4RvBQA7

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/templates/jsp/images/10x10_spacer.gif

R0lGODlhCgAKAIAAAP///wAAACH5BAUUAAAALAAAAAAKAAoAAAIIhI+py+0PYysAOw==

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/entityImage/?code=200B

R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/templates/jsp/_midtier/_fud/images/free.gif

R0lGODlhJAAQALMAAAAAAAAAMwAAZgAAzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAACwAAAAAJAAQAEAEZ3DISau9eIjAA+kc8XliSZZjBwAamIJwLHNrO984WG95P+8uGEEgOqVQ
MWDn5Vkyiz/WakqtWq9YiWDL7Xq/YC+LF0L6bsrQ2Zc2ljlE+Gcoh7WfS3JIbx8H/2UmRkxta2xY
iImJEQAAOw==

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/templates/jsp/_midtier/_fud/images/xml.gif

R0lGODlhJAAOANUAAP9mAP///z8aAf/IpH0zAv+aV+VWAOGbd8ZEAPBdANV2RP+PRPtkAPDNu/96
IuhYAPhiAP/17v/gzMpQEfGld/vz7v+FM/G6mdmCVd1SANRXEf/Wu/9wEfTazP3Bmd2PZv7gzOmg
d/+jZv+4iPy2iMpGANdjIv+td9tlIudhEdZNAOafd//r3f+ZVeR3Lu2YZu15M+uXZv/m1Z9BA9h3
RCEOAfzz7ui0mexbAPRfAP307vqWVc5dIgAAAAAAAAAAACH5BAAAAAAALAAAAAAkAA4AAAbgQNlg
SCwaj8ijqwBoOp/QqDRKYE6jjsUCmt1Kq9CAOBAZNS2ScUAEQKvZUPBTfDhUAi8AK7BSfBoHD3t9
f4FxVk5iCAYUAYFiGCkJDygGkJKUBodhjiMROjwGG2MgJwAQo2Klp5tzajQlEBwhHWMUALO1Yret
iQEIDQE3CQAODAYaBwENBsbIysy9TYoONgExABEkLQsejira3N4HKtIAigA7ARUwaWMXEwbuYvCa
T3JPCAhNOAglOSYUKJiAIAMDAAEHFjx4D9EVJxASJGDYJOLELzMEaNzIsaPHjx5rBAEAOw==

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/userimages/ContentEditor/1128932907778/Crossref%20link%20copy.gif

R0lGODlhXQAjAPcAAAAAAP/////+//34+fr19vHs7f/8/c/Mzffy9a+sr//9/9vZ2+no6cfGx/36
/vr4+/X09uzr7dPS1O/t8vPw+Obj6+Dd5R8cJUA9Rvf2+RMRGDAvM/n3/7Kxts7N1PX0/AEBB/Hx
8/7+/7/Axfn6/vv8/9bX2igpK/X4/vz9/0Vso1J8swgLD3qYwra5vVd0lmKCqFhxj7nM5Ony/fD0
+VJujZG97Ft1kl54lneRrlN3m1J1l1Jyk1Fsh0xlf2+RsqDJ8neNo8rk/tHm+8ze8drr/N3n8Z6j
qEZzm0Zwl0t2nU55oklvkU52mld/o3mr2FV3llVzkJTH92V6jZ62zMDZ8bDF2ODr9Tlzoz59sEN6
qjRfgj5rkUyCsF6VwliJskt0lVJ6nG6eyGWQtV59mIi02WqKpKbW/oChvXqZtJW72oeoxI6wzW+G
mq7S76HA2qrJ4sHj/36Up5Oswc7d6vD4/+Xt9Orw9UZ6oH2761F4l1F0kFRzi2GEoFh4kVhxhLbd
/GBxfo+ltomdrcbi97nS5tTs/uPy/tzx/9Pl8srr/9nm7ur3/6Wtsrvn//P7//b8/+Tq7ZOVlsTt
/9ng49Tz/8HP1NDd4hUcHsz0/+T5/+37/w4WGBwkJtr4/7PEyMnZ3d7m6PX9/+n7/6m2ue73+er8
/+f4++/9/9Tm6NPl593v8dbo6uL09trr7dHa2/H6+9L9/97+/+L//+X//+n//+r//+3///D///L/
//H9/fX///f//+319fn//0hKSvv///z//4iJifP//fb//ejw7vX//PH69/n//eTt6fv9/PX++fz/
/fL389je2fn++RsiGvz/+t7i2f3/+fv99yAiF7Cyp/r88ff57ry9ttLTy/3+8s/Qxufo3gwMAhgY
Dv//9ezs5P//+v///fz8+v/++Pj38/Xy6nt6d/v6997a0v747//9+o+Fd/769crEvWNfW9nX1SIb
FcO8tv/7+Off2hoHAN/c2+zk4raysfbx8KCdnamnp+Ph4fn5+f///yH5BAEAAP8ALAAAAABdACMA
AAj/AA0tcYJjSqBAfPgc/NPDR4+HD2PguHEjhsWLZCrGuIGj48WPG0HGqNGjxkaKFjtOFCnyj8uE
CV0eDISjhhlFm2AAqXJl1SJChBYZKTJkFStQoCwp/bSUKahVp1q5UoUUqSVVqlKxcuVqlVFWqcJi
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

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/userimages/ContentEditor/1207323086038/part-of-the-FSG_FM_wide_new.jpeg

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
YsdOr2nRaolg/9k=

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/userimages/ContentEditor/1128932860646/Counter%20copy.gif

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

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.expert-reviews.com/templates/jsp/_midtier/_fud/images/searchButton.gif

R0lGODlhRAATAIcAAACcxgBKmXOcvXucvYSlxoylxoytxpStzqW91q3G1r3O3sbW3sbW587W587e
59be79bn797n7+fv9+/v9+/39+/3//f3//f/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////yH5BAAAAP8ALAAAAABEABMA
AAj/ADEIHEgQgwUMFChMkBAhAkMJEiY0ZLhwYoSKDi8yzIiR4kONFCxcEHiwoEAGBgKoXMmypcuX
MGPGLKDAoEkJBWTq3Mlzp4EIBSUM6Em0KNEBQAemNMq06UsDJRkUNTCQQICCKhFgcKCS6sAEKiEI
jBBgAQaVZnWaxbBU5VmZGCJ4varAgF2VDgR2ZfvzbAIMCbRGyIv2bUyoht1egIsA7dW2boHuVXng
LAYFKq2mLZsY5siWFyhIiJk3wgG3AyEEIGAZbOUFDfSyZbl24M6DLRFKWBAzAYWtVyM0WAC2poGE
AbzqfUwbA4O1O3+DtjAh5mytzFdirZz87WW8DjZvg4bbGaHM333pGjiQcvZVBFRVSjaLoGYC8Z1f
joScvyVrge0R9NdKFJhm2GwPCMQVfjohJpVTEEa4wEjuRWghUccNJNSFHOokQFIaQtbhiMlFQGFB
C4hIIoQEKPCbSTBiEFqBEIS3gAILLOBABDfmuGOPOvKIY5BA/jjkjz46lNCJAgUEADs=

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/style.css

.xslDebugTemplate {
	PADDING-LEFT: 2px; FONT-SIZE: 10px; COLOR: #999999; FONT-FAMILY: =
sans-serif
}
.xslDebugNodePath {
	PADDING-LEFT: 2px; FONT-SIZE: 10px; COLOR: #ff0000; FONT-FAMILY: =
sans-serif
}
.xslDebugImport {
	PADDING-LEFT: 2px; FONT-SIZE: 10px; COLOR: #007f00; FONT-FAMILY: =
sans-serif
}
.wbr {
	FONT-SIZE: 2pt; WORD-SPACING: 0px; COLOR: #fff; FONT-FAMILY: "Lucida =
Sans Unicode", "Arial Unicode MS", sans-serif; WHITE-SPACE: normal; =
LETTER-SPACING: 0px; WORD-WRAP: break-word
}
.noWrap {
	WHITE-SPACE: nowrap
}
.nobrWithWbr {
	WHITE-SPACE: nowrap
}
.ff2 .nobrWithWbr {
	WHITE-SPACE: normal
}
.tocHeading .subj-group {
	DISPLAY: block; FONT-SIZE: 90%
}
DIV.boxed-text- {
	MARGIN-LEFT: 3em
}
DIV.boxed-text-anchor {
	MARGIN-LEFT: 3em
}
DIV.boxed-text-float {
	MARGIN-LEFT: 3em
}
DIV.boxed-text-margin {
=09
}
.refnumber {
	VERTICAL-ALIGN: top; TEXT-ALIGN: left
}
.references .note P {
	PADDING-RIGHT: 0em; PADDING-LEFT: 0em; PADDING-BOTTOM: 0em; MARGIN: =
0em; PADDING-TOP: 0em
}
.articleEntry {
	MARGIN-BOTTOM: 1em
}
.NLM_table-wrap TD {
	BORDER-RIGHT: black 1px solid; BORDER-BOTTOM: black 1px solid
}
.NLM_table-wrap TD {
	BORDER-RIGHT: black 1px solid; BORDER-BOTTOM: black 1px solid
}
.NLM_table-wrap TH {
	BORDER-RIGHT: black 1px solid; BORDER-BOTTOM: black 1px solid
}
.NLM_table-wrap TH {
	BORDER-RIGHT: black 1px solid; BORDER-BOTTOM: black 1px solid
}
.NLM_table-wrap-foot P {
	MARGIN: 0px
}
.NLM_table-wrap TABLE {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; =
BORDER-LEFT: black 1px solid; WIDTH: 95%; BORDER-BOTTOM: black 1px =
solid; BORDER-COLLAPSE: collapse; border-spacing: 0px
}
.NLM_table-wrap TABLE.frame_none {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap TABLE.frame_left {
	BORDER-LEFT: black 1px solid; BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap TABLE.frame_right {
	BORDER-RIGHT: black 1px solid; BORDER-TOP-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap TABLE.frame_top {
	BORDER-TOP: black 1px solid; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap TABLE.frame_bottom {
	BORDER-TOP-STYLE: none; BORDER-BOTTOM: black 1px solid; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none
}
.NLM_table-wrap TABLE.frame_sides {
	BORDER-RIGHT: black 1px solid; BORDER-LEFT: black 1px solid; =
BORDER-TOP-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap TABLE.frame_topbot {
	BORDER-TOP: black 1px solid; BORDER-BOTTOM: black 1px solid; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none
}
TABLE.rowsep0 TD {
	BORDER-BOTTOM-STYLE: none
}
TABLE.rowsep0 TH {
	BORDER-BOTTOM-STYLE: none
}
TABLE.rowsep1 TD {
	BORDER-BOTTOM: black 1px solid
}
TABLE.rowsep1 TH {
	BORDER-BOTTOM: black 1px solid
}
TABLE.rowsep2 TD {
	BORDER-BOTTOM: black 3px double
}
TABLE.rowsep2 TH {
	BORDER-BOTTOM: black 3px double
}
COL.rowsep0 {
	BORDER-BOTTOM-STYLE: none
}
TR.rowsep0 TD {
	BORDER-BOTTOM-STYLE: none
}
TR.rowsep0 TH {
	BORDER-BOTTOM-STYLE: none
}
COL.rowsep1 {
	BORDER-BOTTOM: black 1px solid
}
TR.rowsep1 TD {
	BORDER-BOTTOM: black 1px solid
}
TR.rowsep1 TH {
	BORDER-BOTTOM: black 1px solid
}
COL.rowsep2 {
	BORDER-BOTTOM: black 3px double
}
TR.rowsep2 TD {
	BORDER-BOTTOM: black 3px double
}
TR.rowsep2 TH {
	BORDER-BOTTOM: black 3px double
}
TR TH.rowsep0 {
	BORDER-BOTTOM-STYLE: none
}
TR TD.rowsep0 {
	BORDER-BOTTOM-STYLE: none
}
TR TH.rowsep1 {
	BORDER-BOTTOM: black 1px solid
}
TR TD.rowsep1 {
	BORDER-BOTTOM: black 1px solid
}
TR TH.rowsep2 {
	BORDER-BOTTOM: black 3px double
}
TR TD.rowsep2 {
	BORDER-BOTTOM: black 3px double
}
TABLE.colsep0 TD {
	BORDER-RIGHT-STYLE: none
}
TABLE.colsep0 TH {
	BORDER-RIGHT-STYLE: none
}
TABLE.colsep1 TD {
	BORDER-RIGHT: black 1px solid
}
TABLE.colsep1 TH {
	BORDER-RIGHT: black 1px solid
}
TABLE.colsep2 TD {
	BORDER-RIGHT: black 3px double
}
TABLE.colsep2 TH {
	BORDER-RIGHT: black 3px double
}
COL.colsep0 {
	BORDER-RIGHT-STYLE: none
}
TR.colsep0 TD {
	BORDER-RIGHT-STYLE: none
}
TR.colsep0 TH {
	BORDER-RIGHT-STYLE: none
}
COL.colsep1 {
	BORDER-RIGHT: black 1px solid
}
TR.colsep1 TD {
	BORDER-RIGHT: black 1px solid
}
TR.colsep1 TH {
	BORDER-RIGHT: black 1px solid
}
COL.colsep2 {
	BORDER-RIGHT: black 3px double
}
TR.colsep2 TD {
	BORDER-RIGHT: black 3px double
}
TR.colsep2 TH {
	BORDER-RIGHT: black 3px double
}
TR TH.colsep0 {
	BORDER-RIGHT-STYLE: none
}
TR TD.colsep0 {
	BORDER-RIGHT-STYLE: none
}
TR TH.colsep1 {
	BORDER-RIGHT: black 1px solid
}
TR TD.colsep1 {
	BORDER-RIGHT: black 1px solid
}
TR TH.colsep2 {
	BORDER-RIGHT: black 3px double
}
TR TD.colsep2 {
	BORDER-RIGHT: black 3px double
}
.NLM_table-wrap TABLE TR.last TD {
	BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap TABLE TR TD.last {
	BORDER-RIGHT-STYLE: none
}
.NLM_table-wrap TABLE TR TH.last {
	BORDER-RIGHT-STYLE: none
}
.NLM_table-wrap .align_right {
	TEXT-ALIGN: right
}
.NLM_table-wrap .align_left {
	TEXT-ALIGN: left
}
.NLM_def-list {
	MARGIN: 1em 0px
}
.NLM_def-list .NLM_title {
	FONT-WEIGHT: bold; VERTICAL-ALIGN: top
}
.NLM_def-list .NLM_term-head {
	FONT-WEIGHT: bold; VERTICAL-ALIGN: top
}
.NLM_def-list .NLM_def-head {
	FONT-WEIGHT: bold; VERTICAL-ALIGN: top
}
.NLM_def-list .NLM_term {
	FONT-WEIGHT: bold; VERTICAL-ALIGN: top
}
.NLM_def-list .NLM_def {
	VERTICAL-ALIGN: top
}
.NLM_table-wrap TABLE TR TD TABLE.listgroup {
	WIDTH: auto; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap TABLE TR TD TABLE.listgroup TD {
	WIDTH: auto; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
.title1 {
	FONT-WEIGHT: bold
}
.title2 {
	FONT-WEIGHT: bold
}
.title3 {
	FONT-WEIGHT: bold
}
.title4 {
	FONT-WEIGHT: bold
}
.title5 {
	FONT-WEIGHT: bold
}
.inlinehead1 {
	FONT-WEIGHT: bold
}
.inlinehead2 {
	FONT-WEIGHT: bold
}
.inlinehead3 {
	FONT-WEIGHT: bold
}
.inlinehead4 {
	FONT-WEIGHT: bold
}
.inlinehead5 {
	FONT-WEIGHT: bold
}
.searchNone0 {
=09
}
.searchNone1 {
=09
}
.searchNone2 {
=09
}
.searchNone3 {
=09
}
.searchNone4 {
=09
}
.searchNone5 {
=09
}
.searchNone6 {
=09
}
.searchNone7 {
=09
}
.searchNone8 {
=09
}
.searchNone9 {
=09
}
.searchTerm0 {
	FONT-WEIGHT: bold; COLOR: black; BACKGROUND-COLOR: #ffff66
}
.searchTerm1 {
	FONT-WEIGHT: bold; COLOR: black; BACKGROUND-COLOR: #a0ffff
}
.searchTerm2 {
	FONT-WEIGHT: bold; COLOR: black; BACKGROUND-COLOR: #99ff99
}
.searchTerm3 {
	FONT-WEIGHT: bold; COLOR: black; BACKGROUND-COLOR: #ff9999
}
.searchTerm4 {
	FONT-WEIGHT: bold; COLOR: black; BACKGROUND-COLOR: #ff66ff
}
.searchTerm5 {
	FONT-WEIGHT: bold; COLOR: white; BACKGROUND-COLOR: #880000
}
.searchTerm6 {
	FONT-WEIGHT: bold; COLOR: white; BACKGROUND-COLOR: #00aa00
}
.searchTerm7 {
	FONT-WEIGHT: bold; COLOR: white; BACKGROUND-COLOR: #886800
}
.searchTerm8 {
	FONT-WEIGHT: bold; COLOR: white; BACKGROUND-COLOR: #004699
}
.searchTerm9 {
	FONT-WEIGHT: bold; COLOR: white; BACKGROUND-COLOR: #990099
}
.citation_source-book {
	FONT-STYLE: italic
}
.citation_source-journal {
	FONT-STYLE: italic
}
.dash {
	FONT-SIZE: 13px
}
.quote {
	DISPLAY: block; MARGIN: 1em 0em 1em 5em
}
.index {
=09
}
.entityA {
=09
}
.entityB {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; VERTICAL-ALIGN: baseline; BORDER-RIGHT-WIDTH: 0px
}
.entityC {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; VERTICAL-ALIGN: bottom; BORDER-RIGHT-WIDTH: 0px
}
.entityD {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; VERTICAL-ALIGN: text-bottom; BORDER-RIGHT-WIDTH: 0px
}
.toc_subarticle_style {
	FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.toc_subarticle_authors_style {
	FONT-SIZE: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.toc_subarticle_title_style {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.fromGoogle {
	BORDER-RIGHT: red 0pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: red 2px =
solid; PADDING-LEFT: 0pt; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; MARGIN: =
12px 0pt; BORDER-LEFT: red 0pt solid; LINE-HEIGHT: 20px; PADDING-TOP: =
2px; BORDER-BOTTOM: red 2px solid
}
.lilabel {
=09
}
OL.simple {
	LIST-STYLE-TYPE: none
}
OL.alphaLower {
=09
}
OL.alphaUpper {
=09
}
OL.romanLower {
	LIST-STYLE-TYPE: lower-roman
}
OL.romanUpper {
	LIST-STYLE-TYPE: upper-roman
}
.smallcaps {
	FONT-VARIANT: small-caps
}
.strike {
	TEXT-DECORATION: line-through
}
.NLM_disp-formula {
	DISPLAY: block
}
A.roDisabled {
	COLOR: graytext
}
.articleEntry .firstCell {
	VERTICAL-ALIGN: top; WIDTH: 18px; PADDING-TOP: 0px; TEXT-ALIGN: right
}
DIV.appendix SPAN.title5 {
	DISPLAY: block
}
.sectionHeading {
	BACKGROUND-COLOR: #e1e1e1
}
.sectionHeading TH {
	FONT-SIZE: larger
}
.artAuthors .NLM_bio {
	FONT-WEIGHT: normal
}
.multiIssueToc .issueTitle {
	FONT-WEIGHT: bold
}
.monospace {
	FONT-FAMILY: monospace
}
TABLE.formula {
	CLEAR: both; MARGIN: 1em 0px
}
.NLM_list-list_type-simple {
	DISPLAY: block; LIST-STYLE-TYPE: none
}
.IN_LIST-freeText {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.IN_LIST-label {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.IN_LIST-title {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.fullSideBullet {
	VERTICAL-ALIGN: top; WIDTH: 15px
}
.accessIcon {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.quickLinks_head {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; =
BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid
}
.quickSearch_head {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; =
BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid
}
.quickSearch_content {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; =
BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid
}
.quickLinks_content {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; =
BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid
}
.quickSearch_content {
	BORDER-TOP-STYLE: none
}
.quickLinks_content {
	BORDER-TOP-STYLE: none
}
.fontSize1 {
	FONT-SIZE: xx-small
}
.fontSize2 {
	FONT-SIZE: small
}
.fontSize3 {
	FONT-SIZE: medium
}
.fontSize4 {
	FONT-SIZE: large
}
.fontSize5 {
	FONT-SIZE: x-large
}
.fontSize6 {
	FONT-SIZE: xx-large
}
.fontSize7 {
	FONT-SIZE: xx-large
}
.panelHeading {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px; POSITION: relative
}
.panelFooter {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px; POSITION: relative
}
.panelHeading .left {
	WIDTH: 6px; BACKGROUND-REPEAT: no-repeat; POSITION: absolute; HEIGHT: =
6px
}
.panelHeading .right {
	WIDTH: 6px; BACKGROUND-REPEAT: no-repeat; POSITION: absolute; HEIGHT: =
6px
}
.panelFooter .left {
	WIDTH: 6px; BACKGROUND-REPEAT: no-repeat; POSITION: absolute; HEIGHT: =
6px
}
.panelFooter .right {
	WIDTH: 6px; BACKGROUND-REPEAT: no-repeat; POSITION: absolute; HEIGHT: =
6px
}
.panelHeading .left {
	TOP: 0px
}
.panelHeading .right {
	TOP: 0px
}
.panelFooter .left {
	BOTTOM: 0px
}
.panelFooter .right {
	BOTTOM: 0px
}
.panelHeading .left {
	LEFT: 0px
}
.panelFooter .left {
	LEFT: 0px
}
.panelHeading .right {
	RIGHT: 0px
}
.panelFooter .right {
	RIGHT: 0px
}
.panelHeading .left {
	BACKGROUND-IMAGE: url(/templates/jsp/images/curve_left_top.png)
}
.panelHeading .right {
	BACKGROUND-IMAGE: url(/templates/jsp/images/curve_right_top.png)
}
.panelFooter .left {
	BACKGROUND-IMAGE: url(/templates/jsp/images/curve_left_top.png)
}
.panelFooter .right {
	BACKGROUND-IMAGE: url(/templates/jsp/images/curve_right_bottom.png)
}
.panelHeading .content H3 {
	FONT-SIZE: 1em; MARGIN: 0px
}
.panelBody {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
WIDTH: auto; PADDING-TOP: 0.5em
}
.panelBody .spacer {
	CLEAR: both; WIDTH: 100%; HEIGHT: 1px
}
#mobileDevicePairingCode .char {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
COLOR: #fff; MARGIN-RIGHT: 0.5em; PADDING-TOP: 0.5em; BACKGROUND-COLOR: =
#000
}
UL.offers LI {
	LIST-STYLE-TYPE: none
}
.reprAndPerms {
	MARGIN: 10px
}
.reprAndPerms .coverImage {
	MIN-HEIGHT: 115px; FLOAT: left; MARGIN-RIGHT: 20px
}
.reprAndPerms .article_meta DIV {
	MARGIN-BOTTOM: 5px
}
.reprAndPerms .article_meta LABEL {
	FONT-WEIGHT: bold; WIDTH: 20%; COLOR: #0066ff
}
.reprAndPerms .topContent {
	MARGIN-BOTTOM: 20px
}
.reprintsForm LABEL {
	FLOAT: left; WIDTH: 20%
}
.reprintsForm .labelGroup {
	MARGIN: 10px 5px; HEIGHT: 20px
}
.reprintsForm .labelGroup INPUT {
	FLOAT: right; WIDTH: 20%
}
.reprintsForm .dropDownHeader {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN-BOTTOM: 5px; COLOR: #0066ff
}
.reprintsForm .subText {
	MARGIN-BOTTOM: 10px
}
.reprintsForm LABEL {
	FONT-WEIGHT: bold
}

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/_midtier/style.css

IMG.JournalCover {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: left; =
BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px 5px 3px 0px; WIDTH: 96px; HEIGHT: =
125px; BORDER-RIGHT-WIDTH: 0px
}
.ecommRecommendArticles P {
	MARGIN-LEFT: 10px
}

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/_midtier/_fud/style.css

BODY {
	BORDER-TOP-WIDTH: 0pt; MARGIN-TOP: 0pt; BORDER-LEFT-WIDTH: 0pt; =
FONT-SIZE: 10pt; BORDER-BOTTOM-WIDTH: 0pt; MARGIN-LEFT: 0pt; COLOR: =
#000000; FONT-FAMILY: verdana, arial, helvetica, sans-serif; =
BACKGROUND-COLOR: #ffffff; BORDER-RIGHT-WIDTH: 0pt
}
IMG {
	BORDER-TOP-WIDTH: 0pt; BORDER-LEFT-WIDTH: 0pt; BORDER-BOTTOM-WIDTH: =
0pt; BORDER-RIGHT-WIDTH: 0pt; border-spacing: 0pt
}
TD {
	BORDER-TOP-WIDTH: 0pt; BORDER-LEFT-WIDTH: 0pt; BORDER-BOTTOM-WIDTH: =
0pt; BORDER-RIGHT-WIDTH: 0pt; border-spacing: 0pt
}
TH {
	BORDER-TOP-WIDTH: 0pt; BORDER-LEFT-WIDTH: 0pt; BORDER-BOTTOM-WIDTH: =
0pt; BORDER-RIGHT-WIDTH: 0pt; border-spacing: 0pt
}
.textInput {
	WIDTH: 100pt
}
.hr {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 100%; COLOR: #003366; HEIGHT: 1px; BACKGROUND-COLOR: =
#003366; BORDER-RIGHT-WIDTH: 0px
}
HR {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 100%; COLOR: #003366; HEIGHT: 1px; BACKGROUND-COLOR: =
#003366; BORDER-RIGHT-WIDTH: 0px
}
TABLE.headerLogo {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: =
0pt; WIDTH: 100%; PADDING-TOP: 0pt
}
TABLE.identitiesBar {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: =
0pt; WIDTH: 100%; PADDING-TOP: 0pt
}
TABLE.identitiesBar {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: =
0pt; WIDTH: 100%; PADDING-TOP: 0pt
}
TABLE.mainMenu {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: =
0pt; WIDTH: 100%; PADDING-TOP: 0pt
}
TABLE.quickSearch {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: =
0pt; WIDTH: 100%; PADDING-TOP: 0pt
}
TABLE.pageBody {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: =
0pt; WIDTH: 100%; PADDING-TOP: 0pt
}
TABLE.footer {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: =
0pt; WIDTH: 100%; PADDING-TOP: 0pt
}
TABLE.headerLogo {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BACKGROUND-COLOR: #003366; BORDER-RIGHT-WIDTH: 0px; border-spacing: =
0pt
}
TABLE.identitiesBar {
	BORDER-RIGHT: #003366 1px solid; BORDER-TOP: #003366 1px solid; =
BORDER-LEFT: #003366 1px solid; BORDER-BOTTOM: #003366 1px solid; =
BACKGROUND-COLOR: #cccccc
}
TD.identitiesBar {
	PADDING-RIGHT: 10px
}
TABLE.MainMenu {
	border-spacing: 1pt
}
TABLE.mainMenu TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #1e2171; =
WHITE-SPACE: nowrap; TEXT-ALIGN: center
}
TABLE.mainMenu A {
	COLOR: white
}
TABLE.mainMenu A:visited {
	COLOR: white
}
FORM.quickSearch {
	PADDING-RIGHT: 0pt; DISPLAY: inline; PADDING-LEFT: 0pt; PADDING-BOTTOM: =
0pt; MARGIN: 0pt; PADDING-TOP: 0pt
}
FORM.quickSearch * {
	FONT-SIZE: 8pt; VERTICAL-ALIGN: middle
}
TD.pageBody {
	BORDER-TOP-WIDTH: 0pt; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0pt; BORDER-BOTTOM-WIDTH: 0pt; PADDING-BOTTOM: 0px; =
MARGIN: 0pt; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0pt
}
TABLE.homePage {
	WIDTH: 100%
}
.verticalBar * {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px
}
.verticalBar TABLE TD {
	WIDTH: 1px; HEIGHT: 100%! important; BACKGROUND-COLOR: #003366
}
TD.bullet {
	VERTICAL-ALIGN: top; WIDTH: 0.5em; TEXT-ALIGN: left
}
.menuTabSelected {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
A.menuTabSelected {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
A.menuTabSelected:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
A.menuTabSelected:active {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
A.menuTabSelected:link {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
.menuTabs {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; COLOR: #006633; BACKGROUND-COLOR: =
#eeeeee; TEXT-DECORATION: none
}
.menuTabPlain {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; COLOR: #006633; BACKGROUND-COLOR: =
#eeeeee; TEXT-DECORATION: none
}
A.menuTabPlain {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; COLOR: #006633; BACKGROUND-COLOR: =
#eeeeee; TEXT-DECORATION: none
}
A.menuTabPlain:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; COLOR: #006633; BACKGROUND-COLOR: =
#eeeeee; TEXT-DECORATION: none
}
A.menuTabPlain:active {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; COLOR: #006633; BACKGROUND-COLOR: =
#eeeeee; TEXT-DECORATION: none
}
A.menuTabPlain:link {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; COLOR: #006633; BACKGROUND-COLOR: =
#eeeeee; TEXT-DECORATION: none
}
.menuTabs .spacer1 {
	BACKGROUND-COLOR: #999999
}
.menuTabs .spacer2 {
	BACKGROUND-COLOR: #ffffff
}
.subMenuTabSelected {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#cccccc; TEXT-DECORATION: none
}
A.subMenuTabSelected {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#cccccc; TEXT-DECORATION: none
}
A.subMenuTabSelected:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#cccccc; TEXT-DECORATION: none
}
A.subMenuTabSelected:active {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#cccccc; TEXT-DECORATION: none
}
A.subMenuTabSelected:link {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ffffcc; BACKGROUND-COLOR: =
#cccccc; TEXT-DECORATION: none
}
.subMenuTabs {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #ffffff; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
.subMenuTabPlain {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #ffffff; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
A.subMenuTabPlain {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #ffffff; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
A.subMenuTabPlain:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #ffffff; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
A.subMenuTabPlain:active {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #ffffff; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
A.subMenuTabPlain:link {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #ffffff; BACKGROUND-COLOR: =
#1e2171; TEXT-DECORATION: none
}
.subMenuTabs .spacer1 {
	BACKGROUND-COLOR: #000066
}
.subMenuTabs .spacer2 {
	BACKGROUND-COLOR: #004488
}
.menuTabsPage {
	BORDER-RIGHT: #1e2171 1px solid; PADDING-RIGHT: 1em; BORDER-TOP: =
#1e2171 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; BORDER-LEFT: =
#1e2171 1px solid; WIDTH: 100%; PADDING-TOP: 1em; BORDER-BOTTOM: #1e2171 =
1px solid
}
TABLE.breadcrumbs TR TD {
	FONT-SIZE: 8pt
}
P {
	FONT-SIZE: 10pt; FONT-FAMILY: verdana,arial,helvetica,sans-serif
}
TD {
	FONT-SIZE: 10pt; FONT-FAMILY: verdana,arial,helvetica,sans-serif
}
TH {
	FONT-SIZE: 10pt; FONT-FAMILY: verdana,arial,helvetica,sans-serif
}
TD.main {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; VERTICAL-ALIGN: top; WIDTH: =
100%
}
TD.fulltext {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; TEXT-DECORATION: none
}
TABLE.quickLinks {
	WIDTH: 170px
}
.quickLinks {
	BORDER-RIGHT: #555555 1px solid; BORDER-TOP: #555555 1px solid; =
BORDER-LEFT: #555555 1px solid; BORDER-BOTTOM: #555555 1px solid
}
.quickLinks TH {
	BORDER-RIGHT: #555555 0px solid; BORDER-TOP: #555555 0px solid; =
BORDER-LEFT: #555555 0px solid; COLOR: #ffffff; BORDER-BOTTOM: #555555 =
1px solid; BACKGROUND-COLOR: #1e2171; TEXT-ALIGN: center
}
.quickLinks TD {
	BACKGROUND-COLOR: #ffffff
}
.journalIndexBar {
	BACKGROUND-COLOR: #eeeeee
}
.journalIndexBar TD {
	PADDING-LEFT: 12px; FONT-SIZE: 8pt; TEXT-INDENT: -4px
}
.logoStyle1 {
	FONT-WEIGHT: bold; FONT-SIZE: 18pt; COLOR: #ffffff; TEXT-DECORATION: =
none
}
.logoStyle2 {
	FONT-SIZE: 12pt; COLOR: #ffffff; FONT-STYLE: italic; TEXT-DECORATION: =
none
}
.logostyle3 {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: #ffffff; TEXT-DECORATION: =
none
}
.mainMenu {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; VERTICAL-ALIGN: middle; COLOR: =
#ffffff; TEXT-ALIGN: center; TEXT-DECORATION: none
}
.fulltext {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; TEXT-DECORATION: none
}
.li1 {
	FONT-SIZE: 10pt
}
.fulltextdd {
	FONT-SIZE: 8pt
}
.quote {
	PADDING-RIGHT: 3em; PADDING-LEFT: 3em; TEXT-ALIGN: left
}
A.topic_link {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #000000; TEXT-DECORATION: =
none
}
A.topic_link:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ff0000; TEXT-DECORATION: =
underline
}
.topic_text {
	FONT-SIZE: 10pt
}
A.ext_link {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #660000; TEXT-DECORATION: =
none
}
A.ext_link:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ff0000; TEXT-DECORATION: =
underline
}
.section_head {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #1e2171
}
.category {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #7d2a07
}
.link {
	FONT-SIZE: 9pt
}
.indiv {
	FONT-SIZE: 10pt; COLOR: #000000
}
.smallred {
	FONT-SIZE: 8pt; COLOR: #980000
}
.grey10 {
	FONT-SIZE: 10pt; COLOR: #cccccc
}
.black9pt {
	FONT-SIZE: 9pt; COLOR: #000000
}
.loginFormRememberHelp {
	FONT-SIZE: 8pt; COLOR: #000000
}
.loginFormRememberHelp A {
	FONT-SIZE: 8pt; COLOR: #000000
}
.black8pt {
	FONT-SIZE: 8pt; COLOR: #000000
}
.gray9pt {
	FONT-SIZE: 9pt; COLOR: #999999
}
.loginForm LABEL {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #000000
}
.sectionTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #000000
}
H1.loginForm {
	MARGIN-TOP: 0px; FONT-WEIGHT: bold; FONT-SIZE: 15pt; COLOR: #000000
}
.pageTitle {
	MARGIN-TOP: 0px; FONT-WEIGHT: bold; FONT-SIZE: 15pt; COLOR: #000000
}
.bc {
	FONT-SIZE: 8pt
}
.bcA {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #000000
}
.noLinkLine {
	TEXT-DECORATION: none
}
.ref {
	TEXT-DECORATION: none
}
.art_title {
	FONT-WEIGHT: bold
}
.art_authors {
	FONT-STYLE: italic
}
.arttitle {
	FONT-WEIGHT: bold; FONT-SIZE: 14pt
}
.articleworkflow-table {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 10pt; BORDER-LEFT: #000000 1px solid; =
WIDTH: 600px; COLOR: #000000; BORDER-BOTTOM: #000000 1px solid; =
FONT-STYLE: normal; BACKGROUND-COLOR: #eeeeee
}
.articleworkflow-table-head {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ffffff; FONT-STYLE: normal; =
BACKGROUND-COLOR: #000000
}
.articleworkflow-table-text {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; COLOR: #000000; FONT-STYLE: =
normal
}
A.issueStyleCategory {
	FONT-SIZE: 10pt; COLOR: blue; TEXT-DECORATION: none
}
A.issueStyleCoverDate {
	FONT-SIZE: 10pt; COLOR: blue; TEXT-DECORATION: none
}
A.issueStyleVolIssue {
	FONT-SIZE: 8pt; TEXT-DECORATION: none
}
A.issueStyleSample {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #008800; TEXT-DECORATION: =
none
}
A.issueStyleLatest {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #880000; TEXT-DECORATION: =
none
}
.QuickSearchBoxForm LABEL {
	FONT-SIZE: 10pt; COLOR: #000000; TEXT-DECORATION: none
}
.QuickSearchBoxForm .header {
	FONT-WEIGHT: bold; COLOR: #555555
}
.QuickSearchBoxForm A {
	FONT-SIZE: 8pt; COLOR: #a02020; TEXT-ALIGN: right; TEXT-DECORATION: =
underline
}
.MarketingMessageArea {
	MARGIN-LEFT: 1em; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 1em; =
TEXT-ALIGN: center
}
TABLE.showjournals {
	MARGIN-LEFT: 1em
}
.header1 {
	FONT-WEIGHT: bold; FONT-SIZE: 15pt; COLOR: #000000
}
H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 15pt; COLOR: #000000
}
.journalTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 15pt; COLOR: #000000
}
.header2 {
	MARGIN-TOP: 0pt; FONT-WEIGHT: bold; FONT-SIZE: 13pt; COLOR: #000000
}
H2 {
	MARGIN-TOP: 0pt; FONT-WEIGHT: bold; FONT-SIZE: 13pt; COLOR: #000000
}
.header3 {
	MARGIN-TOP: 0pt; FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: #000000
}
H3 {
	MARGIN-TOP: 0pt; FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: #000000
}
.header4 {
	FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN-BOTTOM: 0px; COLOR: #000000
}
H4 {
	FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN-BOTTOM: 0px; COLOR: #000000
}
.error {
	COLOR: red
}
.success {
	COLOR: green
}
#hide {
	DISPLAY: none
}
.ConfirmPrepay TABLE {
	BACKGROUND-COLOR: silver
}
.searchResultCell {
	VERTICAL-ALIGN: top; TEXT-ALIGN: left
}
.searchResultTitle {
	FONT-WEIGHT: bold; COLOR: #000000
}
.searchResultAuthor {
	FONT-STYLE: italic
}
A.searchResultJournal:hover {
	TEXT-DECORATION: underline
}
.searchResultJournal {
	COLOR: #006699; TEXT-DECORATION: none
}
A.searchResultJournal {
	COLOR: #006699; TEXT-DECORATION: none
}
.searchResultCitation {
	COLOR: #000000
}
.searchResultAbstract {
	COLOR: #000000
}
.wbr {
	FONT-SIZE: 1px; VISIBILITY: hidden; COLOR: #fff
}
DIV.bottomSiteMapLink {
	FONT-SIZE: 9px; TEXT-ALIGN: center
}
A.siteMapLink:link {
	FONT-WEIGHT: normal; FONT-SIZE: 9px; COLOR: #1e2171; TEXT-DECORATION: =
none
}
A.siteMapLink:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 9px; COLOR: #1e2171; TEXT-DECORATION: =
none
}
A.siteMapLink:hover {
	FONT-WEIGHT: normal; FONT-SIZE: 9px; COLOR: #1e2171; TEXT-DECORATION: =
underline
}
DIV.bottomContactInfo {
	FONT-SIZE: 9px; TEXT-ALIGN: center
}
.sideMenu TD.sideMenuHead {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; BACKGROUND: #7b8d9c; COLOR: #ffffff
}
.sideMenu TD {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; BACKGROUND: #e7e7e9
}
.sideMenu A:link {
	COLOR: #333333; TEXT-DECORATION: none
}
.sideMenu A:visited {
	COLOR: #333333; TEXT-DECORATION: none
}
.sideMenu A:hover {
	COLOR: #333333; TEXT-DECORATION: underline
}
TD.mainContentHead {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; BACKGROUND: #a8a9ad; PADDING-BOTTOM: 2px; COLOR: #ffffff; =
PADDING-TOP: 2px
}
TD.mainContent {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 11px; BACKGROUND: =
#e7e7e9; PADDING-BOTTOM: 5px; COLOR: #000000; PADDING-TOP: 5px; =
TEXT-ALIGN: left
}
TD.blockHead {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; BACKGROUND: #1e2171; PADDING-BOTTOM: 5px; COLOR: #000000; =
PADDING-TOP: 5px
}
TD.block {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; COLOR: =
#000000; PADDING-TOP: 5px; TEXT-ALIGN: left
}
TD.block P {
	FONT-SIZE: 11px
}
TR.register1 {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; BACKGROUND: #939598; COLOR: #ffffff
}
TR.register2 {
	FONT-SIZE: 10px; BACKGROUND: #d1d2d4; COLOR: #000000
}
TR.search1 {
	FONT-SIZE: 9px; BACKGROUND: #1e2171; COLOR: #fff
}
TR.search2 {
	FONT-WEIGHT: bold; FONT-SIZE: 9px; BACKGROUND: #1e2171; COLOR: #fff
}
A.search2:link {
	COLOR: #ffffff
}
A.search2:hover {
	COLOR: #ffffff
}
A.search2:visited {
	COLOR: #ffffff
}
H5 {
	FONT-WEIGHT: normal; MARGIN: 0px; COLOR: #000000; FONT-STYLE: italic
}
.header5 {
	FONT-WEIGHT: normal; MARGIN: 0px; COLOR: #000000; FONT-STYLE: italic
}
.textSection {
	FONT-WEIGHT: bold; COLOR: #000000
}
.citedByEntry {
	MARGIN-BOTTOM: 0.5em
}
.citedBySection {
	MARGIN-BOTTOM: 2em
}
.article_link .header4 {
	FONT-SIZE: 10pt
}
.tocheading {
	PADDING-TOP: 1em
}
.search_result_right .section_head {
	COLOR: #1e2171; TEXT-ALIGN: left
}
.feedback INPUT {
	FONT-FAMILY: verdana, arial, helvetica, sans-serif
}
.feedback TEXTAREA {
	FONT-FAMILY: verdana, arial, helvetica, sans-serif
}
.feedback SELECT {
	FONT-FAMILY: verdana, arial, helvetica, sans-serif
}
.contrib {
	FONT-STYLE: italic
}
.affiliation {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
.NLM_corresp {
	MARGIN-TOP: 2em
}
.articleType {
	FONT-WEIGHT: bold; FONT-SIZE: 16pt; MARGIN-BOTTOM: 1em
}
.documentTitle {
	MARGIN-BOTTOM: 1em
}
H1.loginForm {
	FONT-SIZE: 12pt
}
.phone {
	WHITE-SPACE: nowrap
}
.fax {
	WHITE-SPACE: nowrap
}
.affiliation .institution {
	COLOR: #000
}
.CorrespondingAuthorAffiliation {
	FONT-SIZE: smaller; MARGIN: 0.5em 1em
}
.SectionMenu {
	MARGIN-TOP: 2em
}
SELECT.fulltextdd {
	WIDTH: 200px
}
.disp-formula TABLE {
	MARGIN: 1em 0em; WIDTH: 100%
}
.disp-formula .graphics {
	TEXT-ALIGN: center
}
.disp-formula .label {
	WIDTH: 10%; TEXT-ALIGN: right
}
DIV.boxed-text-float {
	BORDER-RIGHT: #000 1px; BORDER-TOP: #000 1px solid; MARGIN-LEFT: 0em; =
BORDER-LEFT: #000 1px solid; BORDER-BOTTOM: #000 1px solid; =
border-top-right-radius: 1em; -moz-border-radius: 1em 0em 0em 0em
}
DIV.boxed-text-float > P {
	MARGIN-LEFT: 1em
}
.popupBody .NLM_aff {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; =
PADDING-TOP: 1em
}
.popupBody .NLM_table-wrap {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; =
PADDING-TOP: 1em
}
.NLM_table-wrap TABLE {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap CAPTION {
	FONT-WEIGHT: bold
}
.NLM_table-wrap THEAD {
	FONT-WEIGHT: bold
}
.NLM_table-wrap CAPTION {
	PADDING-BOTTOM: 0.5em; caption-side: top
}
.NLM_table-wrap TD[align=3D'justify'] {
	TEXT-ALIGN: justify
}
.NLM_table-wrap TH[align=3D'justify'] {
	TEXT-ALIGN: justify
}
.NLM_table-wrap TD[align=3D'right'] {
	TEXT-ALIGN: right
}
.NLM_table-wrap TH[align=3D'right'] {
	TEXT-ALIGN: right
}
.NLM_table-wrap TD[align=3D'center'] {
	TEXT-ALIGN: center
}
.NLM_table-wrap TH[align=3D'center'] {
	TEXT-ALIGN: center
}
.NLM_table-wrap TH {
	VERTICAL-ALIGN: top; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap TD {
	VERTICAL-ALIGN: top; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
.NLM_table-wrap-foot {
	PADDING-TOP: 0.5em
}
DIV.boxed-text- {
	MARGIN-BOTTOM: 1em; BACKGROUND-COLOR: #e1e1e1
}
DIV.boxed-text-anchor {
	MARGIN-BOTTOM: 1em; BACKGROUND-COLOR: #e1e1e1
}
DIV.boxed-text-float {
	MARGIN-BOTTOM: 1em; BACKGROUND-COLOR: #e1e1e1
}
DIV.boxed-text- .NLM_label {
	PADDING-LEFT: 1em; FONT-WEIGHT: bold; FLOAT: left
}
DIV.boxed-text-anchor .NLM_label {
	PADDING-LEFT: 1em; FONT-WEIGHT: bold; FLOAT: left
}
DIV.boxed-text-float .NLM_label {
	PADDING-LEFT: 1em; FONT-WEIGHT: bold; FLOAT: left
}
DIV.boxed-text- .title2 {
	PADDING-LEFT: 1em; FONT-WEIGHT: bold; FLOAT: left
}
DIV.boxed-text-anchor .title2 {
	PADDING-LEFT: 1em; FONT-WEIGHT: bold; FLOAT: left
}
DIV.boxed-text-float .title2 {
	PADDING-LEFT: 1em; FONT-WEIGHT: bold; FLOAT: left
}
DIV.boxed-text- .NLM_label + DIV.title2 {
	PADDING-LEFT: 0.25em
}
DIV.boxed-text-anchor .NLM_label + DIV.title2 {
	PADDING-LEFT: 0.25em
}
DIV.boxed-text-float .NLM_label + DIV.title2 {
	PADDING-LEFT: 0.25em
}
.showFullText .abstractSection {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1px; COLOR: =
#039; PADDING-TOP: 1px; BORDER-BOTTOM: #000 3px double; =
BACKGROUND-COLOR: #e1e1e1
}
.issue_title_style {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.lilabel {
	WIDTH: 15px
}
.fromGoogle {
	BORDER-RIGHT: red 0pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: red 2px =
solid; PADDING-LEFT: 0pt; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; MARGIN: =
12px 0pt; BORDER-LEFT: red 0pt solid; LINE-HEIGHT: 20px; PADDING-TOP: =
2px; BORDER-BOTTOM: red 2px solid
}
.thumbnail {
	CLEAR: both; DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 1em; WIDTH: =
160px; TEXT-ALIGN: center
}
.thumbnail .oneOf {
	CLEAR: left; DISPLAY: block
}
.thumbnail .sizeInKb {
	CLEAR: left; DISPLAY: block
}
.thumbnail .figGroupLabel {
	CLEAR: left; DISPLAY: block
}
.ack .title {
	FONT-WEIGHT: bold
}
.affiliations {
	MARGIN-BOTTOM: 2ex
}
BODY .institutionBanner {
	PADDING-RIGHT: 10px; OVERFLOW: hidden
}
TD.quickLinks_content A.ref {
	TEXT-DECORATION: underline
}

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/script.js

/* function that will be called from document.onload event=0A=
 * main event handling, for all pages */=0A=
function preload() {=0A=
	load();=0A=
}=0A=
function preunload() {=0A=
	unload();=0A=
}=0A=
=0A=
/* function that will be called from document.onload event=0A=
 * override this function to do individual onload event */=0A=
function load()=0A=
{=0A=
}=0A=
function unload()=0A=
{=0A=
}=0A=
=0A=
/**=0A=
 * Change the forecolor of the element with id eid=0A=
 * to the color specified by color=0A=
 */=0A=
function changeForegroundColor(eid, color) {=0A=
    if(document.getElementById && (elem=3Ddocument.getElementById(eid)))=0A=
        elem.style.color=3Dcolor;=0A=
}=0A=
=0A=
/**=0A=
 * Shorthand for id'ing elements=0A=
 */=0A=
if (typeof $ =3D=3D "undefined") $ =3D function(id) { return =
document.getElementById(id); }   // do not override if already defined =
by prototype=0A=
=0A=
/**	ccc rights link */=0A=
function RightslinkPopUp(aPublisher, aPublication, aTitle, aDate, =
aAuthor, aContentId, aCopyright, aVolume, aIssue, aStartPage, aEndPage, =
aIssn, aOrderBeanReset, aColor, aReprints, aPermissions)=0A=
{=0A=
	var location =3D=0A=
		"?publisherName=3D" + aPublisher=0A=
		+ "&publication=3D" + aPublication=0A=
		+ "&title=3D" + aTitle=0A=
		+ "&publicationDate=3D" + aDate=0A=
		+ "&author=3D" + aAuthor=0A=
		+ "&contentID=3D" + aContentId=0A=
		+ "&copyright=3D" + aCopyright=0A=
		+ "&startPage=3D" + aStartPage=0A=
		+ "&endPage=3D" + aEndPage;=0A=
	if (aVolume !=3D null) {=0A=
		location +=3D "&volumeNum=3D" + aVolume;=0A=
	}=0A=
	if (aIssue !=3D null) {=0A=
		location +=3D "&issueNum=3D" + aIssue;=0A=
	}=0A=
	if (aIssn !=3D null) {=0A=
		location +=3D "&issn=3D" + aIssn;=0A=
	}=0A=
	if (aOrderBeanReset !=3D null) {=0A=
		location +=3D "&orderBeanReset=3D" + aOrderBeanReset;=0A=
	}=0A=
    if (aColor !=3D null){=0A=
        location +=3D "&color=3D" + aColor;=0A=
    }=0A=
    if (aReprints !=3D null) {=0A=
        location +=3D "&reprints=3D" + aReprints;=0A=
    }=0A=
    if (aPermissions !=3D 'false') {=0A=
        location +=3D "&permissions=3D" + aPermissions;=0A=
    }=0A=
=0A=
	var link =3D "/servlet/linkout?type=3Drightslink&url=3D" + =
escape(location);=0A=
	var winprops =3D =
"location=3Dno,toolbar=3Dno,directories=3Dno,status=3Dno,menubar=3Dno,scr=
ollbars=3Dyes,resizable=3Dyes,width=3D650,height=3D550";=0A=
	PopUp =3D window.open(link, 'Rightslink', winprops);=0A=
}=0A=
=0A=
=0A=
/* Function to load images.=0A=
 *	note: make this empty method so that=0A=
 * 1) mininize code changes; 2) for future integration; 3) easier to =
take the feature back=0A=
 */=0A=
function MM_preloadImages() {=0A=
}=0A=
=0A=
function MM_swapImgRestore() {=0A=
}=0A=
=0A=
function MM_findObj(n, d) {=0A=
}=0A=
=0A=
function MM_swapImage() {=0A=
}=0A=
=0A=
function menuMouseOver(type, actualType) {=0A=
    =
document.getElementById('MenuItem_'+type).className=3D'MenuItemOver_'+(ty=
pe =3D=3D actualType);=0A=
}=0A=
function menuMouseOut(type, actualType) {=0A=
    =
document.getElementById('MenuItem_'+type).className=3D'MenuItem_'+(type =
=3D=3D actualType);=0A=
}=0A=
function menuClick(type) {=0A=
    document.getElementById('MenuLink_'+type).click();=0A=
}=0A=
=0A=
// browser detection=0A=
function browserCheck() {=0A=
    this.ns4 =3D (document.layers)? true:false;=0A=
    this.ie =3D (document.all&&(!window.opera))? true:false;=0A=
    this.dom =3D (document.getElementById)? true:false;=0A=
    this.ns6 =3D (window.sidebar)? true:false;=0A=
    this.moz =3D =
(window.sidebar||navigator.userAgent.indexOf('Gecko')!=3D-1)? true:false;=0A=
    this.opera =3D (window.opera)? true:false;=0A=
    this.mac =3D (navigator.userAgent.indexOf('Mac')!=3D-1)? true:false;=0A=
}=0A=
browser =3D new browserCheck();=0A=
var Obj;=0A=
=0A=
// multibrowser get object by id, in NN4 you cannot access all object =
(test it first)=0A=
function getObjectByName(nameOfObject){=0A=
	Obj =3D null;=0A=
	if (browser.ie) Obj =3D document.all[nameOfObject]=0A=
	else if (browser.dom) Obj =3D findDOMObject(nameOfObject)=0A=
	else if (browser.ns4) findLayer(window,nameOfObject);=0A=
	return (!Obj || ( browser.ns4 && Obj =3D=3D window ) ) ? "Object not =
found" : Obj;=0A=
}=0A=
// helper function=0A=
function findDOMObject(nameOfObject) {=0A=
	for (var i =3D 0; i < document.images.length; i++) {=0A=
		if (document.images[i].name=3D=3DnameOfObject) return =
document.images[i]=0A=
	}=0A=
	return document.getElementById(nameOfObject)=0A=
}=0A=
// helper function=0A=
function findLayer(node,nameOfObject) {=0A=
	if ( node.name =3D=3D nameOfObject ) Obj =3D node;=0A=
	for ( var counter =3D 0; counter < node.document.images.length; =
counter++ ) {=0A=
		if (node.document.images[counter].name=3D=3DnameOfObject) Obj =3D =
node.document.images[counter];=0A=
	}=0A=
	for ( var i =3D 0; i < node.document.layers.length; i++ ) {=0A=
		findLayer(node.document.layers[i],nameOfObject);=0A=
	}=0A=
}=0A=
=0A=
function toggleVisibility(id) {=0A=
    obj =3D getObjectByName(id);=0A=
    if (obj) {=0A=
         v =3D obj.style.display;=0A=
         obj.style.display =3D (v =3D=3D 'none') ? 'block' : 'none';=0A=
         i =3D getObjectByName('hiddenImage');=0A=
         if(i) i.src =3D '/page/imageHack.jsp?object=3D' + id + =
'&display=3D' + obj.style.display + '&dummy=3D' + (new Date()).getTime();=0A=
    }=0A=
}=0A=
=0A=
/** CSS class support */=0A=
/** return true if removed, false if not found */=0A=
function removeClass(el, className) {=0A=
	if (!(el && el.className)) return false;=0A=
	var cls =3D el.className.split(" ");=0A=
	var ar =3D new Array();=0A=
	for (var i =3D cls.length; i > 0;) if (cls[--i] !=3D className) =
ar[ar.length] =3D cls[i];=0A=
	el.className =3D ar.join(" ");=0A=
    return cls.length !=3D ar.length;=0A=
}=0A=
/** return true if element has that class */=0A=
function hasClass(el, className) {=0A=
	if (!(el && el.className)) return false;=0A=
	var cls =3D el.className.split(" ");=0A=
	for (var i =3D cls.length; i > 0;) if (cls[--i] =3D=3D className) =
return true;=0A=
	return false;=0A=
}=0A=
/** add class to element, if element already had that class - does =
nothink */=0A=
function addClass(el, className) {=0A=
    if (!el || hasClass(el, className)) return;=0A=
    if (el.className) el.className +=3D " " + className;=0A=
    else el.className =3D className;=0A=
}=0A=
/** Add CSS rule as last rule in last stylesheet - override all previous =
definitions=0A=
    removing is harder - not implemented, use it with caution */=0A=
function addCssRule(selector, rule) {=0A=
    if (document.styleSheets) {=0A=
        var css =3D document.styleSheets[document.styleSheets.length-1]; =
// get last css=0A=
        if (css.addRule) css.addRule(selector, rule);         // IE=0A=
        else if (css.insertRule) css.insertRule(selector + "{" + rule + =
"}", css.cssRules.length);  // W3C=0A=
    }=0A=
}=0A=
/** get CSS style of the document */=0A=
function getCssText() {=0A=
  var imports =3D "";=0A=
  var cssText =3D "\n";=0A=
  var styleSheets =3D document.styleSheets;=0A=
  for (var i =3D 0; i < styleSheets.length; i++) {=0A=
    var css =3D styleSheets.item(i);=0A=
    var mediaText =3D typeof css.media =3D=3D "string" ? css.media : =
css.media.mediaText;=0A=
    if (!mediaText || mediaText.indexOf("all") !=3D -1 || =
mediaText.indexOf("screen") !=3D -1) {=0A=
      if (css.imports) {=0A=
        // IE imports=0A=
        for (var j =3D 0; j < css.imports.length; j++) {=0A=
          var href =3D css.imports[j].href;=0A=
          var lastQuote =3D href.lastIndexOf('"');=0A=
          if (lastQuote !=3D -1) {=0A=
            // href contains media - "url" media=0A=
            mediaText =3D href.substr(lastQuote + 1);=0A=
            if (mediaText.indexOf("all") =3D=3D -1 && =
mediaText.indexOf("screen") =3D=3D -1) continue;=0A=
            href =3D href.substr(1, lastQuote - 1);=0A=
          }=0A=
          imports +=3D '@import url("' + href + '");\n';=0A=
        }=0A=
      }=0A=
      if (css.rules) {=0A=
        // IE rules=0A=
        for (var j =3D 0; j < css.rules.length; j++) {=0A=
          // How to filter media rules ???=0A=
          cssText +=3D css.rules[j].selectorText + " { " + =
css.rules[j].style.cssText + " }\n";=0A=
        }=0A=
      } else if (css.cssRules) {=0A=
        // W3C compliant browser=0A=
        for (var j =3D 0; j < css.cssRules.length; j++) {=0A=
          var rule =3D css.cssRules.item(j);=0A=
          if (rule.type =3D=3D rule.IMPORT_RULE || rule.type =3D=3D =
rule.MEDIA_RULE) {=0A=
            mediaText =3D rule.media.mediaText;=0A=
            if (mediaText && mediaText.indexOf("all") =3D=3D -1 && =
mediaText.indexOf("screen") =3D=3D -1) continue;=0A=
            if (rule.type =3D=3D rule.IMPORT_RULE) imports +=3D =
rule.cssText;=0A=
            else cssText +=3D rule.cssText + "\n";=0A=
          } else {=0A=
            cssText +=3D rule.cssText + "\n";=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
  return imports + cssText;=0A=
}=0A=
=0A=
function loadCss(url, title, media) {=0A=
    var el =3D document.createElement('link');=0A=
    el.type =3D 'text/css';=0A=
    el.rel =3D 'stylesheet';=0A=
    el.href =3D url;=0A=
    el.media =3D media || 'screen';=0A=
    el.title =3D title || 'dynamicLoadedSheet';=0A=
    document.getElementsByTagName("head")[0].appendChild(el);=0A=
}=0A=
=0A=
function loadJs(url) {    =0A=
    var el =3D document.createElement("script");=0A=
    el.type =3D "text/javascript";=0A=
    el.src =3D url;=0A=
    document.getElementsByTagName("head")[0].appendChild(el);=0A=
}=0A=
=0A=
/** DOM Event support */=0A=
/** addEventListener method may already exist, it's not trivial =
implement it and not break it, use other mame 'addListener' is simple */=0A=
function addListener(el, evname, func) {=0A=
    if (el.attachEvent) el.attachEvent("on" + evname, func);=0A=
	else if(el.addEventListener) el.addEventListener(evname, func, true);=0A=
}=0A=
/** removeEventListener */=0A=
function removeListener(el, evname, func) {=0A=
	if (el.detachEvent) el.detachEvent("on" + evname, func);=0A=
	else if (el.removeEventListener) el.removeEventListener(evname, func, =
true);=0A=
}=0A=
=0A=
/** Server session access */=0A=
/** helper method to access session object */=0A=
function _getSession() {=0A=
    return window.session ? window.session : (window.session =3D new =
Array());=0A=
}=0A=
/** send request to server to preserve some value between different =
requests, value is accessible using getSessionAttribute */=0A=
function setSessionAttribute(name, value) {=0A=
    /* just to test callback */=0A=
    function test(doc) {=0A=
//        alert("Server returned: " + doc.body.innerHTML);=0A=
    }=0A=
    =
sendServerMsg("/action/sessionAccess?action=3DsetJavaScriptAttribute&name=
=3D" + name + "&value=3D" + value, test);=0A=
    _getSession()[name] =3D value;=0A=
}=0A=
/** see setSessionAttribute */=0A=
function getSessionAttribute(name) {=0A=
    return _getSession()[name];=0A=
}=0A=
=0A=
/** send request - url - to the server, response is accessible in =
document passed to callback function=0A=
    DO NOT Send anything before page is loaded!=0A=
 */=0A=
function sendServerMsg(url, callBack) {=0A=
    /* called when frame is loaded */=0A=
    function _receiveServerResponse(ev) {=0A=
        var iFrame =3D window.event ? window.event.srcElement : =
ev.currentTarget;                          // IE : W3C=0A=
        var doc =3D iFrame.contentDocument ? iFrame.contentDocument : =
document.frames(iFrame.id).document; // W3C : IE=0A=
        if (iFrame.callBack) iFrame.callBack(doc);=0A=
        document.body.removeChild(document.getElementById(iFrame.id));=0A=
    }=0A=
=0A=
    var iFrame =3D document.createElement('iframe');=0A=
    addListener(iFrame, "load", _receiveServerResponse);=0A=
    iFrame.setAttribute("id", "msgFrame" + new Date().getTime());   // =
so IE can retrive document=0A=
    iFrame.setAttribute("src", url);=0A=
    iFrame.setAttribute("style", "display:none");=0A=
    if (callBack) iFrame.callBack =3D callBack;=0A=
    document.body.appendChild(iFrame);=0A=
}=0A=
=0A=
/**=0A=
  copy innerHTML of src element to innerHTML of target element=0A=
*/=0A=
function copyInnerHtml(src, target) {=0A=
    var domSupported =3D document.getElementById ? true : false;=0A=
    var se =3D (domSupported && typeof src =3D=3D "string") ? =
document.getElementById(src) : src;=0A=
    var te =3D (domSupported && typeof target =3D=3D "string") ? =
document.getElementById(target) : target;=0A=
    if (se.innerHTML && te.innerHTML) te.innerHTML =3D se.innerHTML;=0A=
}=0A=
/**=0A=
 filter select options, options that do not contain filter text are =
removed=0A=
 in first use, original select options are backed up as attribute =
optionsCopy=0A=
*/=0A=
function filterSelect(selectId, value) {=0A=
  var select;=0A=
  if (document.getElementById && (select =3D =
document.getElementById(selectId)) && select.options) {=0A=
    if (!select.optionsCopy) {=0A=
      select.optionsCopy =3D new Array();=0A=
      select.optionTexts =3D new Array();=0A=
      for (var i=3D0; i<select.options.length; i++) {=0A=
        var opt =3D select.options[i];=0A=
        select.optionsCopy[i] =3D opt;=0A=
        select.optionTexts[i] =3D opt.text.toLowerCase();=0A=
      }=0A=
    }=0A=
    value =3D value.toLowerCase();=0A=
    var allTexts =3D select.optionTexts;=0A=
    var displayOptions =3D select.options;=0A=
    var count =3D displayOptions.length =3D 0;=0A=
    for (var i=3D0; i < allTexts.length; i++) {=0A=
      if (allTexts[i].indexOf(value) !=3D -1) {=0A=
        var option =3D select.optionsCopy[i];=0A=
        displayOptions[count++] =3D option;=0A=
        option.selected =3D option.text =3D=3D value;=0A=
      }=0A=
    }=0A=
    if (count =3D=3D 1) displayOptions[0].selected =3D true;=0A=
  }=0A=
}=0A=
=0A=
function popupElement(el, anchor, windowParams) {=0A=
    if (typeof el =3D=3D "string") { // el is id=0A=
        el =3D (document.getElementById) ? document.getElementById(el) :=0A=
             (document.all) ? document.all[el] : false;=0A=
    }=0A=
    if (el) {=0A=
        var tmp;=0A=
        if (el.popupWindow && !el.popupWindow.closed) {=0A=
            el.popupWindow.focus();=0A=
            tmp =3D el.popupWindow.document;=0A=
        } else {=0A=
            if(!windowParams) windowParams =3D {};=0A=
            el.popupWindow =3D window.open('',=0A=
                windowParams.name?windowParams.name:'',=0A=
                =
windowParams.featureString?windowParams.featureString:'resizable=3Dyes,sc=
rollbars=3Dyes,width=3D600,height=3D500');=0A=
            tmp =3D el.popupWindow.document;=0A=
            =
tmp.writeln('<html><head><title>'+document.title+'</title><style =
type=3D"text/css">');=0A=
            var styleSheets =3D document.styleSheets;=0A=
            for (var i =3D 0; styleSheets && i < styleSheets.length; =
i++) {=0A=
                var css =3D styleSheets.item(i);=0A=
                var cssHref =3D css.href;=0A=
               /* in FF we get js error (Security error: 1000) when we =
try to access stylesheets coming from=0A=
                * a different domain (e.g yui stylesheets included in =
ar), for these cases don't load stylesheets=0A=
                * we don't really need them. */=0A=
                if(cssHref !=3D null && =
cssHref.indexOf(window.location.hostname) > 0) {=0A=
                    if (css.cssText) tmp.writeln(css.cssText);=0A=
                    else {=0A=
                        var cssRules =3D css.rules ? css.rules : =
css.cssRules;=0A=
                        for (var j =3D 0; cssRules && j < =
cssRules.length; j++) {=0A=
                            tmp.writeln(cssRules.item(j).cssText);=0A=
                        }=0A=
                    }=0A=
                }=0A=
            }=0A=
            tmp.writeln('</style></head><body id=3D"' + el.id + '">');=0A=
            tmp.writeln(el.innerHTML);=0A=
            tmp.writeln('</body></html>');=0A=
            tmp.close();=0A=
        }=0A=
        if (anchor) {=0A=
            var target =3D (tmp.getElementById) ? =
tmp.getElementById(anchor) :=0A=
                (tmp.all) ? tmp.all[anchor] : false;=0A=
            if (target) {=0A=
                if (target.scrollIntoView) target.scrollIntoView();=0A=
                else if (window.scroll && target.offsetTop) =
el.popupWindow.scroll(0, target.offsetTop);=0A=
            }=0A=
        }=0A=
	}=0A=
}=0A=
=0A=
/**	marks all check box */=0A=
function markAllCheckboxes(aForm, aNamePrefix, aChecked)=0A=
{=0A=
	var elmts =3D aForm.elements;=0A=
	for (var i=3D0; i<elmts.length; i++)=0A=
		if ((elmts[i].type =3D=3D "checkbox") &&=0A=
			(elmts[i].name.indexOf(aNamePrefix) =3D=3D 0))=0A=
			elmts[i].checked =3D aChecked;=0A=
}=0A=
=0A=
function submitMultiArticles(aForm, action, aMarkall, errorMessage) {=0A=
    var hasMarked =3D false;=0A=
    var elmts =3D aForm.elements;=0A=
    for (var i =3D 0; i < elmts.length; i++) {=0A=
		if ((elmts[i].name =3D=3D "doi") &&=0A=
			(elmts[i].type =3D=3D "checkbox") &&=0A=
			(elmts[i].checked)) {=0A=
			hasMarked =3D true;=0A=
		}=0A=
    }=0A=
=0A=
    if (!hasMarked) {=0A=
		if (aMarkall) {=0A=
			markAllCheckboxes(aForm, "doi", true);=0A=
		} else {=0A=
			alert(errorMessage ? errorMessage : "Please check at least one =
article.");=0A=
    	    return;=0A=
		}=0A=
	}=0A=
=0A=
	for (var i =3D 0; i < elmts.length; i++) {=0A=
		if ((elmts[i].name =3D=3D "doi") &&=0A=
			(elmts[i].type !=3D "checkbox")) {=0A=
			elmts[i].name =3D "xdoi";=0A=
		}=0A=
	}=0A=
=0A=
	if (aForm.getAttributeNode) {=0A=
		aForm.getAttributeNode("action").nodeValue =3D action;=0A=
	} else {=0A=
		aForm.action =3D action;=0A=
	}=0A=
    aForm.method =3D "post";=0A=
    aForm.submit();=0A=
}=0A=
=0A=
function setCheckWhenDefine(aCbx, aState)=0A=
{=0A=
	if (aCbx) {=0A=
		aCbx.checked =3D aState;=0A=
	}=0A=
}=0A=
=0A=
// --- side sfx links ---=0A=
//=0A=
function genSideCitation(dbid, linkoutUrl, display) {=0A=
	genSide('citation', dbid, linkoutUrl, display);=0A=
}=0A=
function genSideQuickSearch(dbid, value, display) {=0A=
	genSide('quicksearch', dbid, '', display, '', '', '', value);=0A=
}=0A=
function genSideRelated(dbid, linkoutUrl, display) {=0A=
	genSide('related', dbid, linkoutUrl, display);=0A=
}=0A=
=0A=
// --- popup ---=0A=
//=0A=
/*Function to generate a popup window, with params to pass to dispatcher =
*/=0A=
function popup(citart, id, doi, ptype, area) {=0A=
	popupRef(citart, id, doi, ptype, area, 600, 500);=0A=
}=0A=
=0A=
function popupFull(id, doi, ptype, area, width, height) {=0A=
    var popupURL =3D "/action/showFullPopup?id=3D" + id + "&doi=3D" + =
doi;=0A=
    if (area) popupURL +=3D "&area=3D" + area;=0A=
    if (ptype) ptype =3D ptype.replace(/\W/g, '');=0A=
    var winname =3D ptype ? ptype : 'popupRef';=0A=
	var n =3D window.open(popupURL, winname, =
'resizable=3Dyes,scrollbars=3Dyes,width=3D'+width+',height=3D'+height);=0A=
	n.moveTo(10,10);=0A=
	n.focus();=0A=
}=0A=
function popupRef(citart, id, doi, ptype, area, width, height) {=0A=
    var popupURL =3D "/action/showPopup?citid=3D" + citart + "&id=3D" + =
id + "&doi=3D" + doi;=0A=
    if (area) popupURL +=3D "&area=3D" + area;=0A=
    if (ptype) ptype =3D ptype.replace(/\W/g, '');=0A=
    var winname =3D ptype ? ptype : 'popupRef';=0A=
	var n =3D window.open(popupURL, winname, =
'resizable=3Dyes,scrollbars=3Dyes,width=3D'+width+',height=3D'+height);=0A=
	n.moveTo(10,10);=0A=
	n.focus();=0A=
}=0A=
=0A=
function popupHelp550(aUrl)=0A=
{=0A=
	popupHelpX(aUrl, =
"width=3D550,height=3D540,top=3D10,left=3D50,toolbar=3D0,menubar=3D0,resi=
zable=3Dyes,scrollbars=3Dyes");=0A=
}=0A=
function popupHelp580(aUrl)=0A=
{=0A=
	popupHelpX(aUrl, =
"width=3D580,height=3D540,top=3D10,left=3D50,toolbar=3D0,menubar=3D0,resi=
zable=3Dyes,scrollbars=3Dyes");=0A=
}=0A=
function popupHelp625(aUrl)=0A=
{=0A=
	popupHelpX(aUrl, =
"width=3D625,height=3D540,top=3D10,left=3D50,toolbar=3D0,menubar=3D0,resi=
zable=3Dyes,scrollbars=3Dyes");=0A=
}=0A=
function popupHelpX(aUrl, aWinProps)=0A=
{=0A=
	var winid =3D window.open(aUrl,"popupHelp",aWinProps);=0A=
    if (winid.focus) winid.focus();=0A=
    return false;=0A=
}=0A=
function popupHelp(aUrl)=0A=
{=0A=
	popupHelp580(aUrl);=0A=
}=0A=
=0A=
/* Function to open up a new browser window, without a navigation bar */=0A=
function popupCoverImage(url)=0A=
{=0A=
    var new_window;=0A=
    var windowProperties;=0A=
    windowProperties =3D =
"width=3D750,height=3D700,top=3D30,left=3D230,toolbar=3D0,menubar=3D0,res=
izable=3D1,scrollbars=3Dyes";=0A=
    if(new_window=3D=3Dnull) {=0A=
       new_window =3D window.open(url,null,windowProperties);=0A=
    } else {=0A=
       new_window.document.replace(url);=0A=
    }=0A=
}=0A=
=0A=
// --- quick search ---=0A=
//=0A=
/**=0A=
 *	get all the form elements and check if the "dbname"=0A=
 *	maps to specifid value.=0A=
 */=0A=
function checkDbName(aForm, aValue)=0A=
{=0A=
	var elements =3D aForm.elements;=0A=
	for (var i=3D0; i<elements.length; i++)=0A=
	{=0A=
		var elmt =3D elements[i];=0A=
		if (elmt.name =3D=3D "dbname")=0A=
		{=0A=
			if (elmt.options) {=0A=
				if ((elmt.value =3D=3D aValue) ||=0A=
					(elmt.options[elmt.selectedIndex].value =3D=3D aValue))=0A=
					return true;=0A=
			}=0A=
			else if (elmt.checked && (elmt.value =3D=3D aValue)) {=0A=
				return true;=0A=
			}=0A=
		}=0A=
	}=0A=
	return false;=0A=
}=0A=
=0A=
function onAuthorSearchClick(aForm)=0A=
{=0A=
	if (! aForm) {=0A=
		aForm =3D document.document.forms[0];=0A=
	}=0A=
	var elmts =3D aForm.elements;=0A=
	var authors =3D new Array();=0A=
	var keywords =3D new Array();=0A=
	getAuthorsAndKeywords(aForm, authors, keywords, false);=0A=
	if (checkDbName(aForm, "medline")) {=0A=
		showPubMedSearch(authors, keywords);=0A=
	} else if (checkDbName(aForm, "ads")) {=0A=
		showAdsSearch(authors, keywords);=0A=
	} else if (checkDbName(aForm, "crossref")) {=0A=
		showCrossRefSearch(authors, keywords);=0A=
	} else {=0A=
		var url =3D "/action/doSearch?action=3DsearchAuthor";=0A=
		for (var i=3D0; i<elmts.length; i++) {=0A=
			if (! elmts[i].name)=0A=
				continue;=0A=
			var addElmt =3D false;=0A=
			if (elmts[i].type =3D=3D "checkbox")=0A=
				addElmt =3D elmts[i].checked;=0A=
			else=0A=
				addElmt =3D (elmts[i].value.length > 0);=0A=
			if (addElmt)=0A=
				url +=3D "&" + elmts[i].name + "=3D" + elmts[i].value;=0A=
		}=0A=
		window.location =3D url;=0A=
	}=0A=
}=0A=
=0A=
/**=0A=
 *	@param	aAuthorArray	array stores all authors=0A=
 *	@param	aKeywordArray	array stores all keywords=0A=
 */=0A=
function getAuthorsAndKeywords(aForm, aAuthorArray, aKeywordArray, =
aForceAdd)=0A=
{=0A=
	setCheckWhenDefine(aForm.sauthusercbx, true);=0A=
	setCheckWhenDefine(aForm.keyusercbx, true);=0A=
=0A=
	var elements =3D aForm.elements;=0A=
	var cntAuthor =3D -1;=0A=
	var cntKeyword =3D -1;=0A=
	for (var i=3D0; i<elements.length; i++)=0A=
	{=0A=
		var elmt =3D elements[i];=0A=
		if ((elmt.name =3D=3D "sauthcbx") ||=0A=
			(elmt.name =3D=3D "sauthusercbx"))=0A=
		{=0A=
			if (elmt.name =3D=3D "sauthusercbx") {=0A=
				cntAuthor++;=0A=
			}=0A=
			if (aForceAdd) {=0A=
				elmt.checked =3D true;=0A=
			} else if (! elmt.checked) {=0A=
				continue;=0A=
			}=0A=
=0A=
			var result =3D null;=0A=
			if (elmt.name =3D=3D "sauthusercbx") {=0A=
				var sat =3D aForm.sauthtext;=0A=
				result =3D sat.length ? sat[cntAuthor].value : sat.value;=0A=
				if (result =3D=3D "") {=0A=
					aForm.sauthusercbx.checked =3D false;=0A=
				}=0A=
			} else {=0A=
				result =3D elmt.value;=0A=
			}=0A=
			if (result !=3D "") {=0A=
				aAuthorArray[aAuthorArray.length] =3D result;=0A=
			}=0A=
		}=0A=
		else if ((elmt.name =3D=3D "keycbx") ||=0A=
				 (elmt.name =3D=3D "keyusercbx"))=0A=
		{=0A=
			if (elmt.name =3D=3D "keyusercbx") {=0A=
				cntKeyword++;=0A=
			}=0A=
			if (aForceAdd) {=0A=
				elmt.checked =3D true;=0A=
			} else if (! elmt.checked) {=0A=
				continue;=0A=
			}=0A=
=0A=
			var result =3D null;=0A=
			if (elmt.name =3D=3D "keyusercbx") {=0A=
				var kwt =3D aForm.keytext;=0A=
				result =3D kwt.length ? kwt[cntKeyword].value : kwt.value;=0A=
				if (result =3D=3D "") {=0A=
					aForm.keyusercbx.checked =3D false;=0A=
				}=0A=
			} else {=0A=
				result =3D elmt.value;=0A=
			}=0A=
			if (result !=3D "") {=0A=
				aKeywordArray[aKeywordArray.length] =3D result;=0A=
			}=0A=
		}=0A=
	}=0A=
	// when there is no selection, add them all=0A=
	if ((! aForceAdd) && (aAuthorArray.length=3D=3D0 && =
aKeywordArray.length=3D=3D0)) {=0A=
		getAuthorsAndKeywords(aForm, aAuthorArray, aKeywordArray, true);=0A=
	}=0A=
}=0A=
=0A=
function encodeLinkOutUrl(aUrl)=0A=
{=0A=
	var result =3D "";=0A=
	for (var i=3D0; i<aUrl.length; i++) {=0A=
		var encoded =3D aUrl.charAt(i);=0A=
		switch (encoded) {=0A=
			case '?':=0A=
			case '&':	encoded =3D escape(encoded);	break;=0A=
			default:	// does nothing=0A=
		}=0A=
		result +=3D encoded;=0A=
	}=0A=
	return result;=0A=
}=0A=
=0A=
function showExternalSearch(aDbId, aUrl)=0A=
{=0A=
	=
popupHelp("/servlet/linkout?type=3Dsearch&dbid=3D"+aDbId+"&url=3D"+encode=
LinkOutUrl(aUrl));=0A=
}=0A=
=0A=
// pubmed url format:=0A=
// http://www.ncbi.nlm.nih.gov/entrez/query.fcgi=0A=
//   ?dopt=3DDocSum&cmd=3DSearch&db=3DPubMed=0A=
//   &term=3DBhatnagar[AU]+OR+Bagchi[AU]=0A=
//=0A=
function showPubMedSearch(aAuthors, aKeywords)=0A=
{=0A=
	var pmurl =3D "http://www4.ncbi.nlm.nih.gov/PubMed/";=0A=
	if ((aAuthors.length>0) || (aKeywords.length>0))=0A=
	{=0A=
		pmurl =3D =
"http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?dopt=3DDocSum&cmd=3DSearch=
&db=3DPubMed&term=3D";=0A=
=0A=
		for (var i=3D0; i<aAuthors.length; i++) {=0A=
			pmurl +=3D aAuthors[i].replace(",","+");=0A=
			pmurl +=3D "[AU]";=0A=
			if (i < aAuthors.length-1) {=0A=
				pmurl +=3D "+OR+";=0A=
			}=0A=
		}=0A=
=0A=
		if ((aAuthors.length>0) && (aKeywords.length>0)) {=0A=
			pmurl +=3D "+OR+";=0A=
		}=0A=
=0A=
		for (var i=3D0; i<aKeywords.length; i++) {=0A=
			pmurl +=3D aKeywords[i].replace(":"," ");=0A=
			if (i < aKeywords.length-1) {=0A=
				pmurl +=3D "+OR+";=0A=
			}=0A=
		}=0A=
	}=0A=
	showExternalSearch(8, pmurl);=0A=
}=0A=
=0A=
// ads url format:=0A=
// http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?db_key=3DAST=0A=
//	&sort=3DSCORE&ttl_syn=3DYES&version=3D1=0A=
//	&txt_syn=3DYES&txt_logic=3DAND&text=3Dgalaxy%0D%0Astar%0D%0Aocean=0A=
//	&aut_syn=3DYES&aut_logic=3DAND&&author=3D&author=3Djack%0D%0Asmith=0A=
function showAdsSearch(aAuthors, aKeywords)=0A=
{=0A=
	var adsurl =3D "http://adsabs.harvard.edu/abstract_service.html";=0A=
	if ((aAuthors.length>0) || (aKeywords.length>0))=0A=
	{=0A=
		adsurl =3D=0A=
			"http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?db_key=3DAST" +=0A=
			"&sort=3DSCORE&ttl_syn=3DYES&version=3D1" +=0A=
			"&txt_syn=3DYES&txt_logic=3DAND" +=0A=
			"&aut_syn=3DYES&aut_logic=3DAND";=0A=
=0A=
		if (aAuthors.length > 0) {=0A=
			adsurl +=3D "&author=3D";=0A=
			for (var i=3D0; i<aAuthors.length; i++) {=0A=
				adsurl +=3D aAuthors[i].replace(",","%2C");=0A=
				if (i < aAuthors.length-1) {=0A=
					adsurl +=3D "%0D%0A";=0A=
				}=0A=
			}=0A=
		}=0A=
		if (aKeywords.length > 0) {=0A=
			adsurl +=3D "&text=3D";=0A=
			for (var i=3D0; i<aKeywords.length; i++) {=0A=
				adsurl +=3D aKeywords[i];=0A=
				if (i < aKeywords.length-1) {=0A=
					adsurl +=3D "%0D%0A";=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
	showExternalSearch(64, adsurl);=0A=
}=0A=
=0A=
// xrs url format:=0A=
// http://www.google.com/cobrand?restrict=3Dcrossref&sa=3DSearch+=0A=
//	&q=3D%22stem+cell%22+%22type+1%22&cof=3DAWPID:bbd6d01e9a530922=0A=
function showCrossRefSearch(aAuthors, aKeywords)=0A=
{=0A=
	var xrsurl =3D =
"http://www.google.com/cobrand?restrict=3Dcrossref&sa=3DSearch+&filter=3D=
0&q=3D";=0A=
	if ((aAuthors.length>0) || (aKeywords.length>0))=0A=
	{=0A=
		var array =3D [aAuthors, aKeywords];=0A=
		for (var i=3D0; i<array.length; i++) {=0A=
			for (var j=3D0; j<array[i].length; j++) {=0A=
				xrsurl +=3D "%22"+array[i][j]+"%22+";=0A=
			}=0A=
		}=0A=
	}=0A=
	xrsurl +=3D "&cof=3DAWPID:bbd6d01e9a530922";=0A=
	showExternalSearch(16, xrsurl);=0A=
}=0A=
=0A=
/**	crossref search */=0A=
function submitXrsSearch(frm)=0A=
{=0A=
	if (! frm) {=0A=
		frm =3D document.forms['frmSearch'];=0A=
	}=0A=
	var xrsurl =3D "http://www.google.com/cobrand?" +=0A=
				 "restrict=3D" + frm.restrict.value +=0A=
				 "&q=3D" + frm.searchText.value +=0A=
				 "&filter=3D0" +=0A=
				 "&sa=3DSearch+" +=0A=
				 "&cof=3DAWPID:bbd6d01e9a530922";=0A=
=0A=
	var url =3D =
"/servlet/linkout?type=3Dsearch&dbid=3D16&url=3D"+encodeLinkOutUrl(xrsurl=
);=0A=
	var winprops =3D =
"width=3D750,height=3D700,top=3D10,left=3D20,toolbar=3D1,menubar=3D1,resi=
zable=3Dyes,scrollbars=3Dyes,status=3Dyes";=0A=
	var win =3D window.open(url, null, winprops);=0A=
	if (win !=3D null) {=0A=
		win.focus();=0A=
	}=0A=
	return false;=0A=
}=0A=
=0A=
var search_highlight =3D true;=0A=
function highlight()=0A=
{=0A=
	var from =3D search_highlight ? "searchTerm" : "searchNone";=0A=
	var to   =3D search_highlight ? "searchNone" : "searchTerm";=0A=
	var elmts =3D document.getElementsByTagName("span");=0A=
	for (var i=3D0; i<elmts.length; i++){=0A=
		var node =3D elmts.item(i);=0A=
		for (var j=3D0; j<node.attributes.length; j++) {=0A=
			var item =3D node.attributes.item(j);=0A=
			if ((item.nodeName =3D=3D 'class') &&=0A=
				(item.nodeValue.indexOf(from) =3D=3D 0)) {=0A=
				node.className =3D to + item.nodeValue.substring(from.length);=0A=
			}=0A=
		}=0A=
	}=0A=
	search_highlight =3D ! search_highlight;=0A=
}=0A=
var emailRegx =3D =
/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;=0A=
function isEmail(email) {=0A=
    if (email.value) email =3D email.value;   // is form field=0A=
    return emailRegx.test(email);=0A=
}=0A=
function countSelected(select) {=0A=
    var result =3D 0;=0A=
    if (select.options) for (var i =3D 0; i < select.options.length; =
i++) if (select.options[i].selected) result++;=0A=
    return result;=0A=
}=0A=
function countChecked(form, fieldName) {=0A=
    var result =3D 0;=0A=
    var items =3D form.elements[fieldName];=0A=
    if (items) for (var i =3D 0; i < items.length; i++) if =
(items[i].checked) result++;=0A=
    return result;=0A=
}=0A=
function getCookie(name) {=0A=
    name =3D name + "=3D";=0A=
    var cookies =3D document.cookie.split(';');=0A=
    for (var i =3D 0; i < cookies.length; i++) {=0A=
        var c =3D cookies[i];=0A=
        while (c.charAt(0) =3D=3D ' ') c =3D c.substring(1);// LTrim=0A=
        if (c.indexOf(name) =3D=3D 0) return c.substring(name.length);=0A=
    }=0A=
    return null;=0A=
}=0A=
function syncSession(sid, atcookie) {=0A=
    if (sid) {=0A=
        var url =3D location.host;=0A=
        url =3D url.indexOf("staging.") =3D=3D 0 ? url.substring(8) : =
("staging." + url);=0A=
        url =3D "http://" + url + "/session.jsp" + "?JSESSIONID=3D" + =
sid;=0A=
        if (atcookie) url +=3D "&atcookie=3D" + atcookie;=0A=
        window._sidImg =3D new Image;=0A=
        window._sidImg.src =3D url;=0A=
    }=0A=
}=0A=
=0A=
function confirmAction(url, msg) {=0A=
    if (confirm(msg)) document.location =3D url;=0A=
}=0A=
=0A=
function msword2html(str)=0A=
{=0A=
    if (str =3D=3D null || str.replace(/\s/g, "") =3D=3D "") {=0A=
        return str;=0A=
    }=0A=
    var array =3D [=0A=
        8211,   "&ndash;",=0A=
        8212,   "&mdash;",=0A=
        8216,   "&lsquo;",=0A=
        8217,   "&rsquo;",=0A=
        8218,   "&sbquo;",=0A=
        8219,   "&#x201b;",=0A=
        8220,   "&ldquo;",=0A=
        8221,   "&rdquo;",=0A=
        8222,   "&bdquo;",=0A=
        8223,   "&#x201f;",=0A=
    ];=0A=
    for (var i=3D0; i<array.length; i+=3D2) {=0A=
        str =3D str.replace(new =
RegExp(String.fromCharCode(array[i]),"g"),array[i+1]);=0A=
    }=0A=
    return str;=0A=
}=0A=
// requires /swfobject.js=0A=
function addFlashMovie(id, flv) {=0A=
    var so =3D new SWFObject('/flvplayer.swf',id,'352','288','7');=0A=
	so.addParam('allowfullscreen','false');=0A=
	so.addVariable('file',flv);=0A=
	so.addVariable('type','flv');=0A=
    if (navigator.appName.indexOf("Microsoft") !=3D -1) {=0A=
        // this is needed for IE, but i breaks Gecko=0A=
        so.addVariable('width','352');=0A=
        so.addVariable('height','288');=0A=
    }=0A=
    so.write(id);=0A=
}=0A=
=0A=
/**=0A=
 * Retrieves the form with <code>name</code>=0A=
 * from the current document. Works in all browsers.=0A=
 * @param name=0A=
 */=0A=
function getForm(name)=0A=
{=0A=
    for(var i=3D0; i < document.forms.length; i++) {=0A=
        if(document.forms[i].name =3D=3D name)=0A=
            return document.forms[i];=0A=
    }=0A=
=0A=
    return null;=0A=
}=0A=
=0A=
/**=0A=
 * Retrieves the input element <code>inputName</code>=0A=
 * from the form named <code>formName</code> in the=0A=
 * current document. Works in all browsers.=0A=
 * @param formName=0A=
 * @param inputName=0A=
 */=0A=
function getFormInput(formName, inputName)=0A=
{=0A=
    var form=3DgetForm(formName);=0A=
=0A=
    for(var i=3D0; i < form.elements.length; i++) {=0A=
        if(form.elements[i].name =3D=3D inputName)=0A=
            return form.elements[i];=0A=
    }=0A=
=0A=
    return null;=0A=
}=0A=
=0A=
function searchResultPage(aForm, page, aSubject)=0A=
{=0A=
    getFormInput(aForm.name, 'startPage').value=3D page;=0A=
	aForm.submit();=0A=
}=0A=
=0A=
/**	function to show next search page */=0A=
function searchNextResultPage(aForm, aOffset)=0A=
{=0A=
    var startPage=3Dnull;=0A=
=0A=
    for(var i=3D0; i < aForm.elements.length; i++) {=0A=
        if(aForm.elements[i].name =3D=3D 'startPage') {=0A=
            startPage=3DaForm.elements[i];=0A=
            break;=0A=
        }=0A=
    }=0A=
=0A=
    if(startPage !=3D null) {=0A=
	    startPage.value =3D eval(startPage.value) + aOffset;=0A=
	    aForm.submit();=0A=
    }=0A=
}=0A=
=0A=
=0A=
function searchWithButtona(aPageOffset,button)=0A=
{   var form =3D document.forms.searchForm;=0A=
    var page =3D eval(form.startPage.value) + aPageOffset;=0A=
	form.startPage.value =3D page;=0A=
    form.nextPrev.value =3D "yes";=0A=
    submitFormWithButtonClicked(form, button);=0A=
}=0A=
=0A=
/**=0A=
 *	simulate a mouse event on clicking speicfied button=0A=
 *	and then call the form to automatically submit.=0A=
 *	@param	aFrom	form to be submitted.=0A=
 *	@param	aButton	button to be simulated being clicked.=0A=
 */=0A=
function submitFormWithButtonClicked(aForm, aButton)=0A=
{=0A=
	if (document.all && document.all[aButton])=0A=
	{=0A=
		var x =3D document.all[aButton];=0A=
		if (x.length)=0A=
			x =3D x[0];=0A=
		x.click();=0A=
	}=0A=
	else=0A=
	{=0A=
		var x =3D aForm.action;=0A=
		if ((x.type=3D=3Dnull) || (x.type.indexOf("select")=3D=3D-1))=0A=
		{=0A=
			x +=3D ((x.indexOf("?") > 0) ? "&" : "?");=0A=
			x +=3D (aButton + ".x=3D1");=0A=
			aForm.action =3D x;=0A=
		}=0A=
		else=0A=
		{=0A=
			var sltd =3D x.options[x.selectedIndex];=0A=
			var pfxJSBTN =3D "jsbtn:";=0A=
			if (sltd.value.indexOf(pfxJSBTN) =3D=3D -1)=0A=
			{=0A=
				var value =3D (pfxJSBTN + aButton + ";" + sltd.value);=0A=
				//x.options[x.selectedIndex] =3D new Option(sltd.text, value, true, =
true);=0A=
				x.options[x.selectedIndex].value =3D value;=0A=
			}=0A=
		}=0A=
		aForm.submit();=0A=
	}=0A=
}=0A=

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/_midtier/script.js

/* Function to show help page */=0A=
function popupHelp(url)=0A=
{=0A=
	popupHelp550(url);=0A=
}=0A=
=0A=
/* Function to open up a new browser window, without a navigation bar */=0A=
function newWindow(url)=0A=
{=0A=
    var new_window;=0A=
    var windowProperties;=0A=
    windowProperties =3D =
"width=3D750,height=3D700,top=3D30,left=3D230,toolbar=3D0,menubar=3D0,res=
izable=3D1,scrollbars=3Dyes";=0A=
    if(new_window=3D=3Dnull) {=0A=
       new_window =3D window.open(url,null,windowProperties);=0A=
    } else {=0A=
       new_window.document.replace(url);=0A=
    }=0A=
}=0A=
=0A=
function goTo( url ) {=0A=
    window.location.href =3D url;=0A=
}=0A=
=0A=
// for use like <a href=3D"xxx" onClick=3D"return =
parentWindowGoTo(this.href);">xxx</a>=0A=
function parentWindowGoTo(url, closeSelf) {=0A=
	if (self.opener !=3D null) {=0A=
		self.opener.location =3D url;=0A=
		self.opener.focus();=0A=
	} else {=0A=
		self.location =3D url;=0A=
	}=0A=
	if(closeSelf) self.close();=0A=
	return false;=0A=
}=0A=
=0A=
/* Function to go to selected item in drop down menu */=0A=
function GoTo(sel, targetstr)=0A=
{=0A=
  var index =3D sel.selectedIndex;=0A=
  if (sel.options[index].value !=3D '') {=0A=
	 if (targetstr =3D=3D 'blank') {=0A=
	   window.open(sel.options[index].value, 'win1');=0A=
	 } else {=0A=
	   var frameobj;=0A=
	   if ((frameobj =3D eval(targetstr)) !=3D null)=0A=
		 frameobj.location =3D sel.options[index].value;=0A=
	 }=0A=
  }=0A=
}=0A=
=0A=
=0A=
////=0A=
///	search related=0A=
//=0A=
=0A=
/**	function to show next search page */=0A=
function searchNextResultPage(aForm, aOffset)=0A=
{=0A=
    var startPage=3Dnull;=0A=
=0A=
    for(var i=3D0; i < aForm.elements.length; i++) {=0A=
        if(aForm.elements[i].name =3D=3D 'startPage') {=0A=
            startPage=3DaForm.elements[i];=0A=
            break;=0A=
        }=0A=
    }=0A=
=0A=
    if(startPage !=3D null) {=0A=
	    startPage.value =3D eval(startPage.value) + aOffset;=0A=
	    aForm.submit();=0A=
    }=0A=
}=0A=
=0A=
=0A=
/**	function to submit search form with first page */=0A=
function searchShowFirstPage(aForm, aCheckSort)=0A=
{=0A=
	if (aCheckSort) {=0A=
        var sortBy=3DgetFormInput(aForm.name, 'sortBy');=0A=
=0A=
        if (sortBy.defaultChecked =3D=3D sortBy.checked) {=0A=
			return;=0A=
		}=0A=
	}=0A=
=0A=
    getFormInput(aForm.name, 'startPage').value=3D0;=0A=
	aForm.submit();=0A=
}=0A=
=0A=
=0A=
/**	invoke when a search result form is being submitted */=0A=
function onResultSearchFormSubmit(aForm)=0A=
{=0A=
	if (aForm.searchText &&=0A=
		aForm.searchText.value) {=0A=
		aForm.startPage.value =3D 0;=0A=
	}=0A=
	aForm.submit();=0A=
}=0A=
=0A=
=0A=
/**	modify current search query */=0A=
function onModifySearchClick(aForm)=0A=
{=0A=
	var elmts =3D aForm.elements;=0A=
	for (var i=3D0; i<elmts.length; i++) {=0A=
		if (elmts[i].name =3D=3D "action") {=0A=
			elmts[i].value =3D "modifySearch";=0A=
			aForm.submit();=0A=
			return;=0A=
		}=0A=
	}=0A=
	alert("cannot find form: " + aForm.name);=0A=
}=0A=
=0A=
function onSubscribeSearchFeed(aForm)=0A=
{=0A=
	var elmts =3D aForm.elements;=0A=
	for (var i=3D0; i<elmts.length; i++) {=0A=
		if (elmts[i].name =3D=3D 'action') {=0A=
			elmts[i].value =3D "searchFeed";=0A=
			props =3D =
"width=3D800,height=3D350,toolbar=3D0,location=3D1,menubar=3D1,resizable=3D=
1,scrollbars=3Dyes";=0A=
			win =3D window.open('', 'feed', props);=0A=
			win.focus();=0A=
			aForm.submit();=0A=
			return;=0A=
		}=0A=
	}=0A=
	alert("cannot find form: " + aForm.name);=0A=
}=0A=
=0A=
/**	user changes search history */=0A=
function onChangeSearchHistory(aForm)=0A=
{=0A=
	var index =3D aForm.history.selectedIndex;=0A=
	if (index > 0)=0A=
		window.location =3D aForm.history.options[index].value;=0A=
}=0A=
=0A=
=0A=
/**	user clicks "Mark or unmark all items" checkbox */=0A=
function onClickMarkAll(aForm)=0A=
{=0A=
	var markall =3D aForm.markall.checked;=0A=
	markAllCheckboxes(aForm, "", markall);=0A=
}=0A=
=0A=
=0A=
function submitArticles(aForm, action) {=0A=
	submitMultiArticles(aForm, action, false);=0A=
}=0A=
=0A=
/**	submit form instantly */=0A=
function onSearchRadioClick(aRadio)=0A=
{=0A=
	document.forms['frmSearch'].submit();=0A=
}=0A=
=0A=
=0A=
/**	when user clicks suggested search query */=0A=
function submitSuggestedSearch(aQuery)=0A=
{=0A=
	var frm =3D document.forms['frmSearch'];=0A=
	frm.prevSearch.value =3D aQuery.replace(/\+/g, "%2B");=0A=
	frm.submit();=0A=
}=0A=
=0A=
=0A=
/**	in submission of journal search */=0A=
function onSubmitJournalSearch()=0A=
{=0A=
	var url =3D "/action/doSearch?action=3Dsearch";=0A=
=0A=
	var elmts =3D document.frmJournalSearch.elements;=0A=
	var prevSearch =3D "";=0A=
	for (var i=3D0; i<elmts.length; i++)=0A=
	{=0A=
		var name =3D elmts[i].name;=0A=
		var value =3D elmts[i].value;=0A=
		if (value =3D=3D "")=0A=
			continue;=0A=
=0A=
		if (name.indexOf("field") =3D=3D -1) {=0A=
			url +=3D ("&" + name + "=3D" + value);=0A=
//		} else if (name =3D=3D "volyearfield") {=0A=
//			if (prevSearch.length > 0)=0A=
//				prevSearch +=3D "%20and%20";=0A=
//			prevSearch +=3D=0A=
//				"%2B(" + _toQueryTerm("journalvolumefield", value) +=0A=
//				"+" +=0A=
//				_toQueryTerm("journalpublicationyearfield", value) +=0A=
//				")";=0A=
		} else {=0A=
			if (prevSearch.length > 0)=0A=
				prevSearch +=3D "+";=0A=
			prevSearch +=3D _toQueryTerm(name, value);=0A=
		}=0A=
	}=0A=
=0A=
	url +=3D ("&prevSearch=3D" + escape(prevSearch));=0A=
	window.location =3D url;=0A=
}=0A=
=0A=
=0A=
/**	helper method in onSubmitJournalSearch() */=0A=
function _toQueryTerm(aField, aValue)=0A=
{=0A=
	var myValue =3D aValue.replace(/\"/g, '');=0A=
	var hasSpc =3D false;=0A=
	for (var i=3DaValue.length-1; i>=3D0; i--) {=0A=
		if (aValue.charAt(i) =3D=3D ' ') {=0A=
			hasSpc =3D true;=0A=
			break;=0A=
		}=0A=
	}=0A=
	if (hasSpc)=0A=
		myValue =3D '\"' + myValue + '\"';=0A=
	return ("%2B" + aField + "%3A" + myValue)=0A=
}=0A=
=0A=
=0A=
/**	when user clicks suggested search query */=0A=
function submitSuggestedSearch(aQuery)=0A=
{=0A=
	var frm =3D document.forms['frmSearch'];=0A=
	frm.prevSearch.value =3D aQuery.replace(/\+/g, "%2B");=0A=
	frm.submit();=0A=
}=0A=
=0A=
=0A=
function checkElement(aForm, aName, aValue)=0A=
{=0A=
	var elmts =3D aForm.elements;=0A=
	for (var i=3Delmts.length-1; i>=3D0; i=3Di-1)=0A=
	{=0A=
		if ((elmts[i].name =3D=3D aName) &&=0A=
			(elmts[i].value =3D=3D aValue))=0A=
		{=0A=
			elmts[i].checked =3D true;=0A=
			return;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function checkSearchInput(aForm)=0A=
{=0A=
	if (aForm.searchText.value =3D=3D "Enter Keywords") {=0A=
		alert("Please enter search terms");=0A=
	} else {=0A=
		aForm.submit();=0A=
	}=0A=
}=0A=
=0A=
function checkValue(value, errorValue, errorMessage) {=0A=
     if (value =3D=3D errorValue) {=0A=
         alert(errorMessage);=0A=
         return false;=0A=
     }=0A=
     return true;=0A=
}=0A=
=0A=
////=0A=
///	for save search=0A=
//=0A=
=0A=
function getSaveSearchNameObject(aForm)=0A=
{=0A=
	var obj;=0A=
	if (! document.all) {=0A=
		var arr =3D aForm.elements;=0A=
		for (var i=3D0; (! obj) && (i<arr.length); i++) {=0A=
			if (arr[i].name =3D=3D "saveSearchName") {=0A=
				obj =3D arr[i];=0A=
			}=0A=
		}=0A=
	} else {=0A=
		obj =3D document.all.saveSearchName;=0A=
	}=0A=
	return obj;=0A=
}=0A=
=0A=
=0A=
function performSaveSearch(aForm, aIsFAJ)=0A=
{=0A=
	var sltAlert =3D aForm.searchalert;=0A=
	if (aIsFAJ && (sltAlert.selectedIndex>0)) {=0A=
		alert("Sorry, e-mail alert for journals with \n" +=0A=
				"full access rights is not available.");=0A=
		return;=0A=
	}=0A=
=0A=
	var elmts =3D aForm.elements;=0A=
	for (var i=3D0; i<elmts.length; i++) {=0A=
		if (elmts[i].name =3D=3D "action") {=0A=
			elmts[i].value =3D "save";=0A=
			aForm.submit();=0A=
			return;=0A=
		}=0A=
	}=0A=
	alert("form not found: " + aForm.name);=0A=
}=0A=
=0A=
function showhide(parentId, childId, imgLinks){=0A=
    if (document.getElementById){=0A=
        var obj =3D document.getElementById(parentId);=0A=
        var children =3D obj.childNodes;=0A=
        for(var i =3D 0; i < children.length; i++) {=0A=
            var child =3D children.item(i);=0A=
            if(child.id =3D=3D childId)=0A=
            {=0A=
                if (child.style.display =3D=3D "none"){=0A=
                    child.style.display =3D "block";=0A=
                } else {=0A=
                    child.style.display =3D "none";=0A=
                }=0A=
            }=0A=
            if (child.id =3D=3D imgLinks) {=0A=
                var grandChildren =3D child.childNodes;=0A=
                for (var j =3D 0; j < grandChildren.length; j++) {=0A=
                    var child2 =3D grandChildren.item(j);=0A=
                    if (child2.id =3D=3D 'collapseImage') {=0A=
                        if (child2.style.display =3D=3D "none") {=0A=
                            child2.style.display=3D"";=0A=
                        } else {=0A=
                            child2.style.cssText =3D 'display:none';=0A=
                        }=0A=
                    }=0A=
                    if (child2.id =3D=3D 'expandImage') {=0A=
                        if (child2.style.display =3D=3D "none") {        =
                    =0A=
                              child2.style.display=3D"";=0A=
                        } else {=0A=
                            child2.style.cssText =3D 'display:none';=0A=
                        }=0A=
                    }=0A=
                }=0A=
            }=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
function suggest(aQuery) {=0A=
	var frm =3D document.forms['frmSearch'];=0A=
	frm.prevSearch.value =3D aQuery;=0A=
	frm.submit();=0A=
}=0A=
=0A=
function searchChangeResultsPerPage(aForm) {=0A=
    var dropdown =3D document.getElementById('nh')=0A=
    var nh=3DgetFormInput(aForm.name, 'nh');=0A=
    nh.value =3D dropdown[dropdown.selectedIndex].value;=0A=
=0A=
    aForm.submit();=0A=
}=0A=

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/js/prototype.js

/*  Prototype JavaScript framework, version 1.6.1=0A=
 *  (c) 2005-2009 Sam Stephenson=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://www.prototypejs.org/=0A=
 *=0A=
 =
*------------------------------------------------------------------------=
--*/=0A=
=0A=
var Prototype =3D {=0A=
  Version: '1.6.1',=0A=
=0A=
  Browser: (function(){=0A=
    var ua =3D navigator.userAgent;=0A=
    var isOpera =3D Object.prototype.toString.call(window.opera) =3D=3D =
'[object Opera]';=0A=
    return {=0A=
      IE:             !!window.attachEvent && !isOpera,=0A=
      Opera:          isOpera,=0A=
      WebKit:         ua.indexOf('AppleWebKit/') > -1,=0A=
      Gecko:          ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') =
=3D=3D=3D -1,=0A=
      MobileSafari:   /Apple.*Mobile.*Safari/.test(ua)=0A=
    }=0A=
  })(),=0A=
=0A=
  BrowserFeatures: {=0A=
    XPath: !!document.evaluate,=0A=
    SelectorsAPI: !!document.querySelector,=0A=
    ElementExtensions: (function() {=0A=
      var constructor =3D window.Element || window.HTMLElement;=0A=
      return !!(constructor && constructor.prototype);=0A=
    })(),=0A=
    SpecificElementExtensions: (function() {=0A=
      if (typeof window.HTMLDivElement !=3D=3D 'undefined')=0A=
        return true;=0A=
=0A=
      var div =3D document.createElement('div');=0A=
      var form =3D document.createElement('form');=0A=
      var isSupported =3D false;=0A=
=0A=
      if (div['__proto__'] && (div['__proto__'] !=3D=3D =
form['__proto__'])) {=0A=
        isSupported =3D true;=0A=
      }=0A=
=0A=
      div =3D form =3D null;=0A=
=0A=
      return isSupported;=0A=
    })()=0A=
  },=0A=
=0A=
  ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',=0A=
  JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A=
=0A=
  emptyFunction: function() { },=0A=
  K: function(x) { return x }=0A=
};=0A=
=0A=
if (Prototype.Browser.MobileSafari)=0A=
  Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A=
=0A=
=0A=
var Abstract =3D { };=0A=
=0A=
=0A=
var Try =3D {=0A=
  these: function() {=0A=
    var returnValue;=0A=
=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) { }=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
};=0A=
=0A=
/* Based on Alex Arnell's inheritance implementation. */=0A=
=0A=
var Class =3D (function() {=0A=
  function subclass() {};=0A=
  function create() {=0A=
    var parent =3D null, properties =3D $A(arguments);=0A=
    if (Object.isFunction(properties[0]))=0A=
      parent =3D properties.shift();=0A=
=0A=
    function klass() {=0A=
      this.initialize.apply(this, arguments);=0A=
    }=0A=
=0A=
    Object.extend(klass, Class.Methods);=0A=
    klass.superclass =3D parent;=0A=
    klass.subclasses =3D [];=0A=
=0A=
    if (parent) {=0A=
      subclass.prototype =3D parent.prototype;=0A=
      klass.prototype =3D new subclass;=0A=
      parent.subclasses.push(klass);=0A=
    }=0A=
=0A=
    for (var i =3D 0; i < properties.length; i++)=0A=
      klass.addMethods(properties[i]);=0A=
=0A=
    if (!klass.prototype.initialize)=0A=
      klass.prototype.initialize =3D Prototype.emptyFunction;=0A=
=0A=
    klass.prototype.constructor =3D klass;=0A=
    return klass;=0A=
  }=0A=
=0A=
  function addMethods(source) {=0A=
    var ancestor   =3D this.superclass && this.superclass.prototype;=0A=
    var properties =3D Object.keys(source);=0A=
=0A=
    if (!Object.keys({ toString: true }).length) {=0A=
      if (source.toString !=3D Object.prototype.toString)=0A=
        properties.push("toString");=0A=
      if (source.valueOf !=3D Object.prototype.valueOf)=0A=
        properties.push("valueOf");=0A=
    }=0A=
=0A=
    for (var i =3D 0, length =3D properties.length; i < length; i++) {=0A=
      var property =3D properties[i], value =3D source[property];=0A=
      if (ancestor && Object.isFunction(value) &&=0A=
          value.argumentNames().first() =3D=3D "$super") {=0A=
        var method =3D value;=0A=
        value =3D (function(m) {=0A=
          return function() { return ancestor[m].apply(this, arguments); =
};=0A=
        })(property).wrap(method);=0A=
=0A=
        value.valueOf =3D method.valueOf.bind(method);=0A=
        value.toString =3D method.toString.bind(method);=0A=
      }=0A=
      this.prototype[property] =3D value;=0A=
    }=0A=
=0A=
    return this;=0A=
  }=0A=
=0A=
  return {=0A=
    create: create,=0A=
    Methods: {=0A=
      addMethods: addMethods=0A=
    }=0A=
  };=0A=
})();=0A=
(function() {=0A=
=0A=
  var _toString =3D Object.prototype.toString;=0A=
=0A=
  function extend(destination, source) {=0A=
    for (var property in source)=0A=
      destination[property] =3D source[property];=0A=
    return destination;=0A=
  }=0A=
=0A=
  function inspect(object) {=0A=
    try {=0A=
      if (isUndefined(object)) return 'undefined';=0A=
      if (object =3D=3D=3D null) return 'null';=0A=
      return object.inspect ? object.inspect() : String(object);=0A=
    } catch (e) {=0A=
      if (e instanceof RangeError) return '...';=0A=
      throw e;=0A=
    }=0A=
  }=0A=
=0A=
  function toJSON(object) {=0A=
    var type =3D typeof object;=0A=
    switch (type) {=0A=
      case 'undefined':=0A=
      case 'function':=0A=
      case 'unknown': return;=0A=
      case 'boolean': return object.toString();=0A=
    }=0A=
=0A=
    if (object =3D=3D=3D null) return 'null';=0A=
    if (object.toJSON) return object.toJSON();=0A=
    if (isElement(object)) return;=0A=
=0A=
    var results =3D [];=0A=
    for (var property in object) {=0A=
      var value =3D toJSON(object[property]);=0A=
      if (!isUndefined(value))=0A=
        results.push(property.toJSON() + ': ' + value);=0A=
    }=0A=
=0A=
    return '{' + results.join(', ') + '}';=0A=
  }=0A=
=0A=
  function toQueryString(object) {=0A=
    return $H(object).toQueryString();=0A=
  }=0A=
=0A=
  function toHTML(object) {=0A=
    return object && object.toHTML ? object.toHTML() : =
String.interpret(object);=0A=
  }=0A=
=0A=
  function keys(object) {=0A=
    var results =3D [];=0A=
    for (var property in object)=0A=
      results.push(property);=0A=
    return results;=0A=
  }=0A=
=0A=
  function values(object) {=0A=
    var results =3D [];=0A=
    for (var property in object)=0A=
      results.push(object[property]);=0A=
    return results;=0A=
  }=0A=
=0A=
  function clone(object) {=0A=
    return extend({ }, object);=0A=
  }=0A=
=0A=
  function isElement(object) {=0A=
    return !!(object && object.nodeType =3D=3D 1);=0A=
  }=0A=
=0A=
  function isArray(object) {=0A=
    return _toString.call(object) =3D=3D "[object Array]";=0A=
  }=0A=
=0A=
=0A=
  function isHash(object) {=0A=
    return object instanceof Hash;=0A=
  }=0A=
=0A=
  function isFunction(object) {=0A=
    return typeof object =3D=3D=3D "function";=0A=
  }=0A=
=0A=
  function isString(object) {=0A=
    return _toString.call(object) =3D=3D "[object String]";=0A=
  }=0A=
=0A=
  function isNumber(object) {=0A=
    return _toString.call(object) =3D=3D "[object Number]";=0A=
  }=0A=
=0A=
  function isUndefined(object) {=0A=
    return typeof object =3D=3D=3D "undefined";=0A=
  }=0A=
=0A=
  extend(Object, {=0A=
    extend:        extend,=0A=
    inspect:       inspect,=0A=
    toJSON:        toJSON,=0A=
    toQueryString: toQueryString,=0A=
    toHTML:        toHTML,=0A=
    keys:          keys,=0A=
    values:        values,=0A=
    clone:         clone,=0A=
    isElement:     isElement,=0A=
    isArray:       isArray,=0A=
    isHash:        isHash,=0A=
    isFunction:    isFunction,=0A=
    isString:      isString,=0A=
    isNumber:      isNumber,=0A=
    isUndefined:   isUndefined=0A=
  });=0A=
})();=0A=
Object.extend(Function.prototype, (function() {=0A=
  var slice =3D Array.prototype.slice;=0A=
=0A=
  function update(array, args) {=0A=
    var arrayLength =3D array.length, length =3D args.length;=0A=
    while (length--) array[arrayLength + length] =3D args[length];=0A=
    return array;=0A=
  }=0A=
=0A=
  function merge(array, args) {=0A=
    array =3D slice.call(array, 0);=0A=
    return update(array, args);=0A=
  }=0A=
=0A=
  function argumentNames() {=0A=
    var names =3D =
this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1]=0A=
      .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '')=0A=
      .replace(/\s+/g, '').split(',');=0A=
    return names.length =3D=3D 1 && !names[0] ? [] : names;=0A=
  }=0A=
=0A=
  function bind(context) {=0A=
    if (arguments.length < 2 && Object.isUndefined(arguments[0])) return =
this;=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    return function() {=0A=
      var a =3D merge(args, arguments);=0A=
      return __method.apply(context, a);=0A=
    }=0A=
  }=0A=
=0A=
  function bindAsEventListener(context) {=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    return function(event) {=0A=
      var a =3D update([event || window.event], args);=0A=
      return __method.apply(context, a);=0A=
    }=0A=
  }=0A=
=0A=
  function curry() {=0A=
    if (!arguments.length) return this;=0A=
    var __method =3D this, args =3D slice.call(arguments, 0);=0A=
    return function() {=0A=
      var a =3D merge(args, arguments);=0A=
      return __method.apply(this, a);=0A=
    }=0A=
  }=0A=
=0A=
  function delay(timeout) {=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    timeout =3D timeout * 1000=0A=
    return window.setTimeout(function() {=0A=
      return __method.apply(__method, args);=0A=
    }, timeout);=0A=
  }=0A=
=0A=
  function defer() {=0A=
    var args =3D update([0.01], arguments);=0A=
    return this.delay.apply(this, args);=0A=
  }=0A=
=0A=
  function wrap(wrapper) {=0A=
    var __method =3D this;=0A=
    return function() {=0A=
      var a =3D update([__method.bind(this)], arguments);=0A=
      return wrapper.apply(this, a);=0A=
    }=0A=
  }=0A=
=0A=
  function methodize() {=0A=
    if (this._methodized) return this._methodized;=0A=
    var __method =3D this;=0A=
    return this._methodized =3D function() {=0A=
      var a =3D update([this], arguments);=0A=
      return __method.apply(null, a);=0A=
    };=0A=
  }=0A=
=0A=
  return {=0A=
    argumentNames:       argumentNames,=0A=
    bind:                bind,=0A=
    bindAsEventListener: bindAsEventListener,=0A=
    curry:               curry,=0A=
    delay:               delay,=0A=
    defer:               defer,=0A=
    wrap:                wrap,=0A=
    methodize:           methodize=0A=
  }=0A=
})());=0A=
=0A=
=0A=
Date.prototype.toJSON =3D function() {=0A=
  return '"' + this.getUTCFullYear() + '-' +=0A=
    (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A=
    this.getUTCDate().toPaddedString(2) + 'T' +=0A=
    this.getUTCHours().toPaddedString(2) + ':' +=0A=
    this.getUTCMinutes().toPaddedString(2) + ':' +=0A=
    this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A=
};=0A=
=0A=
=0A=
RegExp.prototype.match =3D RegExp.prototype.test;=0A=
=0A=
RegExp.escape =3D function(str) {=0A=
  return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A=
};=0A=
var PeriodicalExecuter =3D Class.create({=0A=
  initialize: function(callback, frequency) {=0A=
    this.callback =3D callback;=0A=
    this.frequency =3D frequency;=0A=
    this.currentlyExecuting =3D false;=0A=
=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);=0A=
  },=0A=
=0A=
  execute: function() {=0A=
    this.callback(this);=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    if (!this.timer) return;=0A=
    clearInterval(this.timer);=0A=
    this.timer =3D null;=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    if (!this.currentlyExecuting) {=0A=
      try {=0A=
        this.currentlyExecuting =3D true;=0A=
        this.execute();=0A=
        this.currentlyExecuting =3D false;=0A=
      } catch(e) {=0A=
        this.currentlyExecuting =3D false;=0A=
        throw e;=0A=
      }=0A=
    }=0A=
  }=0A=
});=0A=
Object.extend(String, {=0A=
  interpret: function(value) {=0A=
    return value =3D=3D null ? '' : String(value);=0A=
  },=0A=
  specialChar: {=0A=
    '\b': '\\b',=0A=
    '\t': '\\t',=0A=
    '\n': '\\n',=0A=
    '\f': '\\f',=0A=
    '\r': '\\r',=0A=
    '\\': '\\\\'=0A=
  }=0A=
});=0A=
=0A=
Object.extend(String.prototype, (function() {=0A=
=0A=
  function prepareReplacement(replacement) {=0A=
    if (Object.isFunction(replacement)) return replacement;=0A=
    var template =3D new Template(replacement);=0A=
    return function(match) { return template.evaluate(match) };=0A=
  }=0A=
=0A=
  function gsub(pattern, replacement) {=0A=
    var result =3D '', source =3D this, match;=0A=
    replacement =3D prepareReplacement(replacement);=0A=
=0A=
    if (Object.isString(pattern))=0A=
      pattern =3D RegExp.escape(pattern);=0A=
=0A=
    if (!(pattern.length || pattern.source)) {=0A=
      replacement =3D replacement('');=0A=
      return replacement + source.split('').join(replacement) + =
replacement;=0A=
    }=0A=
=0A=
    while (source.length > 0) {=0A=
      if (match =3D source.match(pattern)) {=0A=
        result +=3D source.slice(0, match.index);=0A=
        result +=3D String.interpret(replacement(match));=0A=
        source  =3D source.slice(match.index + match[0].length);=0A=
      } else {=0A=
        result +=3D source, source =3D '';=0A=
      }=0A=
    }=0A=
    return result;=0A=
  }=0A=
=0A=
  function sub(pattern, replacement, count) {=0A=
    replacement =3D prepareReplacement(replacement);=0A=
    count =3D Object.isUndefined(count) ? 1 : count;=0A=
=0A=
    return this.gsub(pattern, function(match) {=0A=
      if (--count < 0) return match[0];=0A=
      return replacement(match);=0A=
    });=0A=
  }=0A=
=0A=
  function scan(pattern, iterator) {=0A=
    this.gsub(pattern, iterator);=0A=
    return String(this);=0A=
  }=0A=
=0A=
  function truncate(length, truncation) {=0A=
    length =3D length || 30;=0A=
    truncation =3D Object.isUndefined(truncation) ? '...' : truncation;=0A=
    return this.length > length ?=0A=
      this.slice(0, length - truncation.length) + truncation : =
String(this);=0A=
  }=0A=
=0A=
  function strip() {=0A=
    return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A=
  }=0A=
=0A=
  function stripTags() {=0A=
    return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, =
'');=0A=
  }=0A=
=0A=
  function stripScripts() {=0A=
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A=
  }=0A=
=0A=
  function extractScripts() {=0A=
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A=
    var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A=
    return (this.match(matchAll) || []).map(function(scriptTag) {=0A=
      return (scriptTag.match(matchOne) || ['', ''])[1];=0A=
    });=0A=
  }=0A=
=0A=
  function evalScripts() {=0A=
    return this.extractScripts().map(function(script) { return =
eval(script) });=0A=
  }=0A=
=0A=
  function escapeHTML() {=0A=
    return =
this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');=0A=
  }=0A=
=0A=
  function unescapeHTML() {=0A=
    return =
this.stripTags().replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;=
/g,'&');=0A=
  }=0A=
=0A=
=0A=
  function toQueryParams(separator) {=0A=
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A=
    if (!match) return { };=0A=
=0A=
    return match[1].split(separator || '&').inject({ }, function(hash, =
pair) {=0A=
      if ((pair =3D pair.split('=3D'))[0]) {=0A=
        var key =3D decodeURIComponent(pair.shift());=0A=
        var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A=
        if (value !=3D undefined) value =3D decodeURIComponent(value);=0A=
=0A=
        if (key in hash) {=0A=
          if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];=0A=
          hash[key].push(value);=0A=
        }=0A=
        else hash[key] =3D value;=0A=
      }=0A=
      return hash;=0A=
    });=0A=
  }=0A=
=0A=
  function toArray() {=0A=
    return this.split('');=0A=
  }=0A=
=0A=
  function succ() {=0A=
    return this.slice(0, this.length - 1) +=0A=
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A=
  }=0A=
=0A=
  function times(count) {=0A=
    return count < 1 ? '' : new Array(count + 1).join(this);=0A=
  }=0A=
=0A=
  function camelize() {=0A=
    var parts =3D this.split('-'), len =3D parts.length;=0A=
    if (len =3D=3D 1) return parts[0];=0A=
=0A=
    var camelized =3D this.charAt(0) =3D=3D '-'=0A=
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A=
      : parts[0];=0A=
=0A=
    for (var i =3D 1; i < len; i++)=0A=
      camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);=0A=
=0A=
    return camelized;=0A=
  }=0A=
=0A=
  function capitalize() {=0A=
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();=0A=
  }=0A=
=0A=
  function underscore() {=0A=
    return this.replace(/::/g, '/')=0A=
               .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')=0A=
               .replace(/([a-z\d])([A-Z])/g, '$1_$2')=0A=
               .replace(/-/g, '_')=0A=
               .toLowerCase();=0A=
  }=0A=
=0A=
  function dasherize() {=0A=
    return this.replace(/_/g, '-');=0A=
  }=0A=
=0A=
  function inspect(useDoubleQuotes) {=0A=
    var escapedString =3D this.replace(/[\x00-\x1f\\]/g, =
function(character) {=0A=
      if (character in String.specialChar) {=0A=
        return String.specialChar[character];=0A=
      }=0A=
      return '\\u00' + character.charCodeAt().toPaddedString(2, 16);=0A=
    });=0A=
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') =
+ '"';=0A=
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return this.inspect(true);=0A=
  }=0A=
=0A=
  function unfilterJSON(filter) {=0A=
    return this.replace(filter || Prototype.JSONFilter, '$1');=0A=
  }=0A=
=0A=
  function isJSON() {=0A=
    var str =3D this;=0A=
    if (str.blank()) return false;=0A=
    str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A=
    return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A=
  }=0A=
=0A=
  function evalJSON(sanitize) {=0A=
    var json =3D this.unfilterJSON();=0A=
    try {=0A=
      if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A=
    } catch (e) { }=0A=
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A=
  }=0A=
=0A=
  function include(pattern) {=0A=
    return this.indexOf(pattern) > -1;=0A=
  }=0A=
=0A=
  function startsWith(pattern) {=0A=
    return this.indexOf(pattern) =3D=3D=3D 0;=0A=
  }=0A=
=0A=
  function endsWith(pattern) {=0A=
    var d =3D this.length - pattern.length;=0A=
    return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A=
  }=0A=
=0A=
  function empty() {=0A=
    return this =3D=3D '';=0A=
  }=0A=
=0A=
  function blank() {=0A=
    return /^\s*$/.test(this);=0A=
  }=0A=
=0A=
  function interpolate(object, pattern) {=0A=
    return new Template(this, pattern).evaluate(object);=0A=
  }=0A=
=0A=
  return {=0A=
    gsub:           gsub,=0A=
    sub:            sub,=0A=
    scan:           scan,=0A=
    truncate:       truncate,=0A=
    strip:          String.prototype.trim ? String.prototype.trim : =
strip,=0A=
    stripTags:      stripTags,=0A=
    stripScripts:   stripScripts,=0A=
    extractScripts: extractScripts,=0A=
    evalScripts:    evalScripts,=0A=
    escapeHTML:     escapeHTML,=0A=
    unescapeHTML:   unescapeHTML,=0A=
    toQueryParams:  toQueryParams,=0A=
    parseQuery:     toQueryParams,=0A=
    toArray:        toArray,=0A=
    succ:           succ,=0A=
    times:          times,=0A=
    camelize:       camelize,=0A=
    capitalize:     capitalize,=0A=
    underscore:     underscore,=0A=
    dasherize:      dasherize,=0A=
    inspect:        inspect,=0A=
    toJSON:         toJSON,=0A=
    unfilterJSON:   unfilterJSON,=0A=
    isJSON:         isJSON,=0A=
    evalJSON:       evalJSON,=0A=
    include:        include,=0A=
    startsWith:     startsWith,=0A=
    endsWith:       endsWith,=0A=
    empty:          empty,=0A=
    blank:          blank,=0A=
    interpolate:    interpolate=0A=
  };=0A=
})());=0A=
=0A=
var Template =3D Class.create({=0A=
  initialize: function(template, pattern) {=0A=
    this.template =3D template.toString();=0A=
    this.pattern =3D pattern || Template.Pattern;=0A=
  },=0A=
=0A=
  evaluate: function(object) {=0A=
    if (object && Object.isFunction(object.toTemplateReplacements))=0A=
      object =3D object.toTemplateReplacements();=0A=
=0A=
    return this.template.gsub(this.pattern, function(match) {=0A=
      if (object =3D=3D null) return (match[1] + '');=0A=
=0A=
      var before =3D match[1] || '';=0A=
      if (before =3D=3D '\\') return match[2];=0A=
=0A=
      var ctx =3D object, expr =3D match[3];=0A=
      var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A=
      match =3D pattern.exec(expr);=0A=
      if (match =3D=3D null) return before;=0A=
=0A=
      while (match !=3D null) {=0A=
        var comp =3D match[1].startsWith('[') ? =
match[2].replace(/\\\\]/g, ']') : match[1];=0A=
        ctx =3D ctx[comp];=0A=
        if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A=
        expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : =
match[0].length);=0A=
        match =3D pattern.exec(expr);=0A=
      }=0A=
=0A=
      return before + String.interpret(ctx);=0A=
    });=0A=
  }=0A=
});=0A=
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A=
=0A=
var $break =3D { };=0A=
=0A=
var Enumerable =3D (function() {=0A=
  function each(iterator, context) {=0A=
    var index =3D 0;=0A=
    try {=0A=
      this._each(function(value) {=0A=
        iterator.call(context, value, index++);=0A=
      });=0A=
    } catch (e) {=0A=
      if (e !=3D $break) throw e;=0A=
    }=0A=
    return this;=0A=
  }=0A=
=0A=
  function eachSlice(number, iterator, context) {=0A=
    var index =3D -number, slices =3D [], array =3D this.toArray();=0A=
    if (number < 1) return array;=0A=
    while ((index +=3D number) < array.length)=0A=
      slices.push(array.slice(index, index+number));=0A=
    return slices.collect(iterator, context);=0A=
  }=0A=
=0A=
  function all(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result =3D true;=0A=
    this.each(function(value, index) {=0A=
      result =3D result && !!iterator.call(context, value, index);=0A=
      if (!result) throw $break;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function any(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result =3D false;=0A=
    this.each(function(value, index) {=0A=
      if (result =3D !!iterator.call(context, value, index))=0A=
        throw $break;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function collect(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(iterator.call(context, value, index));=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function detect(iterator, context) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      if (iterator.call(context, value, index)) {=0A=
        result =3D value;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function findAll(iterator, context) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (iterator.call(context, value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function grep(filter, iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var results =3D [];=0A=
=0A=
    if (Object.isString(filter))=0A=
      filter =3D new RegExp(RegExp.escape(filter));=0A=
=0A=
    this.each(function(value, index) {=0A=
      if (filter.match(value))=0A=
        results.push(iterator.call(context, value, index));=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function include(object) {=0A=
    if (Object.isFunction(this.indexOf))=0A=
      if (this.indexOf(object) !=3D -1) return true;=0A=
=0A=
    var found =3D false;=0A=
    this.each(function(value) {=0A=
      if (value =3D=3D object) {=0A=
        found =3D true;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return found;=0A=
  }=0A=
=0A=
  function inGroupsOf(number, fillWith) {=0A=
    fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A=
    return this.eachSlice(number, function(slice) {=0A=
      while(slice.length < number) slice.push(fillWith);=0A=
      return slice;=0A=
    });=0A=
  }=0A=
=0A=
  function inject(memo, iterator, context) {=0A=
    this.each(function(value, index) {=0A=
      memo =3D iterator.call(context, memo, value, index);=0A=
    });=0A=
    return memo;=0A=
  }=0A=
=0A=
  function invoke(method) {=0A=
    var args =3D $A(arguments).slice(1);=0A=
    return this.map(function(value) {=0A=
      return value[method].apply(value, args);=0A=
    });=0A=
  }=0A=
=0A=
  function max(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator.call(context, value, index);=0A=
      if (result =3D=3D null || value >=3D result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function min(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator.call(context, value, index);=0A=
      if (result =3D=3D null || value < result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function partition(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var trues =3D [], falses =3D [];=0A=
    this.each(function(value, index) {=0A=
      (iterator.call(context, value, index) ?=0A=
        trues : falses).push(value);=0A=
    });=0A=
    return [trues, falses];=0A=
  }=0A=
=0A=
  function pluck(property) {=0A=
    var results =3D [];=0A=
    this.each(function(value) {=0A=
      results.push(value[property]);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function reject(iterator, context) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (!iterator.call(context, value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function sortBy(iterator, context) {=0A=
    return this.map(function(value, index) {=0A=
      return {=0A=
        value: value,=0A=
        criteria: iterator.call(context, value, index)=0A=
      };=0A=
    }).sort(function(left, right) {=0A=
      var a =3D left.criteria, b =3D right.criteria;=0A=
      return a < b ? -1 : a > b ? 1 : 0;=0A=
    }).pluck('value');=0A=
  }=0A=
=0A=
  function toArray() {=0A=
    return this.map();=0A=
  }=0A=
=0A=
  function zip() {=0A=
    var iterator =3D Prototype.K, args =3D $A(arguments);=0A=
    if (Object.isFunction(args.last()))=0A=
      iterator =3D args.pop();=0A=
=0A=
    var collections =3D [this].concat(args).map($A);=0A=
    return this.map(function(value, index) {=0A=
      return iterator(collections.pluck(index));=0A=
    });=0A=
  }=0A=
=0A=
  function size() {=0A=
    return this.toArray().length;=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '#<Enumerable:' + this.toArray().inspect() + '>';=0A=
  }=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
  return {=0A=
    each:       each,=0A=
    eachSlice:  eachSlice,=0A=
    all:        all,=0A=
    every:      all,=0A=
    any:        any,=0A=
    some:       any,=0A=
    collect:    collect,=0A=
    map:        collect,=0A=
    detect:     detect,=0A=
    findAll:    findAll,=0A=
    select:     findAll,=0A=
    filter:     findAll,=0A=
    grep:       grep,=0A=
    include:    include,=0A=
    member:     include,=0A=
    inGroupsOf: inGroupsOf,=0A=
    inject:     inject,=0A=
    invoke:     invoke,=0A=
    max:        max,=0A=
    min:        min,=0A=
    partition:  partition,=0A=
    pluck:      pluck,=0A=
    reject:     reject,=0A=
    sortBy:     sortBy,=0A=
    toArray:    toArray,=0A=
    entries:    toArray,=0A=
    zip:        zip,=0A=
    size:       size,=0A=
    inspect:    inspect,=0A=
    find:       detect=0A=
  };=0A=
})();=0A=
function $A(iterable) {=0A=
  if (!iterable) return [];=0A=
  if ('toArray' in Object(iterable)) return iterable.toArray();=0A=
  var length =3D iterable.length || 0, results =3D new Array(length);=0A=
  while (length--) results[length] =3D iterable[length];=0A=
  return results;=0A=
}=0A=
=0A=
function $w(string) {=0A=
  if (!Object.isString(string)) return [];=0A=
  string =3D string.strip();=0A=
  return string ? string.split(/\s+/) : [];=0A=
}=0A=
=0A=
Array.from =3D $A;=0A=
=0A=
=0A=
(function() {=0A=
  var arrayProto =3D Array.prototype,=0A=
      slice =3D arrayProto.slice,=0A=
      _each =3D arrayProto.forEach; // use native browser JS 1.6 =
implementation if available=0A=
=0A=
  function each(iterator) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      iterator(this[i]);=0A=
  }=0A=
  if (!_each) _each =3D each;=0A=
=0A=
  function clear() {=0A=
    this.length =3D 0;=0A=
    return this;=0A=
  }=0A=
=0A=
  function first() {=0A=
    return this[0];=0A=
  }=0A=
=0A=
  function last() {=0A=
    return this[this.length - 1];=0A=
  }=0A=
=0A=
  function compact() {=0A=
    return this.select(function(value) {=0A=
      return value !=3D null;=0A=
    });=0A=
  }=0A=
=0A=
  function flatten() {=0A=
    return this.inject([], function(array, value) {=0A=
      if (Object.isArray(value))=0A=
        return array.concat(value.flatten());=0A=
      array.push(value);=0A=
      return array;=0A=
    });=0A=
  }=0A=
=0A=
  function without() {=0A=
    var values =3D slice.call(arguments, 0);=0A=
    return this.select(function(value) {=0A=
      return !values.include(value);=0A=
    });=0A=
  }=0A=
=0A=
  function reverse(inline) {=0A=
    return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A=
  }=0A=
=0A=
  function uniq(sorted) {=0A=
    return this.inject([], function(array, value, index) {=0A=
      if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))=0A=
        array.push(value);=0A=
      return array;=0A=
    });=0A=
  }=0A=
=0A=
  function intersect(array) {=0A=
    return this.uniq().findAll(function(item) {=0A=
      return array.detect(function(value) { return item =3D=3D=3D value =
});=0A=
    });=0A=
  }=0A=
=0A=
=0A=
  function clone() {=0A=
    return slice.call(this, 0);=0A=
  }=0A=
=0A=
  function size() {=0A=
    return this.length;=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    var results =3D [];=0A=
    this.each(function(object) {=0A=
      var value =3D Object.toJSON(object);=0A=
      if (!Object.isUndefined(value)) results.push(value);=0A=
    });=0A=
    return '[' + results.join(', ') + ']';=0A=
  }=0A=
=0A=
  function indexOf(item, i) {=0A=
    i || (i =3D 0);=0A=
    var length =3D this.length;=0A=
    if (i < 0) i =3D length + i;=0A=
    for (; i < length; i++)=0A=
      if (this[i] =3D=3D=3D item) return i;=0A=
    return -1;=0A=
  }=0A=
=0A=
  function lastIndexOf(item, i) {=0A=
    i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A=
    var n =3D this.slice(0, i).reverse().indexOf(item);=0A=
    return (n < 0) ? n : i - n - 1;=0A=
  }=0A=
=0A=
  function concat() {=0A=
    var array =3D slice.call(this, 0), item;=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      item =3D arguments[i];=0A=
      if (Object.isArray(item) && !('callee' in item)) {=0A=
        for (var j =3D 0, arrayLength =3D item.length; j < arrayLength; =
j++)=0A=
          array.push(item[j]);=0A=
      } else {=0A=
        array.push(item);=0A=
      }=0A=
    }=0A=
    return array;=0A=
  }=0A=
=0A=
  Object.extend(arrayProto, Enumerable);=0A=
=0A=
  if (!arrayProto._reverse)=0A=
    arrayProto._reverse =3D arrayProto.reverse;=0A=
=0A=
  Object.extend(arrayProto, {=0A=
    _each:     _each,=0A=
    clear:     clear,=0A=
    first:     first,=0A=
    last:      last,=0A=
    compact:   compact,=0A=
    flatten:   flatten,=0A=
    without:   without,=0A=
    reverse:   reverse,=0A=
    uniq:      uniq,=0A=
    intersect: intersect,=0A=
    clone:     clone,=0A=
    toArray:   clone,=0A=
    size:      size,=0A=
    inspect:   inspect,=0A=
    toJSON:    toJSON=0A=
  });=0A=
=0A=
  var CONCAT_ARGUMENTS_BUGGY =3D (function() {=0A=
    return [].concat(arguments)[0][0] !=3D=3D 1;=0A=
  })(1,2)=0A=
=0A=
  if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat =3D concat;=0A=
=0A=
  if (!arrayProto.indexOf) arrayProto.indexOf =3D indexOf;=0A=
  if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf =3D lastIndexOf;=0A=
})();=0A=
function $H(object) {=0A=
  return new Hash(object);=0A=
};=0A=
=0A=
var Hash =3D Class.create(Enumerable, (function() {=0A=
  function initialize(object) {=0A=
    this._object =3D Object.isHash(object) ? object.toObject() : =
Object.clone(object);=0A=
  }=0A=
=0A=
  function _each(iterator) {=0A=
    for (var key in this._object) {=0A=
      var value =3D this._object[key], pair =3D [key, value];=0A=
      pair.key =3D key;=0A=
      pair.value =3D value;=0A=
      iterator(pair);=0A=
    }=0A=
  }=0A=
=0A=
  function set(key, value) {=0A=
    return this._object[key] =3D value;=0A=
  }=0A=
=0A=
  function get(key) {=0A=
    if (this._object[key] !=3D=3D Object.prototype[key])=0A=
      return this._object[key];=0A=
  }=0A=
=0A=
  function unset(key) {=0A=
    var value =3D this._object[key];=0A=
    delete this._object[key];=0A=
    return value;=0A=
  }=0A=
=0A=
  function toObject() {=0A=
    return Object.clone(this._object);=0A=
  }=0A=
=0A=
  function keys() {=0A=
    return this.pluck('key');=0A=
  }=0A=
=0A=
  function values() {=0A=
    return this.pluck('value');=0A=
  }=0A=
=0A=
  function index(value) {=0A=
    var match =3D this.detect(function(pair) {=0A=
      return pair.value =3D=3D=3D value;=0A=
    });=0A=
    return match && match.key;=0A=
  }=0A=
=0A=
  function merge(object) {=0A=
    return this.clone().update(object);=0A=
  }=0A=
=0A=
  function update(object) {=0A=
    return new Hash(object).inject(this, function(result, pair) {=0A=
      result.set(pair.key, pair.value);=0A=
      return result;=0A=
    });=0A=
  }=0A=
=0A=
  function toQueryPair(key, value) {=0A=
    if (Object.isUndefined(value)) return key;=0A=
    return key + '=3D' + encodeURIComponent(String.interpret(value));=0A=
  }=0A=
=0A=
  function toQueryString() {=0A=
    return this.inject([], function(results, pair) {=0A=
      var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A=
=0A=
      if (values && typeof values =3D=3D 'object') {=0A=
        if (Object.isArray(values))=0A=
          return results.concat(values.map(toQueryPair.curry(key)));=0A=
      } else results.push(toQueryPair(key, values));=0A=
      return results;=0A=
    }).join('&');=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '#<Hash:{' + this.map(function(pair) {=0A=
      return pair.map(Object.inspect).join(': ');=0A=
    }).join(', ') + '}>';=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return Object.toJSON(this.toObject());=0A=
  }=0A=
=0A=
  function clone() {=0A=
    return new Hash(this);=0A=
  }=0A=
=0A=
  return {=0A=
    initialize:             initialize,=0A=
    _each:                  _each,=0A=
    set:                    set,=0A=
    get:                    get,=0A=
    unset:                  unset,=0A=
    toObject:               toObject,=0A=
    toTemplateReplacements: toObject,=0A=
    keys:                   keys,=0A=
    values:                 values,=0A=
    index:                  index,=0A=
    merge:                  merge,=0A=
    update:                 update,=0A=
    toQueryString:          toQueryString,=0A=
    inspect:                inspect,=0A=
    toJSON:                 toJSON,=0A=
    clone:                  clone=0A=
  };=0A=
})());=0A=
=0A=
Hash.from =3D $H;=0A=
Object.extend(Number.prototype, (function() {=0A=
  function toColorPart() {=0A=
    return this.toPaddedString(2, 16);=0A=
  }=0A=
=0A=
  function succ() {=0A=
    return this + 1;=0A=
  }=0A=
=0A=
  function times(iterator, context) {=0A=
    $R(0, this, true).each(iterator, context);=0A=
    return this;=0A=
  }=0A=
=0A=
  function toPaddedString(length, radix) {=0A=
    var string =3D this.toString(radix || 10);=0A=
    return '0'.times(length - string.length) + string;=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return isFinite(this) ? this.toString() : 'null';=0A=
  }=0A=
=0A=
  function abs() {=0A=
    return Math.abs(this);=0A=
  }=0A=
=0A=
  function round() {=0A=
    return Math.round(this);=0A=
  }=0A=
=0A=
  function ceil() {=0A=
    return Math.ceil(this);=0A=
  }=0A=
=0A=
  function floor() {=0A=
    return Math.floor(this);=0A=
  }=0A=
=0A=
  return {=0A=
    toColorPart:    toColorPart,=0A=
    succ:           succ,=0A=
    times:          times,=0A=
    toPaddedString: toPaddedString,=0A=
    toJSON:         toJSON,=0A=
    abs:            abs,=0A=
    round:          round,=0A=
    ceil:           ceil,=0A=
    floor:          floor=0A=
  };=0A=
})());=0A=
=0A=
function $R(start, end, exclusive) {=0A=
  return new ObjectRange(start, end, exclusive);=0A=
}=0A=
=0A=
var ObjectRange =3D Class.create(Enumerable, (function() {=0A=
  function initialize(start, end, exclusive) {=0A=
    this.start =3D start;=0A=
    this.end =3D end;=0A=
    this.exclusive =3D exclusive;=0A=
  }=0A=
=0A=
  function _each(iterator) {=0A=
    var value =3D this.start;=0A=
    while (this.include(value)) {=0A=
      iterator(value);=0A=
      value =3D value.succ();=0A=
    }=0A=
  }=0A=
=0A=
  function include(value) {=0A=
    if (value < this.start)=0A=
      return false;=0A=
    if (this.exclusive)=0A=
      return value < this.end;=0A=
    return value <=3D this.end;=0A=
  }=0A=
=0A=
  return {=0A=
    initialize: initialize,=0A=
    _each:      _each,=0A=
    include:    include=0A=
  };=0A=
})());=0A=
=0A=
=0A=
=0A=
var Ajax =3D {=0A=
  getTransport: function() {=0A=
    return Try.these(=0A=
      function() {return new XMLHttpRequest()},=0A=
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A=
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A=
    ) || false;=0A=
  },=0A=
=0A=
  activeRequestCount: 0=0A=
};=0A=
=0A=
Ajax.Responders =3D {=0A=
  responders: [],=0A=
=0A=
  _each: function(iterator) {=0A=
    this.responders._each(iterator);=0A=
  },=0A=
=0A=
  register: function(responder) {=0A=
    if (!this.include(responder))=0A=
      this.responders.push(responder);=0A=
  },=0A=
=0A=
  unregister: function(responder) {=0A=
    this.responders =3D this.responders.without(responder);=0A=
  },=0A=
=0A=
  dispatch: function(callback, request, transport, json) {=0A=
    this.each(function(responder) {=0A=
      if (Object.isFunction(responder[callback])) {=0A=
        try {=0A=
          responder[callback].apply(responder, [request, transport, =
json]);=0A=
        } catch (e) { }=0A=
      }=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Ajax.Responders, Enumerable);=0A=
=0A=
Ajax.Responders.register({=0A=
  onCreate:   function() { Ajax.activeRequestCount++ },=0A=
  onComplete: function() { Ajax.activeRequestCount-- }=0A=
});=0A=
Ajax.Base =3D Class.create({=0A=
  initialize: function(options) {=0A=
    this.options =3D {=0A=
      method:       'post',=0A=
      asynchronous: true,=0A=
      contentType:  'application/x-www-form-urlencoded',=0A=
      encoding:     'UTF-8',=0A=
      parameters:   '',=0A=
      evalJSON:     true,=0A=
      evalJS:       true=0A=
    };=0A=
    Object.extend(this.options, options || { });=0A=
=0A=
    this.options.method =3D this.options.method.toLowerCase();=0A=
=0A=
    if (Object.isString(this.options.parameters))=0A=
      this.options.parameters =3D =
this.options.parameters.toQueryParams();=0A=
    else if (Object.isHash(this.options.parameters))=0A=
      this.options.parameters =3D this.options.parameters.toObject();=0A=
  }=0A=
});=0A=
Ajax.Request =3D Class.create(Ajax.Base, {=0A=
  _complete: false,=0A=
=0A=
  initialize: function($super, url, options) {=0A=
    $super(options);=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  request: function(url) {=0A=
    this.url =3D url;=0A=
    this.method =3D this.options.method;=0A=
    var params =3D Object.clone(this.options.parameters);=0A=
=0A=
    if (!['get', 'post'].include(this.method)) {=0A=
      params['_method'] =3D this.method;=0A=
      this.method =3D 'post';=0A=
    }=0A=
=0A=
    this.parameters =3D params;=0A=
=0A=
    if (params =3D Object.toQueryString(params)) {=0A=
      if (this.method =3D=3D 'get')=0A=
        this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A=
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A=
        params +=3D '&_=3D';=0A=
    }=0A=
=0A=
    try {=0A=
      var response =3D new Ajax.Response(this);=0A=
      if (this.options.onCreate) this.options.onCreate(response);=0A=
      Ajax.Responders.dispatch('onCreate', this, response);=0A=
=0A=
      this.transport.open(this.method.toUpperCase(), this.url,=0A=
        this.options.asynchronous);=0A=
=0A=
      if (this.options.asynchronous) =
this.respondToReadyState.bind(this).defer(1);=0A=
=0A=
      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
      this.setRequestHeaders();=0A=
=0A=
      this.body =3D this.method =3D=3D 'post' ? (this.options.postBody =
|| params) : null;=0A=
      this.transport.send(this.body);=0A=
=0A=
      /* Force Firefox to handle ready state 4 for synchronous requests =
*/=0A=
      if (!this.options.asynchronous && this.transport.overrideMimeType)=0A=
        this.onStateChange();=0A=
=0A=
    }=0A=
    catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var headers =3D {=0A=
      'X-Requested-With': 'XMLHttpRequest',=0A=
      'X-Prototype-Version': Prototype.Version,=0A=
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'=0A=
    };=0A=
=0A=
    if (this.method =3D=3D 'post') {=0A=
      headers['Content-type'] =3D this.options.contentType +=0A=
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');=0A=
=0A=
      /* Force "Connection: close" for older Mozilla browsers to work=0A=
       * around a bug where XMLHttpRequest sends an incorrect=0A=
       * Content-length header. See Mozilla Bugzilla #246651.=0A=
       */=0A=
      if (this.transport.overrideMimeType &&=0A=
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)=0A=
            headers['Connection'] =3D 'close';=0A=
    }=0A=
=0A=
    if (typeof this.options.requestHeaders =3D=3D 'object') {=0A=
      var extras =3D this.options.requestHeaders;=0A=
=0A=
      if (Object.isFunction(extras.push))=0A=
        for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A=
          headers[extras[i]] =3D extras[i+1];=0A=
      else=0A=
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });=0A=
    }=0A=
=0A=
    for (var name in headers)=0A=
      this.transport.setRequestHeader(name, headers[name]);=0A=
  },=0A=
=0A=
  success: function() {=0A=
    var status =3D this.getStatus();=0A=
    return !status || (status >=3D 200 && status < 300);=0A=
  },=0A=
=0A=
  getStatus: function() {=0A=
    try {=0A=
      return this.transport.status || 0;=0A=
    } catch (e) { return 0 }=0A=
  },=0A=
=0A=
  respondToReadyState: function(readyState) {=0A=
    var state =3D Ajax.Request.Events[readyState], response =3D new =
Ajax.Response(this);=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      try {=0A=
        this._complete =3D true;=0A=
        (this.options['on' + response.status]=0A=
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A=
         || Prototype.emptyFunction)(response, response.headerJSON);=0A=
      } catch (e) {=0A=
        this.dispatchException(e);=0A=
      }=0A=
=0A=
      var contentType =3D response.getHeader('Content-type');=0A=
      if (this.options.evalJS =3D=3D 'force'=0A=
          || (this.options.evalJS && this.isSameOrigin() && contentType=0A=
          && =
contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s=
*$/i)))=0A=
        this.evalResponse();=0A=
    }=0A=
=0A=
    try {=0A=
      (this.options['on' + state] || Prototype.emptyFunction)(response, =
response.headerJSON);=0A=
      Ajax.Responders.dispatch('on' + state, this, response, =
response.headerJSON);=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A=
    }=0A=
  },=0A=
=0A=
  isSameOrigin: function() {=0A=
    var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A=
    return !m || (m[0] =3D=3D =
'#{protocol}//#{domain}#{port}'.interpolate({=0A=
      protocol: location.protocol,=0A=
      domain: document.domain,=0A=
      port: location.port ? ':' + location.port : ''=0A=
    }));=0A=
  },=0A=
=0A=
  getHeader: function(name) {=0A=
    try {=0A=
      return this.transport.getResponseHeader(name) || null;=0A=
    } catch (e) { return null; }=0A=
  },=0A=
=0A=
  evalResponse: function() {=0A=
    try {=0A=
      return eval((this.transport.responseText || '').unfilterJSON());=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  dispatchException: function(exception) {=0A=
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);=0A=
    Ajax.Responders.dispatch('onException', this, exception);=0A=
  }=0A=
});=0A=
=0A=
Ajax.Request.Events =3D=0A=
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
Ajax.Response =3D Class.create({=0A=
  initialize: function(request){=0A=
    this.request =3D request;=0A=
    var transport  =3D this.transport  =3D request.transport,=0A=
        readyState =3D this.readyState =3D transport.readyState;=0A=
=0A=
    if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) =
{=0A=
      this.status       =3D this.getStatus();=0A=
      this.statusText   =3D this.getStatusText();=0A=
      this.responseText =3D String.interpret(transport.responseText);=0A=
      this.headerJSON   =3D this._getHeaderJSON();=0A=
    }=0A=
=0A=
    if(readyState =3D=3D 4) {=0A=
      var xml =3D transport.responseXML;=0A=
      this.responseXML  =3D Object.isUndefined(xml) ? null : xml;=0A=
      this.responseJSON =3D this._getResponseJSON();=0A=
    }=0A=
  },=0A=
=0A=
  status:      0,=0A=
=0A=
  statusText: '',=0A=
=0A=
  getStatus: Ajax.Request.prototype.getStatus,=0A=
=0A=
  getStatusText: function() {=0A=
    try {=0A=
      return this.transport.statusText || '';=0A=
    } catch (e) { return '' }=0A=
  },=0A=
=0A=
  getHeader: Ajax.Request.prototype.getHeader,=0A=
=0A=
  getAllHeaders: function() {=0A=
    try {=0A=
      return this.getAllResponseHeaders();=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  getResponseHeader: function(name) {=0A=
    return this.transport.getResponseHeader(name);=0A=
  },=0A=
=0A=
  getAllResponseHeaders: function() {=0A=
    return this.transport.getAllResponseHeaders();=0A=
  },=0A=
=0A=
  _getHeaderJSON: function() {=0A=
    var json =3D this.getHeader('X-JSON');=0A=
    if (!json) return null;=0A=
    json =3D decodeURIComponent(escape(json));=0A=
    try {=0A=
      return json.evalJSON(this.request.options.sanitizeJSON ||=0A=
        !this.request.isSameOrigin());=0A=
    } catch (e) {=0A=
      this.request.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  _getResponseJSON: function() {=0A=
    var options =3D this.request.options;=0A=
    if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A=
      !(this.getHeader('Content-type') || =
'').include('application/json')) ||=0A=
        this.responseText.blank())=0A=
          return null;=0A=
    try {=0A=
      return this.responseText.evalJSON(options.sanitizeJSON ||=0A=
        !this.request.isSameOrigin());=0A=
    } catch (e) {=0A=
      this.request.dispatchException(e);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create(Ajax.Request, {=0A=
  initialize: function($super, container, url, options) {=0A=
    this.container =3D {=0A=
      success: (container.success || container),=0A=
      failure: (container.failure || (container.success ? null : =
container))=0A=
    };=0A=
=0A=
    options =3D Object.clone(options);=0A=
    var onComplete =3D options.onComplete;=0A=
    options.onComplete =3D (function(response, json) {=0A=
      this.updateContent(response.responseText);=0A=
      if (Object.isFunction(onComplete)) onComplete(response, json);=0A=
    }).bind(this);=0A=
=0A=
    $super(url, options);=0A=
  },=0A=
=0A=
  updateContent: function(responseText) {=0A=
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'],=0A=
        options =3D this.options;=0A=
=0A=
    if (!options.evalScripts) responseText =3D =
responseText.stripScripts();=0A=
=0A=
    if (receiver =3D $(receiver)) {=0A=
      if (options.insertion) {=0A=
        if (Object.isString(options.insertion)) {=0A=
          var insertion =3D { }; insertion[options.insertion] =3D =
responseText;=0A=
          receiver.insert(insertion);=0A=
        }=0A=
        else options.insertion(receiver, responseText);=0A=
      }=0A=
      else receiver.update(responseText);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A=
  initialize: function($super, container, url, options) {=0A=
    $super(options);=0A=
    this.onComplete =3D this.options.onComplete;=0A=
=0A=
    this.frequency =3D (this.options.frequency || 2);=0A=
    this.decay =3D (this.options.decay || 1);=0A=
=0A=
    this.updater =3D { };=0A=
    this.container =3D container;=0A=
    this.url =3D url;=0A=
=0A=
    this.start();=0A=
  },=0A=
=0A=
  start: function() {=0A=
    this.options.onComplete =3D this.updateComplete.bind(this);=0A=
    this.onTimerEvent();=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    this.updater.options.onComplete =3D undefined;=0A=
    clearTimeout(this.timer);=0A=
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A=
  },=0A=
=0A=
  updateComplete: function(response) {=0A=
    if (this.options.decay) {=0A=
      this.decay =3D (response.responseText =3D=3D this.lastText ?=0A=
        this.decay * this.options.decay : 1);=0A=
=0A=
      this.lastText =3D response.responseText;=0A=
    }=0A=
    this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * =
this.frequency);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
  }=0A=
});=0A=
=0A=
=0A=
=0A=
function $(element) {=0A=
  if (arguments.length > 1) {=0A=
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)=0A=
      elements.push($(arguments[i]));=0A=
    return elements;=0A=
  }=0A=
  if (Object.isString(element))=0A=
    element =3D document.getElementById(element);=0A=
  return Element.extend(element);=0A=
}=0A=
=0A=
if (Prototype.BrowserFeatures.XPath) {=0A=
  document._getElementsByXPath =3D function(expression, parentElement) {=0A=
    var results =3D [];=0A=
    var query =3D document.evaluate(expression, $(parentElement) || =
document,=0A=
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
    for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A=
      results.push(Element.extend(query.snapshotItem(i)));=0A=
    return results;=0A=
  };=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!window.Node) var Node =3D { };=0A=
=0A=
if (!Node.ELEMENT_NODE) {=0A=
  Object.extend(Node, {=0A=
    ELEMENT_NODE: 1,=0A=
    ATTRIBUTE_NODE: 2,=0A=
    TEXT_NODE: 3,=0A=
    CDATA_SECTION_NODE: 4,=0A=
    ENTITY_REFERENCE_NODE: 5,=0A=
    ENTITY_NODE: 6,=0A=
    PROCESSING_INSTRUCTION_NODE: 7,=0A=
    COMMENT_NODE: 8,=0A=
    DOCUMENT_NODE: 9,=0A=
    DOCUMENT_TYPE_NODE: 10,=0A=
    DOCUMENT_FRAGMENT_NODE: 11,=0A=
    NOTATION_NODE: 12=0A=
  });=0A=
}=0A=
=0A=
=0A=
(function(global) {=0A=
=0A=
  var SETATTRIBUTE_IGNORES_NAME =3D (function(){=0A=
    var elForm =3D document.createElement("form");=0A=
    var elInput =3D document.createElement("input");=0A=
    var root =3D document.documentElement;=0A=
    elInput.setAttribute("name", "test");=0A=
    elForm.appendChild(elInput);=0A=
    root.appendChild(elForm);=0A=
    var isBuggy =3D elForm.elements=0A=
      ? (typeof elForm.elements.test =3D=3D "undefined")=0A=
      : null;=0A=
    root.removeChild(elForm);=0A=
    elForm =3D elInput =3D null;=0A=
    return isBuggy;=0A=
  })();=0A=
=0A=
  var element =3D global.Element;=0A=
  global.Element =3D function(tagName, attributes) {=0A=
    attributes =3D attributes || { };=0A=
    tagName =3D tagName.toLowerCase();=0A=
    var cache =3D Element.cache;=0A=
    if (SETATTRIBUTE_IGNORES_NAME && attributes.name) {=0A=
      tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A=
      delete attributes.name;=0A=
      return Element.writeAttribute(document.createElement(tagName), =
attributes);=0A=
    }=0A=
    if (!cache[tagName]) cache[tagName] =3D =
Element.extend(document.createElement(tagName));=0A=
    return Element.writeAttribute(cache[tagName].cloneNode(false), =
attributes);=0A=
  };=0A=
  Object.extend(global.Element, element || { });=0A=
  if (element) global.Element.prototype =3D element.prototype;=0A=
})(this);=0A=
=0A=
Element.cache =3D { };=0A=
Element.idCounter =3D 1;=0A=
=0A=
Element.Methods =3D {=0A=
  visible: function(element) {=0A=
    return $(element).style.display !=3D 'none';=0A=
  },=0A=
=0A=
  toggle: function(element) {=0A=
    element =3D $(element);=0A=
    Element[Element.visible(element) ? 'hide' : 'show'](element);=0A=
    return element;=0A=
  },=0A=
=0A=
=0A=
  hide: function(element) {=0A=
    element =3D $(element);=0A=
    element.style.display =3D 'none';=0A=
    return element;=0A=
  },=0A=
=0A=
  show: function(element) {=0A=
    element =3D $(element);=0A=
    element.style.display =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  remove: function(element) {=0A=
    element =3D $(element);=0A=
    element.parentNode.removeChild(element);=0A=
    return element;=0A=
  },=0A=
=0A=
  update: (function(){=0A=
=0A=
    var SELECT_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A=
      var el =3D document.createElement("select"),=0A=
          isBuggy =3D true;=0A=
      el.innerHTML =3D "<option value=3D\"test\">test</option>";=0A=
      if (el.options && el.options[0]) {=0A=
        isBuggy =3D el.options[0].nodeName.toUpperCase() !=3D=3D =
"OPTION";=0A=
      }=0A=
      el =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    var TABLE_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A=
      try {=0A=
        var el =3D document.createElement("table");=0A=
        if (el && el.tBodies) {=0A=
          el.innerHTML =3D "<tbody><tr><td>test</td></tr></tbody>";=0A=
          var isBuggy =3D typeof el.tBodies[0] =3D=3D "undefined";=0A=
          el =3D null;=0A=
          return isBuggy;=0A=
        }=0A=
      } catch (e) {=0A=
        return true;=0A=
      }=0A=
    })();=0A=
=0A=
    var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING =3D (function () {=0A=
      var s =3D document.createElement("script"),=0A=
          isBuggy =3D false;=0A=
      try {=0A=
        s.appendChild(document.createTextNode(""));=0A=
        isBuggy =3D !s.firstChild ||=0A=
          s.firstChild && s.firstChild.nodeType !=3D=3D 3;=0A=
      } catch (e) {=0A=
        isBuggy =3D true;=0A=
      }=0A=
      s =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    function update(element, content) {=0A=
      element =3D $(element);=0A=
=0A=
      if (content && content.toElement)=0A=
        content =3D content.toElement();=0A=
=0A=
      if (Object.isElement(content))=0A=
        return element.update().insert(content);=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      var tagName =3D element.tagName.toUpperCase();=0A=
=0A=
      if (tagName =3D=3D=3D 'SCRIPT' && =
SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) {=0A=
        element.text =3D content;=0A=
        return element;=0A=
      }=0A=
=0A=
      if (SELECT_ELEMENT_INNERHTML_BUGGY || =
TABLE_ELEMENT_INNERHTML_BUGGY) {=0A=
        if (tagName in Element._insertionTranslations.tags) {=0A=
          while (element.firstChild) {=0A=
            element.removeChild(element.firstChild);=0A=
          }=0A=
          Element._getContentFromAnonymousElement(tagName, =
content.stripScripts())=0A=
            .each(function(node) {=0A=
              element.appendChild(node)=0A=
            });=0A=
        }=0A=
        else {=0A=
          element.innerHTML =3D content.stripScripts();=0A=
        }=0A=
      }=0A=
      else {=0A=
        element.innerHTML =3D content.stripScripts();=0A=
      }=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
      return element;=0A=
    }=0A=
=0A=
    return update;=0A=
  })(),=0A=
=0A=
  replace: function(element, content) {=0A=
    element =3D $(element);=0A=
    if (content && content.toElement) content =3D content.toElement();=0A=
    else if (!Object.isElement(content)) {=0A=
      content =3D Object.toHTML(content);=0A=
      var range =3D element.ownerDocument.createRange();=0A=
      range.selectNode(element);=0A=
      content.evalScripts.bind(content).defer();=0A=
      content =3D range.createContextualFragment(content.stripScripts());=0A=
    }=0A=
    element.parentNode.replaceChild(content, element);=0A=
    return element;=0A=
  },=0A=
=0A=
  insert: function(element, insertions) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A=
        Object.isElement(insertions) || (insertions && =
(insertions.toElement || insertions.toHTML)))=0A=
          insertions =3D {bottom:insertions};=0A=
=0A=
    var content, insert, tagName, childNodes;=0A=
=0A=
    for (var position in insertions) {=0A=
      content  =3D insertions[position];=0A=
      position =3D position.toLowerCase();=0A=
      insert =3D Element._insertionTranslations[position];=0A=
=0A=
      if (content && content.toElement) content =3D content.toElement();=0A=
      if (Object.isElement(content)) {=0A=
        insert(element, content);=0A=
        continue;=0A=
      }=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A=
        ? element.parentNode : element).tagName.toUpperCase();=0A=
=0A=
      childNodes =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());=0A=
=0A=
      if (position =3D=3D 'top' || position =3D=3D 'after') =
childNodes.reverse();=0A=
      childNodes.each(insert.curry(element));=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
    }=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  wrap: function(element, wrapper, attributes) {=0A=
    element =3D $(element);=0A=
    if (Object.isElement(wrapper))=0A=
      $(wrapper).writeAttribute(attributes || { });=0A=
    else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, =
attributes);=0A=
    else wrapper =3D new Element('div', wrapper);=0A=
    if (element.parentNode)=0A=
      element.parentNode.replaceChild(wrapper, element);=0A=
    wrapper.appendChild(element);=0A=
    return wrapper;=0A=
  },=0A=
=0A=
  inspect: function(element) {=0A=
    element =3D $(element);=0A=
    var result =3D '<' + element.tagName.toLowerCase();=0A=
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A=
      var property =3D pair.first(), attribute =3D pair.last();=0A=
      var value =3D (element[property] || '').toString();=0A=
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);=0A=
    });=0A=
    return result + '>';=0A=
  },=0A=
=0A=
  recursivelyCollect: function(element, property) {=0A=
    element =3D $(element);=0A=
    var elements =3D [];=0A=
    while (element =3D element[property])=0A=
      if (element.nodeType =3D=3D 1)=0A=
        elements.push(Element.extend(element));=0A=
    return elements;=0A=
  },=0A=
=0A=
  ancestors: function(element) {=0A=
    return Element.recursivelyCollect(element, 'parentNode');=0A=
  },=0A=
=0A=
  descendants: function(element) {=0A=
    return Element.select(element, "*");=0A=
  },=0A=
=0A=
  firstDescendant: function(element) {=0A=
    element =3D $(element).firstChild;=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    return $(element);=0A=
  },=0A=
=0A=
  immediateDescendants: function(element) {=0A=
    if (!(element =3D $(element).firstChild)) return [];=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    if (element) return [element].concat($(element).nextSiblings());=0A=
    return [];=0A=
  },=0A=
=0A=
  previousSiblings: function(element) {=0A=
    return Element.recursivelyCollect(element, 'previousSibling');=0A=
  },=0A=
=0A=
  nextSiblings: function(element) {=0A=
    return Element.recursivelyCollect(element, 'nextSibling');=0A=
  },=0A=
=0A=
  siblings: function(element) {=0A=
    element =3D $(element);=0A=
    return Element.previousSiblings(element).reverse()=0A=
      .concat(Element.nextSiblings(element));=0A=
  },=0A=
=0A=
  match: function(element, selector) {=0A=
    if (Object.isString(selector))=0A=
      selector =3D new Selector(selector);=0A=
    return selector.match($(element));=0A=
  },=0A=
=0A=
  up: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return $(element.parentNode);=0A=
    var ancestors =3D Element.ancestors(element);=0A=
    return Object.isNumber(expression) ? ancestors[expression] :=0A=
      Selector.findElement(ancestors, expression, index);=0A=
  },=0A=
=0A=
  down: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
Element.firstDescendant(element);=0A=
    return Object.isNumber(expression) ? =
Element.descendants(element)[expression] :=0A=
      Element.select(element, expression)[index || 0];=0A=
  },=0A=
=0A=
  previous: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.previousElementSibling(element));=0A=
    var previousSiblings =3D Element.previousSiblings(element);=0A=
    return Object.isNumber(expression) ? previousSiblings[expression] :=0A=
      Selector.findElement(previousSiblings, expression, index);=0A=
  },=0A=
=0A=
  next: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.nextElementSibling(element));=0A=
    var nextSiblings =3D Element.nextSiblings(element);=0A=
    return Object.isNumber(expression) ? nextSiblings[expression] :=0A=
      Selector.findElement(nextSiblings, expression, index);=0A=
  },=0A=
=0A=
=0A=
  select: function(element) {=0A=
    var args =3D Array.prototype.slice.call(arguments, 1);=0A=
    return Selector.findChildElements(element, args);=0A=
  },=0A=
=0A=
  adjacent: function(element) {=0A=
    var args =3D Array.prototype.slice.call(arguments, 1);=0A=
    return Selector.findChildElements(element.parentNode, =
args).without(element);=0A=
  },=0A=
=0A=
  identify: function(element) {=0A=
    element =3D $(element);=0A=
    var id =3D Element.readAttribute(element, 'id');=0A=
    if (id) return id;=0A=
    do { id =3D 'anonymous_element_' + Element.idCounter++ } while =
($(id));=0A=
    Element.writeAttribute(element, 'id', id);=0A=
    return id;=0A=
  },=0A=
=0A=
  readAttribute: function(element, name) {=0A=
    element =3D $(element);=0A=
    if (Prototype.Browser.IE) {=0A=
      var t =3D Element._attributeTranslations.read;=0A=
      if (t.values[name]) return t.values[name](element, name);=0A=
      if (t.names[name]) name =3D t.names[name];=0A=
      if (name.include(':')) {=0A=
        return (!element.attributes || !element.attributes[name]) ? null =
:=0A=
         element.attributes[name].value;=0A=
      }=0A=
    }=0A=
    return element.getAttribute(name);=0A=
  },=0A=
=0A=
  writeAttribute: function(element, name, value) {=0A=
    element =3D $(element);=0A=
    var attributes =3D { }, t =3D Element._attributeTranslations.write;=0A=
=0A=
    if (typeof name =3D=3D 'object') attributes =3D name;=0A=
    else attributes[name] =3D Object.isUndefined(value) ? true : value;=0A=
=0A=
    for (var attr in attributes) {=0A=
      name =3D t.names[attr] || attr;=0A=
      value =3D attributes[attr];=0A=
      if (t.values[attr]) name =3D t.values[attr](element, value);=0A=
      if (value =3D=3D=3D false || value =3D=3D=3D null)=0A=
        element.removeAttribute(name);=0A=
      else if (value =3D=3D=3D true)=0A=
        element.setAttribute(name, name);=0A=
      else element.setAttribute(name, value);=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  getHeight: function(element) {=0A=
    return Element.getDimensions(element).height;=0A=
  },=0A=
=0A=
  getWidth: function(element) {=0A=
    return Element.getDimensions(element).width;=0A=
  },=0A=
=0A=
  classNames: function(element) {=0A=
    return new Element.ClassNames(element);=0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var elementClassName =3D element.className;=0A=
    return (elementClassName.length > 0 && (elementClassName =3D=3D =
className ||=0A=
      new RegExp("(^|\\s)" + className + =
"(\\s|$)").test(elementClassName)));=0A=
  },=0A=
=0A=
  addClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    if (!Element.hasClassName(element, className))=0A=
      element.className +=3D (element.className ? ' ' : '') + className;=0A=
    return element;=0A=
  },=0A=
=0A=
  removeClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    element.className =3D element.className.replace(=0A=
      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A=
    return element;=0A=
  },=0A=
=0A=
  toggleClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    return Element[Element.hasClassName(element, className) ?=0A=
      'removeClassName' : 'addClassName'](element, className);=0A=
  },=0A=
=0A=
  cleanWhitespace: function(element) {=0A=
    element =3D $(element);=0A=
    var node =3D element.firstChild;=0A=
    while (node) {=0A=
      var nextNode =3D node.nextSibling;=0A=
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A=
        element.removeChild(node);=0A=
      node =3D nextNode;=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  empty: function(element) {=0A=
    return $(element).innerHTML.blank();=0A=
  },=0A=
=0A=
  descendantOf: function(element, ancestor) {=0A=
    element =3D $(element), ancestor =3D $(ancestor);=0A=
=0A=
    if (element.compareDocumentPosition)=0A=
      return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A=
=0A=
    if (ancestor.contains)=0A=
      return ancestor.contains(element) && ancestor !=3D=3D element;=0A=
=0A=
    while (element =3D element.parentNode)=0A=
      if (element =3D=3D ancestor) return true;=0A=
=0A=
    return false;=0A=
  },=0A=
=0A=
  scrollTo: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.cumulativeOffset(element);=0A=
    window.scrollTo(pos[0], pos[1]);=0A=
    return element;=0A=
  },=0A=
=0A=
  getStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value || value =3D=3D 'auto') {=0A=
      var css =3D document.defaultView.getComputedStyle(element, null);=0A=
      value =3D css ? css[style] : null;=0A=
    }=0A=
    if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A=
    return value =3D=3D 'auto' ? null : value;=0A=
  },=0A=
=0A=
  getOpacity: function(element) {=0A=
    return $(element).getStyle('opacity');=0A=
  },=0A=
=0A=
  setStyle: function(element, styles) {=0A=
    element =3D $(element);=0A=
    var elementStyle =3D element.style, match;=0A=
    if (Object.isString(styles)) {=0A=
      element.style.cssText +=3D ';' + styles;=0A=
      return styles.include('opacity') ?=0A=
        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : =
element;=0A=
    }=0A=
    for (var property in styles)=0A=
      if (property =3D=3D 'opacity') =
element.setOpacity(styles[property]);=0A=
      else=0A=
        elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?=0A=
          (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : =
'styleFloat') :=0A=
            property] =3D styles[property];=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  setOpacity: function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  },=0A=
=0A=
  getDimensions: function(element) {=0A=
    element =3D $(element);=0A=
    var display =3D Element.getStyle(element, 'display');=0A=
    if (display !=3D 'none' && display !=3D null) // Safari bug=0A=
      return {width: element.offsetWidth, height: element.offsetHeight};=0A=
=0A=
    var els =3D element.style;=0A=
    var originalVisibility =3D els.visibility;=0A=
    var originalPosition =3D els.position;=0A=
    var originalDisplay =3D els.display;=0A=
    els.visibility =3D 'hidden';=0A=
    if (originalPosition !=3D 'fixed') // Switching fixed to absolute =
causes issues in Safari=0A=
      els.position =3D 'absolute';=0A=
    els.display =3D 'block';=0A=
    var originalWidth =3D element.clientWidth;=0A=
    var originalHeight =3D element.clientHeight;=0A=
    els.display =3D originalDisplay;=0A=
    els.position =3D originalPosition;=0A=
    els.visibility =3D originalVisibility;=0A=
    return {width: originalWidth, height: originalHeight};=0A=
  },=0A=
=0A=
  makePositioned: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.getStyle(element, 'position');=0A=
    if (pos =3D=3D 'static' || !pos) {=0A=
      element._madePositioned =3D true;=0A=
      element.style.position =3D 'relative';=0A=
      if (Prototype.Browser.Opera) {=0A=
        element.style.top =3D 0;=0A=
        element.style.left =3D 0;=0A=
      }=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  undoPositioned: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._madePositioned) {=0A=
      element._madePositioned =3D undefined;=0A=
      element.style.position =3D=0A=
        element.style.top =3D=0A=
        element.style.left =3D=0A=
        element.style.bottom =3D=0A=
        element.style.right =3D '';=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  makeClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._overflow) return element;=0A=
    element._overflow =3D Element.getStyle(element, 'overflow') || =
'auto';=0A=
    if (element._overflow !=3D=3D 'hidden')=0A=
      element.style.overflow =3D 'hidden';=0A=
    return element;=0A=
  },=0A=
=0A=
  undoClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element._overflow) return element;=0A=
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;=0A=
    element._overflow =3D null;=0A=
    return element;=0A=
  },=0A=
=0A=
  cumulativeOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  positionedOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
      if (element) {=0A=
        if (element.tagName.toUpperCase() =3D=3D 'BODY') break;=0A=
        var p =3D Element.getStyle(element, 'position');=0A=
        if (p !=3D=3D 'static') break;=0A=
      }=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  absolutize: function(element) {=0A=
    element =3D $(element);=0A=
    if (Element.getStyle(element, 'position') =3D=3D 'absolute') return =
element;=0A=
=0A=
    var offsets =3D Element.positionedOffset(element);=0A=
    var top     =3D offsets[1];=0A=
    var left    =3D offsets[0];=0A=
    var width   =3D element.clientWidth;=0A=
    var height  =3D element.clientHeight;=0A=
=0A=
    element._originalLeft   =3D left - parseFloat(element.style.left  || =
0);=0A=
    element._originalTop    =3D top  - parseFloat(element.style.top || =
0);=0A=
    element._originalWidth  =3D element.style.width;=0A=
    element._originalHeight =3D element.style.height;=0A=
=0A=
    element.style.position =3D 'absolute';=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.width  =3D width + 'px';=0A=
    element.style.height =3D height + 'px';=0A=
    return element;=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    element =3D $(element);=0A=
    if (Element.getStyle(element, 'position') =3D=3D 'relative') return =
element;=0A=
=0A=
    element.style.position =3D 'relative';=0A=
    var top  =3D parseFloat(element.style.top  || 0) - =
(element._originalTop || 0);=0A=
    var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);=0A=
=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.height =3D element._originalHeight;=0A=
    element.style.width  =3D element._originalWidth;=0A=
    return element;=0A=
  },=0A=
=0A=
  cumulativeScrollOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.scrollTop  || 0;=0A=
      valueL +=3D element.scrollLeft || 0;=0A=
      element =3D element.parentNode;=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  getOffsetParent: function(element) {=0A=
    if (element.offsetParent) return $(element.offsetParent);=0A=
    if (element =3D=3D document.body) return $(element);=0A=
=0A=
    while ((element =3D element.parentNode) && element !=3D =
document.body)=0A=
      if (Element.getStyle(element, 'position') !=3D 'static')=0A=
        return $(element);=0A=
=0A=
    return $(document.body);=0A=
  },=0A=
=0A=
  viewportOffset: function(forElement) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
=0A=
    var element =3D forElement;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
=0A=
      if (element.offsetParent =3D=3D document.body &&=0A=
        Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A=
=0A=
    } while (element =3D element.offsetParent);=0A=
=0A=
    element =3D forElement;=0A=
    do {=0A=
      if (!Prototype.Browser.Opera || (element.tagName && =
(element.tagName.toUpperCase() =3D=3D 'BODY'))) {=0A=
        valueT -=3D element.scrollTop  || 0;=0A=
        valueL -=3D element.scrollLeft || 0;=0A=
      }=0A=
    } while (element =3D element.parentNode);=0A=
=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  clonePosition: function(element, source) {=0A=
    var options =3D Object.extend({=0A=
      setLeft:    true,=0A=
      setTop:     true,=0A=
      setWidth:   true,=0A=
      setHeight:  true,=0A=
      offsetTop:  0,=0A=
      offsetLeft: 0=0A=
    }, arguments[2] || { });=0A=
=0A=
    source =3D $(source);=0A=
    var p =3D Element.viewportOffset(source);=0A=
=0A=
    element =3D $(element);=0A=
    var delta =3D [0, 0];=0A=
    var parent =3D null;=0A=
    if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A=
      parent =3D Element.getOffsetParent(element);=0A=
      delta =3D Element.viewportOffset(parent);=0A=
    }=0A=
=0A=
    if (parent =3D=3D document.body) {=0A=
      delta[0] -=3D document.body.offsetLeft;=0A=
      delta[1] -=3D document.body.offsetTop;=0A=
    }=0A=
=0A=
    if (options.setLeft)   element.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';=0A=
    if (options.setTop)    element.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';=0A=
    if (options.setWidth)  element.style.width =3D source.offsetWidth + =
'px';=0A=
    if (options.setHeight) element.style.height =3D source.offsetHeight =
+ 'px';=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.Methods, {=0A=
  getElementsBySelector: Element.Methods.select,=0A=
=0A=
  childElements: Element.Methods.immediateDescendants=0A=
});=0A=
=0A=
Element._attributeTranslations =3D {=0A=
  write: {=0A=
    names: {=0A=
      className: 'class',=0A=
      htmlFor:   'for'=0A=
    },=0A=
    values: { }=0A=
  }=0A=
};=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
  Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A=
    function(proceed, element, style) {=0A=
      switch (style) {=0A=
        case 'left': case 'top': case 'right': case 'bottom':=0A=
          if (proceed(element, 'position') =3D=3D=3D 'static') return =
null;=0A=
        case 'height': case 'width':=0A=
          if (!Element.visible(element)) return null;=0A=
=0A=
          var dim =3D parseInt(proceed(element, style), 10);=0A=
=0A=
          if (dim !=3D=3D element['offset' + style.capitalize()])=0A=
            return dim + 'px';=0A=
=0A=
          var properties;=0A=
          if (style =3D=3D=3D 'height') {=0A=
            properties =3D ['border-top-width', 'padding-top',=0A=
             'padding-bottom', 'border-bottom-width'];=0A=
          }=0A=
          else {=0A=
            properties =3D ['border-left-width', 'padding-left',=0A=
             'padding-right', 'border-right-width'];=0A=
          }=0A=
          return properties.inject(dim, function(memo, property) {=0A=
            var val =3D proceed(element, property);=0A=
            return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);=0A=
          }) + 'px';=0A=
        default: return proceed(element, style);=0A=
      }=0A=
    }=0A=
  );=0A=
=0A=
  Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A=
    function(proceed, element, attribute) {=0A=
      if (attribute =3D=3D=3D 'title') return element.title;=0A=
      return proceed(element, attribute);=0A=
    }=0A=
  );=0A=
}=0A=
=0A=
else if (Prototype.Browser.IE) {=0A=
  Element.Methods.getOffsetParent =3D =
Element.Methods.getOffsetParent.wrap(=0A=
    function(proceed, element) {=0A=
      element =3D $(element);=0A=
      try { element.offsetParent }=0A=
      catch(e) { return $(document.body) }=0A=
      var position =3D element.getStyle('position');=0A=
      if (position !=3D=3D 'static') return proceed(element);=0A=
      element.setStyle({ position: 'relative' });=0A=
      var value =3D proceed(element);=0A=
      element.setStyle({ position: position });=0A=
      return value;=0A=
    }=0A=
  );=0A=
=0A=
  $w('positionedOffset viewportOffset').each(function(method) {=0A=
    Element.Methods[method] =3D Element.Methods[method].wrap(=0A=
      function(proceed, element) {=0A=
        element =3D $(element);=0A=
        try { element.offsetParent }=0A=
        catch(e) { return Element._returnOffset(0,0) }=0A=
        var position =3D element.getStyle('position');=0A=
        if (position !=3D=3D 'static') return proceed(element);=0A=
        var offsetParent =3D element.getOffsetParent();=0A=
        if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D =
'fixed')=0A=
          offsetParent.setStyle({ zoom: 1 });=0A=
        element.setStyle({ position: 'relative' });=0A=
        var value =3D proceed(element);=0A=
        element.setStyle({ position: position });=0A=
        return value;=0A=
      }=0A=
    );=0A=
  });=0A=
=0A=
  Element.Methods.cumulativeOffset =3D =
Element.Methods.cumulativeOffset.wrap(=0A=
    function(proceed, element) {=0A=
      try { element.offsetParent }=0A=
      catch(e) { return Element._returnOffset(0,0) }=0A=
      return proceed(element);=0A=
    }=0A=
  );=0A=
=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value && element.currentStyle) value =3D =
element.currentStyle[style];=0A=
=0A=
    if (style =3D=3D 'opacity') {=0A=
      if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))=0A=
        if (value[1]) return parseFloat(value[1]) / 100;=0A=
      return 1.0;=0A=
    }=0A=
=0A=
    if (value =3D=3D 'auto') {=0A=
      if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))=0A=
        return element['offset' + style.capitalize()] + 'px';=0A=
      return null;=0A=
    }=0A=
    return value;=0A=
  };=0A=
=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    function stripAlpha(filter){=0A=
      return filter.replace(/alpha\([^\)]*\)/gi,'');=0A=
    }=0A=
    element =3D $(element);=0A=
    var currentStyle =3D element.currentStyle;=0A=
    if ((currentStyle && !currentStyle.hasLayout) ||=0A=
      (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A=
        element.style.zoom =3D 1;=0A=
=0A=
    var filter =3D element.getStyle('filter'), style =3D element.style;=0A=
    if (value =3D=3D 1 || value =3D=3D=3D '') {=0A=
      (filter =3D stripAlpha(filter)) ?=0A=
        style.filter =3D filter : style.removeAttribute('filter');=0A=
      return element;=0A=
    } else if (value < 0.00001) value =3D 0;=0A=
    style.filter =3D stripAlpha(filter) +=0A=
      'alpha(opacity=3D' + (value * 100) + ')';=0A=
    return element;=0A=
  };=0A=
=0A=
  Element._attributeTranslations =3D (function(){=0A=
=0A=
    var classProp =3D 'className';=0A=
    var forProp =3D 'for';=0A=
=0A=
    var el =3D document.createElement('div');=0A=
=0A=
    el.setAttribute(classProp, 'x');=0A=
=0A=
    if (el.className !=3D=3D 'x') {=0A=
      el.setAttribute('class', 'x');=0A=
      if (el.className =3D=3D=3D 'x') {=0A=
        classProp =3D 'class';=0A=
      }=0A=
    }=0A=
    el =3D null;=0A=
=0A=
    el =3D document.createElement('label');=0A=
    el.setAttribute(forProp, 'x');=0A=
    if (el.htmlFor !=3D=3D 'x') {=0A=
      el.setAttribute('htmlFor', 'x');=0A=
      if (el.htmlFor =3D=3D=3D 'x') {=0A=
        forProp =3D 'htmlFor';=0A=
      }=0A=
    }=0A=
    el =3D null;=0A=
=0A=
    return {=0A=
      read: {=0A=
        names: {=0A=
          'class':      classProp,=0A=
          'className':  classProp,=0A=
          'for':        forProp,=0A=
          'htmlFor':    forProp=0A=
        },=0A=
        values: {=0A=
          _getAttr: function(element, attribute) {=0A=
            return element.getAttribute(attribute);=0A=
          },=0A=
          _getAttr2: function(element, attribute) {=0A=
            return element.getAttribute(attribute, 2);=0A=
          },=0A=
          _getAttrNode: function(element, attribute) {=0A=
            var node =3D element.getAttributeNode(attribute);=0A=
            return node ? node.value : "";=0A=
          },=0A=
          _getEv: (function(){=0A=
=0A=
            var el =3D document.createElement('div');=0A=
            el.onclick =3D Prototype.emptyFunction;=0A=
            var value =3D el.getAttribute('onclick');=0A=
            var f;=0A=
=0A=
            if (String(value).indexOf('{') > -1) {=0A=
              f =3D function(element, attribute) {=0A=
                attribute =3D element.getAttribute(attribute);=0A=
                if (!attribute) return null;=0A=
                attribute =3D attribute.toString();=0A=
                attribute =3D attribute.split('{')[1];=0A=
                attribute =3D attribute.split('}')[0];=0A=
                return attribute.strip();=0A=
              };=0A=
            }=0A=
            else if (value =3D=3D=3D '') {=0A=
              f =3D function(element, attribute) {=0A=
                attribute =3D element.getAttribute(attribute);=0A=
                if (!attribute) return null;=0A=
                return attribute.strip();=0A=
              };=0A=
            }=0A=
            el =3D null;=0A=
            return f;=0A=
          })(),=0A=
          _flag: function(element, attribute) {=0A=
            return $(element).hasAttribute(attribute) ? attribute : null;=0A=
          },=0A=
          style: function(element) {=0A=
            return element.style.cssText.toLowerCase();=0A=
          },=0A=
          title: function(element) {=0A=
            return element.title;=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
  })();=0A=
=0A=
  Element._attributeTranslations.write =3D {=0A=
    names: Object.extend({=0A=
      cellpadding: 'cellPadding',=0A=
      cellspacing: 'cellSpacing'=0A=
    }, Element._attributeTranslations.read.names),=0A=
    values: {=0A=
      checked: function(element, value) {=0A=
        element.checked =3D !!value;=0A=
      },=0A=
=0A=
      style: function(element, value) {=0A=
        element.style.cssText =3D value ? value : '';=0A=
      }=0A=
    }=0A=
  };=0A=
=0A=
  Element._attributeTranslations.has =3D {};=0A=
=0A=
  $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A=
      'encType maxLength readOnly longDesc =
frameBorder').each(function(attr) {=0A=
    Element._attributeTranslations.write.names[attr.toLowerCase()] =3D =
attr;=0A=
    Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A=
  });=0A=
=0A=
  (function(v) {=0A=
    Object.extend(v, {=0A=
      href:        v._getAttr2,=0A=
      src:         v._getAttr2,=0A=
      type:        v._getAttr,=0A=
      action:      v._getAttrNode,=0A=
      disabled:    v._flag,=0A=
      checked:     v._flag,=0A=
      readonly:    v._flag,=0A=
      multiple:    v._flag,=0A=
      onload:      v._getEv,=0A=
      onunload:    v._getEv,=0A=
      onclick:     v._getEv,=0A=
      ondblclick:  v._getEv,=0A=
      onmousedown: v._getEv,=0A=
      onmouseup:   v._getEv,=0A=
      onmouseover: v._getEv,=0A=
      onmousemove: v._getEv,=0A=
      onmouseout:  v._getEv,=0A=
      onfocus:     v._getEv,=0A=
      onblur:      v._getEv,=0A=
      onkeypress:  v._getEv,=0A=
      onkeydown:   v._getEv,=0A=
      onkeyup:     v._getEv,=0A=
      onsubmit:    v._getEv,=0A=
      onreset:     v._getEv,=0A=
      onselect:    v._getEv,=0A=
      onchange:    v._getEv=0A=
    });=0A=
  })(Element._attributeTranslations.read.values);=0A=
=0A=
  if (Prototype.BrowserFeatures.ElementExtensions) {=0A=
    (function() {=0A=
      function _descendants(element) {=0A=
        var nodes =3D element.getElementsByTagName('*'), results =3D [];=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName !=3D=3D "!") // Filter out comment nodes.=0A=
            results.push(node);=0A=
        return results;=0A=
      }=0A=
=0A=
      Element.Methods.down =3D function(element, expression, index) {=0A=
        element =3D $(element);=0A=
        if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
        return Object.isNumber(expression) ? =
_descendants(element)[expression] :=0A=
          Element.select(element, expression)[index || 0];=0A=
      }=0A=
    })();=0A=
  }=0A=
=0A=
}=0A=
=0A=
else if (Prototype.Browser.Gecko && =
/rv:1\.8\.0/.test(navigator.userAgent)) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A=
      (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
else if (Prototype.Browser.WebKit) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
=0A=
    if (value =3D=3D 1)=0A=
      if(element.tagName.toUpperCase() =3D=3D 'IMG' && element.width) {=0A=
        element.width++; element.width--;=0A=
      } else try {=0A=
        var n =3D document.createTextNode(' ');=0A=
        element.appendChild(n);=0A=
        element.removeChild(n);=0A=
      } catch (e) { }=0A=
=0A=
    return element;=0A=
  };=0A=
=0A=
  Element.Methods.cumulativeOffset =3D function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      if (element.offsetParent =3D=3D document.body)=0A=
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;=0A=
=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  };=0A=
}=0A=
=0A=
if ('outerHTML' in document.documentElement) {=0A=
  Element.Methods.replace =3D function(element, content) {=0A=
    element =3D $(element);=0A=
=0A=
    if (content && content.toElement) content =3D content.toElement();=0A=
    if (Object.isElement(content)) {=0A=
      element.parentNode.replaceChild(content, element);=0A=
      return element;=0A=
    }=0A=
=0A=
    content =3D Object.toHTML(content);=0A=
    var parent =3D element.parentNode, tagName =3D =
parent.tagName.toUpperCase();=0A=
=0A=
    if (Element._insertionTranslations.tags[tagName]) {=0A=
      var nextSibling =3D element.next();=0A=
      var fragments =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());=0A=
      parent.removeChild(element);=0A=
      if (nextSibling)=0A=
        fragments.each(function(node) { parent.insertBefore(node, =
nextSibling) });=0A=
      else=0A=
        fragments.each(function(node) { parent.appendChild(node) });=0A=
    }=0A=
    else element.outerHTML =3D content.stripScripts();=0A=
=0A=
    content.evalScripts.bind(content).defer();=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
Element._returnOffset =3D function(l, t) {=0A=
  var result =3D [l, t];=0A=
  result.left =3D l;=0A=
  result.top =3D t;=0A=
  return result;=0A=
};=0A=
=0A=
Element._getContentFromAnonymousElement =3D function(tagName, html) {=0A=
  var div =3D new Element('div'), t =3D =
Element._insertionTranslations.tags[tagName];=0A=
  if (t) {=0A=
    div.innerHTML =3D t[0] + html + t[1];=0A=
    t[2].times(function() { div =3D div.firstChild });=0A=
  } else div.innerHTML =3D html;=0A=
  return $A(div.childNodes);=0A=
};=0A=
=0A=
Element._insertionTranslations =3D {=0A=
  before: function(element, node) {=0A=
    element.parentNode.insertBefore(node, element);=0A=
  },=0A=
  top: function(element, node) {=0A=
    element.insertBefore(node, element.firstChild);=0A=
  },=0A=
  bottom: function(element, node) {=0A=
    element.appendChild(node);=0A=
  },=0A=
  after: function(element, node) {=0A=
    element.parentNode.insertBefore(node, element.nextSibling);=0A=
  },=0A=
  tags: {=0A=
    TABLE:  ['<table>',                '</table>',                   1],=0A=
    TBODY:  ['<table><tbody>',         '</tbody></table>',           2],=0A=
    TR:     ['<table><tbody><tr>',     '</tr></tbody></table>',      3],=0A=
    TD:     ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],=0A=
    SELECT: ['<select>',               '</select>',                  1]=0A=
  }=0A=
};=0A=
=0A=
(function() {=0A=
  var tags =3D Element._insertionTranslations.tags;=0A=
  Object.extend(tags, {=0A=
    THEAD: tags.TBODY,=0A=
    TFOOT: tags.TBODY,=0A=
    TH:    tags.TD=0A=
  });=0A=
})();=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
  hasAttribute: function(element, attribute) {=0A=
    attribute =3D Element._attributeTranslations.has[attribute] || =
attribute;=0A=
    var node =3D $(element).getAttributeNode(attribute);=0A=
    return !!(node && node.specified);=0A=
  }=0A=
};=0A=
=0A=
Element.Methods.ByTag =3D { };=0A=
=0A=
Object.extend(Element, Element.Methods);=0A=
=0A=
(function(div) {=0A=
=0A=
  if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) {=0A=
    window.HTMLElement =3D { };=0A=
    window.HTMLElement.prototype =3D div['__proto__'];=0A=
    Prototype.BrowserFeatures.ElementExtensions =3D true;=0A=
  }=0A=
=0A=
  div =3D null;=0A=
=0A=
})(document.createElement('div'))=0A=
=0A=
Element.extend =3D (function() {=0A=
=0A=
  function checkDeficiency(tagName) {=0A=
    if (typeof window.Element !=3D 'undefined') {=0A=
      var proto =3D window.Element.prototype;=0A=
      if (proto) {=0A=
        var id =3D '_' + (Math.random()+'').slice(2);=0A=
        var el =3D document.createElement(tagName);=0A=
        proto[id] =3D 'x';=0A=
        var isBuggy =3D (el[id] !=3D=3D 'x');=0A=
        delete proto[id];=0A=
        el =3D null;=0A=
        return isBuggy;=0A=
      }=0A=
    }=0A=
    return false;=0A=
  }=0A=
=0A=
  function extendElementWith(element, methods) {=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (Object.isFunction(value) && !(property in element))=0A=
        element[property] =3D value.methodize();=0A=
    }=0A=
  }=0A=
=0A=
  var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY =3D checkDeficiency('object');=0A=
=0A=
  if (Prototype.BrowserFeatures.SpecificElementExtensions) {=0A=
    if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY) {=0A=
      return function(element) {=0A=
        if (element && typeof element._extendedByPrototype =3D=3D =
'undefined') {=0A=
          var t =3D element.tagName;=0A=
          if (t && (/^(?:object|applet|embed)$/i.test(t))) {=0A=
            extendElementWith(element, Element.Methods);=0A=
            extendElementWith(element, Element.Methods.Simulated);=0A=
            extendElementWith(element, =
Element.Methods.ByTag[t.toUpperCase()]);=0A=
          }=0A=
        }=0A=
        return element;=0A=
      }=0A=
    }=0A=
    return Prototype.K;=0A=
  }=0A=
=0A=
  var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A=
=0A=
  var extend =3D Object.extend(function(element) {=0A=
    if (!element || typeof element._extendedByPrototype !=3D 'undefined' =
||=0A=
        element.nodeType !=3D 1 || element =3D=3D window) return element;=0A=
=0A=
    var methods =3D Object.clone(Methods),=0A=
        tagName =3D element.tagName.toUpperCase();=0A=
=0A=
    if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A=
=0A=
    extendElementWith(element, methods);=0A=
=0A=
    element._extendedByPrototype =3D Prototype.emptyFunction;=0A=
    return element;=0A=
=0A=
  }, {=0A=
    refresh: function() {=0A=
      if (!Prototype.BrowserFeatures.ElementExtensions) {=0A=
        Object.extend(Methods, Element.Methods);=0A=
        Object.extend(Methods, Element.Methods.Simulated);=0A=
      }=0A=
    }=0A=
  });=0A=
=0A=
  extend.refresh();=0A=
  return extend;=0A=
})();=0A=
=0A=
Element.hasAttribute =3D function(element, attribute) {=0A=
  if (element.hasAttribute) return element.hasAttribute(attribute);=0A=
  return Element.Methods.Simulated.hasAttribute(element, attribute);=0A=
};=0A=
=0A=
Element.addMethods =3D function(methods) {=0A=
  var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A=
=0A=
  if (!methods) {=0A=
    Object.extend(Form, Form.Methods);=0A=
    Object.extend(Form.Element, Form.Element.Methods);=0A=
    Object.extend(Element.Methods.ByTag, {=0A=
      "FORM":     Object.clone(Form.Methods),=0A=
      "INPUT":    Object.clone(Form.Element.Methods),=0A=
      "SELECT":   Object.clone(Form.Element.Methods),=0A=
      "TEXTAREA": Object.clone(Form.Element.Methods)=0A=
    });=0A=
  }=0A=
=0A=
  if (arguments.length =3D=3D 2) {=0A=
    var tagName =3D methods;=0A=
    methods =3D arguments[1];=0A=
  }=0A=
=0A=
  if (!tagName) Object.extend(Element.Methods, methods || { });=0A=
  else {=0A=
    if (Object.isArray(tagName)) tagName.each(extend);=0A=
    else extend(tagName);=0A=
  }=0A=
=0A=
  function extend(tagName) {=0A=
    tagName =3D tagName.toUpperCase();=0A=
    if (!Element.Methods.ByTag[tagName])=0A=
      Element.Methods.ByTag[tagName] =3D { };=0A=
    Object.extend(Element.Methods.ByTag[tagName], methods);=0A=
  }=0A=
=0A=
  function copy(methods, destination, onlyIfAbsent) {=0A=
    onlyIfAbsent =3D onlyIfAbsent || false;=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (!Object.isFunction(value)) continue;=0A=
      if (!onlyIfAbsent || !(property in destination))=0A=
        destination[property] =3D value.methodize();=0A=
    }=0A=
  }=0A=
=0A=
  function findDOMClass(tagName) {=0A=
    var klass;=0A=
    var trans =3D {=0A=
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A=
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",=0A=
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",=0A=
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A=
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":=0A=
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A=
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", =
"TR":=0A=
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A=
      "FrameSet", "IFRAME": "IFrame"=0A=
    };=0A=
    if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
=0A=
    var element =3D document.createElement(tagName);=0A=
    var proto =3D element['__proto__'] || element.constructor.prototype;=0A=
    element =3D null;=0A=
    return proto;=0A=
  }=0A=
=0A=
  var elementPrototype =3D window.HTMLElement ? HTMLElement.prototype :=0A=
   Element.prototype;=0A=
=0A=
  if (F.ElementExtensions) {=0A=
    copy(Element.Methods, elementPrototype);=0A=
    copy(Element.Methods.Simulated, elementPrototype, true);=0A=
  }=0A=
=0A=
  if (F.SpecificElementExtensions) {=0A=
    for (var tag in Element.Methods.ByTag) {=0A=
      var klass =3D findDOMClass(tag);=0A=
      if (Object.isUndefined(klass)) continue;=0A=
      copy(T[tag], klass.prototype);=0A=
    }=0A=
  }=0A=
=0A=
  Object.extend(Element, Element.Methods);=0A=
  delete Element.ByTag;=0A=
=0A=
  if (Element.extend.refresh) Element.extend.refresh();=0A=
  Element.cache =3D { };=0A=
};=0A=
=0A=
=0A=
document.viewport =3D {=0A=
=0A=
  getDimensions: function() {=0A=
    return { width: this.getWidth(), height: this.getHeight() };=0A=
  },=0A=
=0A=
  getScrollOffsets: function() {=0A=
    return Element._returnOffset(=0A=
      window.pageXOffset || document.documentElement.scrollLeft || =
document.body.scrollLeft,=0A=
      window.pageYOffset || document.documentElement.scrollTop  || =
document.body.scrollTop);=0A=
  }=0A=
};=0A=
=0A=
(function(viewport) {=0A=
  var B =3D Prototype.Browser, doc =3D document, element, property =3D =
{};=0A=
=0A=
  function getRootElement() {=0A=
    if (B.WebKit && !doc.evaluate)=0A=
      return document;=0A=
=0A=
    if (B.Opera && window.parseFloat(window.opera.version()) < 9.5)=0A=
      return document.body;=0A=
=0A=
    return document.documentElement;=0A=
  }=0A=
=0A=
  function define(D) {=0A=
    if (!element) element =3D getRootElement();=0A=
=0A=
    property[D] =3D 'client' + D;=0A=
=0A=
    viewport['get' + D] =3D function() { return element[property[D]] };=0A=
    return viewport['get' + D]();=0A=
  }=0A=
=0A=
  viewport.getWidth  =3D define.curry('Width');=0A=
=0A=
  viewport.getHeight =3D define.curry('Height');=0A=
})(document.viewport);=0A=
=0A=
=0A=
Element.Storage =3D {=0A=
  UID: 1=0A=
};=0A=
=0A=
Element.addMethods({=0A=
  getStorage: function(element) {=0A=
    if (!(element =3D $(element))) return;=0A=
=0A=
    var uid;=0A=
    if (element =3D=3D=3D window) {=0A=
      uid =3D 0;=0A=
    } else {=0A=
      if (typeof element._prototypeUID =3D=3D=3D "undefined")=0A=
        element._prototypeUID =3D [Element.Storage.UID++];=0A=
      uid =3D element._prototypeUID[0];=0A=
    }=0A=
=0A=
    if (!Element.Storage[uid])=0A=
      Element.Storage[uid] =3D $H();=0A=
=0A=
    return Element.Storage[uid];=0A=
  },=0A=
=0A=
  store: function(element, key, value) {=0A=
    if (!(element =3D $(element))) return;=0A=
=0A=
    if (arguments.length =3D=3D=3D 2) {=0A=
      Element.getStorage(element).update(key);=0A=
    } else {=0A=
      Element.getStorage(element).set(key, value);=0A=
    }=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  retrieve: function(element, key, defaultValue) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var hash =3D Element.getStorage(element), value =3D hash.get(key);=0A=
=0A=
    if (Object.isUndefined(value)) {=0A=
      hash.set(key, defaultValue);=0A=
      value =3D defaultValue;=0A=
    }=0A=
=0A=
    return value;=0A=
  },=0A=
=0A=
  clone: function(element, deep) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var clone =3D element.cloneNode(deep);=0A=
    clone._prototypeUID =3D void 0;=0A=
    if (deep) {=0A=
      var descendants =3D Element.select(clone, '*'),=0A=
          i =3D descendants.length;=0A=
      while (i--) {=0A=
        descendants[i]._prototypeUID =3D void 0;=0A=
      }=0A=
    }=0A=
    return Element.extend(clone);=0A=
  }=0A=
});=0A=
/* Portions of the Selector class are derived from Jack Slocum's =
DomQuery,=0A=
 * part of YUI-Ext version 0.40, distributed under the terms of an =
MIT-style=0A=
 * license.  Please see http://www.yui-ext.com/ for more information. */=0A=
=0A=
var Selector =3D Class.create({=0A=
  initialize: function(expression) {=0A=
    this.expression =3D expression.strip();=0A=
=0A=
    if (this.shouldUseSelectorsAPI()) {=0A=
      this.mode =3D 'selectorsAPI';=0A=
    } else if (this.shouldUseXPath()) {=0A=
      this.mode =3D 'xpath';=0A=
      this.compileXPathMatcher();=0A=
    } else {=0A=
      this.mode =3D "normal";=0A=
      this.compileMatcher();=0A=
    }=0A=
=0A=
  },=0A=
=0A=
  shouldUseXPath: (function() {=0A=
=0A=
    var IS_DESCENDANT_SELECTOR_BUGGY =3D (function(){=0A=
      var isBuggy =3D false;=0A=
      if (document.evaluate && window.XPathResult) {=0A=
        var el =3D document.createElement('div');=0A=
        el.innerHTML =3D =
'<ul><li></li></ul><div><ul><li></li></ul></div>';=0A=
=0A=
        var xpath =3D ".//*[local-name()=3D'ul' or local-name()=3D'UL']" =
+=0A=
          "//*[local-name()=3D'li' or local-name()=3D'LI']";=0A=
=0A=
        var result =3D document.evaluate(xpath, el, null,=0A=
          XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
=0A=
        isBuggy =3D (result.snapshotLength !=3D=3D 2);=0A=
        el =3D null;=0A=
      }=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    return function() {=0A=
      if (!Prototype.BrowserFeatures.XPath) return false;=0A=
=0A=
      var e =3D this.expression;=0A=
=0A=
      if (Prototype.Browser.WebKit &&=0A=
       (e.include("-of-type") || e.include(":empty")))=0A=
        return false;=0A=
=0A=
      if ((/(\[[\w-]*?:|:checked)/).test(e))=0A=
        return false;=0A=
=0A=
      if (IS_DESCENDANT_SELECTOR_BUGGY) return false;=0A=
=0A=
      return true;=0A=
    }=0A=
=0A=
  })(),=0A=
=0A=
  shouldUseSelectorsAPI: function() {=0A=
    if (!Prototype.BrowserFeatures.SelectorsAPI) return false;=0A=
=0A=
    if (Selector.CASE_INSENSITIVE_CLASS_NAMES) return false;=0A=
=0A=
    if (!Selector._div) Selector._div =3D new Element('div');=0A=
=0A=
    try {=0A=
      Selector._div.querySelector(this.expression);=0A=
    } catch(e) {=0A=
      return false;=0A=
    }=0A=
=0A=
    return true;=0A=
  },=0A=
=0A=
  compileMatcher: function() {=0A=
    var e =3D this.expression, ps =3D Selector.patterns, h =3D =
Selector.handlers,=0A=
        c =3D Selector.criteria, le, p, m, len =3D ps.length, name;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.matcher =3D Selector._cache[e];=0A=
      return;=0A=
    }=0A=
=0A=
    this.matcher =3D ["this.matcher =3D function(root) {",=0A=
                    "var r =3D root, h =3D Selector.handlers, c =3D =
false, n;"];=0A=
=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        p =3D ps[i].re;=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(p)) {=0A=
          this.matcher.push(Object.isFunction(c[name]) ? c[name](m) :=0A=
            new Template(c[name]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.matcher.push("return h.unique(n);\n}");=0A=
    eval(this.matcher.join('\n'));=0A=
    Selector._cache[this.expression] =3D this.matcher;=0A=
  },=0A=
=0A=
  compileXPathMatcher: function() {=0A=
    var e =3D this.expression, ps =3D Selector.patterns,=0A=
        x =3D Selector.xpath, le, m, len =3D ps.length, name;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.xpath =3D Selector._cache[e]; return;=0A=
    }=0A=
=0A=
    this.matcher =3D ['.//*'];=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(ps[i].re)) {=0A=
          this.matcher.push(Object.isFunction(x[name]) ? x[name](m) :=0A=
            new Template(x[name]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.xpath =3D this.matcher.join('');=0A=
    Selector._cache[this.expression] =3D this.xpath;=0A=
  },=0A=
=0A=
  findElements: function(root) {=0A=
    root =3D root || document;=0A=
    var e =3D this.expression, results;=0A=
=0A=
    switch (this.mode) {=0A=
      case 'selectorsAPI':=0A=
        if (root !=3D=3D document) {=0A=
          var oldId =3D root.id, id =3D $(root).identify();=0A=
          id =3D id.replace(/([\.:])/g, "\\$1");=0A=
          e =3D "#" + id + " " + e;=0A=
        }=0A=
=0A=
        results =3D $A(root.querySelectorAll(e)).map(Element.extend);=0A=
        root.id =3D oldId;=0A=
=0A=
        return results;=0A=
      case 'xpath':=0A=
        return document._getElementsByXPath(this.xpath, root);=0A=
      default:=0A=
       return this.matcher(root);=0A=
    }=0A=
  },=0A=
=0A=
  match: function(element) {=0A=
    this.tokens =3D [];=0A=
=0A=
    var e =3D this.expression, ps =3D Selector.patterns, as =3D =
Selector.assertions;=0A=
    var le, p, m, len =3D ps.length, name;=0A=
=0A=
    while (e && le !=3D=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        p =3D ps[i].re;=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(p)) {=0A=
          if (as[name]) {=0A=
            this.tokens.push([name, Object.clone(m)]);=0A=
            e =3D e.replace(m[0], '');=0A=
          } else {=0A=
            return this.findElements(document).include(element);=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    var match =3D true, name, matches;=0A=
    for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A=
      name =3D token[0], matches =3D token[1];=0A=
      if (!Selector.assertions[name](element, matches)) {=0A=
        match =3D false; break;=0A=
      }=0A=
    }=0A=
=0A=
    return match;=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return this.expression;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return "#<Selector:" + this.expression.inspect() + ">";=0A=
  }=0A=
});=0A=
=0A=
if (Prototype.BrowserFeatures.SelectorsAPI &&=0A=
 document.compatMode =3D=3D=3D 'BackCompat') {=0A=
  Selector.CASE_INSENSITIVE_CLASS_NAMES =3D (function(){=0A=
    var div =3D document.createElement('div'),=0A=
     span =3D document.createElement('span');=0A=
=0A=
    div.id =3D "prototype_test_id";=0A=
    span.className =3D 'Test';=0A=
    div.appendChild(span);=0A=
    var isIgnored =3D (div.querySelector('#prototype_test_id .test') =
!=3D=3D null);=0A=
    div =3D span =3D null;=0A=
    return isIgnored;=0A=
  })();=0A=
}=0A=
=0A=
Object.extend(Selector, {=0A=
  _cache: { },=0A=
=0A=
  xpath: {=0A=
    descendant:   "//*",=0A=
    child:        "/*",=0A=
    adjacent:     "/following-sibling::*[1]",=0A=
    laterSibling: '/following-sibling::*',=0A=
    tagName:      function(m) {=0A=
      if (m[1] =3D=3D '*') return '';=0A=
      return "[local-name()=3D'" + m[1].toLowerCase() +=0A=
             "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A=
    },=0A=
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A=
    id:           "[@id=3D'#{1}']",=0A=
    attrPresence: function(m) {=0A=
      m[1] =3D m[1].toLowerCase();=0A=
      return new Template("[@#{1}]").evaluate(m);=0A=
    },=0A=
    attr: function(m) {=0A=
      m[1] =3D m[1].toLowerCase();=0A=
      m[3] =3D m[5] || m[6];=0A=
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A=
    },=0A=
    pseudo: function(m) {=0A=
      var h =3D Selector.xpath.pseudos[m[1]];=0A=
      if (!h) return '';=0A=
      if (Object.isFunction(h)) return h(m);=0A=
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A=
    },=0A=
    operators: {=0A=
      '=3D':  "[@#{1}=3D'#{3}']",=0A=
      '!=3D': "[@#{1}!=3D'#{3}']",=0A=
      '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A=
      '$=3D': "[substring(@#{1}, (string-length(@#{1}) - =
string-length('#{3}') + 1))=3D'#{3}']",=0A=
      '*=3D': "[contains(@#{1}, '#{3}')]",=0A=
      '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A=
      '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A=
    },=0A=
    pseudos: {=0A=
      'first-child': '[not(preceding-sibling::*)]',=0A=
      'last-child':  '[not(following-sibling::*)]',=0A=
      'only-child':  '[not(preceding-sibling::* or =
following-sibling::*)]',=0A=
      'empty':       "[count(*) =3D 0 and (count(text()) =3D 0)]",=0A=
      'checked':     "[@checked]",=0A=
      'disabled':    "[(@disabled) and (@type!=3D'hidden')]",=0A=
      'enabled':     "[not(@disabled) and (@type!=3D'hidden')]",=0A=
      'not': function(m) {=0A=
        var e =3D m[6], p =3D Selector.patterns,=0A=
            x =3D Selector.xpath, le, v, len =3D p.length, name;=0A=
=0A=
        var exclusion =3D [];=0A=
        while (e && le !=3D e && (/\S/).test(e)) {=0A=
          le =3D e;=0A=
          for (var i =3D 0; i<len; i++) {=0A=
            name =3D p[i].name=0A=
            if (m =3D e.match(p[i].re)) {=0A=
              v =3D Object.isFunction(x[name]) ? x[name](m) : new =
Template(x[name]).evaluate(m);=0A=
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A=
              e =3D e.replace(m[0], '');=0A=
              break;=0A=
            }=0A=
          }=0A=
        }=0A=
        return "[not(" + exclusion.join(" and ") + ")]";=0A=
      },=0A=
      'nth-child':      function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-last-child': function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-of-type':    function(m) {=0A=
        return Selector.xpath.pseudos.nth("position() ", m);=0A=
      },=0A=
      'nth-last-of-type': function(m) {=0A=
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", =
m);=0A=
      },=0A=
      'first-of-type':  function(m) {=0A=
        m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A=
      },=0A=
      'last-of-type':   function(m) {=0A=
        m[6] =3D "1"; return =
Selector.xpath.pseudos['nth-last-of-type'](m);=0A=
      },=0A=
      'only-of-type':   function(m) {=0A=
        var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + =
p['last-of-type'](m);=0A=
      },=0A=
      nth: function(fragment, m) {=0A=
        var mm, formula =3D m[6], predicate;=0A=
        if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
        if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
        if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A=
          return '[' + fragment + "=3D " + mm[1] + ']';=0A=
        if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A=
          if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A=
          var a =3D mm[1] ? Number(mm[1]) : 1;=0A=
          var b =3D mm[2] ? Number(mm[2]) : 0;=0A=
          predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A=
          "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A=
          return new Template(predicate).evaluate({=0A=
            fragment: fragment, a: a, b: b });=0A=
        }=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  criteria: {=0A=
    tagName:      'n =3D h.tagName(n, r, "#{1}", c);      c =3D false;',=0A=
    className:    'n =3D h.className(n, r, "#{1}", c);    c =3D false;',=0A=
    id:           'n =3D h.id(n, r, "#{1}", c);           c =3D false;',=0A=
    attrPresence: 'n =3D h.attrPresence(n, r, "#{1}", c); c =3D false;',=0A=
    attr: function(m) {=0A=
      m[3] =3D (m[5] || m[6]);=0A=
      return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}", =
c); c =3D false;').evaluate(m);=0A=
    },=0A=
    pseudo: function(m) {=0A=
      if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A=
      return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c =
=3D false;').evaluate(m);=0A=
    },=0A=
    descendant:   'c =3D "descendant";',=0A=
    child:        'c =3D "child";',=0A=
    adjacent:     'c =3D "adjacent";',=0A=
    laterSibling: 'c =3D "laterSibling";'=0A=
  },=0A=
=0A=
  patterns: [=0A=
    { name: 'laterSibling', re: /^\s*~\s*/ },=0A=
    { name: 'child',        re: /^\s*>\s*/ },=0A=
    { name: 'adjacent',     re: /^\s*\+\s*/ },=0A=
    { name: 'descendant',   re: /^\s/ },=0A=
=0A=
    { name: 'tagName',      re: /^\s*(\*|[\w\-]+)(\b|$)?/ },=0A=
    { name: 'id',           re: /^#([\w\-\*]+)(\b|$)/ },=0A=
    { name: 'className',    re: /^\.([\w\-\*]+)(\b|$)/ },=0A=
    { name: 'pseudo',       re: =
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|(?=3D\s|[:+~>]))/ },=0A=
    { name: 'attrPresence', re: /^\[((?:[\w-]+:)?[\w-]+)\]/ },=0A=
    { name: 'attr',         re: =
/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^=
\]]*?)))?\]/ }=0A=
  ],=0A=
=0A=
  assertions: {=0A=
    tagName: function(element, matches) {=0A=
      return matches[1].toUpperCase() =3D=3D =
element.tagName.toUpperCase();=0A=
    },=0A=
=0A=
    className: function(element, matches) {=0A=
      return Element.hasClassName(element, matches[1]);=0A=
    },=0A=
=0A=
    id: function(element, matches) {=0A=
      return element.id =3D=3D=3D matches[1];=0A=
    },=0A=
=0A=
    attrPresence: function(element, matches) {=0A=
      return Element.hasAttribute(element, matches[1]);=0A=
    },=0A=
=0A=
    attr: function(element, matches) {=0A=
      var nodeValue =3D Element.readAttribute(element, matches[1]);=0A=
      return nodeValue && Selector.operators[matches[2]](nodeValue, =
matches[5] || matches[6]);=0A=
    }=0A=
  },=0A=
=0A=
  handlers: {=0A=
    concat: function(a, b) {=0A=
      for (var i =3D 0, node; node =3D b[i]; i++)=0A=
        a.push(node);=0A=
      return a;=0A=
    },=0A=
=0A=
    mark: function(nodes) {=0A=
      var _true =3D Prototype.emptyFunction;=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._countedByPrototype =3D _true;=0A=
      return nodes;=0A=
    },=0A=
=0A=
    unmark: (function(){=0A=
=0A=
      var PROPERTIES_ATTRIBUTES_MAP =3D (function(){=0A=
        var el =3D document.createElement('div'),=0A=
            isBuggy =3D false,=0A=
            propName =3D '_countedByPrototype',=0A=
            value =3D 'x'=0A=
        el[propName] =3D value;=0A=
        isBuggy =3D (el.getAttribute(propName) =3D=3D=3D value);=0A=
        el =3D null;=0A=
        return isBuggy;=0A=
      })();=0A=
=0A=
      return PROPERTIES_ATTRIBUTES_MAP ?=0A=
        function(nodes) {=0A=
          for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
            node.removeAttribute('_countedByPrototype');=0A=
          return nodes;=0A=
        } :=0A=
        function(nodes) {=0A=
          for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
            node._countedByPrototype =3D void 0;=0A=
          return nodes;=0A=
        }=0A=
    })(),=0A=
=0A=
    index: function(parentNode, reverse, ofType) {=0A=
      parentNode._countedByPrototype =3D Prototype.emptyFunction;=0A=
      if (reverse) {=0A=
        for (var nodes =3D parentNode.childNodes, i =3D nodes.length - =
1, j =3D 1; i >=3D 0; i--) {=0A=
          var node =3D nodes[i];=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;=0A=
        }=0A=
      } else {=0A=
        for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node =
=3D nodes[i]; i++)=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;=0A=
      }=0A=
    },=0A=
=0A=
    unique: function(nodes) {=0A=
      if (nodes.length =3D=3D 0) return nodes;=0A=
      var results =3D [], n;=0A=
      for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A=
        if (typeof (n =3D nodes[i])._countedByPrototype =3D=3D =
'undefined') {=0A=
          n._countedByPrototype =3D Prototype.emptyFunction;=0A=
          results.push(Element.extend(n));=0A=
        }=0A=
      return Selector.handlers.unmark(results);=0A=
    },=0A=
=0A=
    descendant: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, node.getElementsByTagName('*'));=0A=
      return results;=0A=
    },=0A=
=0A=
    child: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        for (var j =3D 0, child; child =3D node.childNodes[j]; j++)=0A=
          if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') =
results.push(child);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    adjacent: function(nodes) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        var next =3D this.nextElementSibling(node);=0A=
        if (next) results.push(next);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    laterSibling: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, Element.nextSiblings(node));=0A=
      return results;=0A=
    },=0A=
=0A=
    nextElementSibling: function(node) {=0A=
      while (node =3D node.nextSibling)=0A=
        if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    previousElementSibling: function(node) {=0A=
      while (node =3D node.previousSibling)=0A=
        if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    tagName: function(nodes, root, tagName, combinator) {=0A=
      var uTagName =3D tagName.toUpperCase();=0A=
      var results =3D [], h =3D Selector.handlers;=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          if (combinator =3D=3D "descendant") {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              h.concat(results, node.getElementsByTagName(tagName));=0A=
            return results;=0A=
          } else nodes =3D this[combinator](nodes);=0A=
          if (tagName =3D=3D "*") return nodes;=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName.toUpperCase() =3D=3D=3D uTagName) =
results.push(node);=0A=
        return results;=0A=
      } else return root.getElementsByTagName(tagName);=0A=
    },=0A=
=0A=
    id: function(nodes, root, id, combinator) {=0A=
      var targetNode =3D $(id), h =3D Selector.handlers;=0A=
=0A=
      if (root =3D=3D document) {=0A=
        if (!targetNode) return [];=0A=
        if (!nodes) return [targetNode];=0A=
      } else {=0A=
        if (!root.sourceIndex || root.sourceIndex < 1) {=0A=
          var nodes =3D root.getElementsByTagName('*');=0A=
          for (var j =3D 0, node; node =3D nodes[j]; j++) {=0A=
            if (node.id =3D=3D=3D id) return [node];=0A=
          }=0A=
        }=0A=
      }=0A=
=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          if (combinator =3D=3D 'child') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (targetNode.parentNode =3D=3D node) return [targetNode];=0A=
          } else if (combinator =3D=3D 'descendant') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Element.descendantOf(targetNode, node)) return =
[targetNode];=0A=
          } else if (combinator =3D=3D 'adjacent') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Selector.handlers.previousElementSibling(targetNode) =
=3D=3D node)=0A=
                return [targetNode];=0A=
          } else nodes =3D h[combinator](nodes);=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node =3D=3D targetNode) return [targetNode];=0A=
        return [];=0A=
      }=0A=
      return (targetNode && Element.descendantOf(targetNode, root)) ? =
[targetNode] : [];=0A=
    },=0A=
=0A=
    className: function(nodes, root, className, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      return Selector.handlers.byClassName(nodes, root, className);=0A=
    },=0A=
=0A=
    byClassName: function(nodes, root, className) {=0A=
      if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A=
      var needle =3D ' ' + className + ' ';=0A=
      for (var i =3D 0, results =3D [], node, nodeClassName; node =3D =
nodes[i]; i++) {=0A=
        nodeClassName =3D node.className;=0A=
        if (nodeClassName.length =3D=3D 0) continue;=0A=
        if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' =
').include(needle))=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    attrPresence: function(nodes, root, attr, combinator) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      var results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        if (Element.hasAttribute(node, attr)) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    attr: function(nodes, root, attr, value, operator, combinator) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      var handler =3D Selector.operators[operator], results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        var nodeValue =3D Element.readAttribute(node, attr);=0A=
        if (nodeValue =3D=3D=3D null) continue;=0A=
        if (handler(nodeValue, value)) results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    pseudo: function(nodes, name, value, root, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      return Selector.pseudos[name](nodes, value, root);=0A=
    }=0A=
  },=0A=
=0A=
  pseudos: {=0A=
    'first-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.previousElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'last-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.nextElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'only-child': function(nodes, value, root) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!h.previousElementSibling(node) && =
!h.nextElementSibling(node))=0A=
          results.push(node);=0A=
      return results;=0A=
    },=0A=
    'nth-child':        function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root);=0A=
    },=0A=
    'nth-last-child':   function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true);=0A=
    },=0A=
    'nth-of-type':      function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, false, true);=0A=
    },=0A=
    'nth-last-of-type': function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true, true);=0A=
    },=0A=
    'first-of-type':    function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, false, true);=0A=
    },=0A=
    'last-of-type':     function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, true, true);=0A=
    },=0A=
    'only-of-type':     function(nodes, formula, root) {=0A=
      var p =3D Selector.pseudos;=0A=
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), =
formula, root);=0A=
    },=0A=
=0A=
    getIndices: function(a, b, total) {=0A=
      if (a =3D=3D 0) return b > 0 ? [b] : [];=0A=
      return $R(1, total).inject([], function(memo, i) {=0A=
        if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A=
        return memo;=0A=
      });=0A=
    },=0A=
=0A=
    nth: function(nodes, formula, root, reverse, ofType) {=0A=
      if (nodes.length =3D=3D 0) return [];=0A=
      if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
      if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
      var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A=
      h.mark(nodes);=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        if (!node.parentNode._countedByPrototype) {=0A=
          h.index(node.parentNode, reverse, ofType);=0A=
          indexed.push(node.parentNode);=0A=
        }=0A=
      }=0A=
      if (formula.match(/^\d+$/)) { // just a number=0A=
        formula =3D Number(formula);=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.nodeIndex =3D=3D formula) results.push(node);=0A=
      } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // =
an+b=0A=
        if (m[1] =3D=3D "-") m[1] =3D -1;=0A=
        var a =3D m[1] ? Number(m[1]) : 1;=0A=
        var b =3D m[2] ? Number(m[2]) : 0;=0A=
        var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A=
        for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; =
i++) {=0A=
          for (var j =3D 0; j < l; j++)=0A=
            if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A=
        }=0A=
      }=0A=
      h.unmark(nodes);=0A=
      h.unmark(indexed);=0A=
      return results;=0A=
    },=0A=
=0A=
    'empty': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (node.tagName =3D=3D '!' || node.firstChild) continue;=0A=
        results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    'not': function(nodes, selector, root) {=0A=
      var h =3D Selector.handlers, selectorType, m;=0A=
      var exclusions =3D new Selector(selector).findElements(root);=0A=
      h.mark(exclusions);=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node._countedByPrototype) results.push(node);=0A=
      h.unmark(exclusions);=0A=
      return results;=0A=
    },=0A=
=0A=
    'enabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node.disabled && (!node.type || node.type !=3D=3D 'hidden'))=0A=
          results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'disabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.disabled) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'checked': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.checked) results.push(node);=0A=
      return results;=0A=
    }=0A=
  },=0A=
=0A=
  operators: {=0A=
    '=3D':  function(nv, v) { return nv =3D=3D v; },=0A=
    '!=3D': function(nv, v) { return nv !=3D v; },=0A=
    '^=3D': function(nv, v) { return nv =3D=3D v || nv && =
nv.startsWith(v); },=0A=
    '$=3D': function(nv, v) { return nv =3D=3D v || nv && =
nv.endsWith(v); },=0A=
    '*=3D': function(nv, v) { return nv =3D=3D v || nv && nv.include(v); =
},=0A=
    '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + =
' '); },=0A=
    '|=3D': function(nv, v) { return ('-' + (nv || "").toUpperCase() +=0A=
     '-').include('-' + (v || "").toUpperCase() + '-'); }=0A=
  },=0A=
=0A=
  split: function(expression) {=0A=
    var expressions =3D [];=0A=
    expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, =
function(m) {=0A=
      expressions.push(m[1].strip());=0A=
    });=0A=
    return expressions;=0A=
  },=0A=
=0A=
  matchElements: function(elements, expression) {=0A=
    var matches =3D $$(expression), h =3D Selector.handlers;=0A=
    h.mark(matches);=0A=
    for (var i =3D 0, results =3D [], element; element =3D elements[i]; =
i++)=0A=
      if (element._countedByPrototype) results.push(element);=0A=
    h.unmark(matches);=0A=
    return results;=0A=
  },=0A=
=0A=
  findElement: function(elements, expression, index) {=0A=
    if (Object.isNumber(expression)) {=0A=
      index =3D expression; expression =3D false;=0A=
    }=0A=
    return Selector.matchElements(elements, expression || '*')[index || =
0];=0A=
  },=0A=
=0A=
  findChildElements: function(element, expressions) {=0A=
    expressions =3D Selector.split(expressions.join(','));=0A=
    var results =3D [], h =3D Selector.handlers;=0A=
    for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A=
      selector =3D new Selector(expressions[i].strip());=0A=
      h.concat(results, selector.findElements(element));=0A=
    }=0A=
    return (l > 1) ? h.unique(results) : results;=0A=
  }=0A=
});=0A=
=0A=
if (Prototype.Browser.IE) {=0A=
  Object.extend(Selector.handlers, {=0A=
    concat: function(a, b) {=0A=
      for (var i =3D 0, node; node =3D b[i]; i++)=0A=
        if (node.tagName !=3D=3D "!") a.push(node);=0A=
      return a;=0A=
    }=0A=
  });=0A=
}=0A=
=0A=
function $$() {=0A=
  return Selector.findChildElements(document, $A(arguments));=0A=
}=0A=
=0A=
var Form =3D {=0A=
  reset: function(form) {=0A=
    form =3D $(form);=0A=
    form.reset();=0A=
    return form;=0A=
  },=0A=
=0A=
  serializeElements: function(elements, options) {=0A=
    if (typeof options !=3D 'object') options =3D { hash: !!options };=0A=
    else if (Object.isUndefined(options.hash)) options.hash =3D true;=0A=
    var key, value, submitted =3D false, submit =3D options.submit;=0A=
=0A=
    var data =3D elements.inject({ }, function(result, element) {=0A=
      if (!element.disabled && element.name) {=0A=
        key =3D element.name; value =3D $(element).getValue();=0A=
        if (value !=3D null && element.type !=3D 'file' && (element.type =
!=3D 'submit' || (!submitted &&=0A=
            submit !=3D=3D false && (!submit || key =3D=3D submit) && =
(submitted =3D true)))) {=0A=
          if (key in result) {=0A=
            if (!Object.isArray(result[key])) result[key] =3D =
[result[key]];=0A=
            result[key].push(value);=0A=
          }=0A=
          else result[key] =3D value;=0A=
        }=0A=
      }=0A=
      return result;=0A=
    });=0A=
=0A=
    return options.hash ? data : Object.toQueryString(data);=0A=
  }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
  serialize: function(form, options) {=0A=
    return Form.serializeElements(Form.getElements(form), options);=0A=
  },=0A=
=0A=
  getElements: function(form) {=0A=
    var elements =3D $(form).getElementsByTagName('*'),=0A=
        element,=0A=
        arr =3D [ ],=0A=
        serializers =3D Form.Element.Serializers;=0A=
    for (var i =3D 0; element =3D elements[i]; i++) {=0A=
      arr.push(element);=0A=
    }=0A=
    return arr.inject([], function(elements, child) {=0A=
      if (serializers[child.tagName.toLowerCase()])=0A=
        elements.push(Element.extend(child));=0A=
      return elements;=0A=
    })=0A=
  },=0A=
=0A=
  getInputs: function(form, typeName, name) {=0A=
    form =3D $(form);=0A=
    var inputs =3D form.getElementsByTagName('input');=0A=
=0A=
    if (!typeName && !name) return $A(inputs).map(Element.extend);=0A=
=0A=
    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {=0A=
      var input =3D inputs[i];=0A=
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))=0A=
        continue;=0A=
      matchingInputs.push(Element.extend(input));=0A=
    }=0A=
=0A=
    return matchingInputs;=0A=
  },=0A=
=0A=
  disable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('disable');=0A=
    return form;=0A=
  },=0A=
=0A=
  enable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('enable');=0A=
    return form;=0A=
  },=0A=
=0A=
  findFirstElement: function(form) {=0A=
    var elements =3D $(form).getElements().findAll(function(element) {=0A=
      return 'hidden' !=3D element.type && !element.disabled;=0A=
    });=0A=
    var firstByIndex =3D elements.findAll(function(element) {=0A=
      return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A=
    }).sortBy(function(element) { return element.tabIndex }).first();=0A=
=0A=
    return firstByIndex ? firstByIndex : elements.find(function(element) =
{=0A=
      return /^(?:input|select|textarea)$/i.test(element.tagName);=0A=
    });=0A=
  },=0A=
=0A=
  focusFirstElement: function(form) {=0A=
    form =3D $(form);=0A=
    form.findFirstElement().activate();=0A=
    return form;=0A=
  },=0A=
=0A=
  request: function(form, options) {=0A=
    form =3D $(form), options =3D Object.clone(options || { });=0A=
=0A=
    var params =3D options.parameters, action =3D =
form.readAttribute('action') || '';=0A=
    if (action.blank()) action =3D window.location.href;=0A=
    options.parameters =3D form.serialize(true);=0A=
=0A=
    if (params) {=0A=
      if (Object.isString(params)) params =3D params.toQueryParams();=0A=
      Object.extend(options.parameters, params);=0A=
    }=0A=
=0A=
    if (form.hasAttribute('method') && !options.method)=0A=
      options.method =3D form.method;=0A=
=0A=
    return new Ajax.Request(action, options);=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
=0A=
Form.Element =3D {=0A=
  focus: function(element) {=0A=
    $(element).focus();=0A=
    return element;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    $(element).select();=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Form.Element.Methods =3D {=0A=
=0A=
  serialize: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element.disabled && element.name) {=0A=
      var value =3D element.getValue();=0A=
      if (value !=3D undefined) {=0A=
        var pair =3D { };=0A=
        pair[element.name] =3D value;=0A=
        return Object.toQueryString(pair);=0A=
      }=0A=
    }=0A=
    return '';=0A=
  },=0A=
=0A=
  getValue: function(element) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    return Form.Element.Serializers[method](element);=0A=
  },=0A=
=0A=
  setValue: function(element, value) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    Form.Element.Serializers[method](element, value);=0A=
    return element;=0A=
  },=0A=
=0A=
  clear: function(element) {=0A=
    $(element).value =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  present: function(element) {=0A=
    return $(element).value !=3D '';=0A=
  },=0A=
=0A=
  activate: function(element) {=0A=
    element =3D $(element);=0A=
    try {=0A=
      element.focus();=0A=
      if (element.select && (element.tagName.toLowerCase() !=3D 'input' =
||=0A=
          !(/^(?:button|reset|submit)$/i.test(element.type))))=0A=
        element.select();=0A=
    } catch (e) { }=0A=
    return element;=0A=
  },=0A=
=0A=
  disable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D true;=0A=
    return element;=0A=
  },=0A=
=0A=
  enable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D false;=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Field =3D Form.Element;=0A=
=0A=
var $F =3D Form.Element.Methods.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element.Serializers =3D {=0A=
  input: function(element, value) {=0A=
    switch (element.type.toLowerCase()) {=0A=
      case 'checkbox':=0A=
      case 'radio':=0A=
        return Form.Element.Serializers.inputSelector(element, value);=0A=
      default:=0A=
        return Form.Element.Serializers.textarea(element, value);=0A=
    }=0A=
  },=0A=
=0A=
  inputSelector: function(element, value) {=0A=
    if (Object.isUndefined(value)) return element.checked ? =
element.value : null;=0A=
    else element.checked =3D !!value;=0A=
  },=0A=
=0A=
  textarea: function(element, value) {=0A=
    if (Object.isUndefined(value)) return element.value;=0A=
    else element.value =3D value;=0A=
  },=0A=
=0A=
  select: function(element, value) {=0A=
    if (Object.isUndefined(value))=0A=
      return this[element.type =3D=3D 'select-one' ?=0A=
        'selectOne' : 'selectMany'](element);=0A=
    else {=0A=
      var opt, currentValue, single =3D !Object.isArray(value);=0A=
      for (var i =3D 0, length =3D element.length; i < length; i++) {=0A=
        opt =3D element.options[i];=0A=
        currentValue =3D this.optionValue(opt);=0A=
        if (single) {=0A=
          if (currentValue =3D=3D value) {=0A=
            opt.selected =3D true;=0A=
            return;=0A=
          }=0A=
        }=0A=
        else opt.selected =3D value.include(currentValue);=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  selectOne: function(element) {=0A=
    var index =3D element.selectedIndex;=0A=
    return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;=0A=
  },=0A=
=0A=
  selectMany: function(element) {=0A=
    var values, length =3D element.length;=0A=
    if (!length) return null;=0A=
=0A=
    for (var i =3D 0, values =3D []; i < length; i++) {=0A=
      var opt =3D element.options[i];=0A=
      if (opt.selected) values.push(this.optionValue(opt));=0A=
    }=0A=
    return values;=0A=
  },=0A=
=0A=
  optionValue: function(opt) {=0A=
    return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
=0A=
Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A=
  initialize: function($super, element, frequency, callback) {=0A=
    $super(callback, frequency);=0A=
    this.element   =3D $(element);=0A=
    this.lastValue =3D this.getValue();=0A=
  },=0A=
=0A=
  execute: function() {=0A=
    var value =3D this.getValue();=0A=
    if (Object.isString(this.lastValue) && Object.isString(value) ?=0A=
        this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value)) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D Class.create({=0A=
  initialize: function(element, callback) {=0A=
    this.element  =3D $(element);=0A=
    this.callback =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A=
      this.registerFormCallbacks();=0A=
    else=0A=
      this.registerCallback(this.element);=0A=
  },=0A=
=0A=
  onElementEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  },=0A=
=0A=
  registerFormCallbacks: function() {=0A=
    Form.getElements(this.element).each(this.registerCallback, this);=0A=
  },=0A=
=0A=
  registerCallback: function(element) {=0A=
    if (element.type) {=0A=
      switch (element.type.toLowerCase()) {=0A=
        case 'checkbox':=0A=
        case 'radio':=0A=
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
        default:=0A=
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
      }=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
(function() {=0A=
=0A=
  var Event =3D {=0A=
    KEY_BACKSPACE: 8,=0A=
    KEY_TAB:       9,=0A=
    KEY_RETURN:   13,=0A=
    KEY_ESC:      27,=0A=
    KEY_LEFT:     37,=0A=
    KEY_UP:       38,=0A=
    KEY_RIGHT:    39,=0A=
    KEY_DOWN:     40,=0A=
    KEY_DELETE:   46,=0A=
    KEY_HOME:     36,=0A=
    KEY_END:      35,=0A=
    KEY_PAGEUP:   33,=0A=
    KEY_PAGEDOWN: 34,=0A=
    KEY_INSERT:   45,=0A=
=0A=
    cache: {}=0A=
  };=0A=
=0A=
  var docEl =3D document.documentElement;=0A=
  var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED =3D 'onmouseenter' in docEl=0A=
    && 'onmouseleave' in docEl;=0A=
=0A=
  var _isButton;=0A=
  if (Prototype.Browser.IE) {=0A=
    var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A=
    _isButton =3D function(event, code) {=0A=
      return event.button =3D=3D=3D buttonMap[code];=0A=
    };=0A=
  } else if (Prototype.Browser.WebKit) {=0A=
    _isButton =3D function(event, code) {=0A=
      switch (code) {=0A=
        case 0: return event.which =3D=3D 1 && !event.metaKey;=0A=
        case 1: return event.which =3D=3D 1 && event.metaKey;=0A=
        default: return false;=0A=
      }=0A=
    };=0A=
  } else {=0A=
    _isButton =3D function(event, code) {=0A=
      return event.which ? (event.which =3D=3D=3D code + 1) : =
(event.button =3D=3D=3D code);=0A=
    };=0A=
  }=0A=
=0A=
  function isLeftClick(event)   { return _isButton(event, 0) }=0A=
=0A=
  function isMiddleClick(event) { return _isButton(event, 1) }=0A=
=0A=
  function isRightClick(event)  { return _isButton(event, 2) }=0A=
=0A=
  function element(event) {=0A=
    event =3D Event.extend(event);=0A=
=0A=
    var node =3D event.target, type =3D event.type,=0A=
     currentTarget =3D event.currentTarget;=0A=
=0A=
    if (currentTarget && currentTarget.tagName) {=0A=
      if (type =3D=3D=3D 'load' || type =3D=3D=3D 'error' ||=0A=
        (type =3D=3D=3D 'click' && currentTarget.tagName.toLowerCase() =
=3D=3D=3D 'input'=0A=
          && currentTarget.type =3D=3D=3D 'radio'))=0A=
            node =3D currentTarget;=0A=
    }=0A=
=0A=
    if (node.nodeType =3D=3D Node.TEXT_NODE)=0A=
      node =3D node.parentNode;=0A=
=0A=
    return Element.extend(node);=0A=
  }=0A=
=0A=
  function findElement(event, expression) {=0A=
    var element =3D Event.element(event);=0A=
    if (!expression) return element;=0A=
    var elements =3D [element].concat(element.ancestors());=0A=
    return Selector.findElement(elements, expression, 0);=0A=
  }=0A=
=0A=
  function pointer(event) {=0A=
    return { x: pointerX(event), y: pointerY(event) };=0A=
  }=0A=
=0A=
  function pointerX(event) {=0A=
    var docElement =3D document.documentElement,=0A=
     body =3D document.body || { scrollLeft: 0 };=0A=
=0A=
    return event.pageX || (event.clientX +=0A=
      (docElement.scrollLeft || body.scrollLeft) -=0A=
      (docElement.clientLeft || 0));=0A=
  }=0A=
=0A=
  function pointerY(event) {=0A=
    var docElement =3D document.documentElement,=0A=
     body =3D document.body || { scrollTop: 0 };=0A=
=0A=
    return  event.pageY || (event.clientY +=0A=
       (docElement.scrollTop || body.scrollTop) -=0A=
       (docElement.clientTop || 0));=0A=
  }=0A=
=0A=
=0A=
  function stop(event) {=0A=
    Event.extend(event);=0A=
    event.preventDefault();=0A=
    event.stopPropagation();=0A=
=0A=
    event.stopped =3D true;=0A=
  }=0A=
=0A=
  Event.Methods =3D {=0A=
    isLeftClick: isLeftClick,=0A=
    isMiddleClick: isMiddleClick,=0A=
    isRightClick: isRightClick,=0A=
=0A=
    element: element,=0A=
    findElement: findElement,=0A=
=0A=
    pointer: pointer,=0A=
    pointerX: pointerX,=0A=
    pointerY: pointerY,=0A=
=0A=
    stop: stop=0A=
  };=0A=
=0A=
=0A=
  var methods =3D Object.keys(Event.Methods).inject({ }, function(m, =
name) {=0A=
    m[name] =3D Event.Methods[name].methodize();=0A=
    return m;=0A=
  });=0A=
=0A=
  if (Prototype.Browser.IE) {=0A=
    function _relatedTarget(event) {=0A=
      var element;=0A=
      switch (event.type) {=0A=
        case 'mouseover': element =3D event.fromElement; break;=0A=
        case 'mouseout':  element =3D event.toElement;   break;=0A=
        default: return null;=0A=
      }=0A=
      return Element.extend(element);=0A=
    }=0A=
=0A=
    Object.extend(methods, {=0A=
      stopPropagation: function() { this.cancelBubble =3D true },=0A=
      preventDefault:  function() { this.returnValue =3D false },=0A=
      inspect: function() { return '[object Event]' }=0A=
    });=0A=
=0A=
    Event.extend =3D function(event, element) {=0A=
      if (!event) return false;=0A=
      if (event._extendedByPrototype) return event;=0A=
=0A=
      event._extendedByPrototype =3D Prototype.emptyFunction;=0A=
      var pointer =3D Event.pointer(event);=0A=
=0A=
      Object.extend(event, {=0A=
        target: event.srcElement || element,=0A=
        relatedTarget: _relatedTarget(event),=0A=
        pageX:  pointer.x,=0A=
        pageY:  pointer.y=0A=
      });=0A=
=0A=
      return Object.extend(event, methods);=0A=
    };=0A=
  } else {=0A=
    Event.prototype =3D window.Event.prototype || =
document.createEvent('HTMLEvents').__proto__;=0A=
    Object.extend(Event.prototype, methods);=0A=
    Event.extend =3D Prototype.K;=0A=
  }=0A=
=0A=
  function _createResponder(element, eventName, handler) {=0A=
    var registry =3D Element.retrieve(element, =
'prototype_event_registry');=0A=
=0A=
    if (Object.isUndefined(registry)) {=0A=
      CACHE.push(element);=0A=
      registry =3D Element.retrieve(element, 'prototype_event_registry', =
$H());=0A=
    }=0A=
=0A=
    var respondersForEvent =3D registry.get(eventName);=0A=
    if (Object.isUndefined(respondersForEvent)) {=0A=
      respondersForEvent =3D [];=0A=
      registry.set(eventName, respondersForEvent);=0A=
    }=0A=
=0A=
    if (respondersForEvent.pluck('handler').include(handler)) return =
false;=0A=
=0A=
    var responder;=0A=
    if (eventName.include(":")) {=0A=
      responder =3D function(event) {=0A=
        if (Object.isUndefined(event.eventName))=0A=
          return false;=0A=
=0A=
        if (event.eventName !=3D=3D eventName)=0A=
          return false;=0A=
=0A=
        Event.extend(event, element);=0A=
        handler.call(element, event);=0A=
      };=0A=
    } else {=0A=
      if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED &&=0A=
       (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D =
"mouseleave")) {=0A=
        if (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D =
"mouseleave") {=0A=
          responder =3D function(event) {=0A=
            Event.extend(event, element);=0A=
=0A=
            var parent =3D event.relatedTarget;=0A=
            while (parent && parent !=3D=3D element) {=0A=
              try { parent =3D parent.parentNode; }=0A=
              catch(e) { parent =3D element; }=0A=
            }=0A=
=0A=
            if (parent =3D=3D=3D element) return;=0A=
=0A=
            handler.call(element, event);=0A=
          };=0A=
        }=0A=
      } else {=0A=
        responder =3D function(event) {=0A=
          Event.extend(event, element);=0A=
          handler.call(element, event);=0A=
        };=0A=
      }=0A=
    }=0A=
=0A=
    responder.handler =3D handler;=0A=
    respondersForEvent.push(responder);=0A=
    return responder;=0A=
  }=0A=
=0A=
  function _destroyCache() {=0A=
    for (var i =3D 0, length =3D CACHE.length; i < length; i++) {=0A=
      Event.stopObserving(CACHE[i]);=0A=
      CACHE[i] =3D null;=0A=
    }=0A=
  }=0A=
=0A=
  var CACHE =3D [];=0A=
=0A=
  if (Prototype.Browser.IE)=0A=
    window.attachEvent('onunload', _destroyCache);=0A=
=0A=
  if (Prototype.Browser.WebKit)=0A=
    window.addEventListener('unload', Prototype.emptyFunction, false);=0A=
=0A=
=0A=
  var _getDOMEventName =3D Prototype.K;=0A=
=0A=
  if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) {=0A=
    _getDOMEventName =3D function(eventName) {=0A=
      var translations =3D { mouseenter: "mouseover", mouseleave: =
"mouseout" };=0A=
      return eventName in translations ? translations[eventName] : =
eventName;=0A=
    };=0A=
  }=0A=
=0A=
  function observe(element, eventName, handler) {=0A=
    element =3D $(element);=0A=
=0A=
    var responder =3D _createResponder(element, eventName, handler);=0A=
=0A=
    if (!responder) return element;=0A=
=0A=
    if (eventName.include(':')) {=0A=
      if (element.addEventListener)=0A=
        element.addEventListener("dataavailable", responder, false);=0A=
      else {=0A=
        element.attachEvent("ondataavailable", responder);=0A=
        element.attachEvent("onfilterchange", responder);=0A=
      }=0A=
    } else {=0A=
      var actualEventName =3D _getDOMEventName(eventName);=0A=
=0A=
      if (element.addEventListener)=0A=
        element.addEventListener(actualEventName, responder, false);=0A=
      else=0A=
        element.attachEvent("on" + actualEventName, responder);=0A=
    }=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function stopObserving(element, eventName, handler) {=0A=
    element =3D $(element);=0A=
=0A=
    var registry =3D Element.retrieve(element, =
'prototype_event_registry');=0A=
=0A=
    if (Object.isUndefined(registry)) return element;=0A=
=0A=
    if (eventName && !handler) {=0A=
      var responders =3D registry.get(eventName);=0A=
=0A=
      if (Object.isUndefined(responders)) return element;=0A=
=0A=
      responders.each( function(r) {=0A=
        Element.stopObserving(element, eventName, r.handler);=0A=
      });=0A=
      return element;=0A=
    } else if (!eventName) {=0A=
      registry.each( function(pair) {=0A=
        var eventName =3D pair.key, responders =3D pair.value;=0A=
=0A=
        responders.each( function(r) {=0A=
          Element.stopObserving(element, eventName, r.handler);=0A=
        });=0A=
      });=0A=
      return element;=0A=
    }=0A=
=0A=
    var responders =3D registry.get(eventName);=0A=
=0A=
    if (!responders) return;=0A=
=0A=
    var responder =3D responders.find( function(r) { return r.handler =
=3D=3D=3D handler; });=0A=
    if (!responder) return element;=0A=
=0A=
    var actualEventName =3D _getDOMEventName(eventName);=0A=
=0A=
    if (eventName.include(':')) {=0A=
      if (element.removeEventListener)=0A=
        element.removeEventListener("dataavailable", responder, false);=0A=
      else {=0A=
        element.detachEvent("ondataavailable", responder);=0A=
        element.detachEvent("onfilterchange",  responder);=0A=
      }=0A=
    } else {=0A=
      if (element.removeEventListener)=0A=
        element.removeEventListener(actualEventName, responder, false);=0A=
      else=0A=
        element.detachEvent('on' + actualEventName, responder);=0A=
    }=0A=
=0A=
    registry.set(eventName, responders.without(responder));=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function fire(element, eventName, memo, bubble) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Object.isUndefined(bubble))=0A=
      bubble =3D true;=0A=
=0A=
    if (element =3D=3D document && document.createEvent && =
!element.dispatchEvent)=0A=
      element =3D document.documentElement;=0A=
=0A=
    var event;=0A=
    if (document.createEvent) {=0A=
      event =3D document.createEvent('HTMLEvents');=0A=
      event.initEvent('dataavailable', true, true);=0A=
    } else {=0A=
      event =3D document.createEventObject();=0A=
      event.eventType =3D bubble ? 'ondataavailable' : 'onfilterchange';=0A=
    }=0A=
=0A=
    event.eventName =3D eventName;=0A=
    event.memo =3D memo || { };=0A=
=0A=
    if (document.createEvent)=0A=
      element.dispatchEvent(event);=0A=
    else=0A=
      element.fireEvent(event.eventType, event);=0A=
=0A=
    return Event.extend(event);=0A=
  }=0A=
=0A=
=0A=
  Object.extend(Event, Event.Methods);=0A=
=0A=
  Object.extend(Event, {=0A=
    fire:          fire,=0A=
    observe:       observe,=0A=
    stopObserving: stopObserving=0A=
  });=0A=
=0A=
  Element.addMethods({=0A=
    fire:          fire,=0A=
=0A=
    observe:       observe,=0A=
=0A=
    stopObserving: stopObserving=0A=
  });=0A=
=0A=
  Object.extend(document, {=0A=
    fire:          fire.methodize(),=0A=
=0A=
    observe:       observe.methodize(),=0A=
=0A=
    stopObserving: stopObserving.methodize(),=0A=
=0A=
    loaded:        false=0A=
  });=0A=
=0A=
  if (window.Event) Object.extend(window.Event, Event);=0A=
  else window.Event =3D Event;=0A=
})();=0A=
=0A=
(function() {=0A=
  /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A=
     Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */=0A=
=0A=
  var timer;=0A=
=0A=
  function fireContentLoadedEvent() {=0A=
    if (document.loaded) return;=0A=
    if (timer) window.clearTimeout(timer);=0A=
    document.loaded =3D true;=0A=
    document.fire('dom:loaded');=0A=
  }=0A=
=0A=
  function checkReadyState() {=0A=
    if (document.readyState =3D=3D=3D 'complete') {=0A=
      document.stopObserving('readystatechange', checkReadyState);=0A=
      fireContentLoadedEvent();=0A=
    }=0A=
  }=0A=
=0A=
  function pollDoScroll() {=0A=
    try { document.documentElement.doScroll('left'); }=0A=
    catch(e) {=0A=
      timer =3D pollDoScroll.defer();=0A=
      return;=0A=
    }=0A=
    fireContentLoadedEvent();=0A=
  }=0A=
=0A=
  if (document.addEventListener) {=0A=
    document.addEventListener('DOMContentLoaded', =
fireContentLoadedEvent, false);=0A=
  } else {=0A=
    document.observe('readystatechange', checkReadyState);=0A=
    if (window =3D=3D top)=0A=
      timer =3D pollDoScroll.defer();=0A=
  }=0A=
=0A=
  Event.observe(window, 'load', fireContentLoadedEvent);=0A=
})();=0A=
=0A=
Element.addMethods();=0A=
=0A=
/*------------------------------- DEPRECATED =
-------------------------------*/=0A=
=0A=
Hash.toQueryString =3D Object.toQueryString;=0A=
=0A=
var Toggle =3D { display: Element.toggle };=0A=
=0A=
Element.Methods.childOf =3D Element.Methods.descendantOf;=0A=
=0A=
var Insertion =3D {=0A=
  Before: function(element, content) {=0A=
    return Element.insert(element, {before:content});=0A=
  },=0A=
=0A=
  Top: function(element, content) {=0A=
    return Element.insert(element, {top:content});=0A=
  },=0A=
=0A=
  Bottom: function(element, content) {=0A=
    return Element.insert(element, {bottom:content});=0A=
  },=0A=
=0A=
  After: function(element, content) {=0A=
    return Element.insert(element, {after:content});=0A=
  }=0A=
};=0A=
=0A=
var $continue =3D new Error('"throw $continue" is deprecated, use =
"return" instead');=0A=
=0A=
var Position =3D {=0A=
  includeScrollOffsets: false,=0A=
=0A=
  prepare: function() {=0A=
    this.deltaX =3D  window.pageXOffset=0A=
                || document.documentElement.scrollLeft=0A=
                || document.body.scrollLeft=0A=
                || 0;=0A=
    this.deltaY =3D  window.pageYOffset=0A=
                || document.documentElement.scrollTop=0A=
                || document.body.scrollTop=0A=
                || 0;=0A=
  },=0A=
=0A=
  within: function(element, x, y) {=0A=
    if (this.includeScrollOffsets)=0A=
      return this.withinIncludingScrolloffsets(element, x, y);=0A=
    this.xcomp =3D x;=0A=
    this.ycomp =3D y;=0A=
    this.offset =3D Element.cumulativeOffset(element);=0A=
=0A=
    return (y >=3D this.offset[1] &&=0A=
            y <  this.offset[1] + element.offsetHeight &&=0A=
            x >=3D this.offset[0] &&=0A=
            x <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  withinIncludingScrolloffsets: function(element, x, y) {=0A=
    var offsetcache =3D Element.cumulativeScrollOffset(element);=0A=
=0A=
    this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
    this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
    this.offset =3D Element.cumulativeOffset(element);=0A=
=0A=
    return (this.ycomp >=3D this.offset[1] &&=0A=
            this.ycomp <  this.offset[1] + element.offsetHeight &&=0A=
            this.xcomp >=3D this.offset[0] &&=0A=
            this.xcomp <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  overlap: function(mode, element) {=0A=
    if (!mode) return 0;=0A=
    if (mode =3D=3D 'vertical')=0A=
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A=
        element.offsetHeight;=0A=
    if (mode =3D=3D 'horizontal')=0A=
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A=
        element.offsetWidth;=0A=
  },=0A=
=0A=
=0A=
  cumulativeOffset: Element.Methods.cumulativeOffset,=0A=
=0A=
  positionedOffset: Element.Methods.positionedOffset,=0A=
=0A=
  absolutize: function(element) {=0A=
    Position.prepare();=0A=
    return Element.absolutize(element);=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    Position.prepare();=0A=
    return Element.relativize(element);=0A=
  },=0A=
=0A=
  realOffset: Element.Methods.cumulativeScrollOffset,=0A=
=0A=
  offsetParent: Element.Methods.getOffsetParent,=0A=
=0A=
  page: Element.Methods.viewportOffset,=0A=
=0A=
  clone: function(source, target, options) {=0A=
    options =3D options || { };=0A=
    return Element.clonePosition(target, source, options);=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!document.getElementsByClassName) document.getElementsByClassName =
=3D function(instanceMethods){=0A=
  function iter(name) {=0A=
    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' =
" + name + " ')]";=0A=
  }=0A=
=0A=
  instanceMethods.getElementsByClassName =3D =
Prototype.BrowserFeatures.XPath ?=0A=
  function(element, className) {=0A=
    className =3D className.toString().strip();=0A=
    var cond =3D /\s/.test(className) ? $w(className).map(iter).join('') =
: iter(className);=0A=
    return cond ? document._getElementsByXPath('.//*' + cond, element) : =
[];=0A=
  } : function(element, className) {=0A=
    className =3D className.toString().strip();=0A=
    var elements =3D [], classNames =3D (/\s/.test(className) ? =
$w(className) : null);=0A=
    if (!classNames && !className) return elements;=0A=
=0A=
    var nodes =3D $(element).getElementsByTagName('*');=0A=
    className =3D ' ' + className + ' ';=0A=
=0A=
    for (var i =3D 0, child, cn; child =3D nodes[i]; i++) {=0A=
      if (child.className && (cn =3D ' ' + child.className + ' ') && =
(cn.include(className) ||=0A=
          (classNames && classNames.all(function(name) {=0A=
            return !name.toString().blank() && cn.include(' ' + name + ' =
');=0A=
          }))))=0A=
        elements.push(Element.extend(child));=0A=
    }=0A=
    return elements;=0A=
  };=0A=
=0A=
  return function(className, parentElement) {=0A=
    return $(parentElement || =
document.body).getElementsByClassName(className);=0A=
  };=0A=
}(Element.Methods);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.ClassNames =3D Class.create();=0A=
Element.ClassNames.prototype =3D {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    this.element.className.split(/\s+/).select(function(name) {=0A=
      return name.length > 0;=0A=
    })._each(iterator);=0A=
  },=0A=
=0A=
  set: function(className) {=0A=
    this.element.className =3D className;=0A=
  },=0A=
=0A=
  add: function(classNameToAdd) {=0A=
    if (this.include(classNameToAdd)) return;=0A=
    this.set($A(this).concat(classNameToAdd).join(' '));=0A=
  },=0A=
=0A=
  remove: function(classNameToRemove) {=0A=
    if (!this.include(classNameToRemove)) return;=0A=
    this.set($A(this).without(classNameToRemove).join(' '));=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return $A(this).join(' ');=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.ClassNames.prototype, Enumerable);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/js/cssQuery.js

/*=0A=
	cssQuery, version 2.0.2 (2005-08-19)=0A=
	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)=0A=
	License: http://creativecommons.org/licenses/LGPL/2.1/=0A=
*/=0A=
eval(function(p,a,c,k,e,d){e=3Dfunction(c){return(c<a?'':e(parseInt(c/a))=
)+((c=3Dc%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace=
(/^/,String)){while(c--)d[e(c)]=3Dk[c]||e(c);k=3D[function(e){return =
d[e]}];e=3Dfunction(){return'\\w+'};c=3D1};while(c--)if(k[c])p=3Dp.replac=
e(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7 x=3D6(){7 =
1D=3D"2.0.2";7 C=3D/\\s*,\\s*/;7 x=3D6(s,A){33{7 m=3D[];7 =
u=3D1z.32.2c&&!A;7 b=3D(A)?(A.31=3D=3D22)?A:[A]:[1g];7 =
1E=3D18(s).1l(C),i;9(i=3D0;i<1E.y;i++){s=3D1y(1E[i]);8(U&&s.Z(0,3).2b("")=
=3D=3D" *#"){s=3Ds.Z(2);A=3D24([],b,s[1])}1A A=3Db;7 =
j=3D0,t,f,a,c=3D"";H(j<s.y){t=3Ds[j++];f=3Ds[j++];c+=3Dt+f;a=3D"";8(s[j]=3D=
=3D"("){H(s[j++]!=3D")")a+=3Ds[j];a=3Da.Z(0,-1);c+=3D"("+a+")"}A=3D(u&&V[=
c])?V[c]:21(A,t,f,a);8(u)V[c]=3DA}m=3Dm.30(A)}2a x.2d;5 =
m}2Z(e){x.2d=3De;5[]}};x.1Z=3D6(){5"6 x() {\\n  [1D "+1D+"]\\n}"};7 =
V=3D{};x.2c=3DL;x.2Y=3D6(s){8(s){s=3D1y(s).2b("");2a V[s]}1A V=3D{}};7 =
29=3D{};7 19=3DL;x.15=3D6(n,s){8(19)1i("s=3D"+1U(s));29[n]=3D12 =
s()};x.2X=3D6(c){5 c?1i(c):o};7 D=3D{};7 h=3D{};7 =
q=3D{P:/\\[([\\w-]+(\\|[\\w-]+)?)\\s*(\\W?=3D)?\\s*([^\\]]*)\\]/};7 =
T=3D[];D[" "]=3D6(r,f,t,n){7 e,i,j;9(i=3D0;i<f.y;i++){7 =
s=3DX(f[i],t,n);9(j=3D0;(e=3Ds[j]);j++){8(M(e)&&14(e,n))r.z(e)}}};D["#"]=3D=
6(r,f,i){7 =
e,j;9(j=3D0;(e=3Df[j]);j++)8(e.B=3D=3Di)r.z(e)};D["."]=3D6(r,f,c){c=3D12 =
1t("(^|\\\\s)"+c+"(\\\\s|$)");7 =
e,i;9(i=3D0;(e=3Df[i]);i++)8(c.l(e.1V))r.z(e)};D[":"]=3D6(r,f,p,a){7 =
t=3Dh[p],e,i;8(t)9(i=3D0;(e=3Df[i]);i++)8(t(e,a))r.z(e)};h["2W"]=3D6(e){7=
 d=3DQ(e);8(d.1C)9(7 i=3D0;i<d.1C.y;i++){8(d.1C[i]=3D=3De)5 =
K}};h["2V"]=3D6(e){};7 M=3D6(e){5(e&&e.1c=3D=3D1&&e.1f!=3D"!")?e:23};7 =
16=3D6(e){H(e&&(e=3De.2U)&&!M(e))28;5 e};7 =
G=3D6(e){H(e&&(e=3De.2T)&&!M(e))28;5 e};7 1r=3D6(e){5 =
M(e.27)||G(e.27)};7 1P=3D6(e){5 M(e.26)||16(e.26)};7 1o=3D6(e){7 =
c=3D[];e=3D1r(e);H(e){c.z(e);e=3DG(e)}5 c};7 U=3DK;7 1h=3D6(e){7 =
d=3DQ(e);5(2S d.25=3D=3D"2R")?/\\.1J$/i.l(d.2Q):2P(d.25=3D=3D"2O 2N")};7 =
Q=3D6(e){5 e.2M||e.1g};7 X=3D6(e,t){5(t=3D=3D"*"&&e.1B)?e.1B:e.X(t)};7 =
17=3D6(e,t,n){8(t=3D=3D"*")5 M(e);8(!14(e,n))5 L;8(!1h(e))t=3Dt.2L();5 =
e.1f=3D=3Dt};7 14=3D6(e,n){5!n||(n=3D=3D"*")||(e.2K=3D=3Dn)};7 =
1e=3D6(e){5 e.1G};6 24(r,f,B){7 =
m,i,j;9(i=3D0;i<f.y;i++){8(m=3Df[i].1B.2J(B)){8(m.B=3D=3DB)r.z(m);1A =
8(m.y!=3D23){9(j=3D0;j<m.y;j++){8(m[j].B=3D=3DB)r.z(m[j])}}}}5 =
r};8(![].z)22.2I.z=3D6(){9(7 i=3D0;i<1z.y;i++){o[o.y]=3D1z[i]}5 o.y};7 =
N=3D/\\|/;6 21(A,t,f,a){8(N.l(f)){f=3Df.1l(N);a=3Df[0];f=3Df[1]}7 =
r=3D[];8(D[t]){D[t](r,A,f,a)}5 r};7 S=3D/^[^\\s>+~]/;7 =
20=3D/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;6 1y(s){8(S.l(s))s=3D" "+s;5 =
s.P(20)||[]};7 W=3D/\\s*([\\s>+~(),]|^|$)\\s*/g;7 =
I=3D/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;7 18=3D6(s){5 =
s.O(W,"$1").O(I,"$1*$2")};7 =
1u=3D{1Z:6(){5"\'"},P:/^(\'[^\']*\')|("[^"]*")$/,l:6(s){5 =
o.P.l(s)},1S:6(s){5 o.l(s)?s:o+s+o},1Y:6(s){5 o.l(s)?s.Z(1,-1):s}};7 =
1s=3D6(t){5 1u.1Y(t)};7 E=3D/([\\/()[\\]?{}|*+-])/g;6 R(s){5 =
s.O(E,"\\\\$1")};x.15("1j-2H",6(){D[">"]=3D6(r,f,t,n){7 =
e,i,j;9(i=3D0;i<f.y;i++){7 =
s=3D1o(f[i]);9(j=3D0;(e=3Ds[j]);j++)8(17(e,t,n))r.z(e)}};D["+"]=3D6(r,f,t=
,n){9(7 i=3D0;i<f.y;i++){7 =
e=3DG(f[i]);8(e&&17(e,t,n))r.z(e)}};D["@"]=3D6(r,f,a){7 t=3DT[a].l;7 =
e,i;9(i=3D0;(e=3Df[i]);i++)8(t(e))r.z(e)};h["2G-10"]=3D6(e){5!16(e)};h["1=
x"]=3D6(e,c){c=3D12 1t("^"+c,"i");H(e&&!e.13("1x"))e=3De.1n;5 =
e&&c.l(e.13("1x"))};q.1X=3D/\\\\:/g;q.1w=3D"@";q.J=3D{};q.O=3D6(m,a,n,c,v=
){7 k=3Do.1w+m;8(!T[k]){a=3Do.1W(a,c||"",v||"");T[k]=3Da;T.z(a)}5 =
T[k].B};q.1Q=3D6(s){s=3Ds.O(o.1X,"|");7 m;H(m=3Ds.P(o.P)){7 =
r=3Do.O(m[0],m[1],m[2],m[3],m[4]);s=3Ds.O(o.P,r)}5 s};q.1W=3D6(p,t,v){7 =
a=3D{};a.B=3Do.1w+T.y;a.2F=3Dp;t=3Do.J[t];t=3Dt?t(o.13(p),1s(v)):L;a.l=3D=
12 2E("e","5 "+t);5 =
a};q.13=3D6(n){1d(n.2D()){F"B":5"e.B";F"2C":5"e.1V";F"9":5"e.2B";F"1T":8(=
U){5"1U((e.2A.P(/1T=3D\\\\1v?([^\\\\s\\\\1v]*)\\\\1v?/)||[])[1]||\'\')"}}=
5"e.13(\'"+n.O(N,":")+"\')"};q.J[""]=3D6(a){5 a};q.J["=3D"]=3D6(a,v){5 =
a+"=3D=3D"+1u.1S(v)};q.J["~=3D"]=3D6(a,v){5"/(^| )"+R(v)+"( =
|$)/.l("+a+")"};q.J["|=3D"]=3D6(a,v){5"/^"+R(v)+"(-|$)/.l("+a+")"};7 =
1R=3D18;18=3D6(s){5 =
1R(q.1Q(s))}});x.15("1j-2z",6(){D["~"]=3D6(r,f,t,n){7 =
e,i;9(i=3D0;(e=3Df[i]);i++){H(e=3DG(e)){8(17(e,t,n))r.z(e)}}};h["2y"]=3D6=
(e,t){t=3D12 1t(R(1s(t)));5 t.l(1e(e))};h["2x"]=3D6(e){5 =
e=3D=3DQ(e).1H};h["2w"]=3D6(e){7 =
n,i;9(i=3D0;(n=3De.1F[i]);i++){8(M(n)||n.1c=3D=3D3)5 L}5 =
K};h["1N-10"]=3D6(e){5!G(e)};h["2v-10"]=3D6(e){e=3De.1n;5 =
1r(e)=3D=3D1P(e)};h["2u"]=3D6(e,s){7 n=3Dx(s,Q(e));9(7 =
i=3D0;i<n.y;i++){8(n[i]=3D=3De)5 L}5 K};h["1O-10"]=3D6(e,a){5 =
1p(e,a,16)};h["1O-1N-10"]=3D6(e,a){5 1p(e,a,G)};h["2t"]=3D6(e){5 =
e.B=3D=3D2s.2r.Z(1)};h["1M"]=3D6(e){5 e.1M};h["2q"]=3D6(e){5 =
e.1q=3D=3D=3DL};h["1q"]=3D6(e){5 e.1q};h["1L"]=3D6(e){5 =
e.1L};q.J["^=3D"]=3D6(a,v){5"/^"+R(v)+"/.l("+a+")"};q.J["$=3D"]=3D6(a,v){=
5"/"+R(v)+"$/.l("+a+")"};q.J["*=3D"]=3D6(a,v){5"/"+R(v)+"/.l("+a+")"};6 =
1p(e,a,t){1d(a){F"n":5 K;F"2p":a=3D"2n";1a;F"2o":a=3D"2n+1"}7 =
1m=3D1o(e.1n);6 1k(i){7 i=3D(t=3D=3DG)?1m.y-i:i-1;5 =
1m[i]=3D=3De};8(!Y(a))5 1k(a);a=3Da.1l("n");7 m=3D1K(a[0]);7 =
s=3D1K(a[1]);8((Y(m)||m=3D=3D1)&&s=3D=3D0)5 K;8(m=3D=3D0&&!Y(s))5 =
1k(s);8(Y(s))s=3D0;7 =
c=3D1;H(e=3Dt(e))c++;8(Y(m)||m=3D=3D1)5(t=3D=3DG)?(c<=3Ds):(s>=3Dc);5(c%m=
)=3D=3Ds}});x.15("1j-2m",6(){U=3D1i("L;/*@2l@8(@\\2k)U=3DK@2j@*/");8(!U){=
X=3D6(e,t,n){5 =
n?e.2i("*",t):e.X(t)};14=3D6(e,n){5!n||(n=3D=3D"*")||(e.2h=3D=3Dn)};1h=3D=
1g.1I?6(e){5/1J/i.l(Q(e).1I)}:6(e){5 Q(e).1H.1f!=3D"2g"};1e=3D6(e){5 =
e.2f||e.1G||1b(e)};6 1b(e){7 =
t=3D"",n,i;9(i=3D0;(n=3De.1F[i]);i++){1d(n.1c){F 11:F 1:t+=3D1b(n);1a;F =
3:t+=3Dn.2e;1a}}5 t}}});19=3DK;5 =
x}();',62,190,'|||||return|function|var|if|for||||||||pseudoClasses||||te=
st|||this||AttributeSelector|||||||cssQuery|length|push|fr|id||selectors|=
|case|nextElementSibling|while||tests|true|false|thisElement||replace|mat=
ch|getDocument|regEscape||attributeSelectors|isMSIE|cache||getElementsByT=
agName|isNaN|slice|child||new|getAttribute|compareNamespace|addModule|pre=
viousElementSibling|compareTagName|parseSelector|loaded|break|_0|nodeType=
|switch|getTextContent|tagName|document|isXML|eval|css|_1|split|ch|parent=
Node|childElements|nthChild|disabled|firstElementChild|getText|RegExp|Quo=
te|x22|PREFIX|lang|_2|arguments|else|all|links|version|se|childNodes|inne=
rText|documentElement|contentType|xml|parseInt|indeterminate|checked|last=
|nth|lastElementChild|parse|_3|add|href|String|className|create|NS_IE|rem=
ove|toString|ST|select|Array|null|_4|mimeType|lastChild|firstChild|contin=
ue|modules|delete|join|caching|error|nodeValue|textContent|HTML|prefix|ge=
tElementsByTagNameNS|end|x5fwin32|cc_on|standard||odd|even|enabled|hash|l=
ocation|target|not|only|empty|root|contains|level3|outerHTML|htmlFor|clas=
s|toLowerCase|Function|name|first|level2|prototype|item|scopeName|toUpper=
Case|ownerDocument|Document|XML|Boolean|URL|unknown|typeof|nextSibling|pr=
eviousSibling|visited|link|valueOf|clearCache|catch|concat|constructor|ca=
llee|try'.split('|'),0,{}))=0A=

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/js/behavior.js

/**=0A=
=0A=
ModifiedBehavior v1.0 by Ron Lancaster based on Ben Nolan's Behaviour, =
June 2005 implementation.=0A=
Modified to use Dean Edward's CSS Query.=0A=
=0A=
Description=0A=
----------=0A=
=0A=
Uses css selectors  to apply javascript Behaviors to enable unobtrusive =
javascript in html documents.=0A=
=0A=
Dependencies=0A=
------------=0A=
=0A=
Requires [Dean Edwards CSSQuery](http://dean.edwards.name/my/cssQuery/ =
"CSSQuery").=0A=
=0A=
Usage=0A=
------=0A=
=0A=
		Behavior.register(=0A=
			"b.someclass",=0A=
			function(element) {=0A=
				element.onclick =3D function(){=0A=
					alert(this.innerHTML);=0A=
				}=0A=
			}=0A=
		);=0A=
=0A=
		Behavior.register(=0A=
			"#someid u",=0A=
			function(element) {=0A=
				element.onmouseover =3D function(){=0A=
					this.innerHTML =3D "BLAH!";=0A=
				}=0A=
			},=0A=
			getElementByID("parent")=0A=
		);=0A=
=0A=
Call `Behavior.apply()` to re-apply the rules (if you update the dom, =
etc).=0A=
=0A=
License=0A=
------=0A=
=0A=
Reproduced under BSD licensed. Same license as Ben Nolan's =
implementation.=0A=
=0A=
More information for Ben Nolan's implementation: =
<http://ripcord.co.nz/behaviour/>=0A=
=0A=
*/=0A=
=0A=
var Behavior =3D {=0A=
=0A=
	// private data member=0A=
	list : new Array(),=0A=
=0A=
	// private method=0A=
	addLoadEvent : function(func) {=0A=
		var oldonload =3D window.onload;=0A=
=0A=
		if (typeof window.onload !=3D 'function') {=0A=
			window.onload =3D func;=0A=
		} else {=0A=
			window.onload =3D function() {=0A=
				oldonload();=0A=
				func();=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	// void apply() : Applies the registered ruleset.=0A=
	apply : function() {=0A=
		for (i =3D 0; i < Behavior.list.length; i++) {=0A=
			var rule =3D Behavior.list[i];=0A=
			var tags =3D rule.from || typeof $$ !=3D 'function' ? =
cssQuery(rule.selector, rule.from) : $$(rule.selector);=0A=
			if (tags) {=0A=
				for (j =3D 0; j < tags.length; j++) {=0A=
					rule.action(tags[j]);=0A=
				}=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	// void register() : register a css selector, and the action (function) =
to take,=0A=
	// from (optional) is a document, element or array of elements which is =
filtered by selector.=0A=
	register : function(selector, action, from) {=0A=
		Behavior.list.push(new BehaviorRule(selector, from, action));=0A=
	},=0A=
=0A=
	// void start() : initial application of ruleset at document load.=0A=
	start : function() {=0A=
		Behavior.addLoadEvent(function() {=0A=
			Behavior.apply();=0A=
		});=0A=
	}=0A=
}=0A=
=0A=
function BehaviorRule(selector, from, action) {=0A=
	this.selector =3D selector;=0A=
	this.from =3D from;=0A=
	this.action =3D action;=0A=
}=0A=
=0A=
Behavior.start();
------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/_midtier/_fud/js/behaviourRules.js

function observeHover(element, className) {=0A=
    // A private function for handling mouse 'hovering'=0A=
    function handleHover(e) {=0A=
        // Check if mouse(over|out) are still within the same parent =
element=0A=
        var p =3D (e.type =3D=3D "mouseover" ? e.fromElement : =
e.toElement) || e.relatedTarget;=0A=
=0A=
        // Traverse up the tree=0A=
        while (p && p !=3D element) try { p =3D p.parentNode; } catch(e) =
{ p =3D element; }=0A=
=0A=
        // If we actually just moused on to a sub-element, ignore it=0A=
        if (p =3D=3D element) return false;=0A=
=0A=
        // Execute the right function=0A=
        if (e.type =3D=3D "mouseover") element.addClassName(className);=0A=
        else element.removeClassName(className);=0A=
        return true;=0A=
    }=0A=
    // Bind the function to the two event listeners=0A=
    Event.stopObserving(element, "mouseover", handleHover);=0A=
    Event.observe(element, "mouseover", handleHover);=0A=
    Event.stopObserving(element, "mouseout", handleHover);=0A=
    Event.observe(element, "mouseout", handleHover);=0A=
}=0A=
=0A=
=0A=
Behavior.register('li.track', function(element) {=0A=
        element.onclick =3D function() {=0A=
            $('trackCitationsContainer').toggle();=0A=
            return false;=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('img.closePopup', function(element) {=0A=
        element.onclick =3D function() {=0A=
            $('trackCitationsContainer').hide();=0A=
            showSelects();=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('img.closeJumpTo', function(element) {=0A=
        element.onclick =3D closeJumpToMenu;  /* defined in =
globalFunctions.js */=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#inputImage_cancel', function(element) {=0A=
        element.onclick =3D function() {=0A=
            setObjDisplay(returnObjById('trackCitationsContainer'), =
'none');=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#modifySearchQueryLink', function(element) {=0A=
        element.onclick =3D function() {=0A=
            setObjDisplay(returnObjById('modifySearchContainer'), =
'block');=0A=
            hideSelects();=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('a.popupLink', function(element) {=0A=
        element.figInfo =3D function(figWidth, figHeight) {=0A=
            element.figDimension =3D {w:figWidth,h:figHeight};=0A=
            return false;=0A=
        }=0A=
        Event.observe(element, "click", function(event) {=0A=
            var w =3D 768;=0A=
            var h =3D 578;=0A=
            if (element.figDimension) {=0A=
                var d =3D element.figDimension;=0A=
                if (d.w) w =3D d.w + 230; // add sidebar width and some =
padding=0A=
                if (d.h) h =3D d.h + 280; // add top navigation an some =
space for captipn=0A=
                if (w > screen.width) w =3D screen.width; // do not make =
it bigger than the screen=0A=
                if (h > screen.height) h =3D screen.height;=0A=
            }=0A=
            /*setObjDisplay(returnObjById('figuresContainer'),'block');=0A=
                   hideSelects();*/=0A=
            if (document.body.id =3D=3D "fullPopup") {=0A=
                // Is in popup already, reuse the window instead of =
opening new one with same name so we don't lose connection to original =
opener=0A=
                self.resizeTo(w, h);=0A=
                window.location =3D element.href;=0A=
            } else {=0A=
                var articlePopup =3D window.open(element.href, =
'articlePopup', 'height=3D' + h + ',width=3D' + w + =
',status=3Dno,toolbar=3Dno,menubar=3Dno,location=3Dno,resizable=3Dyes,scr=
ollbars=3Dyes');=0A=
                if (articlePopup.focus) articlePopup.focus();=0A=
            }=0A=
            Event.stop(event);=0A=
            return false;=0A=
        }, false);=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#ReturnToOpener', function(element) {=0A=
        element.onclick =3D function() {=0A=
            var href =3D element.href;=0A=
            if (href) {=0A=
                var opener =3D window.opener;=0A=
                if (opener && !opener.closed) {=0A=
                    opener.location.hash =3D =
href.substring(href.indexOf("#") + 1);=0A=
                } else {=0A=
                    // original window is closed, open new "full"=0A=
                    window.open(href, '_blank', =
'status=3Dyes,toolbar=3Dyes,menubar=3Dyes,location=3Dyes');=0A=
                }=0A=
                self.close();=0A=
            }=0A=
        }=0A=
    }=0A=
);=0A=
//Behavior.register('a.coverArt', function(element) {=0A=
//        Event.observe(element, "click", function(event) {=0A=
//            var w =3D window.open(element.href, "CoverArt", =
'height=3D490,width=3D560,status=3Dno,toolbar=3Dno,menubar=3Dno,location=3D=
no,resizable=3Dyes,scrollbars=3Dyes');=0A=
//            if (w.focus) w.focus();=0A=
//            Event.stop(event);=0A=
//            return false;=0A=
//        });=0A=
///*=0A=
//		element.onclick =3D function() {=0A=
//			setObjDisplay(returnObjById('coverArtPopContainer'),'block');=0A=
//			hideSelects();=0A=
//		}=0A=
//*/=0A=
//	}=0A=
Behavior.register('a.coverArt_link', function(element) {=0A=
        element.onclick =3D function() {=0A=
            newWindow(element.href);=0A=
            return false;=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('div.searchListToggleIconOpen', function(element) {=0A=
        element.onclick =3D function() {=0A=
            var listItems =3D =
document.getElementsByClassName('selectContainer', this.parentNode);=0A=
            for (var i =3D 0; i < listItems.length; i++) {=0A=
                if ((listItems[i].style.display =3D=3D '') || =
(listItems[i].style.display =3D=3D 'block')) {=0A=
                    listItems[i].style.display =3D 'none';=0A=
                } else {=0A=
                    listItems[i].style.display =3D 'block';=0A=
                }=0A=
            }=0A=
            if (this.className =3D=3D 'searchListToggleIconOpen') {=0A=
                this.className =3D 'searchListToggleIconClosed';=0A=
            } else {=0A=
                this.className =3D 'searchListToggleIconOpen';=0A=
            }=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('div.searchListToggleIconClosed', function(element) {=0A=
        element.onclick =3D function() {=0A=
            var listItems =3D =
document.getElementsByClassName('selectContainer', this.parentNode);=0A=
            for (var i =3D 0; i < listItems.length; i++) {=0A=
                if ((listItems[i].style.display =3D=3D '') || =
(listItems[i].style.display =3D=3D 'none')) {=0A=
                    listItems[i].style.display =3D 'block';=0A=
                } else {=0A=
                    listItems[i].style.display =3D 'none';=0A=
                }=0A=
            }=0A=
            if (this.className =3D=3D 'searchListToggleIconOpen') {=0A=
                this.className =3D 'searchListToggleIconClosed';=0A=
            } else {=0A=
                this.className =3D 'searchListToggleIconOpen';=0A=
            }=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#alphabeticTab', function(element) {=0A=
        element.onclick =3D function() {=0A=
            if (this.parentNode.className =3D=3D 'active') {=0A=
                //Element.removeClassName(this.parentNode, 'active');=0A=
                //setObjDisplay('searchCategoryList','none');=0A=
            } else {=0A=
                this.parentNode.className =3D 'alphabeticActive';=0A=
                setObjDisplay(returnObjById('searchAlphabeticList'), =
'block');=0A=
                setObjDisplay(returnObjById('searchCategoryList'), =
'none');=0A=
            }=0A=
            var sm =3D $('selectionMode');=0A=
            if (sm) {=0A=
				sm.value =3D 'alpha';=0A=
			}=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#searchAlphabeticList li input.alphaSelect', =
function(element) {=0A=
		element.onclick =3D function() {=0A=
			syncAlphaCatCbx(this, true);=0A=
			searchPub();=0A=
		}=0A=
	}=0A=
);=0A=
=0A=
Behavior.register('#categoryTab', function(element) {=0A=
        element.onclick =3D function() {=0A=
            if (this.parentNode.className =3D=3D 'active') {=0A=
                //Element.removeClassName(this.parentNode, 'active');=0A=
                //setObjDisplay('searchAlphabeticList','none');=0A=
            } else {=0A=
                this.parentNode.className =3D 'categoryActive';=0A=
                setObjDisplay(returnObjById('searchCategoryList'), =
'block');=0A=
                setObjDisplay(returnObjById('searchAlphabeticList'), =
'none');=0A=
            }=0A=
            var sm =3D $('selectionMode');=0A=
            if (sm) {=0A=
				sm.value =3D 'category';=0A=
			}=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#searchCategoryList li input.categorySelect', =
function(element) {=0A=
        element.onclick =3D function() {=0A=
            var arrCheckboxes =3D =
document.getElementsByClassName('checkbox', this.parentNode);=0A=
            this.checked =3D (!this.checked);=0A=
            var bIsChecked =3D this.checked;=0A=
            for (var i =3D 0; i < arrCheckboxes.length; i++) {=0A=
                arrCheckboxes[i].checked =3D (!bIsChecked);=0A=
                syncAlphaCatCbx(arrCheckboxes[i], false);=0A=
            }=0A=
            syncAlphaCatCbx(this, true);=0A=
            searchPub();=0A=
        }=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#journal_collapsibleModule_articleContents', =
function(element) {=0A=
        var tree =3D =
$(element).getElementsByClassName("treeList").first();=0A=
        if (tree && !tree.innerHTML && element.hide) element.hide();=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('.menu li', function(element) {=0A=
        observeHover(element, "hover");=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('.menu li.menuTrigger', function(element) {=0A=
        observeHover(element, "displayMenu");=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#figureSearch', function(element) {=0A=
        element.onfocus_ThisMethodIsNotUsed =3D function() {=0A=
            if (window.FigureSearchHash) {=0A=
                Event.observe(element, "keyup", function() {=0A=
                    var v =3D window.FigureSearchHash[element.value];=0A=
                    if (typeof v !=3D "undefined") {=0A=
                        if (v.indexOf("=3D") =3D=3D 0) {=0A=
                            /* link to different popup */=0A=
                            var h =3D location.href;=0A=
                            var i =3D h.lastIndexOf("=3D");=0A=
                            h =3D h.substr(0, i) + v;=0A=
                            /* # at the end - image anchor should be =
appended */=0A=
                            if (v.indexOf("#") !=3D -1) h +=3D "img" + =
element.value;=0A=
                            location.href =3D h;=0A=
                        } else {=0A=
                            /* empty v is shortcut - key is the value */=0A=
                            if (v =3D=3D '') v =3D element.value;=0A=
                            var e =3D $('img' + v);=0A=
                            if (e && e.focus) {=0A=
                                /* scroll to the image */=0A=
                                location.hash =3D e.id;=0A=
                                /* try to get focus back to the input =
field, does not work well */=0A=
                                element.focus();=0A=
                            }=0A=
                        }=0A=
                    }=0A=
                });=0A=
            }=0A=
        };=0A=
        var setParentVisibility =3D function(p) {=0A=
            // useful only for figure sets - hide whole figure set =
element when none of it's figures is visible=0A=
            if (p && p.parentNode.nodeName =3D=3D 'LI') {=0A=
                var visible =3D p.visibleCount;=0A=
                p =3D $(p.parentNode);=0A=
                if (visible) p.show();=0A=
                else p.hide();=0A=
            }=0A=
        }=0A=
        var handler =3D function(param) {=0A=
            if (!window.figureLinks) {=0A=
                // init cache of figure/table links=0A=
                var hash =3D {};=0A=
                =
$A($('navigation').getElementsByTagName('li')).each(function (li) {=0A=
                    =
hash[li.getElementsByTagName("a")[0].title.toLowerCase()] =3D $(li);=0A=
                });=0A=
                window.figureLinks =3D $H(hash);=0A=
            }=0A=
            var v =3D element.value.toLowerCase();    // case insensitive=0A=
            var visible =3D "none";                   // values: "none", =
[the only visible element], "more"=0A=
            var p =3D false;=0A=
            window.figureLinks.each(function(entry) {=0A=
                var p2 =3D entry.value.parentNode;=0A=
                if (p2 !=3D p) { // only when parent changes set it's =
visibility=0A=
                    setParentVisibility(p);=0A=
                    p =3D p2;=0A=
                    p.visibleCount =3D 0;=0A=
                }=0A=
                if (entry.key.indexOf(v) =3D=3D -1) entry.value.hide();=0A=
                else {=0A=
                    entry.value.show();=0A=
                    visible =3D ("none" =3D=3D visible) ? entry.value : =
"more";   // set the first visible element, or "more" for all other =
matches=0A=
                    p.visibleCount++;=0A=
                }=0A=
            });=0A=
            setParentVisibility(p); // set visibility for last group=0A=
=0A=
            if ("none" =3D=3D visible) {=0A=
                // none visible - show all again=0A=
                p =3D false;=0A=
                window.figureLinks.each(function(entry) {=0A=
                    var p2 =3D entry.value.parentNode;=0A=
                    if (p2 !=3D p) {=0A=
                        p =3D p2;=0A=
                        p.visibleCount =3D 1;=0A=
                        setParentVisibility(p);=0A=
                    }=0A=
                    entry.value.show()=0A=
                });=0A=
            } else if ("more" !=3D visible) {=0A=
                // it is the only one visible element - navigate to it's =
href=0A=
                window.location =3D =
visible.getElementsByTagName('a')[0].href;=0A=
            }=0A=
        };=0A=
        Event.observe(element, "keyup", function(event) {=0A=
            if (event.keyCode =3D=3D 13) handler();                      =
          // filter only on enter=0A=
            else if (event.keyCode =3D=3D 27) { element.value =3D ''; =
handler(); }   // clear on escape=0A=
        });=0A=
        Event.observe('figureSearch_go', "click", handler);              =
      // click on the "Go" button=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#articleListing_toc', function(element) {=0A=
        function changeAll() {=0A=
            var checked =3D element.checked;=0A=
            $(element.form).getInputs('checkbox', =
'doi').each(function(cbx) {=0A=
                cbx.checked =3D checked;=0A=
            })=0A=
        }=0A=
        Event.observe(element, "change", changeAll, false);=0A=
        Event.observe(element, "click", changeAll); // for IE=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('a.supplementLink', function(element) {=0A=
		element.onclick =3D function() {=0A=
            var supplement =3D window.open(element.href, 'supplement', =
'height=3D600,width=3D700,status=3Dno,toolbar=3Dno,menubar=3Dno,location=3D=
no,resizable=3Dyes,scrollbars=3Dyes');=0A=
            supplement.focus();=0A=
            return false;=0A=
		}=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('.listOfIssues h3', function(element) {=0A=
        Event.observe(element, "click", function() {=0A=
            var group =3D element.up('li');=0A=
            if (group.hasClassName('collapsed')) {=0A=
                =
group.removeClassName('collapsed').addClassName('expanded');=0A=
            } else {=0A=
                =
group.removeClassName('expanded').addClassName('collapsed');=0A=
            }=0A=
        });=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('a.external', function(element) {=0A=
        Event.observe(element, "click", function(event) {=0A=
            window.open(element.href);=0A=
            Event.stop(event);=0A=
            return false;=0A=
        });=0A=
    }=0A=
);=0A=
=0A=
Behavior.register('#commentaryDisclaimer a', function(element) {=0A=
        Event.observe(element, "click", function(event) {=0A=
            window.open(element.href, 'commentaryDisclaimer', =
'width=3D450,height=3D220,status=3Dno,toolbar=3Dno,menubar=3Dno,location=3D=
no,resizable=3Dyes');=0A=
            Event.stop(event);=0A=
            return false;=0A=
        });=0A=
    }=0A=
);=0A=

------=_NextPart_000_0000_01CB728D.EE54C840
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.expert-reviews.com/templates/jsp/js/jquery.js

/*=0A=
 * jQuery JavaScript Library v1.3.2=0A=
 * http://jquery.com/=0A=
 *=0A=
 * Copyright (c) 2009 John Resig=0A=
 * Dual licensed under the MIT and GPL licenses.=0A=
 * http://docs.jquery.com/License=0A=
 *=0A=
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)=0A=
 * Revision: 6246=0A=
 */=0A=
(function(){var =
l=3Dthis,g,y=3Dl.jQuery,p=3Dl.$,o=3Dl.jQuery=3Dl.$=3Dfunction(E,F){return=
 new =
o.fn.init(E,F)},D=3D/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=3D/^.[^:#\[\.=
,]*$/;o.fn=3Do.prototype=3D{init:function(E,H){E=3DE||document;if(E.nodeT=
ype){this[0]=3DE;this.length=3D1;this.context=3DE;return this}if(typeof =
E=3D=3D=3D"string"){var =
G=3DD.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=3Do.clean([G[1]],H)}else{var =
I=3Ddocument.getElementById(G[3]);if(I&&I.id!=3DG[3]){return =
o().find(E)}var F=3Do(I||[]);F.context=3Ddocument;F.selector=3DE;return =
F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return =
o(document).ready(E)}}if(E.selector&&E.context){this.selector=3DE.selecto=
r;this.context=3DE.context}return =
this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",=
size:function(){return this.length},get:function(E){return =
E=3D=3D=3Dg?Array.prototype.slice.call(this):this[E]},pushStack:function(=
F,H,E){var =
G=3Do(F);G.prevObject=3Dthis;G.context=3Dthis.context;if(H=3D=3D=3D"find"=
){G.selector=3Dthis.selector+(this.selector?" =
":"")+E}else{if(H){G.selector=3Dthis.selector+"."+H+"("+E+")"}}return =
G},setArray:function(E){this.length=3D0;Array.prototype.push.apply(this,E=
);return this},each:function(F,E){return =
o.each(this,F,E)},index:function(E){return =
o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var =
E=3DF;if(typeof F=3D=3D=3D"string"){if(H=3D=3D=3Dg){return =
this[0]&&o[G||"attr"](this[0],F)}else{E=3D{};E[F]=3DH}}return =
this.each(function(I){for(F in =
E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E=
,F){if((E=3D=3D"width"||E=3D=3D"height")&&parseFloat(F)<0){F=3Dg}return =
this.attr(E,F,"curCSS")},text:function(F){if(typeof =
F!=3D=3D"object"&&F!=3Dnull){return =
this.empty().append((this[0]&&this[0].ownerDocument||document).createText=
Node(F))}var =
E=3D"";o.each(F||this,function(){o.each(this.childNodes,function(){if(thi=
s.nodeType!=3D8){E+=3Dthis.nodeType!=3D1?this.nodeValue:o.fn.text([this])=
}})});return E},wrapAll:function(E){if(this[0]){var =
F=3Do(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBef=
ore(this[0])}F.map(function(){var =
G=3Dthis;while(G.firstChild){G=3DG.firstChild}return =
G}).append(this)}return this},wrapInner:function(E){return =
this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){re=
turn this.each(function(){o(this).wrapAll(E)})},append:function(){return =
this.domManip(arguments,true,function(E){if(this.nodeType=3D=3D1){this.ap=
pendChild(E)}})},prepend:function(){return =
this.domManip(arguments,true,function(E){if(this.nodeType=3D=3D1){this.in=
sertBefore(E,this.firstChild)}})},before:function(){return =
this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,=
this)})},after:function(){return =
this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,=
this.nextSibling)})},end:function(){return =
this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:f=
unction(E){if(this.length=3D=3D=3D1){var =
F=3Dthis.pushStack([],"find",E);F.length=3D0;o.find(E,this[0],F);return =
F}else{return this.pushStack(o.unique(o.map(this,function(G){return =
o.find(E,G)})),"find",E)}},clone:function(G){var =
E=3Dthis.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){va=
r I=3Dthis.outerHTML;if(!I){var =
J=3Dthis.ownerDocument.createElement("div");J.appendChild(this.cloneNode(=
true));I=3DJ.innerHTML}return o.clean([I.replace(/ =
jQuery\d+=3D"(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return =
this.cloneNode(true)}});if(G=3D=3D=3Dtrue){var =
H=3Dthis.find("*").andSelf(),F=3D0;E.find("*").andSelf().each(function(){=
if(this.nodeName!=3D=3DH[F].nodeName){return}var =
I=3Do.data(H[F],"events");for(var K in I){for(var J in =
I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return =
E},filter:function(E){return =
this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return =
E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return =
F.nodeType=3D=3D=3D1})),"filter",E)},closest:function(E){var =
G=3Do.expr.match.POS.test(E)?o(E):null,F=3D0;return =
this.map(function(){var =
H=3Dthis;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(=
H,"closest",F);return =
H}H=3DH.parentNode;F++}})},not:function(E){if(typeof =
E=3D=3D=3D"string"){if(f.test(E)){return =
this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=3Do.multiFilter=
(E,this)}}var F=3DE.length&&E[E.length-1]!=3D=3Dg&&!E.nodeType;return =
this.filter(function(){return =
F?o.inArray(this,E)<0:this!=3DE})},add:function(E){return =
this.pushStack(o.unique(o.merge(this.get(),typeof =
E=3D=3D=3D"string"?o(E):o.makeArray(E))))},is:function(E){return =
!!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return =
!!E&&this.is("."+E)},val:function(K){if(K=3D=3D=3Dg){var =
E=3Dthis[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{=
}).specified?E.value:E.text}if(o.nodeName(E,"select")){var =
I=3DE.selectedIndex,L=3D[],M=3DE.options,H=3DE.type=3D=3D"select-one";if(=
I<0){return null}for(var F=3DH?I:0,J=3DH?I+1:M.length;F<J;F++){var =
G=3DM[F];if(G.selected){K=3Do(G).val();if(H){return K}L.push(K)}}return =
L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof =
K=3D=3D=3D"number"){K+=3D""}return =
this.each(function(){if(this.nodeType!=3D1){return}if(o.isArray(K)&&/radi=
o|checkbox/.test(this.type)){this.checked=3D(o.inArray(this.value,K)>=3D0=
||o.inArray(this.name,K)>=3D0)}else{if(o.nodeName(this,"select")){var =
N=3Do.makeArray(K);o("option",this).each(function(){this.selected=3D(o.in=
Array(this.value,N)>=3D0||o.inArray(this.text,N)>=3D0)});if(!N.length){th=
is.selectedIndex=3D-1}}else{this.value=3DK}}})},html:function(E){return =
E=3D=3D=3Dg?(this[0]?this[0].innerHTML.replace(/ =
jQuery\d+=3D"(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWit=
h:function(E){return this.after(E).remove()},eq:function(E){return =
this.slice(E,+E+1)},slice:function(){return =
this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.=
prototype.slice.call(arguments).join(","))},map:function(E){return =
this.pushStack(o.map(this,function(G,F){return =
E.call(G,F,G)}))},andSelf:function(){return =
this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var =
I=3D(this[0].ownerDocument||this[0]).createDocumentFragment(),F=3Do.clean=
(J,(this[0].ownerDocument||this[0]),I),H=3DI.firstChild;if(H){for(var =
G=3D0,E=3Dthis.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.c=
loneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return =
M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbo=
dy")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn=
.init.prototype=3Do.fn;function =
z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o=
.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.pa=
rentNode.removeChild(F)}}function e(){return +new =
Date}o.extend=3Do.fn.extend=3Dfunction(){var =
J=3Darguments[0]||{},H=3D1,I=3Darguments.length,E=3Dfalse,G;if(typeof =
J=3D=3D=3D"boolean"){E=3DJ;J=3Darguments[1]||{};H=3D2}if(typeof =
J!=3D=3D"object"&&!o.isFunction(J)){J=3D{}}if(I=3D=3DH){J=3Dthis;--H}for(=
;H<I;H++){if((G=3Darguments[H])!=3Dnull){for(var F in G){var =
K=3DJ[F],L=3DG[F];if(J=3D=3D=3DL){continue}if(E&&L&&typeof =
L=3D=3D=3D"object"&&!L.nodeType){J[F]=3Do.extend(E,K||(L.length!=3Dnull?[=
]:{}),L)}else{if(L!=3D=3Dg){J[F]=3DL}}}}}return J};var =
b=3D/z-?index|font-?weight|opacity|zoom|line-?height/i,q=3Ddocument.defau=
ltView||{},s=3DObject.prototype.toString;o.extend({noConflict:function(E)=
{l.$=3Dp;if(E){l.jQuery=3Dy}return o},isFunction:function(E){return =
s.call(E)=3D=3D=3D"[object Function]"},isArray:function(E){return =
s.call(E)=3D=3D=3D"[object Array]"},isXMLDoc:function(E){return =
E.nodeType=3D=3D=3D9&&E.documentElement.nodeName!=3D=3D"HTML"||!!E.ownerD=
ocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.t=
est(G)){var =
F=3Ddocument.getElementsByTagName("head")[0]||document.documentElement,E=3D=
document.createElement("script");E.type=3D"text/javascript";if(o.support.=
scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=3DG}F.i=
nsertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){ret=
urn =
F.nodeName&&F.nodeName.toUpperCase()=3D=3DE.toUpperCase()},each:function(=
G,K,F){var E,H=3D0,I=3DG.length;if(F){if(I=3D=3D=3Dg){for(E in =
G){if(K.apply(G[E],F)=3D=3D=3Dfalse){break}}}else{for(;H<I;){if(K.apply(G=
[H++],F)=3D=3D=3Dfalse){break}}}}else{if(I=3D=3D=3Dg){for(E in =
G){if(K.call(G[E],E,G[E])=3D=3D=3Dfalse){break}}}else{for(var =
J=3DG[0];H<I&&K.call(J,H,J)!=3D=3Dfalse;J=3DG[++H]){}}}return =
G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=3DI.call(H,F)}return =
typeof =
I=3D=3D=3D"number"&&G=3D=3D"curCSS"&&!b.test(E)?I+"px":I},className:{add:=
function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType=3D=3D=
1&&!o.className.has(E.className,H)){E.className+=3D(E.className?" =
":"")+H}})},remove:function(E,F){if(E.nodeType=3D=3D1){E.className=3DF!=3D=
=3Dg?o.grep(E.className.split(/\s+/),function(G){return =
!o.className.has(F,G)}).join(" "):""}},has:function(F,E){return =
F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:functi=
on(H,G,I){var E=3D{};for(var F in =
G){E[F]=3DH.style[F];H.style[F]=3DG[F]}I.call(H);for(var F in =
G){H.style[F]=3DE[F]}},css:function(H,F,J,E){if(F=3D=3D"width"||F=3D=3D"h=
eight"){var =
L,G=3D{position:"absolute",visibility:"hidden",display:"block"},K=3DF=3D=3D=
"width"?["Left","Right"]:["Top","Bottom"];function =
I(){L=3DF=3D=3D"width"?H.offsetWidth:H.offsetHeight;if(E=3D=3D=3D"border"=
){return}o.each(K,function(){if(!E){L-=3DparseFloat(o.curCSS(H,"padding"+=
this,true))||0}if(E=3D=3D=3D"margin"){L+=3DparseFloat(o.curCSS(H,"margin"=
+this,true))||0}else{L-=3DparseFloat(o.curCSS(H,"border"+this+"Width",tru=
e))||0}})}if(H.offsetWidth!=3D=3D0){I()}else{o.swap(H,G,I)}return =
Math.max(0,Math.round(L))}return =
o.curCSS(H,F,J)},curCSS:function(I,F,G){var =
L,E=3DI.style;if(F=3D=3D"opacity"&&!o.support.opacity){L=3Do.attr(E,"opac=
ity");return =
L=3D=3D""?"1":L}if(F.match(/float/i)){F=3Dw}if(!G&&E&&E[F]){L=3DE[F]}else=
{if(q.getComputedStyle){if(F.match(/float/i)){F=3D"float"}F=3DF.replace(/=
([A-Z])/g,"-$1").toLowerCase();var =
M=3Dq.getComputedStyle(I,null);if(M){L=3DM.getPropertyValue(F)}if(F=3D=3D=
"opacity"&&L=3D=3D""){L=3D"1"}}else{if(I.currentStyle){var =
J=3DF.replace(/\-(\w)/g,function(N,O){return =
O.toUpperCase()});L=3DI.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?=
$/i.test(L)&&/^\d/.test(L)){var =
H=3DE.left,K=3DI.runtimeStyle.left;I.runtimeStyle.left=3DI.currentStyle.l=
eft;E.left=3DL||0;L=3DE.pixelLeft+"px";E.left=3DH;I.runtimeStyle.left=3DK=
}}}}return L},clean:function(F,K,I){K=3DK||document;if(typeof =
K.createElement=3D=3D=3D"undefined"){K=3DK.ownerDocument||K[0]&&K[0].owne=
rDocument||document}if(!I&&F.length=3D=3D=3D1&&typeof =
F[0]=3D=3D=3D"string"){var =
H=3D/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var=
 =
G=3D[],E=3D[],L=3DK.createElement("div");o.each(F,function(P,S){if(typeof=
 S=3D=3D=3D"number"){S+=3D""}if(!S){return}if(typeof =
S=3D=3D=3D"string"){S=3DS.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){re=
turn =
T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"=
></"+T+">"});var =
O=3DS.replace(/^\s+/,"").substring(0,10).toLowerCase();var =
Q=3D!O.indexOf("<opt")&&[1,"<select =
multiple=3D'multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>"=
,"</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>",=
"</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||=
(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></t=
body></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>=
","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>=
"]||[0,"",""];L.innerHTML=3DQ[1]+S+Q[2];while(Q[0]--){L=3DL.lastChild}if(=
!o.support.tbody){var =
R=3D/<tbody/i.test(S),N=3D!O.indexOf("<table")&&!R?L.firstChild&&L.firstC=
hild.childNodes:Q[1]=3D=3D"<table>"&&!R?L.childNodes:[];for(var =
M=3DN.length-1;M>=3D0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.=
length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespa=
ce&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.=
firstChild)}S=3Do.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=
=3Do.merge(G,S)}});if(I){for(var =
J=3D0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLo=
werCase()=3D=3D=3D"text/javascript")){E.push(G[J].parentNode?G[J].parentN=
ode.removeChild(G[J]):G[J])}else{if(G[J].nodeType=3D=3D=3D1){G.splice.app=
ly(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.=
appendChild(G[J])}}return E}return =
G},attr:function(J,G,K){if(!J||J.nodeType=3D=3D3||J.nodeType=3D=3D8){retu=
rn g}var =
H=3D!o.isXMLDoc(J),L=3DK!=3D=3Dg;G=3DH&&o.props[G]||G;if(J.tagName){var =
F=3D/href|src|style/.test(G);if(G=3D=3D"selected"&&J.parentNode){J.parent=
Node.selectedIndex}if(G in =
J&&H&&!F){if(L){if(G=3D=3D"type"&&o.nodeName(J,"input")&&J.parentNode){th=
row"type property can't be =
changed"}J[G]=3DK}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return =
J.getAttributeNode(G).nodeValue}if(G=3D=3D"tabIndex"){var =
I=3DJ.getAttributeNode("tabIndex");return =
I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|text=
area)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return =
J[G]}if(!o.support.style&&H&&G=3D=3D"style"){return =
o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var =
E=3D!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G)=
;return =
E=3D=3D=3Dnull?g:E}if(!o.support.opacity&&G=3D=3D"opacity"){if(L){J.zoom=3D=
1;J.filter=3D(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=3D=
=3D"NaN"?"":"alpha(opacity=3D"+K*100+")")}return =
J.filter&&J.filter.indexOf("opacity=3D")>=3D0?(parseFloat(J.filter.match(=
/opacity=3D([^)]*)/)[1])/100)+"":""}G=3DG.replace(/-([a-z])/ig,function(M=
,N){return N.toUpperCase()});if(L){J[G]=3DK}return =
J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:=
function(G){var E=3D[];if(G!=3Dnull){var =
F=3DG.length;if(F=3D=3Dnull||typeof =
G=3D=3D=3D"string"||o.isFunction(G)||G.setInterval){E[0]=3DG}else{while(F=
){E[--F]=3DG[F]}}}return E},inArray:function(G,H){for(var =
E=3D0,F=3DH.length;E<F;E++){if(H[E]=3D=3D=3DG){return E}}return =
-1},merge:function(H,E){var =
F=3D0,G,I=3DH.length;if(!o.support.getAll){while((G=3DE[F++])!=3Dnull){if=
(G.nodeType!=3D8){H[I++]=3DG}}}else{while((G=3DE[F++])!=3Dnull){H[I++]=3D=
G}}return H},unique:function(K){var F=3D[],E=3D{};try{for(var =
G=3D0,H=3DK.length;G<H;G++){var =
J=3Do.data(K[G]);if(!E[J]){E[J]=3Dtrue;F.push(K[G])}}}catch(I){F=3DK}retu=
rn F},grep:function(F,J,E){var G=3D[];for(var =
H=3D0,I=3DF.length;H<I;H++){if(!E!=3D!J(F[H],H)){G.push(F[H])}}return =
G},map:function(E,J){var F=3D[];for(var G=3D0,H=3DE.length;G<H;G++){var =
I=3DJ(E[G],G);if(I!=3Dnull){F[F.length]=3DI}}return =
F.concat.apply([],F)}});var =
C=3Dnavigator.userAgent.toLowerCase();o.browser=3D{version:(C.match(/.+(?=
:rv|it|ra|ie)[\/: =
]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),ms=
ie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compati=
ble|webkit)/.test(C)};o.each({parent:function(E){return =
E.parentNode},parents:function(E){return =
o.dir(E,"parentNode")},next:function(E){return =
o.nth(E,2,"nextSibling")},prev:function(E){return =
o.nth(E,2,"previousSibling")},nextAll:function(E){return =
o.dir(E,"nextSibling")},prevAll:function(E){return =
o.dir(E,"previousSibling")},siblings:function(E){return =
o.sibling(E.parentNode.firstChild,E)},children:function(E){return =
o.sibling(E.firstChild)},contents:function(E){return =
o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.make=
Array(E.childNodes)}},function(E,F){o.fn[E]=3Dfunction(G){var =
H=3Do.map(this,F);if(G&&typeof =
G=3D=3D"string"){H=3Do.multiFilter(G,H)}return =
this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"p=
repend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith=
"},function(E,F){o.fn[E]=3Dfunction(G){var J=3D[],L=3Do(G);for(var =
K=3D0,H=3DL.length;K<H;K++){var =
I=3D(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=3DJ.conc=
at(I)}return =
this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"")=
;if(this.nodeType=3D=3D1){this.removeAttribute(E)}},addClass:function(E){=
o.className.add(this,E)},removeClass:function(E){o.className.remove(this,=
E)},toggleClass:function(F,E){if(typeof =
E!=3D=3D"boolean"){E=3D!o.className.has(this,F)}o.className[E?"add":"remo=
ve"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",=
this).add([this]).each(function(){o.event.remove(this);o.removeData(this)=
});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:functio=
n(){o(this).children().remove();while(this.firstChild){this.removeChild(t=
his.firstChild)}}},function(E,F){o.fn[E]=3Dfunction(){return =
this.each(F,arguments)}});function j(E,F){return =
E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var =
h=3D"jQuery"+e(),v=3D0,A=3D{};o.extend({cache:{},data:function(F,E,G){F=3D=
F=3D=3Dl?A:F;var =
H=3DF[h];if(!H){H=3DF[h]=3D++v}if(E&&!o.cache[H]){o.cache[H]=3D{}}if(G!=3D=
=3Dg){o.cache[H][E]=3DG}return =
E?o.cache[H][E]:H},removeData:function(F,E){F=3DF=3D=3Dl?A:F;var =
H=3DF[h];if(E){if(o.cache[H]){delete o.cache[H][E];E=3D"";for(E in =
o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete =
F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete =
o.cache[H]}},queue:function(F,E,H){if(F){E=3D(E||"fx")+"queue";var =
G=3Do.data(F,E);if(!G||o.isArray(H)){G=3Do.data(F,E,o.makeArray(H))}else{=
if(H){G.push(H)}}}return G},dequeue:function(H,G){var =
E=3Do.queue(H,G),F=3DE.shift();if(!G||G=3D=3D=3D"fx"){F=3DE[0]}if(F!=3D=3D=
g){F.call(H)}}});o.fn.extend({data:function(E,G){var =
H=3DE.split(".");H[1]=3DH[1]?"."+H[1]:"";if(G=3D=3D=3Dg){var =
F=3Dthis.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F=3D=3D=3Dg&&this.l=
ength){F=3Do.data(this[0],E)}return =
F=3D=3D=3Dg&&H[1]?this.data(H[0]):F}else{return =
this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G=
)})}},removeData:function(E){return =
this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeo=
f E!=3D=3D"string"){F=3DE;E=3D"fx"}if(F=3D=3D=3Dg){return =
o.queue(this[0],E)}return this.each(function(){var =
G=3Do.queue(this,E,F);if(E=3D=3D"fx"&&G.length=3D=3D1){G[0].call(this)}})=
},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});=0A=
/*=0A=
 * Sizzle CSS Selector Engine - v0.9.3=0A=
 *  Copyright 2009, The Dojo Foundation=0A=
 *  Released under the MIT, BSD, and GPL Licenses.=0A=
 *  More information: http://sizzlejs.com/=0A=
 */=0A=
(function(){var =
R=3D/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]=
'"]+)+\]|\\.|[^ =
>+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=3D0,H=3DObject.prototype.toString;var =
F=3Dfunction(Y,U,ab,ac){ab=3Dab||[];U=3DU||document;if(U.nodeType!=3D=3D1=
&&U.nodeType!=3D=3D9){return[]}if(!Y||typeof Y!=3D=3D"string"){return =
ab}var =
Z=3D[],W,af,ai,T,ad,V,X=3Dtrue;R.lastIndex=3D0;while((W=3DR.exec(Y))!=3D=3D=
null){Z.push(W[1]);if(W[2]){V=3DRegExp.rightContext;break}}if(Z.length>1&=
&M.exec(Y)){if(Z.length=3D=3D=3D2&&I.relative[Z[0]]){af=3DJ(Z[0]+Z[1],U)}=
else{af=3DI.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=3DZ.shift=
();if(I.relative[Y]){Y+=3DZ.shift()}af=3DJ(Y,af)}}}else{var =
ae=3Dac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length=3D=3D=3D1&&U.par=
entNode?U.parentNode:U,Q(U));af=3DF.filter(ae.expr,ae.set);if(Z.length>0)=
{ai=3DE(af)}else{X=3Dfalse}while(Z.length){var =
ah=3DZ.pop(),ag=3Dah;if(!I.relative[ah]){ah=3D""}else{ag=3DZ.pop()}if(ag=3D=
=3Dnull){ag=3DU}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=3Daf}if(!ai){throw=
"Syntax error, unrecognized expression: =
"+(ah||Y)}if(H.call(ai)=3D=3D=3D"[object =
Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType=3D=3D=3D1){for(va=
r =
aa=3D0;ai[aa]!=3Dnull;aa++){if(ai[aa]&&(ai[aa]=3D=3D=3Dtrue||ai[aa].nodeT=
ype=3D=3D=3D1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var =
aa=3D0;ai[aa]!=3Dnull;aa++){if(ai[aa]&&ai[aa].nodeType=3D=3D=3D1){ab.push=
(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=3Dfalse;=
ab.sort(G);if(hasDuplicate){for(var =
aa=3D1;aa<ab.length;aa++){if(ab[aa]=3D=3D=3Dab[aa-1]){ab.splice(aa--,1)}}=
}}}return ab};F.matches=3Dfunction(T,U){return =
F(T,null,null,U)};F.find=3Dfunction(aa,T,ab){var =
Z,X;if(!aa){return[]}for(var W=3D0,V=3DI.order.length;W<V;W++){var =
Y=3DI.order[W],X;if((X=3DI.match[Y].exec(aa))){var =
U=3DRegExp.leftContext;if(U.substr(U.length-1)!=3D=3D"\\"){X[1]=3D(X[1]||=
"").replace(/\\/g,"");Z=3DI.find[Y](X,T,ab);if(Z!=3Dnull){aa=3Daa.replace=
(I.match[Y],"");break}}}}if(!Z){Z=3DT.getElementsByTagName("*")}return{se=
t:Z,expr:aa}};F.filter=3Dfunction(ad,ac,ag,W){var =
V=3Dad,ai=3D[],aa=3Dac,Y,T,Z=3Dac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){f=
or(var ab in I.filter){if((Y=3DI.match[ab].exec(ad))!=3Dnull){var =
U=3DI.filter[ab],ah,af;T=3Dfalse;if(aa=3D=3Dai){ai=3D[]}if(I.preFilter[ab=
]){Y=3DI.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=3Dah=3Dtrue}else{if(Y=3D=3D=
=3Dtrue){continue}}}if(Y){for(var =
X=3D0;(af=3Daa[X])!=3Dnull;X++){if(af){ah=3DU(af,Y,X,aa);var =
ae=3DW^!!ah;if(ag&&ah!=3Dnull){if(ae){T=3Dtrue}else{aa[X]=3Dfalse}}else{i=
f(ae){ai.push(af);T=3Dtrue}}}}}if(ah!=3D=3Dg){if(!ag){aa=3Dai}ad=3Dad.rep=
lace(I.match[ab],"");if(!T){return[]}break}}}if(ad=3D=3DV){if(T=3D=3Dnull=
){throw"Syntax error, unrecognized expression: =
"+ad}else{break}}V=3Dad}return aa};var =
I=3DF.selectors=3D{order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\u=
FFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=3D[=
'"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFF=
F_-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\u=
FFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+=
-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]=
|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^=
\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHan=
dle:{href:function(T){return =
T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=3Dtypeof =
T=3D=3D=3D"string",ab=3DX&&!/\W/.test(T),Y=3DX&&!ab;if(ab&&!Z){T=3DT.toUp=
perCase()}for(var =
W=3D0,V=3Daa.length,U;W<V;W++){if((U=3Daa[W])){while((U=3DU.previousSibli=
ng)&&U.nodeType!=3D=3D1){}aa[W]=3DY||U&&U.nodeName=3D=3D=3DT?U||false:U=3D=
=3D=3DT}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=3Dtypeof =
U=3D=3D=3D"string";if(X&&!/\W/.test(U)){U=3Daa?U:U.toUpperCase();for(var =
V=3D0,T=3DZ.length;V<T;V++){var Y=3DZ[V];if(Y){var =
W=3DY.parentNode;Z[V]=3DW.nodeName=3D=3D=3DU?W:false}}}else{for(var =
V=3D0,T=3DZ.length;V<T;V++){var =
Y=3DZ[V];if(Y){Z[V]=3DX?Y.parentNode:Y.parentNode=3D=3D=3DU}}if(X){F.filt=
er(U,Z,true)}}},"":function(W,U,Y){var =
V=3DL++,T=3DS;if(!U.match(/\W/)){var =
X=3DU=3DY?U:U.toUpperCase();T=3DP}T("parentNode",U,V,W,X,Y)},"~":function=
(W,U,Y){var V=3DL++,T=3DS;if(typeof =
U=3D=3D=3D"string"&&!U.match(/\W/)){var =
X=3DU=3DY?U:U.toUpperCase();T=3DP}T("previousSibling",U,V,W,X,Y)}},find:{=
ID:function(U,V,W){if(typeof V.getElementById!=3D=3D"undefined"&&!W){var =
T=3DV.getElementById(U[1]);return =
T?[T]:[]}},NAME:function(V,Y,Z){if(typeof =
Y.getElementsByName!=3D=3D"undefined"){var =
U=3D[],X=3DY.getElementsByName(V[1]);for(var =
W=3D0,T=3DX.length;W<T;W++){if(X[W].getAttribute("name")=3D=3D=3DV[1]){U.=
push(X[W])}}return U.length=3D=3D=3D0?null:U}},TAG:function(T,U){return =
U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=3D=
" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var =
X=3D0,Y;(Y=3DU[X])!=3Dnull;X++){if(Y){if(Z^(Y.className&&(" =
"+Y.className+" =
").indexOf(W)>=3D0)){if(!V){T.push(Y)}}else{if(V){U[X]=3Dfalse}}}}return =
false},ID:function(T){return =
T[1].replace(/\\/g,"")},TAG:function(U,T){for(var =
V=3D0;T[V]=3D=3D=3Dfalse;V++){}return =
T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=3D=3D"nt=
h"){var =
U=3D/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=3D=3D"even"&&"2n"||T[2]=3D=3D"od=
d"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=3D(U[1]+(U[2]||1))-0=
;T[3]=3DU[3]-0}T[0]=3DL++;return T},ATTR:function(X,U,V,T,Y,Z){var =
W=3DX[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=3DI.attrMap[W]}if(X[=
2]=3D=3D=3D"~=3D"){X[4]=3D" "+X[4]+" "}return =
X},PSEUDO:function(X,U,V,T,Y){if(X[1]=3D=3D=3D"not"){if(X[3].match(R).len=
gth>1||/^\w/.test(X[3])){X[3]=3DF(X[3],null,null,U)}else{var =
W=3DF.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return =
false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return =
true}}return X},POS:function(T){T.unshift(true);return =
T}},filters:{enabled:function(T){return =
T.disabled=3D=3D=3Dfalse&&T.type!=3D=3D"hidden"},disabled:function(T){ret=
urn T.disabled=3D=3D=3Dtrue},checked:function(T){return =
T.checked=3D=3D=3Dtrue},selected:function(T){T.parentNode.selectedIndex;r=
eturn T.selected=3D=3D=3Dtrue},parent:function(T){return =
!!T.firstChild},empty:function(T){return =
!T.firstChild},has:function(V,U,T){return =
!!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},tex=
t:function(T){return"text"=3D=3D=3DT.type},radio:function(T){return"radio=
"=3D=3D=3DT.type},checkbox:function(T){return"checkbox"=3D=3D=3DT.type},f=
ile:function(T){return"file"=3D=3D=3DT.type},password:function(T){return"=
password"=3D=3D=3DT.type},submit:function(T){return"submit"=3D=3D=3DT.typ=
e},image:function(T){return"image"=3D=3D=3DT.type},reset:function(T){retu=
rn"reset"=3D=3D=3DT.type},button:function(T){return"button"=3D=3D=3DT.typ=
e||T.nodeName.toUpperCase()=3D=3D=3D"BUTTON"},input:function(T){return/in=
put|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:functio=
n(U,T){return T=3D=3D=3D0},last:function(V,U,T,W){return =
U=3D=3D=3DW.length-1},even:function(U,T){return =
T%2=3D=3D=3D0},odd:function(U,T){return =
T%2=3D=3D=3D1},lt:function(V,U,T){return =
U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return =
T[3]-0=3D=3DU},eq:function(V,U,T){return =
T[3]-0=3D=3DU}},filter:{PSEUDO:function(Z,V,W,aa){var =
U=3DV[1],X=3DI.filters[U];if(X){return =
X(Z,W,V,aa)}else{if(U=3D=3D=3D"contains"){return(Z.textContent||Z.innerTe=
xt||"").indexOf(V[3])>=3D0}else{if(U=3D=3D=3D"not"){var Y=3DV[3];for(var =
W=3D0,T=3DY.length;W<T;W++){if(Y[W]=3D=3D=3DZ){return false}}return =
true}}}},CHILD:function(T,W){var =
Z=3DW[1],U=3DT;switch(Z){case"only":case"first":while(U=3DU.previousSibli=
ng){if(U.nodeType=3D=3D=3D1){return false}}if(Z=3D=3D"first"){return =
true}U=3DT;case"last":while(U=3DU.nextSibling){if(U.nodeType=3D=3D=3D1){r=
eturn false}}return true;case"nth":var =
V=3DW[2],ac=3DW[3];if(V=3D=3D1&&ac=3D=3D0){return true}var =
Y=3DW[0],ab=3DT.parentNode;if(ab&&(ab.sizcache!=3D=3DY||!T.nodeIndex)){va=
r =
X=3D0;for(U=3Dab.firstChild;U;U=3DU.nextSibling){if(U.nodeType=3D=3D=3D1)=
{U.nodeIndex=3D++X}}ab.sizcache=3DY}var =
aa=3DT.nodeIndex-ac;if(V=3D=3D0){return =
aa=3D=3D0}else{return(aa%V=3D=3D0&&aa/V>=3D0)}}},ID:function(U,T){return =
U.nodeType=3D=3D=3D1&&U.getAttribute("id")=3D=3D=3DT},TAG:function(U,T){r=
eturn(T=3D=3D=3D"*"&&U.nodeType=3D=3D=3D1)||U.nodeName=3D=3D=3DT},CLASS:f=
unction(U,T){return(" "+(U.className||U.getAttribute("class"))+" =
").indexOf(T)>-1},ATTR:function(Y,W){var =
V=3DW[1],T=3DI.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=3Dnull?Y[V]:Y.getAt=
tribute(V),Z=3DT+"",X=3DW[2],U=3DW[4];return =
T=3D=3Dnull?X=3D=3D=3D"!=3D":X=3D=3D=3D"=3D"?Z=3D=3D=3DU:X=3D=3D=3D"*=3D"=
?Z.indexOf(U)>=3D0:X=3D=3D=3D"~=3D"?(" "+Z+" =
").indexOf(U)>=3D0:!U?Z&&T!=3D=3Dfalse:X=3D=3D=3D"!=3D"?Z!=3DU:X=3D=3D=3D=
"^=3D"?Z.indexOf(U)=3D=3D=3D0:X=3D=3D=3D"$=3D"?Z.substr(Z.length-U.length=
)=3D=3D=3DU:X=3D=3D=3D"|=3D"?Z=3D=3D=3DU||Z.substr(0,U.length+1)=3D=3D=3D=
U+"-":false},POS:function(X,U,V,Y){var =
T=3DU[2],W=3DI.setFilters[T];if(W){return W(X,V,U,Y)}}}};var =
M=3DI.match.POS;for(var O in =
I.match){I.match[O]=3DRegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/=
.source)}var =
E=3Dfunction(U,T){U=3DArray.prototype.slice.call(U);if(T){T.push.apply(T,=
U);return T}return =
U};try{Array.prototype.slice.call(document.documentElement.childNodes)}ca=
tch(N){E=3Dfunction(X,W){var U=3DW||[];if(H.call(X)=3D=3D=3D"[object =
Array]"){Array.prototype.push.apply(U,X)}else{if(typeof =
X.length=3D=3D=3D"number"){for(var =
V=3D0,T=3DX.length;V<T;V++){U.push(X[V])}}else{for(var =
V=3D0;X[V];V++){U.push(X[V])}}}return U}}var =
G;if(document.documentElement.compareDocumentPosition){G=3Dfunction(U,T){=
var =
V=3DU.compareDocumentPosition(T)&4?-1:U=3D=3D=3DT?0:1;if(V=3D=3D=3D0){has=
Duplicate=3Dtrue}return V}}else{if("sourceIndex" in =
document.documentElement){G=3Dfunction(U,T){var =
V=3DU.sourceIndex-T.sourceIndex;if(V=3D=3D=3D0){hasDuplicate=3Dtrue}retur=
n V}}else{if(document.createRange){G=3Dfunction(W,U){var =
V=3DW.ownerDocument.createRange(),T=3DU.ownerDocument.createRange();V.sel=
ectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var =
X=3DV.compareBoundaryPoints(Range.START_TO_END,T);if(X=3D=3D=3D0){hasDupl=
icate=3Dtrue}return X}}}}(function(){var =
U=3Ddocument.createElement("form"),V=3D"script"+(new =
Date).getTime();U.innerHTML=3D"<input name=3D'"+V+"'/>";var =
T=3Ddocument.documentElement;T.insertBefore(U,T.firstChild);if(!!document=
.getElementById(V)){I.find.ID=3Dfunction(X,Y,Z){if(typeof =
Y.getElementById!=3D=3D"undefined"&&!Z){var =
W=3DY.getElementById(X[1]);return W?W.id=3D=3D=3DX[1]||typeof =
W.getAttributeNode!=3D=3D"undefined"&&W.getAttributeNode("id").nodeValue=3D=
=3D=3DX[1]?[W]:g:[]}};I.filter.ID=3Dfunction(Y,W){var X=3Dtypeof =
Y.getAttributeNode!=3D=3D"undefined"&&Y.getAttributeNode("id");return =
Y.nodeType=3D=3D=3D1&&X&&X.nodeValue=3D=3D=3DW}}T.removeChild(U)})();(fun=
ction(){var =
T=3Ddocument.createElement("div");T.appendChild(document.createComment(""=
));if(T.getElementsByTagName("*").length>0){I.find.TAG=3Dfunction(U,Y){va=
r X=3DY.getElementsByTagName(U[1]);if(U[1]=3D=3D=3D"*"){var =
W=3D[];for(var =
V=3D0;X[V];V++){if(X[V].nodeType=3D=3D=3D1){W.push(X[V])}}X=3DW}return =
X}}T.innerHTML=3D"<a href=3D'#'></a>";if(T.firstChild&&typeof =
T.firstChild.getAttribute!=3D=3D"undefined"&&T.firstChild.getAttribute("h=
ref")!=3D=3D"#"){I.attrHandle.href=3Dfunction(U){return =
U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){=
var T=3DF,U=3Ddocument.createElement("div");U.innerHTML=3D"<p =
class=3D'TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").l=
ength=3D=3D=3D0){return}F=3Dfunction(Y,X,V,W){X=3DX||document;if(!W&&X.no=
deType=3D=3D=3D9&&!Q(X)){try{return =
E(X.querySelectorAll(Y),V)}catch(Z){}}return =
T(Y,X,V,W)};F.find=3DT.find;F.filter=3DT.filter;F.selectors=3DT.selectors=
;F.matches=3DT.matches})()}if(document.getElementsByClassName&&document.d=
ocumentElement.getElementsByClassName){(function(){var =
T=3Ddocument.createElement("div");T.innerHTML=3D"<div class=3D'test =
e'></div><div =
class=3D'test'></div>";if(T.getElementsByClassName("e").length=3D=3D=3D0)=
{return}T.lastChild.className=3D"e";if(T.getElementsByClassName("e").leng=
th=3D=3D=3D1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=3Dfunction(=
U,V,W){if(typeof V.getElementsByClassName!=3D=3D"undefined"&&!W){return =
V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var =
ab=3DU=3D=3D"previousSibling"&&!ac;for(var =
W=3D0,V=3Dad.length;W<V;W++){var =
T=3Dad[W];if(T){if(ab&&T.nodeType=3D=3D=3D1){T.sizcache=3DY;T.sizset=3DW}=
T=3DT[U];var =
X=3Dfalse;while(T){if(T.sizcache=3D=3D=3DY){X=3Dad[T.sizset];break}if(T.n=
odeType=3D=3D=3D1&&!ac){T.sizcache=3DY;T.sizset=3DW}if(T.nodeName=3D=3D=3D=
Z){X=3DT;break}T=3DT[U]}ad[W]=3DX}}}function S(U,Z,Y,ad,aa,ac){var =
ab=3DU=3D=3D"previousSibling"&&!ac;for(var =
W=3D0,V=3Dad.length;W<V;W++){var =
T=3Dad[W];if(T){if(ab&&T.nodeType=3D=3D=3D1){T.sizcache=3DY;T.sizset=3DW}=
T=3DT[U];var =
X=3Dfalse;while(T){if(T.sizcache=3D=3D=3DY){X=3Dad[T.sizset];break}if(T.n=
odeType=3D=3D=3D1){if(!ac){T.sizcache=3DY;T.sizset=3DW}if(typeof =
Z!=3D=3D"string"){if(T=3D=3D=3DZ){X=3Dtrue;break}}else{if(F.filter(Z,[T])=
.length>0){X=3DT;break}}}T=3DT[U]}ad[W]=3DX}}}var =
K=3Ddocument.compareDocumentPosition?function(U,T){return =
U.compareDocumentPosition(T)&16}:function(U,T){return =
U!=3D=3DT&&(U.contains?U.contains(T):true)};var Q=3Dfunction(T){return =
T.nodeType=3D=3D=3D9&&T.documentElement.nodeName!=3D=3D"HTML"||!!T.ownerD=
ocument&&Q(T.ownerDocument)};var J=3Dfunction(T,aa){var =
W=3D[],X=3D"",Y,V=3Daa.nodeType?[aa]:aa;while((Y=3DI.match.PSEUDO.exec(T)=
)){X+=3DY[0];T=3DT.replace(I.match.PSEUDO,"")}T=3DI.relative[T]?T+"*":T;f=
or(var Z=3D0,U=3DV.length;Z<U;Z++){F(T,V[Z],W)}return =
F.filter(X,W)};o.find=3DF;o.filter=3DF.filter;o.expr=3DF.selectors;o.expr=
[":"]=3Do.expr.filters;F.selectors.filters.hidden=3Dfunction(T){return =
T.offsetWidth=3D=3D=3D0||T.offsetHeight=3D=3D=3D0};F.selectors.filters.vi=
sible=3Dfunction(T){return =
T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=3Dfunctio=
n(T){return o.grep(o.timers,function(U){return =
T=3D=3D=3DU.elem}).length};o.multiFilter=3Dfunction(V,T,U){if(U){V=3D":no=
t("+V+")"}return F.matches(V,T)};o.dir=3Dfunction(V,U){var =
T=3D[],W=3DV[U];while(W&&W!=3Ddocument){if(W.nodeType=3D=3D1){T.push(W)}W=
=3DW[U]}return T};o.nth=3Dfunction(X,T,V,W){T=3DT||1;var =
U=3D0;for(;X;X=3DX[V]){if(X.nodeType=3D=3D1&&++U=3D=3DT){break}}return =
X};o.sibling=3Dfunction(V,U){var =
T=3D[];for(;V;V=3DV.nextSibling){if(V.nodeType=3D=3D1&&V!=3DU){T.push(V)}=
}return =
T};return;l.Sizzle=3DF})();o.event=3D{add:function(I,F,H,K){if(I.nodeType=
=3D=3D3||I.nodeType=3D=3D8){return}if(I.setInterval&&I!=3Dl){I=3Dl}if(!H.=
guid){H.guid=3Dthis.guid++}if(K!=3D=3Dg){var =
G=3DH;H=3Dthis.proxy(G);H.data=3DK}var =
E=3Do.data(I,"events")||o.data(I,"events",{}),J=3Do.data(I,"handle")||o.d=
ata(I,"handle",function(){return typeof =
o!=3D=3D"undefined"&&!o.event.triggered?o.event.handle.apply(arguments.ca=
llee.elem,arguments):g});J.elem=3DI;o.each(F.split(/\s+/),function(M,N){v=
ar =
O=3DN.split(".");N=3DO.shift();H.type=3DO.slice().sort().join(".");var =
L=3DE[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O=
)}if(!L){L=3DE[N]=3D{};if(!o.event.special[N]||o.event.special[N].setup.c=
all(I,K,O)=3D=3D=3Dfalse){if(I.addEventListener){I.addEventListener(N,J,f=
alse)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=3DH;o.e=
vent.global[N]=3Dtrue});I=3Dnull},guid:1,global:{},remove:function(K,H,J)=
{if(K.nodeType=3D=3D3||K.nodeType=3D=3D8){return}var =
G=3Do.data(K,"events"),F,E;if(G){if(H=3D=3D=3Dg||(typeof =
H=3D=3D=3D"string"&&H.charAt(0)=3D=3D".")){for(var I in =
G){this.remove(K,I+(H||""))}}else{if(H.type){J=3DH.handler;H=3DH.type}o.e=
ach(H.split(/\s+/),function(M,O){var Q=3DO.split(".");O=3DQ.shift();var =
N=3DRegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){i=
f(J){delete G[O][J.guid]}else{for(var P in =
G[O]){if(N.test(G[O][P].type)){delete =
G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K=
,Q)}for(F in =
G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.ca=
ll(K,Q)=3D=3D=3Dfalse){if(K.removeEventListener){K.removeEventListener(O,=
o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.d=
ata(K,"handle"))}}}F=3Dnull;delete G[O]}}})}for(F in G){break}if(!F){var =
L=3Do.data(K,"handle");if(L){L.elem=3Dnull}o.removeData(K,"events");o.rem=
oveData(K,"handle")}}},trigger:function(I,K,H,E){var =
G=3DI.type||I;if(!E){I=3Dtypeof =
I=3D=3D=3D"object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf(=
"!")>=3D0){I.type=3DG=3DG.slice(0,-1);I.exclusive=3Dtrue}if(!H){I.stopPro=
pagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&t=
his.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeTyp=
e=3D=3D3||H.nodeType=3D=3D8){return =
g}I.result=3Dg;I.target=3DH;K=3Do.makeArray(K);K.unshift(I)}I.currentTarg=
et=3DH;var =
J=3Do.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&=
G=3D=3D"click"))&&H["on"+G]&&H["on"+G].apply(H,K)=3D=3D=3Dfalse){I.result=
=3Dfalse}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=3D=3D=
"click")){this.triggered=3Dtrue;try{H[G]()}catch(L){}}this.triggered=3Dfa=
lse;if(!I.isPropagationStopped()){var =
F=3DH.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},ha=
ndle:function(K){var =
J,E;K=3Darguments[0]=3Do.event.fix(K||l.event);K.currentTarget=3Dthis;var=
 =
L=3DK.type.split(".");K.type=3DL.shift();J=3D!L.length&&!K.exclusive;var =
I=3DRegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=3D(o.dat=
a(this,"events")||{})[K.type];for(var G in E){var =
H=3DE[G];if(J||I.test(H.type)){K.handler=3DH;K.data=3DH.data;var =
F=3DH.apply(this,arguments);if(F!=3D=3Dg){K.result=3DF;if(F=3D=3D=3Dfalse=
){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStop=
ped()){break}}}},props:"altKey attrChange attrName bubbles button =
cancelable charCode clientX clientY ctrlKey currentTarget data detail =
eventPhase fromElement handler keyCode metaKey newValue originalTarget =
pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey =
srcElement target toElement view wheelDelta which".split(" =
"),fix:function(H){if(H[h]){return H}var F=3DH;H=3Do.Event(F);for(var =
G=3Dthis.props.length,J;G;){J=3Dthis.props[--G];H[J]=3DF[J]}if(!H.target)=
{H.target=3DH.srcElement||document}if(H.target.nodeType=3D=3D3){H.target=3D=
H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=3D=
H.fromElement=3D=3DH.target?H.toElement:H.fromElement}if(H.pageX=3D=3Dnul=
l&&H.clientX!=3Dnull){var =
I=3Ddocument.documentElement,E=3Ddocument.body;H.pageX=3DH.clientX+(I&&I.=
scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=3DH.clientY+(I&=
&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCo=
de||H.charCode=3D=3D=3D0)?H.charCode:H.keyCode)){H.which=3DH.charCode||H.=
keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=3DH.ctrlKey}if(!H.which&&H.bu=
tton){H.which=3D(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return =
H},proxy:function(F,E){E=3DE||function(){return =
F.apply(this,arguments)};E.guid=3DF.guid=3DF.guid||E.guid||this.guid++;re=
turn =
E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setu=
p:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.lengt=
h){var =
E=3D0,F=3DRegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").=
live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(=
this,G[0],c)}}}}}};o.Event=3Dfunction(E){if(!this.preventDefault){return =
new =
o.Event(E)}if(E&&E.type){this.originalEvent=3DE;this.type=3DE.type}else{t=
his.type=3DE}this.timeStamp=3De();this[h]=3Dtrue};function k(){return =
false}function u(){return =
true}o.Event.prototype=3D{preventDefault:function(){this.isDefaultPrevent=
ed=3Du;var =
E=3Dthis.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefaul=
t()}E.returnValue=3Dfalse},stopPropagation:function(){this.isPropagationS=
topped=3Du;var =
E=3Dthis.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagat=
ion()}E.cancelBubble=3Dtrue},stopImmediatePropagation:function(){this.isI=
mmediatePropagationStopped=3Du;this.stopPropagation()},isDefaultPrevented=
:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var =
a=3Dfunction(F){var =
E=3DF.relatedTarget;while(E&&E!=3Dthis){try{E=3DE.parentNode}catch(G){E=3D=
this}}if(E!=3Dthis){F.type=3DF.data;o.event.handle.apply(this,arguments)}=
};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.e=
vent.special[E]=3D{setup:function(){o.event.add(this,F,a,E)},teardown:fun=
ction(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){re=
turn =
F=3D=3D"unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E=
||G,E&&G)})},one:function(G,H,F){var =
E=3Do.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply=
(this,arguments)});return =
this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){r=
eturn =
this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){re=
turn =
this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function=
(E,G){if(this[0]){var =
F=3Do.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G=
,this[0]);return F.result}},toggle:function(G){var =
E=3Darguments,F=3D1;while(F<E.length){o.event.proxy(G,E[F++])}return =
this.click(o.event.proxy(G,function(H){this.lastToggle=3D(this.lastToggle=
||0)%F;H.preventDefault();return =
E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F)=
{return =
this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.c=
all(document,o)}else{o.readyList.push(E)}return =
this},live:function(G,F){var =
E=3Do.event.proxy(F);E.guid+=3Dthis.selector+G;o(document).bind(i(G,this.=
selector),this.selector,E);return =
this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.g=
uid+this.selector+F}:null);return this}});function c(H){var =
E=3DRegExp("(^|\\.)"+H.type+"(\\.|$)"),G=3Dtrue,F=3D[];o.each(o.data(this=
,"events").live||[],function(I,J){if(E.test(J.type)){var =
K=3Do(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort=
(function(J,I){return =
o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){i=
f(this.fn.call(this.elem,H,this.fn.data)=3D=3D=3Dfalse){return(G=3Dfalse)=
}});return G}function =
i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ =
/g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){=
if(!o.isReady){o.isReady=3Dtrue;if(o.readyList){o.each(o.readyList,functi=
on(){this.call(document,o)});o.readyList=3Dnull}o(document).triggerHandle=
r("ready")}}});var x=3Dfalse;function =
B(){if(x){return}x=3Dtrue;if(document.addEventListener){document.addEvent=
Listener("DOMContentLoaded",function(){document.removeEventListener("DOMC=
ontentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.=
attachEvent){document.attachEvent("onreadystatechange",function(){if(docu=
ment.readyState=3D=3D=3D"complete"){document.detachEvent("onreadystatecha=
nge",arguments.callee);o.ready()}});if(document.documentElement.doScroll&=
&l=3D=3Dl.top){(function(){if(o.isReady){return}try{document.documentElem=
ent.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.rea=
dy()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,=
scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseo=
ut,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,erro=
r").split(","),function(F,E){o.fn[E]=3Dfunction(G){return =
G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var=
 E in =
o.cache){if(E!=3D1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.e=
lem)}}});(function(){o.support=3D{};var =
F=3Ddocument.documentElement,G=3Ddocument.createElement("script"),K=3Ddoc=
ument.createElement("div"),J=3D"script"+(new =
Date).getTime();K.style.display=3D"none";K.innerHTML=3D'   =
<link/><table></table><a href=3D"/a" =
style=3D"color:red;float:left;opacity:.5;">a</a><select><option>text</opt=
ion></select><object><param/></object>';var =
H=3DK.getElementsByTagName("*"),E=3DK.getElementsByTagName("a")[0];if(!H|=
|!H.length||!E){return}o.support=3D{leadingWhitespace:K.firstChild.nodeTy=
pe=3D=3D3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.get=
ElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSeria=
lize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttrib=
ute("style")),hrefNormalized:E.getAttribute("href")=3D=3D=3D"/a",opacity:=
E.style.opacity=3D=3D=3D"0.5",cssFloat:!!E.style.cssFloat,scriptEval:fals=
e,noCloneEvent:true,boxModel:null};G.type=3D"text/javascript";try{G.appen=
dChild(document.createTextNode("window."+J+"=3D1;"))}catch(I){}F.insertBe=
fore(G,F.firstChild);if(l[J]){o.support.scriptEval=3Dtrue;delete =
l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("oncli=
ck",function(){o.support.noCloneEvent=3Dfalse;K.detachEvent("onclick",arg=
uments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var =
L=3Ddocument.createElement("div");L.style.width=3DL.style.paddingLeft=3D"=
1px";document.body.appendChild(L);o.boxModel=3Do.support.boxModel=3DL.off=
setWidth=3D=3D=3D2;document.body.removeChild(L).style.display=3D"none"})}=
)();var =
w=3Do.support.cssFloat?"cssFloat":"styleFloat";o.props=3D{"for":"htmlFor"=
,"class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly=
",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabin=
dex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(type=
of G!=3D=3D"string"){return this._load(G)}var I=3DG.indexOf(" =
");if(I>=3D0){var E=3DG.slice(I,G.length);G=3DG.slice(0,I)}var =
H=3D"GET";if(J){if(o.isFunction(J)){K=3DJ;J=3Dnull}else{if(typeof =
J=3D=3D=3D"object"){J=3Do.param(J);H=3D"POST"}}}var =
F=3Dthis;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,=
L){if(L=3D=3D"success"||L=3D=3D"notmodified"){F.html(E?o("<div/>").append=
(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.respon=
seText)}if(K){F.each(K,[M.responseText,L,M])}}});return =
this},serialize:function(){return =
o.param(this.serializeArray())},serializeArray:function(){return =
this.map(function(){return =
this.elements?o.makeArray(this.elements):this}).filter(function(){return =
this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.no=
deName)||/text|hidden|password|search/i.test(this.type))}).map(function(E=
,F){var G=3Do(this).val();return =
G=3D=3Dnull?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,va=
lue:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajax=
Complete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=
=3Dfunction(G){return this.bind(F,G)}});var =
r=3De();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=3DG;G=3Dnul=
l}return =
o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:functio=
n(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return =
o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=3DG;G=3D=
{}}return =
o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:functi=
on(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:=
true,type:"GET",contentType:"application/x-www-form-urlencoded",processDa=
ta:true,async:true,xhr:function(){return l.ActiveXObject?new =
ActiveXObject("Microsoft.XMLHTTP"):new =
XMLHttpRequest()},accepts:{xml:"application/xml, =
text/xml",html:"text/html",script:"text/javascript, =
application/javascript",json:"application/json, =
text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:=
function(M){M=3Do.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var =
W,F=3D/=3D\?(&|$)/g,R,V,G=3DM.type.toUpperCase();if(M.data&&M.processData=
&&typeof =
M.data!=3D=3D"string"){M.data=3Do.param(M.data)}if(M.dataType=3D=3D"jsonp=
"){if(G=3D=3D"GET"){if(!M.url.match(F)){M.url+=3D(M.url.match(/\?/)?"&":"=
?")+(M.jsonp||"callback")+"=3D?"}}else{if(!M.data||!M.data.match(F)){M.da=
ta=3D(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=3D?"}}M.dataType=3D"j=
son"}if(M.dataType=3D=3D"json"&&(M.data&&M.data.match(F)||M.url.match(F))=
){W=3D"jsonp"+r++;if(M.data){M.data=3D(M.data+"").replace(F,"=3D"+W+"$1")=
}M.url=3DM.url.replace(F,"=3D"+W+"$1");M.dataType=3D"script";l[W]=3Dfunct=
ion(X){V=3DX;I();L();l[W]=3Dg;try{delete =
l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=3D=3D"script"&&M.ca=
che=3D=3Dnull){M.cache=3Dfalse}if(M.cache=3D=3D=3Dfalse&&G=3D=3D"GET"){va=
r E=3De();var =
U=3DM.url.replace(/(\?|&)_=3D.*?(&|$)/,"$1_=3D"+E+"$2");M.url=3DU+((U=3D=3D=
M.url)?(M.url.match(/\?/)?"&":"?")+"_=3D"+E:"")}if(M.data&&G=3D=3D"GET"){=
M.url+=3D(M.url.match(/\?/)?"&":"?")+M.data;M.data=3Dnull}if(M.global&&!o=
.active++){o.event.trigger("ajaxStart")}var =
Q=3D/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=3D=3D"script"&&G=3D=
=3D"GET"&&Q&&(Q[1]&&Q[1]!=3Dlocation.protocol||Q[2]!=3Dlocation.host)){va=
r H=3Ddocument.getElementsByTagName("head")[0];var =
T=3Ddocument.createElement("script");T.src=3DM.url;if(M.scriptCharset){T.=
charset=3DM.scriptCharset}if(!W){var =
O=3Dfalse;T.onload=3DT.onreadystatechange=3Dfunction(){if(!O&&(!this.read=
yState||this.readyState=3D=3D"loaded"||this.readyState=3D=3D"complete")){=
O=3Dtrue;I();L();T.onload=3DT.onreadystatechange=3Dnull;H.removeChild(T)}=
}}H.appendChild(T);return g}var K=3Dfalse;var =
J=3DM.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}=
else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-T=
ype",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Sinc=
e",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 =
GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setReques=
tHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+=
", =
*/*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)=3D=3D=
=3Dfalse){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort()=
;return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var =
N=3Dfunction(X){if(J.readyState=3D=3D0){if(P){clearInterval(P);P=3Dnull;i=
f(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.=
readyState=3D=3D4||X=3D=3D"timeout")){K=3Dtrue;if(P){clearInterval(P);P=3D=
null}R=3DX=3D=3D"timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModifie=
d&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=3D=3D"success"=
){try{V=3Do.httpData(J,M.dataType,M)}catch(Z){R=3D"parsererror"}}if(R=3D=3D=
"success"){var =
Y;try{Y=3DJ.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&=
&Y){o.lastModified[M.url]=3DY}if(!W){I()}}else{o.handleError(M,J,R)}L();i=
f(X){J.abort()}if(M.async){J=3Dnull}}}};if(M.async){var =
P=3DsetInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("=
timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,nul=
l,S)}if(!M.async){N()}function =
I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSucces=
s",[J,M])}}function =
L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComp=
lete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}retur=
n =
J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){=
o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){t=
ry{return =
!F.status&&location.protocol=3D=3D"file:"||(F.status>=3D200&&F.status<300=
)||F.status=3D=3D304||F.status=3D=3D1223}catch(E){}return =
false},httpNotModified:function(G,E){try{var =
H=3DG.getResponseHeader("Last-Modified");return =
G.status=3D=3D304||H=3D=3Do.lastModified[E]}catch(F){}return =
false},httpData:function(J,H,G){var =
F=3DJ.getResponseHeader("content-type"),E=3DH=3D=3D"xml"||!H&&F&&F.indexO=
f("xml")>=3D0,I=3DE?J.responseXML:J.responseText;if(E&&I.documentElement.=
tagName=3D=3D"parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=3DG.=
dataFilter(I,H)}if(typeof =
I=3D=3D=3D"string"){if(H=3D=3D"script"){o.globalEval(I)}if(H=3D=3D"json")=
{I=3Dl["eval"]("("+I+")")}}return I},param:function(E){var =
G=3D[];function =
H(I,J){G[G.length]=3DencodeURIComponent(I)+"=3D"+encodeURIComponent(J)}if=
(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}el=
se{for(var F in =
E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFu=
nction(E[F])?E[F]():E[F])}}}return =
G.join("&").replace(/%20/g,"+")}});var =
m=3D{},n,d=3D[["height","marginTop","marginBottom","paddingTop","paddingB=
ottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"]=
,["opacity"]];function t(F,E){var =
G=3D{};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=3DF});re=
turn G}o.fn.extend({show:function(J,L){if(J){return =
this.animate(t("show",3),J,L)}else{for(var =
H=3D0,F=3Dthis.length;H<F;H++){var =
E=3Do.data(this[H],"olddisplay");this[H].style.display=3DE||"";if(o.css(t=
his[H],"display")=3D=3D=3D"none"){var =
G=3Dthis[H].tagName,K;if(m[G]){K=3Dm[G]}else{var I=3Do("<"+G+" =
/>").appendTo("body");K=3DI.css("display");if(K=3D=3D=3D"none"){K=3D"bloc=
k"}I.remove();m[G]=3DK}o.data(this[H],"olddisplay",K)}}for(var =
H=3D0,F=3Dthis.length;H<F;H++){this[H].style.display=3Do.data(this[H],"ol=
ddisplay")||""}return this}},hide:function(H,I){if(H){return =
this.animate(t("hide",3),H,I)}else{for(var =
G=3D0,F=3Dthis.length;G<F;G++){var =
E=3Do.data(this[G],"olddisplay");if(!E&&E!=3D=3D"none"){o.data(this[G],"o=
lddisplay",o.css(this[G],"display"))}}for(var =
G=3D0,F=3Dthis.length;G<F;G++){this[G].style.display=3D"none"}return =
this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=3Dtypeof =
G=3D=3D=3D"boolean";return =
o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G=3D=3D=
null||E?this.each(function(){var =
H=3DE?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t=
("toggle",3),G,F)},fadeTo:function(E,G,F){return =
this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var =
E=3Do.speed(F,H,G);return =
this[E.queue=3D=3D=3Dfalse?"each":"queue"](function(){var =
K=3Do.extend({},E),M,L=3Dthis.nodeType=3D=3D1&&o(this).is(":hidden"),J=3D=
this;for(M in I){if(I[M]=3D=3D"hide"&&L||I[M]=3D=3D"show"&&!L){return =
K.complete.call(this)}if((M=3D=3D"height"||M=3D=3D"width")&&this.style){K=
.display=3Do.css(this,"display");K.overflow=3Dthis.style.overflow}}if(K.o=
verflow!=3Dnull){this.style.overflow=3D"hidden"}K.curAnim=3Do.extend({},I=
);o.each(I,function(O,S){var R=3Dnew =
o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=3D=3D"toggle"?L?"show":"hi=
de":S](I)}else{var =
Q=3DS.toString().match(/^([+-]=3D)?([\d+-.]+)(.*)$/),T=3DR.cur(true)||0;i=
f(Q){var =
N=3DparseFloat(Q[2]),P=3DQ[3]||"px";if(P!=3D"px"){J.style[O]=3D(N||1)+P;T=
=3D((N||1)/R.cur(true))*T;J.style[O]=3DT+P}if(Q[1]){N=3D((Q[1]=3D=3D"-=3D=
"?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return =
true})},stop:function(F,E){var =
G=3Do.timers;if(F){this.queue([])}this.each(function(){for(var =
H=3DG.length-1;H>=3D0;H--){if(G[H].elem=3D=3Dthis){if(E){G[H](true)}G.spl=
ice(H,1)}}});if(!E){this.dequeue()}return =
this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("=
toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F=
){o.fn[E]=3Dfunction(G,H){return =
this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=3Dtypeof =
G=3D=3D=3D"object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,ea=
sing:F&&H||H&&!o.isFunction(H)&&H};E.duration=3Do.fx.off?0:typeof =
E.duration=3D=3D=3D"number"?E.duration:o.fx.speeds[E.duration]||o.fx.spee=
ds._default;E.old=3DE.complete;E.complete=3Dfunction(){if(E.queue!=3D=3Df=
alse){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return=
 E},easing:{linear:function(G,H,E,F){return =
E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}}=
,timers:[],fx:function(F,E,G){this.options=3DE;this.elem=3DF;this.prop=3D=
G;if(!E.orig){E.orig=3D{}}}});o.fx.prototype=3D{update:function(){if(this=
.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step=
[this.prop]||o.fx.step._default)(this);if((this.prop=3D=3D"height"||this.=
prop=3D=3D"width")&&this.elem.style){this.elem.style.display=3D"block"}},=
cur:function(F){if(this.elem[this.prop]!=3Dnull&&(!this.elem.style||this.=
elem.style[this.prop]=3D=3Dnull)){return this.elem[this.prop]}var =
E=3DparseFloat(o.css(this.elem,this.prop,F));return =
E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:functi=
on(I,H,G){this.startTime=3De();this.start=3DI;this.end=3DH;this.unit=3DG|=
|this.unit||"px";this.now=3Dthis.start;this.pos=3Dthis.state=3D0;var =
E=3Dthis;function F(J){return =
E.step(J)}F.elem=3Dthis.elem;if(F()&&o.timers.push(F)&&!n){n=3DsetInterva=
l(function(){var K=3Do.timers;for(var =
J=3D0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInt=
erval(n);n=3Dg}},13)}},show:function(){this.options.orig[this.prop]=3Do.a=
ttr(this.elem.style,this.prop);this.options.show=3Dtrue;this.custom(this.=
prop=3D=3D"width"||this.prop=3D=3D"height"?1:0,this.cur());o(this.elem).s=
how()},hide:function(){this.options.orig[this.prop]=3Do.attr(this.elem.st=
yle,this.prop);this.options.hide=3Dtrue;this.custom(this.cur(),0)},step:f=
unction(H){var =
G=3De();if(H||G>=3Dthis.options.duration+this.startTime){this.now=3Dthis.=
end;this.pos=3Dthis.state=3D1;this.update();this.options.curAnim[this.pro=
p]=3Dtrue;var E=3Dtrue;for(var F in =
this.options.curAnim){if(this.options.curAnim[F]!=3D=3Dtrue){E=3Dfalse}}i=
f(E){if(this.options.display!=3Dnull){this.elem.style.overflow=3Dthis.opt=
ions.overflow;this.elem.style.display=3Dthis.options.display;if(o.css(thi=
s.elem,"display")=3D=3D"none"){this.elem.style.display=3D"block"}}if(this=
.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.sho=
w){for(var I in =
this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}thi=
s.options.complete.call(this.elem)}return false}else{var =
J=3DG-this.startTime;this.state=3DJ/this.options.duration;this.pos=3Do.ea=
sing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J=
,0,1,this.options.duration);this.now=3Dthis.start+((this.end-this.start)*=
this.pos);this.update()}return =
true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opaci=
ty:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E)=
{if(E.elem.style&&E.elem.style[E.prop]!=3Dnull){E.elem.style[E.prop]=3DE.=
now+E.unit}else{E.elem[E.prop]=3DE.now}}}});if(document.documentElement.g=
etBoundingClientRect){o.fn.offset=3Dfunction(){if(!this[0]){return{top:0,=
left:0}}if(this[0]=3D=3D=3Dthis[0].ownerDocument.body){return =
o.offset.bodyOffset(this[0])}var =
G=3Dthis[0].getBoundingClientRect(),J=3Dthis[0].ownerDocument,F=3DJ.body,=
E=3DJ.documentElement,L=3DE.clientTop||F.clientTop||0,K=3DE.clientLeft||F=
.clientLeft||0,I=3DG.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.sc=
rollTop)-L,H=3DG.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scro=
llLeft)-K;return{top:I,left:H}}}else{o.fn.offset=3Dfunction(){if(!this[0]=
){return{top:0,left:0}}if(this[0]=3D=3D=3Dthis[0].ownerDocument.body){ret=
urn =
o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();=
var =
J=3Dthis[0],G=3DJ.offsetParent,F=3DJ,O=3DJ.ownerDocument,M,H=3DO.document=
Element,K=3DO.body,L=3DO.defaultView,E=3DL.getComputedStyle(J,null),N=3DJ=
.offsetTop,I=3DJ.offsetLeft;while((J=3DJ.parentNode)&&J!=3D=3DK&&J!=3D=3D=
H){M=3DL.getComputedStyle(J,null);N-=3DJ.scrollTop,I-=3DJ.scrollLeft;if(J=
=3D=3D=3DG){N+=3DJ.offsetTop,I+=3DJ.offsetLeft;if(o.offset.doesNotAddBord=
er&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tag=
Name))){N+=3DparseInt(M.borderTopWidth,10)||0,I+=3DparseInt(M.borderLeftW=
idth,10)||0}F=3DG,G=3DJ.offsetParent}if(o.offset.subtractsBorderForOverfl=
owNotVisible&&M.overflow!=3D=3D"visible"){N+=3DparseInt(M.borderTopWidth,=
10)||0,I+=3DparseInt(M.borderLeftWidth,10)||0}E=3DM}if(E.position=3D=3D=3D=
"relative"||E.position=3D=3D=3D"static"){N+=3DK.offsetTop,I+=3DK.offsetLe=
ft}if(E.position=3D=3D=3D"fixed"){N+=3DMath.max(H.scrollTop,K.scrollTop),=
I+=3DMath.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset=3D=
{initialize:function(){if(this.initialized){return}var =
L=3Ddocument.body,F=3Ddocument.createElement("div"),H,G,N,I,M,E,J=3DL.sty=
le.marginTop,K=3D'<div =
style=3D"position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;"><div></div></div><table =
style=3D"position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;" cellpadding=3D"0" =
cellspacing=3D"0"><tr><td></td></tr></table>';M=3D{position:"absolute",to=
p:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"=
};for(E in =
M){F.style[E]=3DM[E]}F.innerHTML=3DK;L.insertBefore(F,L.firstChild);H=3DF=
.firstChild,G=3DH.firstChild,I=3DH.nextSibling.firstChild.firstChild;this=
.doesNotAddBorder=3D(G.offsetTop!=3D=3D5);this.doesAddBorderForTableAndCe=
lls=3D(I.offsetTop=3D=3D=3D5);H.style.overflow=3D"hidden",H.style.positio=
n=3D"relative";this.subtractsBorderForOverflowNotVisible=3D(G.offsetTop=3D=
=3D=3D-5);L.style.marginTop=3D"1px";this.doesNotIncludeMarginInBodyOffset=
=3D(L.offsetTop=3D=3D=3D0);L.style.marginTop=3DJ;L.removeChild(F);this.in=
itialized=3Dtrue},bodyOffset:function(E){o.offset.initialized||o.offset.i=
nitialize();var =
G=3DE.offsetTop,F=3DE.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOf=
fset){G+=3DparseInt(o.curCSS(E,"marginTop",true),10)||0,F+=3DparseInt(o.c=
urCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({pos=
ition:function(){var I=3D0,H=3D0,F;if(this[0]){var =
G=3Dthis.offsetParent(),J=3Dthis.offset(),E=3D/^body|html$/i.test(G[0].ta=
gName)?{top:0,left:0}:G.offset();J.top-=3Dj(this,"marginTop");J.left-=3Dj=
(this,"marginLeft");E.top+=3Dj(G,"borderTopWidth");E.left+=3Dj(G,"borderL=
eftWidth");F=3D{top:J.top-E.top,left:J.left-E.left}}return =
F},offsetParent:function(){var =
E=3Dthis[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.=
tagName)&&o.css(E,"position")=3D=3D"static")){E=3DE.offsetParent}return =
o(E)}});o.each(["Left","Top"],function(F,E){var =
G=3D"scroll"+E;o.fn[G]=3Dfunction(H){if(!this[0]){return null}return =
H!=3D=3Dg?this.each(function(){this=3D=3Dl||this=3D=3Ddocument?l.scrollTo=
(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=3DH}):this[0]=3D=3D=
l||this[0]=3D=3Ddocument?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&=
&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Hei=
ght","Width"],function(I,G){var =
E=3DI?"Left":"Top",H=3DI?"Right":"Bottom",F=3DG.toLowerCase();o.fn["inner=
"+G]=3Dfunction(){return =
this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=3Dfunction=
(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var =
J=3DG.toLowerCase();o.fn[J]=3Dfunction(K){return =
this[0]=3D=3Dl?document.compatMode=3D=3D"CSS1Compat"&&document.documentEl=
ement["client"+G]||document.body["client"+G]:this[0]=3D=3Ddocument?Math.m=
ax(document.documentElement["client"+G],document.body["scroll"+G],documen=
t.documentElement["scroll"+G],document.body["offset"+G],document.document=
Element["offset"+G]):K=3D=3D=3Dg?(this.length?o.css(this[0],J):null):this=
.css(J,typeof K=3D=3D=3D"string"?K:K+"px")}})})();=0A=
jQuery.noConflict();//for compatibility with prototype, use jQuery =
instead of $
------=_NextPart_000_0000_01CB728D.EE54C840--

