From: <Salvato da Windows Internet Explorer 7>
Subject: SpringerLink - Journal Article
Date: Sat, 23 Feb 2008 13:39:14 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0000_01C87621.7AAF5B50"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.springerlink.com/images/springerlink-logo.gif

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
8Ypb/OIYz7jGN87xjnv84yAPuchHTvJaBAIAOw==

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.springerlink.com/images/print.gif

R0lGODlhGAAYAPcAAEpKSnNzlHN7lHt7lHt7nHuEnISEnISMpYyMpYyUpZSUrZScrZyltaWlpaWl
ta2tvbW1xr3GzsbO1s7O1s7O3s7W3tbW1tbW3t7e5+fn7+fv7+/v7+/v9/f39/f3//f/////Sv//
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////yH5BAEAAAEALAAAAAAYABgA
AAj8AAMIHDjQAIKDCAgQXMiQAAMJGjpI7JAhggIBDAkKUHAhhMePHztIOJAxAAEIHECq/JjBAUaN
EFbK9NhBwUIEKUEC2MmTp8cLAwYKmKASwEyjHh0MXNChaIieRpF6xBB0qFOZUpMGGJDBKdSnPj1O
CGAgp8esOi0AUOsxwwAETc9C7alWLVIOBuOutcC3b9+1gGkegCt3LlS+SN0S6PrUL98GkBGz9ShB
YISzji2A2Ix450cGAhU0NTx3coYCAgVIwJxZstQHBA8wJh02xISgBB3EnQkyAwKGAhZ05P3zd8kB
DjDMzABBYcmByCdkmJ6hwgMDz48P2P4yY0AAADs=

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: image/jpeg; image/spj
Content-Transfer-Encoding: base64
Content-Location: http://www.springerlink.com/content/102942/cover-medium.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACEAF8DASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwuG2n
uDiKJn+grVtvDN9OMsAg966YT29soSCNRioXv3bksQK7uVHG6knsUY/CtvHj7ROxPcCrA0vSrccQ
lz0yxpXvD65qtNLvBPanoTeT3ZdiFiGwLZPzqzmweP57bH+6elYkUwVsdMcdaeZmJwD3ouKxek0/
Tp+FZ0z6gGqM/h9DzFLG36GkEjjjJp4mYjk0aDTa2Mi50iaAElDj16is8oytgiuoN0y8ckVVmW2u
CdyhW9VqWi1N9TCp6irM9k0XzL8y+oqFRzUl3ubBkZieacSQOaYntU5UMMDrVmJFjPrTiuRmtbw5
Z2t54j0+2vV3WskwEq79mVwSRnt9a6mXwbo8titzb6iVT7F9pXYPMZgzylSy9RtVUVgMcnP1TaQ0
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

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.springerlink.com/images/contact.gif

R0lGODdhDgAKAKIAAP////r7v+rrl8TFDKOkAH1+AElKAAAAACwAAAAADgAKAAADLWi63AQwynEM
KCLrXEgFAraFgmdxm2iCpdhla8mpZRUQo0aYw+7/u8phSCwSEwA7

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.Controls.RecognizedAsControl.css

.MetaPress_Products_Reader_Web_UI_Controls_RecognizedAsControlHeading {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.5em; PADDING-TOP: 0em
}
.MetaPress_Products_Reader_Web_UI_Controls_RecognizedAsControlBody {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
LINE-HEIGHT: 1.4em; PADDING-TOP: 0em
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.Controls.LoggedInAsControl.css

.MetaPress_Products_Reader_Web_UI_Controls_LoggedInAsControlHeading {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.5em; PADDING-TOP: 0em
}
.MetaPress_Products_Reader_Web_UI_Controls_LoggedInAsControlBody {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0em
}
.MetaPress_Products_Reader_Web_UI_Controls_LoggedInAsControlHeading {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.5em; PADDING-TOP: 0em
}
.MetaPress_Products_Reader_Web_UI_Controls_LoggedInAsControlBody {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
LINE-HEIGHT: 1.4em; PADDING-TOP: 0em
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.Controls.LogOutControl.css

.MetaPress_Products_Reader_Web_UI_Controls_LogOutControlBody {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0em
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.Controls.FooterControl.css

.MetaPress_Products_Reader_Web_UI_Controls_FooterControl {
	TEXT-ALIGN: left
}
.MetaPress_Products_Reader_Web_UI_Controls_FooterControlContactDetails {
	FONT-SIZE: 85%
}
.MetaPress_Products_Reader_Web_UI_Controls_FooterControlCopyright {
	PADDING-RIGHT: 0em; PADDING-LEFT: 0em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0em
}
.MetaPress_Products_Reader_Web_UI_Controls_FooterControlUserDetails {
	FONT-SIZE: 75%; COLOR: #5a597b; PADDING-TOP: 0.5em
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/reader.css

BODY {
	FONT-SIZE: 75%; MARGIN: 0em; FONT-FAMILY: Arial, Helvetica, sans-serif; =
BACKGROUND-COLOR: #ffffff
}
A {
	FONT-SIZE: 1em
}
DIV {
	FONT-SIZE: 1em
}
IMG {
	FONT-SIZE: 1em
}
INPUT {
	FONT-SIZE: 1em
}
P {
	FONT-SIZE: 1em
}
SELECT {
	FONT-SIZE: 1em
}
SPAN {
	FONT-SIZE: 1em
}
TABLE {
	FONT-SIZE: 1em
}
TD {
	FONT-SIZE: 1em
}
TR {
	FONT-SIZE: 1em
}
IMG {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: =
0px
}
TABLE {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: =
0px
}
INPUT {
	VERTICAL-ALIGN: middle
}
SELECT {
	VERTICAL-ALIGN: middle
}
TABLE {
	WIDTH: 100%
}
.floatRight {
	FLOAT: right
}
.alignRight {
	TEXT-ALIGN: right
}
.paragraphPadding {
	PADDING-RIGHT: 2em; PADDING-BOTTOM: 1.4em; LINE-HEIGHT: 1.25em
}
.paragraphHeading {
	FONT-WEIGHT: bold; PADDING-BOTTOM: 0.4em
}
.block {
	WIDTH: 45em
}
.highlight0 {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; BACKGROUND-COLOR: #ffff99
}
.hlDisabled0 {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px
}
.fontSmaller {
	FONT-SIZE: 0.75em
}
.markedItemsHasItems {
	FONT-WEIGHT: bold
}
.markedItemsNoItems {
=09
}
.noResults IMG {
	CLEAR: left
}
#jsMath_Warning {
	DISPLAY: none
}
#jsMath_button {
	DISPLAY: none
}
.latex .typeset .error {
	DISPLAY: none
}
A .latex {
	TEXT-DECORATION: none
}
.latex .cs {
	DISPLAY: none
}
.tabLast {
	WIDTH: 100%
}
A.noLink {
	COLOR: black
}
.exportButton {
	WIDTH: 8em
}
.dialogHeading {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 1.4em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.4em; PADDING-TOP: 0.4em
}
.dialogLabel {
	PADDING-RIGHT: 0.4em; DISPLAY: inline-block; PADDING-LEFT: 1.4em; =
PADDING-BOTTOM: 0.4em; VERTICAL-ALIGN: middle; WIDTH: 12em; PADDING-TOP: =
0.4em; BORDER-BOTTOM: #ffffff 0.2em solid; WHITE-SPACE: nowrap; =
BACKGROUND-COLOR: #ececec; TEXT-ALIGN: right
}
.dialogSublabel {
	PADDING-RIGHT: 0.4em; DISPLAY: inline; PADDING-LEFT: 0.4em; =
PADDING-BOTTOM: 0.4em; VERTICAL-ALIGN: middle; PADDING-TOP: 0.4em; =
BORDER-BOTTOM: #ffffff 0.2em solid; WHITE-SPACE: nowrap; =
BACKGROUND-COLOR: #ececec
}
.dialogLabelSpacer {
	PADDING-RIGHT: 0.4em; DISPLAY: inline; PADDING-LEFT: 0.4em; =
PADDING-BOTTOM: 0.4em; VERTICAL-ALIGN: middle; WIDTH: 12em; PADDING-TOP: =
0.4em; BORDER-BOTTOM: #ffffff 0.2em solid; WHITE-SPACE: nowrap
}
.dialogValue {
	DISPLAY: inline; PADDING-LEFT: 0.4em; WIDTH: auto
}
.dialogValueText {
	PADDING-RIGHT: 0.4em; DISPLAY: inline; PADDING-LEFT: 0.4em; =
PADDING-BOTTOM: 0.4em; VERTICAL-ALIGN: middle; WIDTH: auto; PADDING-TOP: =
0.4em; WHITE-SPACE: nowrap
}
.dialogValueTextBox {
	WIDTH: 20em
}
DIV.registrationBlock {
	MARGIN: 0.5em; WIDTH: 40em
}
.footnote {
	FONT-SIZE: 0.8em; WIDTH: 40em
}
.footnotePadding {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 1.8em; PADDING-BOTTOM: 0.4em; =
PADDING-TOP: 0.4em
}
.defaultHeight {
	HEIGHT: 12em
}
.defaultPadding {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
PADDING-TOP: 0.4em
}
.defaultPaddingBottom {
	PADDING-BOTTOM: 0.4em
}
.defaultPaddingTop {
	PADDING-TOP: 0.4em
}
.defaultPaddingRight {
	PADDING-RIGHT: 0.4em
}
.backToHeader {
	MARGIN-RIGHT: 0.5em
}
.divRow {
	DISPLAY: block
}
.divColumn {
	DISPLAY: inline
}
.autoWidth {
	WIDTH: auto
}
.viewItem .selectedItemLinkButton {
	FLOAT: right
}
.marginLeft14 {
	MARGIN-LEFT: 1.4em
}
.snippets {
	MARGIN: 0px 0px 0.2em 0.3em
}
.resourceLinks {
	MARGIN: 0px 0px 0.8em 0.3em
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/master.css

BODY {
	FONT-SIZE: 75%; MARGIN: 0px; COLOR: #000025; FONT-FAMILY: Verdana; =
HEIGHT: 100%
}
A {
	FONT-SIZE: 1em
}
DIV {
	FONT-SIZE: 1em
}
IMG {
	FONT-SIZE: 1em
}
INPUT {
	FONT-SIZE: 1em
}
P {
	FONT-SIZE: 1em
}
SELECT {
	FONT-SIZE: 1em
}
SPAN {
	FONT-SIZE: 1em
}
TABLE {
	FONT-SIZE: 1em
}
TD {
	FONT-SIZE: 1em
}
TR {
	FONT-SIZE: 1em
}
IMG {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: =
0px
}
TABLE {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: =
0px
}
.floatLeft {
	FLOAT: left
}
.floatRight {
	FLOAT: right
}
INPUT {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; PADDING-BOTTOM: 0.1em; =
VERTICAL-ALIGN: middle; PADDING-TOP: 0px
}
SELECT {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; PADDING-BOTTOM: 0.1em; =
VERTICAL-ALIGN: middle; PADDING-TOP: 0px
}
TABLE {
	WIDTH: 100%
}
A {
	COLOR: #5a597b; TEXT-DECORATION: none
}
A:hover {
	COLOR: #c74f2a; TEXT-DECORATION: underline
}
UNKNOWN {
=09
}
UNKNOWN {
=09
}
.autoWidth {
	WIDTH: auto
}
.block {
	WIDTH: 40em
}
.dialogHeading {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 1.4em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.4em; PADDING-TOP: 0.4em
}
.dialogLabel {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 1.4em; PADDING-BOTTOM: 0.4em; =
VERTICAL-ALIGN: top; WIDTH: 12em; PADDING-TOP: 0.4em; BORDER-BOTTOM: =
#ffffff 0.2em solid; WHITE-SPACE: nowrap; BACKGROUND-COLOR: #ececec; =
TEXT-ALIGN: right
}
.dialogSublabel {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
VERTICAL-ALIGN: middle; PADDING-TOP: 0.4em; BORDER-BOTTOM: #ffffff 0.2em =
solid; WHITE-SPACE: nowrap; BACKGROUND-COLOR: #ececec
}
.dialogLabelSpacer {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
VERTICAL-ALIGN: middle; WIDTH: 12em; PADDING-TOP: 0.4em; BORDER-BOTTOM: =
#ffffff 0.2em solid; WHITE-SPACE: nowrap
}
.dialogValue {
	PADDING-LEFT: 0.4em; WIDTH: auto
}
.dialogValueText {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
VERTICAL-ALIGN: middle; WIDTH: auto; PADDING-TOP: 0.4em; WHITE-SPACE: =
nowrap
}
.footnote {
	FONT-SIZE: 0.8em; WIDTH: 40em
}
.footnotePadding {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 1.8em; PADDING-BOTTOM: 0.4em; =
PADDING-TOP: 0.4em
}
.menu {
	WIDTH: 16em; BACKGROUND-COLOR: #ececec
}
.button {
	BORDER-TOP-WIDTH: 0.1em; FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 0.1em; =
BORDER-LEFT-COLOR: #7f9db9; BACKGROUND: #ebebf5; BORDER-BOTTOM-WIDTH: =
0.1em; BORDER-BOTTOM-COLOR: #7f9db9; COLOR: #404040; BORDER-TOP-COLOR: =
#7f9db9; BORDER-RIGHT-WIDTH: 0.1em; BORDER-RIGHT-COLOR: #7f9db9
}
.buttonHover {
	BACKGROUND: #f4f3eb
}
.buttonContainer {
	BORDER-TOP-WIDTH: 0.1em; PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; =
FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 0.1em; BORDER-LEFT-COLOR: #7f9db9; =
BACKGROUND: #ffffff; BORDER-BOTTOM-WIDTH: 0.1em; BORDER-BOTTOM-COLOR: =
#7f9db9; PADDING-BOTTOM: 0.1em; COLOR: #404040; BORDER-TOP-COLOR: =
#7f9db9; PADDING-TOP: 0.1em; BORDER-RIGHT-WIDTH: 0.1em; =
BORDER-RIGHT-COLOR: #7f9db9
}
.buttonContainerHover {
	BACKGROUND: #ebebf5
}
UL {
	LIST-STYLE-TYPE: none
}
.highlight0 {
	PADDING-RIGHT: 0.2em; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; BACKGROUND-COLOR: #ffff99
}
.hlDisabled0 {
	PADDING-RIGHT: 0.2em; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.blob {
	FONT-SIZE: 1.2em
}
.blob TABLE {
	WIDTH: auto
}
.blob .rubric {
	DISPLAY: none
}
.blob .Heading1 {
	DISPLAY: none
}
.blob H2 {
	FONT-SIZE: 1.2em
}
.defaultButtonSpacing {
	MARGIN-LEFT: 0.2em
}
.leftMainColumn {
	WIDTH: 16em; HEIGHT: 100%; BACKGROUND-COLOR: #ececec
}
.outerTable {
	HEIGHT: 100%
}
.contentArea {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
PADDING-TOP: 0.4em
}
.bold {
	FONT-WEIGHT: bold
}
.logo {
	PADDING-TOP: 1em
}
.headerBackground {
	BACKGROUND-POSITION: right bottom; DISPLAY: block; BACKGROUND-IMAGE: =
url(/images/springerlink-background.jpg); WIDTH: 100%; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-COLOR: #e6e9f3
}
.headerTop {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; FONT-WEIGHT: bold; FILTER: =
alpha(opacity=3D80); PADDING-BOTTOM: 0.4em; WIDTH: 100%; COLOR: #ffffff; =
PADDING-TOP: 0.4em; HEIGHT: 2.8em; BACKGROUND-COLOR: #404062; =
TEXT-ALIGN: right
}
.headerTop > * {
	MARGIN: 0.4em
}
.headerBottom > * {
	MARGIN: 0.4em
}
.headerTop * {
	TEXT-ALIGN: left
}
.headerBottom {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; FILTER: alpha(opacity=3D60); =
PADDING-BOTTOM: 0.4em; WIDTH: 100%; PADDING-TOP: 0.4em; HEIGHT: 4.4em; =
BACKGROUND-COLOR: #404062; opacity: 0.6
}
.headerBottom TABLE {
	FONT-WEIGHT: bold; COLOR: #ffffff
}
.pageHeading {
	COLOR: #000000
}
.cultureList {
	MARGIN: 0.4em
}
.searchPanel {
	FLOAT: left
}
.fontSmaller {
	FONT-SIZE: 0.8em
}
.fontLarger {
	FONT-SIZE: 1.2em
}
.outdent {
	PADDING-LEFT: 1.4em; TEXT-INDENT: -1.4em
}
.defaultHeight {
	HEIGHT: 12em
}
.defaultPadding {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
PADDING-TOP: 0.4em
}
.defaultPaddingBottom {
	PADDING-BOTTOM: 0.4em
}
.defaultPaddingTop {
	PADDING-TOP: 0.4em
}
.defaultPaddingRight {
	PADDING-RIGHT: 0.4em
}
.backToHeader {
	MARGIN-RIGHT: 0.5em
}
A.backTo {
	COLOR: #ffffff
}
A.backTo:hover {
	COLOR: #ffffff
}
.backToSeperator {
	MARGIN: 0em 0.25em
}
.sidebarHeading {
	FONT-WEIGHT: bold; WIDTH: 18em; COLOR: #ffffff; BACKGROUND-COLOR: =
#5a597b
}
.sidebarBody {
	WIDTH: 18em; BACKGROUND-COLOR: #ececec
}
.PersonalizationMenuItem {
	PADDING-BOTTOM: 0.3em; PADDING-TOP: 0.2em; BORDER-BOTTOM: #ffffff 0.1em =
solid
}
.PersonalizationMenuHeader {
	PADDING-RIGHT: 0.4em; BORDER-TOP: medium none; PADDING-LEFT: 0.4em; =
FONT-WEIGHT: bold; PADDING-BOTTOM: 0.4em; COLOR: #ffffff; PADDING-TOP: =
0.4em; BACKGROUND-COLOR: #5a597b
}
.parentNavigation {
	COLOR: #ffffff
}
UNKNOWN {
	COLOR: #ffffff; TEXT-DECORATION: underline
}
.parentNavigationDisabled {
	CURSOR: default; COLOR: #a0a0a0
}
.selectedViewTab {
	BORDER-RIGHT: #5a597b 0.1em solid; PADDING-RIGHT: 0.4em; BORDER-TOP: =
#5a597b 0.1em solid; PADDING-LEFT: 0.4em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.4em; BORDER-LEFT: #5a597b 0.1em solid; COLOR: #000000; =
PADDING-TOP: 0.4em; WHITE-SPACE: nowrap; BACKGROUND-COLOR: #ffffff
}
.viewTab {
	BORDER-RIGHT: #5a597b 0.1em solid; PADDING-RIGHT: 0.4em; BORDER-TOP: =
#5a597b 0.1em solid; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
BORDER-LEFT: #5a597b 0.1em solid; PADDING-TOP: 0.4em; BORDER-BOTTOM: =
#5a597b 0.1em solid; WHITE-SPACE: nowrap; BACKGROUND-COLOR: #ececec
}
.viewTabSpacer {
	BORDER-BOTTOM: #5a597b 0.1em solid
}
.paginationControl A {
	COLOR: #5a597b
}
UNKNOWN {
	COLOR: #5a597b; TEXT-DECORATION: underline
}
.paginationDisabled {
	COLOR: #d0d0d0
}
TABLE.paginationControl {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
COLOR: #000000; PADDING-TOP: 0.4em; BACKGROUND-COLOR: #ffffff
}
TABLE.paginationControl TD {
	WHITE-SPACE: nowrap
}
.contentType {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0.1em; =
COLOR: #808080; PADDING-TOP: 0.1em; WHITE-SPACE: nowrap
}
DIV.listItemName {
	PADDING-RIGHT: 0.25em; PADDING-LEFT: 0.25em; FONT-SIZE: 1.25em; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0em
}
.labelName {
	BORDER-RIGHT: #ffffff 0.1em solid; PADDING-RIGHT: 0em; BORDER-TOP: 0px; =
PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.2em; VERTICAL-ALIGN: top; =
BORDER-LEFT: 0px; WIDTH: 12em; PADDING-TOP: 0.1em; BORDER-BOTTOM: =
#ffffff 0.1em solid; WHITE-SPACE: nowrap; BACKGROUND-COLOR: #ececec
}
.labelValue {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; PADDING-BOTTOM: 0.1em; =
VERTICAL-ALIGN: top; PADDING-TOP: 0.1em
}
.viewToolbarButtons {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; PADDING-BOTTOM: 0.1em; =
WIDTH: 100%; PADDING-TOP: 0.1em; BORDER-BOTTOM: #5a597b 0.1em solid
}
.viewItemIndex {
	COLOR: #808080
}
.viewItem {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0.4em; BORDER-TOP: 0px; PADDING-LEFT: =
0.4em; PADDING-BOTTOM: 0.4em; BORDER-LEFT: 0px; PADDING-TOP: 0.4em; =
BORDER-BOTTOM: #c0c0c0 0.1em solid
}
.viewGroup {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0.4em; BORDER-TOP: 0px; PADDING-LEFT: =
0.4em; PADDING-BOTTOM: 0.4em; BORDER-LEFT: 0px; PADDING-TOP: 0.4em; =
BORDER-BOTTOM: #c0c0c0 0.2em solid
}
.refinementCell {
	PADDING-BOTTOM: 0.3em; PADDING-TOP: 0.2em; BORDER-BOTTOM: #ffffff 0.1em =
solid
}
.customLink {
	VERTICAL-ALIGN: middle
}
.toolbar {
	WIDTH: 8em; TEXT-ALIGN: right
}
.emailList {
	WIDTH: 51em
}
.emailHeader {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0.5em
}
.emailList UL {
	LIST-STYLE-TYPE: disc
}
.emailList TEXTAREA {
	WIDTH: 100%
}
.emailList .labelName {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; PADDING-BOTTOM: 0.1em; =
MARGIN: 0.2em; WIDTH: 15em; PADDING-TOP: 0.1em
}
.emailList .labelValue {
	WIDTH: 35em
}
.emailErrorRow {
	MARGIN: 0.5em; WIDTH: 100%
}
.emailSuccessLabel {
	FONT-WEIGHT: bold; MARGIN-LEFT: 0.5em; COLOR: #188c18
}
.emailErrorLabel {
	FONT-WEIGHT: bold; MARGIN-LEFT: 0.5em; COLOR: #ff0000
}
.emailFooter {
	MARGIN: 0.25em; WIDTH: 100%; TEXT-ALIGN: right
}
.emailFooter INPUT {
	WIDTH: 8em
}
.highlighting {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; FLOAT: right; =
PADDING-BOTTOM: 0.2em; PADDING-TOP: 0.2em; WHITE-SPACE: nowrap
}
.criteriaValues {
=09
}
.criteriaValues UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0.2em 0px 0.5em; PADDING-TOP: 0px
}
.searchMoreOptions {
	VERTICAL-ALIGN: bottom
}
.searchMoreOptions A {
	FONT-WEIGHT: normal; FONT-SIZE: 0.8em; COLOR: white
}
UNKNOWN {
	COLOR: white
}
.tab {
	BORDER-RIGHT: #5a597b 0.1em solid; PADDING-RIGHT: 0.4em; BORDER-TOP: =
#5a597b 0.1em solid; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
BORDER-LEFT: #5a597b 0.1em solid; PADDING-TOP: 0.4em; BORDER-BOTTOM: =
#5a597b 0.1em solid; WHITE-SPACE: nowrap; BACKGROUND-COLOR: #ececec
}
.tabSelected {
	BORDER-RIGHT: #5a597b 0.1em solid; PADDING-RIGHT: 0.4em; BORDER-TOP: =
#5a597b 0.1em solid; PADDING-LEFT: 0.4em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.4em; BORDER-LEFT: #5a597b 0.1em solid; COLOR: #000000; =
PADDING-TOP: 0.4em; BORDER-BOTTOM: 0em; WHITE-SPACE: nowrap; =
BACKGROUND-COLOR: #ffffff
}
.tabContents {
	PADDING-RIGHT: 0.7em; PADDING-LEFT: 0.7em; PADDING-BOTTOM: 0.7em; =
WIDTH: 100%; PADDING-TOP: 0.7em
}
.tabSpacer {
	BORDER-BOTTOM: #5a597b 0.1em solid
}
.tabLast {
	WIDTH: 100%; BORDER-BOTTOM: #5a597b 0.1em solid
}
.primitiveControl .subtitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.2em; =
PADDING-TOP: 0px
}
.primitiveControl .subtitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.2em; =
PADDING-TOP: 0px
}
.dropDownMenu {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 10; PADDING-BOTTOM: =
0px; MARGIN: 0.3em 0px 0px; PADDING-TOP: 0px
}
.dropDownMenu UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 10; LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: absolute; =
TOP: 1.5em
}
.dropDownMenu LI.Collapsed {
	MARGIN-RIGHT: 0.4em
}
.dropDownMenu LI.Expanded {
	MARGIN-RIGHT: 0.4em
}
.dropDownMenu LI.Expanded UL {
	PADDING-LEFT: 0em; VISIBILITY: visible; PADDING-TOP: 0em
}
.dropDownMenu LI.Collapsed UL {
	VISIBILITY: hidden
}
.dropDownMenu LI {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; FLOAT: left; PADDING-BOTTOM: =
0.4em; PADDING-TOP: 0em; POSITION: relative
}
.dropDownMenu LI LI {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #ececec 0.1em solid; =
WHITE-SPACE: nowrap; BACKGROUND-COLOR: #60617e
}
.dropDownMenu LI LI A {
	PADDING-RIGHT: 1.4em; DISPLAY: block; PADDING-LEFT: 1.4em; FONT-WEIGHT: =
normal; PADDING-BOTTOM: 0.4em; MARGIN: 0px; WIDTH: 100%; COLOR: #fff; =
PADDING-TOP: 0.2em; HEIGHT: 100%
}
.dropDownMenu LI:hover {
	COLOR: #ffffff; BACKGROUND-COLOR: #787b94; TEXT-DECORATION: none
}
.dropDownMenu LI A:hover {
	COLOR: #ffffff; BACKGROUND-COLOR: #787b94; TEXT-DECORATION: none
}
.dropDownMenu A.noScriptLink {
	COLOR: white; BACKGROUND-COLOR: transparent
}
.dropDownMenu A.noScriptLink:hover {
	COLOR: white; BACKGROUND-COLOR: transparent
}
.childVertical LI {
	FLOAT: none
}
#ContentTypesMenuItem LI {
	WIDTH: 12em
}
#ContentTypesMenuItem UL {
	WIDTH: 12em
}
#SubjectCollectionsMenuItem LI {
	WIDTH: 25em
}
DIV.brandingImage {
	WIDTH: 100%; TEXT-ALIGN: center
}
DIV.advertisementControl {
	WIDTH: 100%; TEXT-ALIGN: center
}
IFRAME.advertisementFrame {
	BORDER-TOP-WIDTH: 0em; BORDER-LEFT-WIDTH: 0em; BORDER-BOTTOM-WIDTH: =
0em; MARGIN: 0em; WIDTH: 468px; HEIGHT: 60px; BORDER-RIGHT-WIDTH: 0em
}
.labelWarning {
	FONT-SIZE: 0.8em; COLOR: #ff0000
}
.buttonStrip {
	PADDING-RIGHT: 0em; PADDING-LEFT: 0em; PADDING-BOTTOM: 0.5em; WIDTH: =
35em; PADDING-TOP: 1em; TEXT-ALIGN: right
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/css/MPReader.Profiles.SpringerLink.Content.PrimitiveHeadingControl.css

TABLE.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControl {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
PADDING-TOP: 0.4em; BACKGROUND-COLOR: #ececec
}
DIV.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControl {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; FONT-WEIGHT: normal; =
PADDING-BOTTOM: 0.1em; PADDING-TOP: 0.1em
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlName {
	PADDING-RIGHT: 0.25em; PADDING-LEFT: 0.25em; FONT-SIZE: 1.25em; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0em
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlSecondaryL=
inks {
	WIDTH: 17.5em
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlSecondaryL=
inks DIV {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; PADDING-BOTTOM: 0.1em; =
PADDING-TOP: 0.1em; BORDER-BOTTOM: #ffffff 0.1em solid
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlMarkedItem=
Link {
	FONT-WEIGHT: bold
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlCoverImage=
 {
	WIDTH: 1%
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlOpenAccess=
 {
	PADDING-RIGHT: 0.25em; PADDING-LEFT: 0.35em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0.5em
}
TABLE.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControl {
	CLEAR: both; PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: =
0.4em; PADDING-TOP: 0.4em; BACKGROUND-COLOR: #ececec
}
DIV.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControl {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; FONT-WEIGHT: normal; =
PADDING-BOTTOM: 0.1em; PADDING-TOP: 0.1em
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlName {
	PADDING-RIGHT: 0.25em; PADDING-LEFT: 0.25em; FONT-SIZE: 1.25em; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0em
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlSecondaryL=
inks {
	WIDTH: 17.5em
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlSecondaryL=
inks DIV {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; PADDING-BOTTOM: 0.1em; =
PADDING-TOP: 0.1em; BORDER-BOTTOM: #ffffff 0.1em solid
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlMarkedItem=
Link {
	FONT-WEIGHT: bold
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlCoverImage=
 {
	WIDTH: 1%
}
.MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlOpenAccess=
 {
	PADDING-RIGHT: 0.25em; PADDING-LEFT: 0.35em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0.5em
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/config/css/A++_common.css

.Keyword {
	FONT-SIZE: 1em
}
BODY.for-print {
	FONT-SIZE: 12pt; BACKGROUND: white; MARGIN: 1.5em
}
DIV.Abstract {
	MARGIN-TOP: 1em
}
DIV.Acknowledgments {
	MARGIN-TOP: 1em
}
DIV.AbstractSection {
	MARGIN-TOP: 0.3em
}
P.AuthorGroup {
	FONT-WEIGHT: bold
}
.Contact {
	FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Affiliation {
	FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Citation {
	FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, sans-serif
}
DIV.Capt {
	MARGIN-TOP: 1.5em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 1.5em; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
SPAN.CaptCont {
	FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, sans-serif
}
TBODY.CaptCont {
	FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, sans-serif
}
DIV.CaptCont {
	MARGIN-TOP: 0.3em; FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.AbstractHeading {
	FONT-WEIGHT: bold
}
.KeywordHeading {
	FONT-WEIGHT: bold
}
.ArticleNoteHeading {
	FONT-WEIGHT: bold
}
.Acknowledgmentsheading {
	FONT-WEIGHT: bold
}
.CaptNr {
	FONT-WEIGHT: bold
}
DIV.SbLexicon {
	FONT-WEIGHT: bold
}
TABLE.Sidebar {
	BACKGROUND: #d6d6d6; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Term {
	FONT-STYLE: italic
}
.AbstractSectionHeading {
	FONT-STYLE: italic
}
TABLE.OrderedList {
	PADDING-RIGHT: 0.3em; MARGIN-TOP: 1em; PADDING-LEFT: 0.3em; FONT-SIZE: =
12pt; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 0.3em; MARGIN-LEFT: 17pt; =
PADDING-TOP: 0.3em
}
UNKNOWN {
	MARGIN-TOP: 0.3em
}
DIV.GlossaryDefSimplePara {
	MARGIN-TOP: 0.3em; MARGIN-LEFT: 1.5em
}
DIV.Para {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
DIV.FormalPara {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
DIV.ArticleNote {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
DIV.Motto {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em; TEXT-ALIGN: right
}
DIV.Figure {
	MARGIN-TOP: 1.5em; MARGIN-BOTTOM: 1em
}
.PCode {
	FONT-FAMILY: 'Courier New'
}
.Box {
	BORDER-RIGHT: black 2px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: black =
2px solid; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; BORDER-LEFT: =
black 2px solid; PADDING-TOP: 0.5em; BORDER-BOTTOM: black 2px solid
}
.Important {
	BORDER-RIGHT: black 2px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: black =
2px solid; PADDING-LEFT: 0.5em; BACKGROUND: #d6d6d6; PADDING-BOTTOM: =
0.5em; BORDER-LEFT: black 2px solid; PADDING-TOP: 0.5em; BORDER-BOTTOM: =
black 2px solid
}
.Example {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0.5em; =
BORDER-LEFT: black 4px solid; PADDING-TOP: 0.5em
}
.Trailer {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.5em; PADDING-TOP: 0.5em
}
DIV.GlossaryEntry {
	MARGIN-LEFT: 1.5em; TEXT-INDENT: -1.5em
}
TABLE.Stack {
	FONT-SIZE: 0.5em
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.springerlink.com/css/MPReader.Content.FindSidebarItem.css

.MPReader_Content_FindSidebarItem .advancedTextBox {
	WIDTH: 13.5em
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/css/MetaPress.Web.UI.Controls.AdvancedTextBox.css

.MetaPress_Web_UI_Controls_AdvancedTextBox {
	WHITE-SPACE: nowrap
}
.MetaPress_Web_UI_Controls_AdvancedTextBox INPUT {
	HEIGHT: 1.75em
}
.MetaPress_Web_UI_Controls_AdvancedTextBox .advancedTextBoxExpandButton =
{
	PADDING-RIGHT: 1px; DISPLAY: none; PADDING-LEFT: 1px; PADDING-BOTTOM: =
1px; MARGIN-LEFT: -1px; PADDING-TOP: 1px; LETTER-SPACING: 0.1em; HEIGHT: =
1.75em
}
.MetaPress_Web_UI_Controls_AdvancedTextBox .advancedTextBoxGoButton {
	MARGIN-LEFT: 0.2em; HEIGHT: 1.75em
}
.MetaPress_Web_UI_Controls_AdvancedTextBox .advancedTextBoxContents {
	DISPLAY: none; POSITION: absolute
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/css/MPReader.Content.ReferrerSidebarControl.css

.MPReader_Content_ReferrerSidebarControlReferrersDiv {
	PADDING-RIGHT: 0em; PADDING-LEFT: 0em; PADDING-BOTTOM: 0em; =
PADDING-TOP: 0em
}
.MPReader_Content_ReferrerSidebarControlReferrersTitle {
	FONT-SIZE: 1em
}
.MPReader_Content_ReferrerSidebarControlReferrersListSingle {
	LIST-STYLE-POSITION: outside; MARGIN: 0em 0.4em 0.4em 2em
}
.MPReader_Content_ReferrerSidebarControlReferrersListDouble {
	LIST-STYLE-POSITION: outside; MARGIN: 0em 0.4em 0.4em 2.5em
}
.MPReader_Content_ReferrerSidebarControlReferrersListTriple {
	LIST-STYLE-POSITION: outside; MARGIN: 0em 0.4em 0.4em 3.2em
}
.MPReader_Content_ReferrerSidebarControlReferrersListQuad {
	LIST-STYLE-POSITION: outside; MARGIN: 0em 0.4em 0.4em 3.75em
}
.MPReader_Content_ReferrerSidebarControlReferrerItem {
	FONT-SIZE: 1em; LEFT: -0.75em; MARGIN: 0em; POSITION: relative
}
.MPReader_Content_ReferrerSidebarControlReferrerItemLink {
=09
}
.MPReader_Content_ReferrerSidebarControlReferrersDiv {
=09
}
.MPReader_Content_ReferrerSidebarControlReferrerPagination {
	TEXT-ALIGN: center
}
.MPReader_Content_ReferrerSidebarControlReferrerPagination A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.Controls.QueryBuilderControl.css

.findTextBox .advancedTextBox {
	WIDTH: 25em
}
.queryBuilder {
	BORDER-RIGHT: #62627e 0.1em solid; BORDER-TOP: #62627e 0.1em solid; =
FONT-WEIGHT: normal; BORDER-LEFT: #62627e 0.1em solid; WIDTH: 28.5em; =
COLOR: black; BORDER-BOTTOM: #62627e 0.1em solid
}
DIV.queryBuilder DIV.list {
	FLOAT: left; WIDTH: 50%; HEIGHT: auto
}
DIV.queryBuilder DIV.title {
	PADDING-RIGHT: 0.4em; DISPLAY: block; PADDING-LEFT: 0.4em; =
PADDING-BOTTOM: 0.4em; WIDTH: 100%; COLOR: white; PADDING-TOP: 0.4em; =
HEIGHT: auto; BACKGROUND-COLOR: #62627e
}
DIV.queryBuilder DIV.title SPAN {
	FONT-WEIGHT: bold; FLOAT: left
}
DIV.queryBuilder DIV.title SPAN.rightLink {
	FONT-WEIGHT: normal; FLOAT: right; CURSOR: hand
}
DIV.queryBuilder DIV.title SPAN.rightLinkSeperator {
	FONT-WEIGHT: normal; FLOAT: right; CURSOR: hand
}
DIV.queryBuilder DIV.title SPAN.rightLinkSeperator {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
DIV.queryBuilder DIV.list DIV {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; PADDING-BOTTOM: 0.4em; =
PADDING-TOP: 0.4em; BACKGROUND-COLOR: #ececec
}
DIV.queryBuilder DIV.list UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV.queryBuilder DIV.list UL LI {
	BORDER-RIGHT: white 0px solid; PADDING-RIGHT: 0.8em; BORDER-TOP: white =
1px solid; PADDING-LEFT: 0.8em; PADDING-BOTTOM: 0.2em; BORDER-LEFT: =
white 1px solid; WIDTH: 100%; CURSOR: hand; PADDING-TOP: 0.2em; =
BORDER-BOTTOM: white 0px solid; BACKGROUND-COLOR: #ececec
}
DIV.queryBuilder DIV.list UL LI.empty {
	CURSOR: default
}
DIV.queryBuilder DIV.list UL LI.hover {
	BACKGROUND-COLOR: #787b94
}
DIV.queryBuilder DIV.list UL LI A {
	COLOR: black; TEXT-DECORATION: none
}
DIV.queryBuilder DIV.list UL LI.hover A {
	COLOR: white
}
DIV.queryBuilder DIV.list UL LI .hotKey {
	FLOAT: right
}
DIV.queryBuilder DIV.list UL LI.hover .hotKey {
	COLOR: white
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: image/jpeg; image/spj
Content-Transfer-Encoding: base64
Content-Location: http://img-cdn.mediaplex.com/0/8282/45365/springerlinkbookbanner.jpg

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
/vO77tvP8fUz80ozrJT/2Q==

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0023_01C87621.7AB1CC50"


------=_NextPart_001_0023_01C87621.7AB1CC50
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/content/q1527vh6k4317703/

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>SpringerLink - Journal Article</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dutf-8"><LINK=20
href=3D"/favicon.ico" type=3Dimage/x-icon rel=3D"shortcut icon"><LINK=20
href=3D"http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.=
Controls.RecognizedAsControl.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.=
Controls.LoggedInAsControl.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.=
Controls.LogOutControl.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.=
Controls.FooterControl.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK =
href=3D"http://www.springerlink.com/reader.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK =
href=3D"http://www.springerlink.com/master.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/css/MPReader.Profiles.SpringerLink.Co=
ntent.PrimitiveHeadingControl.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/config/css/A++_common.css" =
type=3Dtext/css=20
rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/css/MPReader.Content.FindSidebarItem.=
css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/css/MetaPress.Web.UI.Controls.Advance=
dTextBox.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/css/MPReader.Content.ReferrerSidebarC=
ontrol.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.springerlink.com/css/MetaPress.Products.Reader.Web.UI.=
Controls.QueryBuilderControl.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK =
href=3D"/favicon_springerlink.ico"=20
type=3Dimage/x-icon rel=3D"shortcut icon">
<META http-equiv=3DPage-Exit content=3DblendTrans(Duration=3D0)>
<META content=3D"MSHTML 6.00.6000.16608" name=3DGENERATOR></HEAD>
<BODY>
<SCRIPT type=3Dtext/javascript><!--=20
      google_ad_client =3D "pub-8138583500318868";=20
      google_alternate_color =3D "ECECEC";
      google_ad_width =3D 160;=20
      google_ad_height =3D 600;=20
      google_ad_format =3D "160x600_as";=20
      google_ad_type =3D "text";=20
      //2006-12-18: Link=20
      google_ad_channel =3D "5599067338";=20
      google_color_border =3D "ECECEC";=20
      google_color_bg =3D "ECECEC";=20
      google_color_link =3D "5A597B";=20
      google_color_text =3D "000000";=20
      google_color_url =3D "0000CC";=20
    //--></SCRIPT>

<SCRIPT src=3D"http://www.springerlink.com/ajaxpro/prototype.ashx"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.springerlink.com/ajaxpro/core.ashx"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.springerlink.com/ajaxpro/ms.ashx"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.springerlink.com/ajaxpro/converter.ashx"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/ajaxpro/MetaPress.Web.UI.Page,MetaPres=
s.Web.ashx"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/ajaxpro/MetaPress.Products.Reader.Web.=
UI.PrimitiveHeadingControl,MetaPress.Products.Reader.ashx"=20
type=3Dtext/javascript></SCRIPT>

<FORM id=3DaspnetForm name=3DaspnetForm action=3D"" method=3Dpost>
<DIV><INPUT id=3D__EVENTTARGET type=3Dhidden name=3D__EVENTTARGET> =
<INPUT=20
id=3D__EVENTARGUMENT type=3Dhidden name=3D__EVENTARGUMENT> <INPUT =
id=3D__LASTFOCUS=20
type=3Dhidden name=3D__LASTFOCUS> <INPUT id=3D__VIEWSTATE type=3Dhidden=20
value=3D/wEPDwUBMGRkrONPAbIfRHowRTLH676gVAFi40s=3D name=3D__VIEWSTATE> =
</DIV>
<SCRIPT type=3Dtext/javascript>
<!--
var theForm =3D document.forms['aspnetForm'];
if (!theForm) {
    theForm =3D document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() !=3D false)) {
        theForm.__EVENTTARGET.value =3D eventTarget;
        theForm.__EVENTARGUMENT.value =3D eventArgument;
        theForm.submit();
    }
}
// -->
</SCRIPT>

<SCRIPT>function =
contributionPage_toogleReferrers(){toggleVisibility(getElement('Referrers=
List'),'block');toggleVisibility(getElement('ReferrersListExpand'),'inlin=
e');toggleVisibility(getElement('ReferrersListCollapse'),'inline');};</SC=
RIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.Latex.js,MetaPress.We=
b.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT>=20
  var isIE =3D false;=20
</SCRIPT>
<!--[if IE]>
<SCRIPT>=20
    isIE =3D true;=20
  </SCRIPT>
<![endif]-->
<SCRIPT =
src=3D"http://www.springerlink.com/jsMath/plugins/noImageFonts.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.Common.js,MetaPress.W=
eb.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.SelectedItemsHyperLin=
k.js,MetaPress.Web.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.SelectedItems.js,Meta=
Press.Web.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.Positioning.js,MetaPr=
ess.Web.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.PopOutMenuItem.js,Met=
aPress.Web.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Products.Reader.Primitive=
HeadingControl.js,MetaPress.Products.Reader.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.HyperLinkButton.js,Me=
taPress.Web.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.AdvancedTextBox.js,Me=
taPress.Web.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Web.DefaultTextBox.js,Met=
aPress.Web.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.springerlink.com/js/MetaPress.Products.Reader.QueryBuil=
derControl.js,MetaPress.Products.Reader.js"=20
type=3Dtext/javascript></SCRIPT>
<!-- google_ad_section_start(weight=3Dignore) -->
<TABLE class=3DouterTable cellSpacing=3D0 cellPadding=3D0>
  <TBODY>
  <TR vAlign=3Dtop>
    <TD class=3DleftMainColumn>
      <DIV class=3Dlogo><A =
href=3D"http://www.springerlink.com/home/main.mpx"><IMG=20
      height=3D50 alt=3D"SpringerLink Logo"=20
      src=3D"http://www.springerlink.com/images/springerlink-logo.gif" =
width=3D180>=20
      </A></DIV>
      <DIV id=3Dctl00_PersonalizationPanel>
      <DIV=20
      =
class=3DMetaPress_Products_Reader_Web_UI_Controls_RecognizedAsControlBody=
><A=20
      =
href=3D"http://auth.athensams.net/?ath_returl=3D%22http%3a%2f%2fwww.sprin=
gerlink.com%2f(dloxmkrnmsqcfp45eqdh4ufz)%2fdefault.asp%3faction%3dformsub=
mit%26referrer%3dathens%22&amp;ath_dspid=3DSPRINGER">Athens=20
      Authentication Point</A> </DIV>
      <DIV=20
      =
class=3DMetaPress_Products_Reader_Web_UI_Controls_LoggedInAsControlHeadin=
g>Welcome!=20
      </DIV>
      <DIV=20
      =
class=3DMetaPress_Products_Reader_Web_UI_Controls_LoggedInAsControlBody>T=
o=20
      use the personalized features of this site, please <B><A=20
      =
href=3D"https://commerce.metapress.com/identities/me/?sid=3Ddloxmkrnmsqcf=
p45eqdh4ufz&amp;sh=3Dwww.springerlink.com">log=20
      in</A></B> or <B><A=20
      =
href=3D"https://commerce.metapress.com/identities/registration/?sid=3Ddlo=
xmkrnmsqcfp45eqdh4ufz&amp;sh=3Dwww.springerlink.com">register</A></B>.=20
      </DIV>
      <DIV=20
      =
class=3DMetaPress_Products_Reader_Web_UI_Controls_LoggedInAsControlBody>I=
f=20
      you have forgotten your username or password, we can <B><A=20
      =
href=3D"https://commerce.metapress.com/identities/help/?sid=3Ddloxmkrnmsq=
cfp45eqdh4ufz&amp;sh=3Dwww.springerlink.com">help</A></B>.=20
      </DIV>
      <DIV class=3DPersonalizationMenuHeader>My Menu </DIV>
      <DIV class=3DdefaultPadding>
      <DIV class=3DPersonalizationMenuItem><A class=3D" =
markedItemsNoItems"=20
      id=3Dctl00_ctl10_ctl00_ctl01_MarkedItemsLink=20
      href=3D"http://www.springerlink.com/marked-items/" =
displayCount=3D"true"=20
      isSelectedItemsLink=3D"true" =
collection=3D"SelectedPrimitives">Marked=20
      Items<SPAN=20
      =
id=3Dctl00_ctl10_ctl00_ctl01_MarkedItemsLink_Count>&nbsp;</SPAN></A> =
</DIV>
      <DIV class=3DPersonalizationMenuItem><A=20
      =
href=3D"http://www.springerlink.com/personalization/saved-items.mpx?view=3D=
alertable">Alerts=20
      </A></DIV>
      <DIV class=3DPersonalizationMenuItem><A=20
      href=3D"http://www.springerlink.com/account/orders.mpx">Order =
History=20
      </A></DIV></DIV>
      <DIV class=3DPersonalizationMenuHeader>Saved Items </DIV>
      <DIV class=3DdefaultPadding>
      <DIV class=3DPersonalizationMenuItem><A =
id=3Dctl00_ctl11_ctl00_ctl01_A1=20
      =
href=3D"http://www.springerlink.com/personalization/saved-items.mpx"=20
      count=3D"0" label=3D"All">All </A></DIV>
      <DIV class=3DPersonalizationMenuItem><A =
id=3Dctl00_ctl11_ctl00_ctl02_A1=20
      =
href=3D"http://www.springerlink.com/personalization/saved-items.mpx?label=
=3DFavorites"=20
      count=3D"0" label=3D"Favorites">Favorites =
</A></DIV></DIV></DIV><!--<div>
              <a href=3D"http://www.springer.com/ebooks" =
target=3D"_blank">
                <img src=3D"../../images/06awardwinner.gif" alt=3D"Best =
STM Information Product" />
              </a>
            </div>--></TD>
    <TD>
      <TABLE height=3D"100%" cellSpacing=3D0 cellPadding=3D0>
        <TBODY>
        <TR style=3D"DISPLAY: block" vAlign=3Dtop height=3D*>
          <TD>
            <DIV class=3DheaderBackground>
            <DIV class=3DheaderTop>
            <DIV class=3DsearchPanel id=3Dctl00_MenuPanel>
            <UL class=3DdropDownMenu>
              <LI class=3D" collapsed" id=3DContentTypesMenuItem=20
              direction=3D"vertical"><A class=3DnoScriptLink =
onclick=3D"return false;"=20
              =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/?ContentType=
s=3DTrue">Content=20
              Types </A>
              <UL>
                <LI><A href=3D"http://www.springerlink.com/content/">All =
</A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/publications/">Publications=20
                </A></LI>
                <LI><A =
href=3D"http://www.springerlink.com/journals/">Journals=20
                </A></LI>
                <LI><A =
href=3D"http://www.springerlink.com/book-series/">Book=20
                Series </A></LI>
                <LI><A href=3D"http://www.springerlink.com/books/">Books =
</A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/reference-works/">Reference=20
                Works </A></LI></UL></LI>
              <LI class=3D" collapsed" id=3DSubjectCollectionsMenuItem=20
              direction=3D"vertical"><A class=3DnoScriptLink =
onclick=3D"return false;"=20
              =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/?SubjectColl=
ections=3DTrue">Subject=20
              Collections </A>
              <UL>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/architecture-and-design/">Architectur=
e=20
                and Design </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/behavioral-science/">Behavioral=20
                Science </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/biomedical-and-life-sciences/">Biomed=
ical=20
                and Life Sciences </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/business-and-economics/">Business=20
                and Economics </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/chemistry-and-materials-science/">Che=
mistry=20
                and Materials Science </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/computer-science/">Computer=20
                Science </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/earth-and-environmental-science/">Ear=
th=20
                and Environmental Science </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/engineering/">Engineering=20
                </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/humanities-social-sciences-and-law/">=
Humanities,=20
                Social Sciences and Law </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/mathematics-and-statistics/">Mathemat=
ics=20
                and Statistics </A></LI>
                <LI><A =
href=3D"http://www.springerlink.com/medicine/">Medicine=20
                </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/physics-and-astronomy/">Physics=20
                and Astronomy </A></LI>
                <LI><A=20
                =
href=3D"http://www.springerlink.com/professional-computing-and-web-design=
/">Professional=20
                Computing and Web Design =
</A></LI></UL></LI></UL></DIV><SPAN=20
            id=3Dctl00_CultureDropDownList_ctl00><SELECT=20
            id=3Dctl00_CultureDropDownList_ctl00_List=20
            =
onchange=3D"javascript:setTimeout('__doPostBack(\'ctl00$CultureDropDownLi=
st$ctl00$List\',\'\')', 0)"=20
            name=3Dctl00$CultureDropDownList$ctl00$List> <OPTION=20
              =
value=3Dzh-cn>=E4=B8=AD=E6=96=87(=E7=AE=80=E4=BD=93)</OPTION> <OPTION =
value=3Dzh-tw>=E4=B8=AD=E6=96=87(=E7=B9=81=E9=AB=94)</OPTION>=20
              <OPTION value=3Den-us selected>English</OPTION> <OPTION=20
              value=3Dde-de>Deutsch</OPTION> <OPTION =
value=3Dko-kr>=ED=95=9C=EA=B5=AD=EC=96=B4</OPTION>=20
              <OPTION value=3Dja-jp>=E6=97=A5=E6=9C=AC=E8=AA=9E</OPTION> =
<OPTION=20
              value=3Dfr-fr>Fran=C3=A7ais</OPTION> <OPTION =
value=3Des-es>Espa=C3=B1ol</OPTION>=20
              <OPTION =
value=3Dar-eg>=D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9</OPTION> =
<OPTION=20
              =
value=3Dru-ru>=D0=A0=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B9</OPTION></SELECT=
><INPUT class=3D"button defaultButtonSpacing" =
id=3Dctl00_CultureDropDownList_ctl00_GoButton =
onmouseover=3D"className=3D'button buttonHover';" =
onmouseout=3D"className=3D'button';" type=3Dsubmit value=3DGo =
name=3Dctl00$CultureDropDownList$ctl00$GoButton></SPAN>=20
            </DIV>
            <DIV class=3DheaderBottom id=3Dctl00_HeadingPanel>
            <TABLE cellSpacing=3D0 cellPadding=3D0>
              <TBODY>
              <TR class=3DfontSmaller>
                <TD>&nbsp; </TD>
                <TD align=3Dright>&nbsp;&nbsp; </TD></TR>
              <TR>
                <TD style=3D"HEIGHT: 2.6em" vAlign=3Dbottom><SPAN =
class=3DfontLarger=20
                  id=3Dctl00_PageHeadingLabel>Journal Article</SPAN> =
</TD>
                <TD vAlign=3Dbottom align=3Dright><A=20
                  =
onmouseover=3D"firstChild.src=3D'/images/print-hover.gif'"=20
                  title=3D"Printable view"=20
                  =
onclick=3D"window.open('/content/q1527vh6k4317703/?print=3Dtrue', =
'Print', 'width=3D640, height=3D480, resizable=3Dyes,  =
scrollbars=3Dyes'); return false;"=20
                  onmouseout=3D"firstChild.src=3D'/images/print.gif'"=20
                  =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/?print=3Dtru=
e"=20
                  target=3D_blank><IMG height=3D24 alt=3D"Printable =
view"=20
                  src=3D"http://www.springerlink.com/images/print.gif"=20
                  width=3D24><SPAN class=3DtoolbarText></SPAN></A>=20
            </TD></TR></TBODY></TABLE></DIV><!-- google_ad_section_end =
--><!-- google_ad_section_start -->
            <DIV id=3Dctl00_PageHeadingPanel></DIV></DIV>
            <DIV class=3DprimitiveControl>
            <TABLE=20
            =
class=3DMPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControl=20
            cellSpacing=3D0 cellPadding=3D0>
              <TBODY>
              <TR vAlign=3Dtop>
                <TD=20
                =
class=3DMPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlCov=
erImage><IMG=20
                  height=3D132=20
                  alt=3D"Expression of MHC I and NK ligands on human =
CD133<sup>+</sup> glioma cells: possible targets of immunotherapy"=20
                  =
src=3D"http://www.springerlink.com/content/102942/cover-medium.jpg"=20
                  width=3D95></TD>
                <TD>
                  <DIV=20
                  =
class=3DMPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlNam=
e>Expression=20
                  of MHC I and NK ligands on human CD133<SUP>+</SUP> =
glioma=20
                  cells: possible targets of immunotherapy </DIV>
                  <TABLE cellSpacing=3D0 cellPadding=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DlabelName>Journal</TD>
                      <TD class=3DlabelValue><A=20
                        =
href=3D"http://www.springerlink.com/content/102942/?p=3D9de27f6d9ad7419e8=
915bbdabaf5eeef&amp;pi=3D0">Journal=20
                        of Neuro-Oncology</A></TD></TR>
                    <TR>
                      <TD class=3DlabelName>Publisher</TD>
                      <TD class=3DlabelValue>Springer =
Netherlands</TD></TR>
                    <TR>
                      <TD class=3DlabelName>ISSN</TD>
                      <TD class=3DlabelValue>0167-594X (Print) 1573-7373 =

                      (Online)</TD></TR>
                    <TR>
                      <TD class=3DlabelName>Issue</TD>
                      <TD class=3DlabelValue><A=20
                        =
href=3D"http://www.springerlink.com/content/w3g1w5110343/?p=3D9de27f6d9ad=
7419e8915bbdabaf5eeef&amp;pi=3D0">Volume=20
                        83, Number 2 / June, 2007</A></TD></TR>
                    <TR>
                      <TD class=3DlabelName>Category</TD>
                      <TD class=3DlabelValue>Laboratory =
Investigation</TD></TR>
                    <TR>
                      <TD class=3DlabelName>DOI</TD>
                      <TD =
class=3DlabelValue>10.1007/s11060-006-9265-3</TD></TR>
                    <TR>
                      <TD class=3DlabelName>Pages</TD>
                      <TD class=3DlabelValue>121-131</TD></TR>
                    <TR>
                      <TD class=3DlabelName>Subject Collection</TD>
                      <TD class=3DlabelValue><A=20
                        =
href=3D"http://www.springerlink.com/medicine/">Medicine</A></TD></TR>
                    <TR>
                      <TD class=3DlabelName>SpringerLink Date</TD>
                      <TD class=3DlabelValue>Wednesday, November 01,=20
                    2006</TD></TR></TBODY></TABLE></TD>
                <TD=20
                =
class=3DMPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlSec=
ondaryLinks=20
                vAlign=3Dtop>
                  <DIV=20
                  =
class=3DMPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlMar=
kedItemLink><A=20
                  id=3Dctl00_ctl21_ToggleMarkedItemLinkButton=20
                  onclick=3D"return hyperLinkButton_onClick(event);"=20
                  =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/?mark=3Dq152=
7vh6k4317703"=20
                  unselectedText=3D"Add to marked items"=20
                  selectedText=3D"Remove from marked items"=20
                  onClickMethod=3D"primitiveHeadingControl_markItem" =
key=3D"mark"=20
                  value=3D"q1527vh6k4317703"><SPAN>Add to marked =
items</SPAN></A>=20
                  </DIV>
                  <DIV><A=20
                  =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/offerings/?p=
=3D9de27f6d9ad7419e8915bbdabaf5eeef&amp;pi=3D0">Add=20
                  to shopping cart</A> </DIV>
                  <DIV><A=20
                  =
href=3D"http://www.springerlink.com/personalization/save-item.mpx?code=3D=
q1527vh6k4317703">Add=20
                  to saved items</A> </DIV>
                  <DIV><A=20
                  =
href=3D"https://s100.copyright.com/AppDispatchServlet?publisherName=3DSpr=
inger&amp;imprint=3DSpringer+Netherlands&amp;publication=3D0167-594X&amp;=
title=3DExpression+of+MHC+I+and+NK+ligands+on+human+CD133%3csup%3e%2b%3c%=
2fsup%3e+glioma+cells%3a+possible+targets+of+immunotherapy&amp;publicatio=
nDate=3DNovember+01%2c+2006&amp;author=3DAnhua+Wu&amp;authorAddress=3DUni=
versity+of+Minnesota+Medical+School+Department+of+Neurosurgery+2001+6th+S=
t.+SE%2c+3500B+LRB%2fMTRF+Minneapolis+MN+55455+USA+2001+6th+St.+SE%2c+350=
0B+LRB%2fMTRF+Minneapolis+MN+55455+USA&amp;contentID=3D10.1007%2fs11060-0=
06-9265-3&amp;volumeNum=3D83&amp;issueNum=3D2&amp;startPage=3D121&amp;end=
Page=3D131&amp;orderBeanReset=3Dtrue&amp;openAccess=3Dfalse"=20
                  target=3D_blank>Permissions &amp; Reprints</A> </DIV>
                  <DIV><A=20
                  =
href=3D"http://www.springerlink.com/personalization/email-item.mpx?code=3D=
q1527vh6k4317703&amp;p=3D9de27f6d9ad7419e8915bbdabaf5eeef&amp;pi=3D0">Rec=
ommend=20
                  this article</A> =
</DIV></TD></TR></TBODY></TABLE></DIV>
            <TABLE height=3D"100%" cellSpacing=3D4 cellPadding=3D0>
              <TBODY>
              <TR>
                <TD class=3DdefaultHeight vAlign=3Dtop width=3D"100%">
                  <DIV class=3D"advertisementControl defaultPadding"=20
                  id=3Dctl00_ctl27_AdPanel><IFRAME =
class=3DadvertisementFrame=20
                  marginWidth=3D0 marginHeight=3D0=20
                  =
src=3D"http://adfarm.mediaplex.com/ad/fm/49692?mpt=3D20080223063733957908=
0&amp;mpissn=3D1573-7373&amp;mpdoi=3D10.1007/s11060-006-9265-3&amp;mptitl=
e=3DExpression+of+MHC+I+and+NK+ligands+on+human+CD133%2b+glioma+cells%3a+=
possible+targets+of+immunotherapy&amp;mpsubject=3DMedicine&amp;mpkws=3DBr=
ain+tumor+stem+cell+Glioma+Immunotherapy+MHC+I+NK+ligand"=20
                  frameBorder=3D0 width=3D468 scrolling=3Dno height=3D60 =

                  bordercolor=3D"#000000">
    <a target=3D"_blank" =
href=3D"http://adfarm.mediaplex.com/ad/ck/49692?mpt=3D2008022306373395790=
80">
      <img =
src=3D"http://adfarm.mediaplex.com/ad/bn/49692?mpt=3D20080223063733957908=
0" alt=3D"Advertisment">
    </a>
  </IFRAME></DIV>
                  <DIV class=3Dblob>
                  <P></P>
                  <H2 class=3Drubric>Laboratory Investigation</H2>
                  <DIV class=3DHeading1><A name=3Dtitle></A>Expression =
of MHC I and=20
                  NK ligands on human CD133<SUP>+</SUP> glioma cells: =
possible=20
                  targets of immunotherapy </DIV>
                  <P class=3DAuthorGroup>Anhua&nbsp;Wu<SUP>1, 5</SUP>,=20
                  Steve&nbsp;Wiesner<SUP>1</SUP>, =
Jing&nbsp;Xiao<SUP>1</SUP>,=20
                  Katya&nbsp;Ericson<SUP>1</SUP>, =
Wei&nbsp;Chen<SUP>2</SUP>,=20
                  Walter&nbsp;A.&nbsp;Hall<SUP>1</SUP>,=20
                  Walter&nbsp;C.&nbsp;Low<SUP>1, 3, 4</SUP> and=20
                  John&nbsp;R.&nbsp;Ohlfest<SUP>1, 3, 4&nbsp;<A=20
                  =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#ContactOfAu=
thor8"><IMG=20
                  alt=3D"Contact Information"=20
                  src=3D"http://www.springerlink.com/images/contact.gif" =

                  border=3D0></A></SUP></P>
                  <TABLE>
                    <TBODY>
                    <TR vAlign=3Dtop>
                      <TD><SPAN class=3DAffiliation><A=20
                        name=3DAff1></A>(1)&nbsp;</SPAN></TD>
                      <TD><SPAN class=3DAffiliation>Department of =
Neurosurgery,=20
                        University of Minnesota Medical School, 2001 6th =
St. SE,=20
                        3500B LRB/MTRF, Minneapolis, MN&nbsp;55455,=20
                    USA</SPAN></TD></TR></TBODY></TABLE>
                  <TABLE>
                    <TBODY>
                    <TR vAlign=3Dtop>
                      <TD><SPAN class=3DAffiliation><A=20
                        name=3DAff2></A>(2)&nbsp;</SPAN></TD>
                      <TD><SPAN class=3DAffiliation>Department of =
Pediatrics,=20
                        University of Minnesota Medical School, =
Minneapolis,=20
                        MN&nbsp;55455, =
USA</SPAN></TD></TR></TBODY></TABLE>
                  <TABLE>
                    <TBODY>
                    <TR vAlign=3Dtop>
                      <TD><SPAN class=3DAffiliation><A=20
                        name=3DAff3></A>(3)&nbsp;</SPAN></TD>
                      <TD><SPAN class=3DAffiliation>Cancer Center, =
University of=20
                        Minnesota Medical School, Minneapolis, =
MN&nbsp;55455,=20
                        USA</SPAN></TD></TR></TBODY></TABLE>
                  <TABLE>
                    <TBODY>
                    <TR vAlign=3Dtop>
                      <TD><SPAN class=3DAffiliation><A=20
                        name=3DAff4></A>(4)&nbsp;</SPAN></TD>
                      <TD><SPAN class=3DAffiliation>Stem Cell Institute, =

                        University of Minnesota Medical School, =
Minneapolis,=20
                        MN&nbsp;55455, =
USA</SPAN></TD></TR></TBODY></TABLE>
                  <TABLE>
                    <TBODY>
                    <TR vAlign=3Dtop>
                      <TD><SPAN class=3DAffiliation><A=20
                        name=3DAff5></A>(5)&nbsp;</SPAN></TD>
                      <TD><SPAN class=3DAffiliation>Department of =
Neurosurgery,=20
                        First hospital of China Medical University, =
Liaoning,=20
                        110001, P. R. =
China</SPAN></TD></TR></TBODY></TABLE>
                  <P class=3DAffiliation><STRONG>Received:=20
                  =
</STRONG>18&nbsp;May&nbsp;2006&nbsp;&nbsp;<STRONG>Accepted:=20
                  =
</STRONG>11&nbsp;September&nbsp;2006&nbsp;&nbsp;<STRONG>Published=20
                  online: </STRONG>1&nbsp;November&nbsp;2006 </P>
                  <DIV class=3DAbstract><A name=3DAbs1></A><SPAN=20
                  =
class=3DAbstractHeading>Abstract&nbsp;&nbsp;</SPAN>Mounting=20
                  evidence suggests that gliomas are comprised of =
differentiated=20
                  tumor cells and brain tumor stem cells (BTSCs). BTSCs =
account=20
                  for a fraction of total tumor cells, yet are =
apparently the=20
                  sole cells capable of tumor initiation and tumor =
renewal.=20
                  BTSCs have been identified as the CD133-positive =
fraction of=20
                  human glioma, whereas their CD133-negative daughter =
cells have=20
                  limited proliferative ability and are not tumorogenic. =
It is=20
                  well established that the bulk tumor mass escapes =
immune=20
                  surveillance by multiple mechanisms, yet little is =
known about=20
                  the immunogenicity of the CD133-positive fraction of =
the tumor=20
                  mass. We investigated the immunogenicity of =
CD133-positive=20
                  cells in two human astrocytoma and two glioblastoma =
multiforme=20
                  samples. Flow cytometry analyses revealed that the =
majority of=20
                  CD133-positive cells do not express detectable MHC I =
or=20
                  natural killer (NK) cell activating ligands, which may =
render=20
                  them resistant to adaptive and innate immune =
surveillance.=20
                  Incubating CD133-positive cells in interferon gamma =
(INF-=CE=B3)=20
                  significantly increased the percentage of =
CD133-positive cells=20
                  that expressed MHC I and NK cell ligands. Furthermore, =

                  pretreatment of CD133-positive cells with INF-=CE=B3 =
rendered them=20
                  sensitive to NK cell-mediated lysis in vitro. There =
were no=20
                  consistent differences in immunogenicity between the=20
                  CD133-positive and CD133-negative cells in these =
experiments.=20
                  We conclude that CD133-posistive and CD133-negative =
glioma=20
                  cells may be similarly resistant to immune =
surveillance, but=20
                  that INF-=CE=B3 may partially restore their =
immunogenicity and=20
                  potentiate their lysis by NK cells. </DIV>
                  <P class=3DKeyword><SPAN=20
                  =
class=3DKeywordHeading>Keywords&nbsp;&nbsp;</SPAN>Brain tumor=20
                  stem=20
                  =
cell&nbsp;-&nbsp;Glioma&nbsp;-&nbsp;Immunotherapy&nbsp;-&nbsp;MHC=20
                  I&nbsp;-&nbsp;NK ligand </P>
                  <DIV class=3DArticleNote><SPAN class=3D"">Walter C. =
Low, and John=20
                  R. Ohlfest contributed equally as senior =
authors.</SPAN></DIV>
                  <DIV class=3DArticleNote><SPAN class=3D"">An erratum =
to this=20
                  article can be found at <A=20
                  =
href=3D"http://dx.doi.org/10.1007/s11060-006-9307-x">http://dx.doi.org/10=
.1007/s11060-006-9307-x</A>=20
                  </SPAN></DIV>
                  <HR>

                  <P><A name=3DContactOfAuthor8></A></P>
                  <TABLE class=3DContact>
                    <TBODY>
                    <TR>
                      <TD vAlign=3Dtop><IMG alt=3D"Contact Information"=20
                        =
src=3D"http://www.springerlink.com/images/contact.gif"=20
                        border=3D0></TD>
                      =
<TD><STRONG>John&nbsp;</STRONG><STRONG>R.&nbsp;</STRONG><STRONG>Ohlfest</=
STRONG><STRONG></STRONG><BR><STRONG>Email:=20
                        </STRONG><A=20
                        =
href=3D"mailto:Ohlfe001@umn.edu">Ohlfe001@umn.edu</A></TD></TR></TBODY></=
TABLE></DIV>
                  <P>References secured to subscribers.</P><!-- =
google_ad_section_end --></TD>
                <TD vAlign=3Dtop bgColor=3D#ececec>
                  <DIV class=3D"defaultPadding sidebarHeading">
                  <DIV class=3DfloatRight><A style=3D"COLOR: #ffffff"=20
                  href=3D"http://www.springerlink.com/find.mpx">more =
options=20
                  </A></DIV>Find </DIV>
                  <DIV class=3D"defaultPadding sidebarBody">
                  <DIV class=3DMPReader_Content_FindSidebarItem><SPAN=20
                  class=3D"textBox =
MetaPress_Web_UI_Controls_AdvancedTextBox"=20
                  =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_FindTextBox=20
                  key=3D"advancedTextBox" da=3D"1"><INPUT =
class=3DadvancedTextBox=20
                  =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_FindTextBox_MainTe=
xtBox=20
                  =
name=3Dctl00$PageSidebar$ctl00$Sidebarplaceholder1$ctl00$FindTextBox$Main=
TextBox=20
                  key=3D"text"=20
                  =
target=3D"ctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_FindTextBox_G=
oButton"=20
                  action=3D"click"><INPUT =
class=3D"advancedTextBoxExpandButton buttonContainer" =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_FindTextBox_Expand=
Button onmouseover=3D"className=3D'advancedTextBoxExpandButton =
buttonContainer advancedTextBoxExpandButton buttonContainerHover';" =
title=3D"Query Builder" onclick=3D"return =
advancedTextBox_toggle(event);" =
onmouseout=3D"className=3D'advancedTextBoxExpandButton =
buttonContainer';" type=3Dsubmit value=3D... =
name=3Dctl00$PageSidebar$ctl00$Sidebarplaceholder1$ctl00$FindTextBox$Expa=
ndButton key=3D"expand"><INPUT class=3D"advancedTextBoxGoButton =
buttonContainer defaultButtonSpacing" =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_FindTextBox_GoButt=
on onmouseover=3D"className=3D'advancedTextBoxGoButton buttonContainer =
advancedTextBoxGoButton buttonContainerHover';" =
onmouseout=3D"className=3D'advancedTextBoxGoButton buttonContainer';" =
type=3Dsubmit value=3DGo =
name=3Dctl00$PageSidebar$ctl00$Sidebarplaceholder1$ctl00$FindTextBox$GoBu=
tton key=3D"go">
                  <DIV class=3DadvancedTextBoxContents=20
                  =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_FindTextBox_Conten=
ts=20
                  key=3D"contents">
                  <DIV class=3D"queryBuilder floatContainer">
                  <DIV class=3Dtitle><SPAN>Query Builder</SPAN> <SPAN=20
                  class=3DrightLink=20
                  onclick=3DqueryBuilder_close(event);>Close</SPAN> =
<SPAN=20
                  class=3DrightLinkSeperator>|</SPAN> <SPAN =
class=3DrightLink=20
                  onclick=3DqueryBuilder_clear(event);>Clear</SPAN> =
</DIV>
                  <DIV class=3Dlist><!--<div>Fields</div>-->
                  <UL key=3D"fieldList">
                    <LI class=3DfirstItem arg=3D"ti:()"><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">Title=20
                    (ti)</A> </LI>
                    <LI arg=3D"su:()"><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">Summary=20
                    (su)</A> </LI>
                    <LI arg=3D"au:()"><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">Author=20
                    (au)</A> </LI>
                    <LI arg=3D"issn:()"><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">ISSN=20
                    (issn)</A> </LI>
                    <LI arg=3D"isbn:()"><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">ISBN=20
                    (isbn)</A> </LI>
                    <LI arg=3D"doi:()"><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">DOI=20
                    (doi)</A> </LI>
                    <LI><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#"></A>=20
                    </LI></UL></DIV>
                  <DIV class=3Dlist><!--<div>Operators</div>-->
                  <UL key=3D"operatorList">
                    <LI class=3DfirstItem arg=3D" AND "><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">And</A>=20
                    </LI>
                    <LI arg=3D" OR "><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">Or</A>=20
                    </LI>
                    <LI arg=3D" NOT "><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">Not</A>=20
                    </LI>
                    <LI arg=3D" ("><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">(</A>=20
                    </LI>
                    <LI arg=3D") "><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">)</A>=20
                    </LI>
                    <LI arg=3D"*"><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">*=20
                    (wildcard)</A> </LI>
                    <LI arg=3D'""'><A=20
                    =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/#">""=20
                    (exact)</A> =
</LI></UL></DIV></DIV></DIV></SPAN></DIV>
                  <DIV>
                  <TABLE=20
                  =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_ctl01=20
                  style=3D"BORDER-COLLAPSE: collapse" cellSpacing=3D0 =
cellPadding=3D0=20
                  border=3D0>
                    <TBODY>
                    <TR>
                      <TD><INPUT=20
                        =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_ctl01_0=20
                        type=3Dradio CHECKED value=3DAllContent=20
                        =
name=3Dctl00$PageSidebar$ctl00$Sidebarplaceholder1$ctl00$ctl01><LABEL=20
                        =
for=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_ctl01_0>Within=20
                        all content</LABEL></TD></TR>
                    <TR>
                      <TD><INPUT=20
                        =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_ctl01_1=20
                        type=3Dradio value=3DLegacyJournal=20
                        =
name=3Dctl00$PageSidebar$ctl00$Sidebarplaceholder1$ctl00$ctl01><LABEL=20
                        =
for=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_ctl01_1>Within=20
                        this journal</LABEL></TD></TR>
                    <TR>
                      <TD><INPUT=20
                        =
id=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_ctl01_2=20
                        type=3Dradio value=3DLegacyJournalIssue=20
                        =
name=3Dctl00$PageSidebar$ctl00$Sidebarplaceholder1$ctl00$ctl01><LABEL=20
                        =
for=3Dctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_ctl01_2>Within=20
                        this =
issue</LABEL></TD></TR></TBODY></TABLE></DIV></DIV>
                  <DIV class=3D"defaultPadding sidebarHeading">Export =
this article=20
                  </DIV>
                  <DIV class=3D"defaultPadding sidebarBody">
                  <TABLE cellSpacing=3D0 cellPadding=3D0>
                    <TBODY>
                    <TR>
                      <TD>
                        <DIV=20
                        =
id=3Dctl00_PageSidebar_ctl01_Sidebarplaceholder1_ctl00_ExportDiv>Export=20
                        this article as <A=20
                        =
href=3D"http://www.springerlink.com/export.mpx?code=3Dq1527vh6k4317703&am=
p;mode=3Dris">RIS</A>=20
                        | <A=20
                        =
href=3D"http://www.springerlink.com/export.mpx?code=3Dq1527vh6k4317703&am=
p;mode=3Dtxt">Text</A></DIV></TD></TR>
                    <TR>
                      <TD>&nbsp; </TD></TR></TBODY></TABLE></DIV>
                  <DIV class=3D"defaultPadding sidebarHeading">Text =
</DIV>
                  <DIV class=3D"defaultPadding sidebarBody">
                  <DIV>
                  <H5>PDF </H5>
                  <P>The size of this document is 444.1 KB. Although it =
may be a=20
                  lengthier download, this is the most authoritative =
online=20
                  format.</P>
                  <P>Open: <A=20
                  =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/fulltext.pdf=
">Entire=20
                  document</A></P></DIV>
                  <DIV>
                  <H5>HTML </H5>
                  <P>This offers the quickest access for ease of =
browsing.=20
                  Please note that some scientific and mathematical =
characters=20
                  may not render as precisely as in PDF versions.</P>
                  <P><A=20
                  =
href=3D"http://www.springerlink.com/content/q1527vh6k4317703/fulltext.htm=
l">Open=20
                  Full Text</A></P></DIV></DIV>
                  <DIV class=3D"defaultPadding =
sidebarHeading">Referenced by=20
</DIV>
                  <DIV class=3D"defaultPadding sidebarBody">
                  <DIV=20
                  =
class=3DMPReader_Content_ReferrerSidebarControlReferrersTitle=20
                  =
id=3Dctl00_PageSidebar_ctl03_Sidebarplaceholder1_ctl00_ContributionReferr=
ers_ctl03_ContributionReferrersTitle>1=20
                  newer article</DIV><BR>
                  <OL=20
                  =
class=3DMPReader_Content_ReferrerSidebarControlReferrersListSingle>
                    <LI><SPAN=20
                    =
class=3DMPReader_Content_ReferrerSidebarControlReferrerItem>Wu,=20
                    Anhua (2008) Persistence of CD133<SUP>+</SUP> Cells =
in Human=20
                    and Mouse Glioma Cell Lines: Detailed =
Characterization of=20
                    GL261 Glioma Cells with Cancer Stem Cell-Like =
Properties.=20
                    <I>Stem Cells and Development</I> 0(0)<BR><A=20
                    =
class=3DMPReader_Content_ReferrerSidebarControlReferrerItemLink=20
                    href=3D"http://dx.doi.org/10.1089/scd.2007.0133"=20
                    target=3D_blank>[CrossRef]</A> =
</SPAN></LI></OL></DIV>
                  <DIV class=3D"defaultPadding sidebarHeading"></DIV>
                  <DIV class=3D"defaultPadding sidebarBody"><SPAN>
                  <SCRIPT=20
                  =
src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js"=20
                  type=3Dtext/javascript> </SCRIPT>
                  </SPAN></DIV></TD></TR></TBODY></TABLE></TD></TR>
        <TR height=3D10>
          <TD class=3DdefaultPadding>
            <DIV class=3DdefaultPaddingBottom><A=20
            =
href=3D"http://www.springerlink.com/help/faq/default.mpx">Frequently=20
            asked questions </A>| <A =
href=3D"http://www.springeronline.com/"=20
            target=3D_blank>General information on journals and books =
</A>| <A=20
            href=3D"http://www.springerlink.com/feedback.mpx">Send us =
your=20
            feedback </A>| <A=20
            =
href=3D"http://www.springer.com/east/home/generic/legal?SGWID=3D5-40113-0=
-0-0"=20
            target=3D_blank>Impressum </A><!--|
                    <a href=3D"../../help/contact.mpx">
                      Contact
                    </a>--></DIV>
            <DIV class=3DdefaultPaddingBottom>=C2=A9 Springer. <A=20
            href=3D"http://www.springer-sbm.de/" target=3D_blank>Part of =
Springer=20
            Science+Business Media </A></DIV>
            <DIV class=3DdefaultPaddingBottom><A=20
            =
href=3D"http://www.springerlink.com/help/disclaimer.mpx">Privacy,=20
            Disclaimer, Terms and Conditions, =C2=A9 Copyright =
Information </A></DIV>
            <DIV =
class=3DMetaPress_Products_Reader_Web_UI_Controls_FooterControl>
            <DIV=20
            =
class=3DMetaPress_Products_Reader_Web_UI_Controls_FooterControlUserDetail=
s>Remote=20
            =
Address:&nbsp;62.10.6.113&nbsp;=E2=80=A2&nbsp;Server:&nbsp;mpweb22<BR>HTT=
P=20
            User Agent:&nbsp;Mozilla/4.0 (compatible; MSIE 7.0; Windows =
NT=20
            =
5.1)<BR><BR></DIV></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TAB=
LE>
<DIV><INPUT id=3D__EVENTVALIDATION type=3Dhidden=20
value=3D/wEWFALo5M/1CgLLt8/zAwLEysCABAK9y/S5CQK2wsCaAgKlwIj5DALpzty2DgLOz=
tDtBQLcwaSUDgK2wrSyBQLGwLCxBQLbzKDwDwLU0rCdDgLcncLrDQLdtdydBALYwKvmAwKQ55=
dxAreo9dsKAp+w7KEIAoeu+Eq/l2a6ATyP40Rii1NoEWJ68+ar5Q=3D=3D=20
name=3D__EVENTVALIDATION> </DIV>
<SCRIPT =
src=3D"http://www.springerlink.com/jsMath/plugins/autoload.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript>
<!--
latex_initClientSide();// -->
</SCRIPT>

<SCRIPT> var SelectedPrimitivesCount =3D =
selectedItems_getCount('SelectedPrimitives'); =
selectedItemsHyperLink_onLoad('SelectedPrimitives');</SCRIPT>

<SCRIPT>popOutMenuItem_addEventHandlers('ContentTypesMenuItem');</SCRIPT>=


<SCRIPT>popOutMenuItem_init();</SCRIPT>

<SCRIPT>popOutMenuItem_addEventHandlers('SubjectCollectionsMenuItem');</S=
CRIPT>

<SCRIPT>var list =3D =
(getElement('ctl00_CultureDropDownList_ctl00_GoButton')); if (list) =
list.style.display =3D 'none';</SCRIPT>

<SCRIPT>advancedTextBox_onLoad('ctl00_PageSidebar_ctl00_Sidebarplaceholde=
r1_ctl00_FindTextBox');</SCRIPT>

<SCRIPT> =
addHandler(getElement('ctl00_PageSidebar_ctl00_Sidebarplaceholder1_ctl00_=
FindTextBox_MainTextBox'), 'onkeypress', defaultTextBox_captureEnter); =
</SCRIPT>

<SCRIPT>queryBuilder_wireUpEvents('ctl00_PageSidebar_ctl00_Sidebarplaceho=
lder1_ctl00_FindTextBox')</SCRIPT>
</FORM></BODY></HTML>

------=_NextPart_001_0023_01C87621.7AB1CC50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://adfarm.mediaplex.com/ad/fm/49692?mpt=200802230637339579080&mpissn=1573-7373&mpdoi=10.1007/s11060-006-9265-3&mptitle=Expression+of+MHC+I+and+NK+ligands+on+human+CD133%2b+glioma+cells%3a+possible+targets+of+immunotherapy&mpsubject=Medicine&mpkws=Brain+tumor+stem+cell+Glioma+Immunotherapy+MHC+I+NK+ligand

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META content=3D"MSHTML 6.00.6000.16608" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff leftMargin=3D0 topMargin=3D0><A=20
href=3D"http://adfarm.mediaplex.com/ad/ck/8282-45365-17453-0?mpt=3D200802=
230637339579080&amp;mpissn=3D1573-7373&amp;mpdoi=3D10.1007/s11060-006-926=
5-3&amp;mptitle=3DExpression+of+MHC+I+and+NK+ligands+on+human+CD133%2b+gl=
ioma+cells%3a+possible+targets+of+immunotherapy&amp;mpsubject=3DMedicine&=
amp;mpkws=3DBrain+tumor+stem+cell+Glioma+Immunotherapy+MHC+I+NK+ligand"=20
target=3D_top><IMG isMap=20
src=3D"http://img-cdn.mediaplex.com/0/8282/45365/springerlinkbookbanner.j=
pg"=20
border=3D0></A></BODY></HTML>

------=_NextPart_001_0023_01C87621.7AB1CC50--

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/ajaxpro/prototype.ashx

//--------------------------------------------------------------
// Copyright (C) 2006 Michael Schwarz (http://www.ajaxpro.info).
// All rights reserved.
//--------------------------------------------------------------

// prototype.js
Object.extend =3D function(dest, source, replace) {
	for(var prop in source) {
		if(replace =3D=3D false && dest[prop] !=3D null) { continue; }
		dest[prop] =3D source[prop];
	}
	return dest;
};

Object.extend(Function.prototype, {
	apply: function(o, a) {
		var r, x =3D "__fapply";
		if(typeof o !=3D "object") { o =3D {}; }
		o[x] =3D this;
		var s =3D "r =3D o." + x + "(";
		for(var i=3D0; i<a.length; i++) {
			if(i>0) { s +=3D ","; }
			s +=3D "a[" + i + "]";
		}
		s +=3D ");";
		eval(s);
		delete o[x];
		return r;
	},
	bind: function(o) {
		if(!Function.__objs) {
			Function.__objs =3D [];
			Function.__funcs =3D [];
		}
		var objId =3D o.__oid;
		if(!objId) {
			Function.__objs[objId =3D o.__oid =3D Function.__objs.length] =3D o;
		}

		var me =3D this;
		var funcId =3D me.__fid;
		if(!funcId) {
			Function.__funcs[funcId =3D me.__fid =3D Function.__funcs.length] =3D =
me;
		}

		if(!o.__closures) {
			o.__closures =3D [];
		}

		var closure =3D o.__closures[funcId];
		if(closure) {
			return closure;
		}

		o =3D null;
		me =3D null;

		return Function.__objs[objId].__closures[funcId] =3D function() {
			return Function.__funcs[funcId].apply(Function.__objs[objId], =
arguments);
		};
	}
}, false);

Object.extend(Array.prototype, {
	push: function(o) {
		this[this.length] =3D o;
	},
	addRange: function(items) {
		if(items.length > 0) {
			for(var i=3D0; i<items.length; i++) {
				this.push(items[i]);
			}
		}
	},
	clear: function() {
		this.length =3D 0;
		return this;
	},
	shift: function() {
		if(this.length =3D=3D 0) { return null; }
		var o =3D this[0];
		for(var i=3D0; i<this.length-1; i++) {
			this[i] =3D this[i + 1];
		}
		this.length--;
		return o;
	}
}, false);

Object.extend(String.prototype, {
	trimLeft: function() {
		return this.replace(/^\s*/,"");
	},
	trimRight: function() {
		return this.replace(/\s*$/,"");
	},
	trim: function() {
		return this.trimRight().trimLeft();
	},
	endsWith: function(s) {
		if(this.length =3D=3D 0 || this.length < s.length) { return false; }
		return (this.substr(this.length - s.length) =3D=3D s);
	},
	startsWith: function(s) {
		if(this.length =3D=3D 0 || this.length < s.length) { return false; }
		return (this.substr(0, s.length) =3D=3D s);
	},
	split: function(c) {
		var a =3D [];
		if(this.length =3D=3D 0) return a;
		var p =3D 0;
		for(var i=3D0; i<this.length; i++) {
			if(this.charAt(i) =3D=3D c) {
				a.push(this.substring(p, i));
				p =3D ++i;
			}
		}
		a.push(s.substr(p));
		return a;
	}
}, false);

Object.extend(String, {
	format: function(s) {
		for(var i=3D1; i<arguments.length; i++) {
			s =3D s.replace("{" + (i -1) + "}", arguments[i]);
		}
		return s;
	},
	isNullOrEmpty: function(s) {
		if(s =3D=3D null || s.length =3D=3D 0) {
			return true;
		}
		return false;
	}
}, false);

if(typeof addEvent =3D=3D "undefined")
	addEvent =3D function(o, evType, f, capture) {
		if(o =3D=3D null) { return false; }
		if(o.addEventListener) {
			o.addEventListener(evType, f, capture);
			return true;
		} else if (o.attachEvent) {
			var r =3D o.attachEvent("on" + evType, f);
			return r;
		} else {
			try{ o["on" + evType] =3D f; }catch(e){}
		}
	};
=09
if(typeof removeEvent =3D=3D "undefined")
	removeEvent =3D function(o, evType, f, capture) {
		if(o =3D=3D null) { return false; }
		if(o.removeEventListener) {
			o.removeEventListener(evType, f, capture);
			return true;
		} else if (o.detachEvent) {
			o.detachEvent("on" + evType, f);
		} else {
			try{ o["on" + evType] =3D function(){}; }catch(e){}
		}
	};

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/ajaxpro/core.ashx

//--------------------------------------------------------------
// Copyright (C) 2006 Michael Schwarz (http://www.ajaxpro.info).
// All rights reserved.
//--------------------------------------------------------------

// core.js
Object.extend(Function.prototype, {
	getArguments: function() {
		var args =3D [];
		for(var i=3D0; i<this.arguments.length; i++) {
			args.push(this.arguments[i]);
		}
		return args;
	}
}, false);

var MS =3D {"Browser":{}};

Object.extend(MS.Browser, {
	isIE: navigator.userAgent.indexOf('MSIE') !=3D -1,
	isFirefox: navigator.userAgent.indexOf('Firefox') !=3D -1,
	isOpera: window.opera !=3D null
}, false);

var AjaxPro =3D {};

AjaxPro.IFrameXmlHttp =3D function() {};
AjaxPro.IFrameXmlHttp.prototype =3D {
	onreadystatechange: null, headers: [], method: "POST", url: null, =
async: true, iframe: null,
	status: 0, readyState: 0, responseText: null,
	abort: function() {
	},
	readystatechanged: function() {
		var doc =3D this.iframe.contentDocument || this.iframe.document;
		if(doc !=3D null && doc.readyState =3D=3D "complete" && doc.body !=3D =
null && doc.body.res !=3D null) {
			this.status =3D 200;
			this.statusText =3D "OK";
			this.readyState =3D 4;
			this.responseText =3D doc.body.res;
			this.onreadystatechange();
			return;
		}
		setTimeout(this.readystatechanged.bind(this), 10);
	},
	open: function(method, url, async) {
		if(async =3D=3D false) {
			alert("Synchronous call using IFrameXMLHttp is not supported.");
			return;
		}
		if(this.iframe =3D=3D null) {
			var iframeID =3D "hans";
			if (document.createElement && document.documentElement &&
				(window.opera || navigator.userAgent.indexOf('MSIE 5.0') =3D=3D -1))
			{
				var ifr =3D document.createElement('iframe');
				ifr.setAttribute('id', iframeID);
				ifr.style.visibility =3D 'hidden';
				ifr.style.position =3D 'absolute';
				ifr.style.width =3D ifr.style.height =3D ifr.borderWidth =3D '0px';

				this.iframe =3D =
document.getElementsByTagName('body')[0].appendChild(ifr);
			}
			else if (document.body && document.body.insertAdjacentHTML)
			{
				document.body.insertAdjacentHTML('beforeEnd', '<iframe name=3D"' + =
iframeID + '" id=3D"' + iframeID + '" style=3D"border:1px solid =
black;display:none"></iframe>');
			}
			if (window.frames && window.frames[iframeID]) {
				this.iframe =3D window.frames[iframeID];
			}
			this.iframe.name =3D iframeID;
			this.iframe.document.open();
			this.iframe.document.write("<html><body></body></html>");
			this.iframe.document.close();
		}
		this.method =3D method;
		this.url =3D url;
		this.async =3D async;
	},
	setRequestHeader: function(name, value) {
		for(var i=3D0; i<this.headers.length; i++) {
			if(this.headers[i].name =3D=3D name) {
				this.headers[i].value =3D value;
				return;
			}
		}
		this.headers.push({"name":name,"value":value});
	},
	getResponseHeader: function(name, value) {
		return null;
	},
	addInput: function(doc, form, name, value) {
		var ele;
		var tag =3D "input";
		if(value.indexOf("\n") >=3D 0) {
			tag =3D "textarea";
		}
	=09
		if(doc.all) {
			ele =3D doc.createElement("<" + tag + " name=3D\"" + name + "\" />");
		}else{
			ele =3D doc.createElement(tag);
			ele.setAttribute("name", name);
		}
		ele.setAttribute("value", value);
		form.appendChild(ele);
		ele =3D null;
	},
	send: function(data) {
		if(this.iframe =3D=3D null) {
			return;
		}
		var doc =3D this.iframe.contentDocument || this.iframe.document;
		var form =3D doc.createElement("form");
	=09
		doc.body.appendChild(form);
	=09
		form.setAttribute("action", this.url);
		form.setAttribute("method", this.method);
		form.setAttribute("enctype", "application/x-www-form-urlencoded");
	=09
		for(var i=3D0; i<this.headers.length; i++) {
			switch(this.headers[i].name.toLowerCase()) {
				case "content-length":
				case "accept-encoding":
				case "content-type":
					break;
				default:
					this.addInput(doc, form, this.headers[i].name, =
this.headers[i].value);
			}
		}
		this.addInput(doc, form, "data", data);
		form.submit();
	=09
		setTimeout(this.readystatechanged.bind(this), 0);
	}
};

var progids =3D ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
var progid =3D null;

if(typeof ActiveXObject !=3D "undefined") {
	var ie7xmlhttp =3D false;
	if(typeof XMLHttpRequest =3D=3D "object") {
		try{ var o =3D new XMLHttpRequest(); ie7xmlhttp =3D true; }catch(e){}
	}
	if(typeof XMLHttpRequest =3D=3D "undefined" || !ie7xmlhttp) {
		XMLHttpRequest =3D function() {
			var xmlHttp =3D null;
			if(!AjaxPro.noActiveX) {
				if(progid !=3D null) {
					return new ActiveXObject(progid);
				}
				for(var i=3D0; i<progids.length && xmlHttp =3D=3D null; i++) {
					try {
						xmlHttp =3D new ActiveXObject(progids[i]);
						progid =3D progids[i];

					}catch(e){}
				}
			}
			if(xmlHttp =3D=3D null && MS.Browser.isIE) {
				return new AjaxPro.IFrameXmlHttp();
			}
			return xmlHttp;
		};
	}
}

Object.extend(AjaxPro, {
	noOperation: function() {},
	onLoading: function() {},
	onError: function() {},
	onTimeout: function() {},
	onStateChanged: function() {},
	cryptProvider: null,
	queue: null,
	token: "",
	version: "6.10.6.2",
	ID: "AjaxPro",
	noActiveX: false,
	timeoutPeriod: 10*1000,
	queue: null,
	noUtcTime: false,
	m : {
		'\b': '\\b',
		'\t': '\\t',
		'\n': '\\n',
		'\f': '\\f',
		'\r': '\\r',
		'"' : '\\"',
		'\\': '\\\\'
	},
	toJSON: function(o) {=09
		if(o =3D=3D null) {
			return "null";
		}
		var v =3D [];
		var i;
		var c =3D o.constructor;
		if(c =3D=3D Number) {
			return isFinite(o) ? o.toString() : AjaxPro.toJSON(null);
		} else if(c =3D=3D Boolean) {
			return o.toString();
		} else if(c =3D=3D String) {
			if (/["\\\x00-\x1f]/.test(o)) {
				o =3D o.replace(/([\x00-\x1f\\"])/g, function(a, b) {
					var c =3D AjaxPro.m[b];
					if (c) {
						return c;
					}
					c =3D b.charCodeAt();
					return '\\u00' +
						Math.floor(c / 16).toString(16) +
						(c % 16).toString(16);
				});
            }
			return '"' + o + '"';
		} else if (c =3D=3D Array) {
			for(i=3D0; i<o.length; i++) {
				v.push(AjaxPro.toJSON(o[i]));
			}
			return "[" + v.join(",") + "]";
		} else if (c =3D=3D Date) {
			var d =3D {};
			d.__type =3D "System.DateTime";
			if(AjaxPro.noUtcTime =3D=3D true) {
				d.Year =3D o.getFullYear();
				d.Month =3D o.getMonth() +1;
				d.Day =3D o.getDate();
				d.Hour =3D o.getHours();
				d.Minute =3D o.getMinutes();
				d.Second =3D o.getSeconds();
				d.Millisecond =3D o.getMilliseconds();
			} else {
				d.Year =3D o.getUTCFullYear();
				d.Month =3D o.getUTCMonth() +1;
				d.Day =3D o.getUTCDate();
				d.Hour =3D o.getUTCHours();
				d.Minute =3D o.getUTCMinutes();
				d.Second =3D o.getUTCSeconds();
				d.Millisecond =3D o.getUTCMilliseconds();
			}
			return AjaxPro.toJSON(d);
		}
		if(typeof o.toJSON =3D=3D "function") {
			return o.toJSON();
		}
		if(typeof o =3D=3D "object") {
			for(var attr in o) {
				if(typeof o[attr] !=3D "function") {
					v.push('"' + attr + '":' + AjaxPro.toJSON(o[attr]));
				}
			}
			if(v.length>0) {
				return "{" + v.join(",") + "}";
			}
			return "{}";	=09
		}
		return o.toString();
	},
	dispose: function() {
		if(AjaxPro.queue !=3D null) {
			AjaxPro.queue.dispose();
		}
	}
}, false);

addEvent(window, "unload", AjaxPro.dispose);

AjaxPro.Request =3D function(url) {
	this.url =3D url;
	this.xmlHttp =3D null;
};

AjaxPro.Request.prototype =3D {
	url: null,
	callback: null,
	onLoading: AjaxPro.noOperation,
	onError: AjaxPro.noOperation,
	onTimeout: AjaxPro.noOperation,
	onStateChanged: AjaxPro.noOperation,
	args: null,
	context: null,
	isRunning: false,
	abort: function() {
		if(this.timeoutTimer !=3D null) {
			clearTimeout(this.timeoutTimer);
		}
		if(this.xmlHttp) {
			this.xmlHttp.onreadystatechange =3D AjaxPro.noOperation;
			this.xmlHttp.abort();
		}
		if(this.isRunning) {
			this.isRunning =3D false;
			this.onLoading(false);
		}
	},
	dispose: function() {
		this.abort();
	},
	getEmptyRes: function() {
		return {
			error: null,
			value: null,
			request: {method:this.method, args:this.args},
			context: this.context,
			duration: this.duration
		};=09
	},
	endRequest: function(res) {
		this.abort();
		if(res.error !=3D null) {
			this.onError(res.error, this);
		}

		if(typeof this.callback =3D=3D "function") {
			this.callback(res, this);
		}
	},
	mozerror: function() {
		if(this.timeoutTimer !=3D null) {
			clearTimeout(this.timeoutTimer);
		}
		var res =3D this.getEmptyRes();
		res.error =3D {Message:"Unknown",Type:"ConnectFailure",Status:0};
		this.endRequest(res);
	},
	doStateChange: function() {
		this.onStateChanged(this.xmlHttp.readyState, this);

		if(this.xmlHttp.readyState !=3D 4 || !this.isRunning) {
			return;
		}

		this.duration =3D new Date().getTime() - this.__start;

		if(this.timeoutTimer !=3D null) {
			clearTimeout(this.timeoutTimer);
		}

		var res =3D this.getEmptyRes();
		if(this.xmlHttp.status =3D=3D 200 && this.xmlHttp.statusText =3D=3D =
"OK") {
			res =3D this.createResponse(res);
		} else {
			res =3D this.createResponse(res, true);
			res.error =3D =
{Message:this.xmlHttp.statusText,Type:"ConnectFailure",Status:this.xmlHtt=
p.status};
		}
	=09
		this.endRequest(res);
	},
	createResponse: function(r, noContent) {=09
		if(!noContent) {
			var responseText =3D "" + this.xmlHttp.responseText;

			if(AjaxPro.cryptProvider !=3D null && typeof AjaxPro.cryptProvider =
=3D=3D "function") {
				responseText =3D AjaxPro.cryptProvider.decrypt(responseText);
			}

			if(this.xmlHttp.getResponseHeader("Content-Type") =3D=3D "text/xml") =
{
				r.value =3D this.xmlHttp.responseXML;
			} else {
				if(responseText !=3D null && responseText.trim().length > 0) {
					r.json =3D responseText;
					eval("r.value =3D " + responseText + "*" + "/");
				}
			}
		}
		/* if(this.xmlHttp.getResponseHeader("X-" + AjaxPro.ID + "-Cache") =
=3D=3D "server") {
			r.isCached =3D true;
		} */
		return r;
	},
	timeout: function() {
		this.duration =3D new Date().getTime() - this.__start;
		var r =3D this.onTimeout(this.duration, this);
		if(typeof r =3D=3D "undefined" || r !=3D false) {
			this.abort();
		} else {
			this.timeoutTimer =3D setTimeout(this.timeout.bind(this), =
AjaxPro.timeoutPeriod);
		}
	},
	invoke: function(method, args, callback, context) {
		this.__start =3D new Date().getTime();

		if(this.xmlHttp =3D=3D null) {
			this.xmlHttp =3D new XMLHttpRequest();
		}

		this.isRunning =3D true;
		this.method =3D method;
		this.args =3D args;
		this.callback =3D callback;
		this.context =3D context;
	=09
		var async =3D typeof(callback) =3D=3D "function" && callback !=3D =
AjaxPro.noOperation;
	=09
		if(async) {
			if(MS.Browser.isIE) {
				this.xmlHttp.onreadystatechange =3D this.doStateChange.bind(this);
			} else {
				this.xmlHttp.onload =3D this.doStateChange.bind(this);
				this.xmlHttp.onerror =3D this.mozerror.bind(this);
			}
			this.onLoading(true);
		}
	=09
		var json =3D AjaxPro.toJSON(args) + "";
		if(AjaxPro.cryptProvider !=3D null) {
			json =3D AjaxPro.cryptProvider.encrypt(json);
		}
	=09
		this.xmlHttp.open("POST", this.url, async);
		this.xmlHttp.setRequestHeader("Content-Type", "text/plain; =
charset=3Dutf-8");
		this.xmlHttp.setRequestHeader("X-" + AjaxPro.ID + "-Method", method);
	=09
		if(AjaxPro.token !=3D null && AjaxPro.token.length > 0) {
			this.xmlHttp.setRequestHeader("X-" + AjaxPro.ID + "-Token", =
AjaxPro.token);
		}

		if(!MS.Browser.isIE) {
			this.xmlHttp.setRequestHeader("Connection", "close");		// Mozilla Bug =
#246651
		}

		this.timeoutTimer =3D setTimeout(this.timeout.bind(this), =
AjaxPro.timeoutPeriod);

		try{ this.xmlHttp.send(json); }catch(e){}	// IE offline exception

		if(!async) {
			return this.createResponse({error: null,value: null});
		}

		return true;=09
	}
};

AjaxPro.RequestQueue =3D function(conc) {
	this.queue =3D [];
	this.requests =3D [];
	this.timer =3D null;
=09
	if(isNaN(conc)) { conc =3D 2; }

	for(var i=3D0; i<conc; i++) {		// max 2 http connections
		this.requests[i] =3D new AjaxPro.Request();
		this.requests[i].callback =3D function(res) {
			var r =3D res.context;
			res.context =3D r[3][1];

			r[3][0](res, this);
		};
		this.requests[i].callbackHandle =3D =
this.requests[i].callback.bind(this.requests[i]);
	}
};

AjaxPro.RequestQueue.prototype =3D {
	process: function() {
=09
		this.timer =3D null;
		if(this.queue.length =3D=3D 0) {
			return;
		}
		for(var i=3D0; i<this.requests.length && this.queue.length > 0; i++) {
			if(this.requests[i].isRunning =3D=3D false) {
				var r =3D this.queue.shift();

				this.requests[i].url =3D r[0];
				this.requests[i].onLoading =3D r[3].length >2 && r[3][2] !=3D null =
&& typeof r[3][2] =3D=3D "function" ? r[3][2] : AjaxPro.onLoading;
				this.requests[i].onError =3D r[3].length >3 && r[3][3] !=3D null && =
typeof r[3][3] =3D=3D "function" ? r[3][3] : AjaxPro.onError;
				this.requests[i].onTimeout =3D r[3].length >4 && r[3][4] !=3D null =
&& typeof r[3][4] =3D=3D "function" ? r[3][4] : AjaxPro.onTimeout;
				this.requests[i].onStateChanged =3D r[3].length >5 && r[3][5] !=3D =
null && typeof r[3][5] =3D=3D "function" ? r[3][5] : =
AjaxPro.onStateChanged;

				this.requests[i].invoke(r[1], r[2], this.requests[i].callbackHandle, =
r);
				r =3D null;
			}
		}
		if(this.queue.length > 0 && this.timer =3D=3D null) {
			this.timer =3D setTimeout(this.process.bind(this), 0);
		}
	},
	add: function(url, method, args, e) {

// txt +=3D "\r\nqueue.add " + (new Date().getTime() - ss);

		this.queue.push([url, method, args, e]);
/*	=09
		if(this.timer =3D=3D null) {
			this.timer =3D setTimeout(this.process.bind(this), 0);
		}
*/
		this.process();
	},
	abort: function() {
		this.queue.length =3D 0;
		if (this.timer !=3D null) {
			clearTimeout(this.timer);
		}
		this.timer =3D null;
		for(var i=3D0; i<this.requests.length; i++) {
			if(this.requests[i].isRunning =3D=3D true) {
				this.requests[i].abort();
			}
		}
	},
	dispose: function() {
		for(var i=3D0; i<this.requests.length; i++) {
			var r =3D this.requests[i];
			r.dispose();
		}
		this.requests.clear();
	}
};

AjaxPro.queue =3D new AjaxPro.RequestQueue(2);	// 2 http connections

AjaxPro.AjaxClass =3D function(url) {
	this.url =3D url;
};

AjaxPro.AjaxClass.prototype =3D {
	invoke: function(method, args, e) {
=09
		if(e !=3D null) {
			if(e.length !=3D 6) {
				for(;e.length<6;) { e.push(null); }
			}
			if(e[0] !=3D null && typeof(e[0]) =3D=3D "function") {
				return AjaxPro.queue.add(this.url, method, args, e);
			}
		}
		var r =3D new AjaxPro.Request();
		r.url =3D this.url;
		return r.invoke(method, args);
	}
};

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/ajaxpro/ms.ashx

//--------------------------------------------------------------
// Copyright (C) 2006 Michael Schwarz (http://www.ajaxpro.info).
// All rights reserved.
//--------------------------------------------------------------

// ms.js
var addNamespace =3D function(ns) {
	var nsParts =3D ns.split(".");
	var root =3D window;
	for(var i=3D0; i<nsParts.length; i++) {
		if(typeof root[nsParts[i]] =3D=3D "undefined") {
			root[nsParts[i]] =3D {};
		}
		root =3D root[nsParts[i]];
	}
};

Object.extend(window, {
	$: function() {
		var elements =3D [];
		for(var i=3D0; i<arguments.length; i++) {
			var e =3D arguments[i];
			if(typeof e =3D=3D 'string') {
				e =3D document.getElementById(e);
			}
			if(arguments.length =3D=3D 1) {
				return e;
			}
			elements.push(e);
		}
		return elements;
	},
	Class: {
		create: function() {
			return function() {
				if(typeof this.initialize =3D=3D "function") {
					this.initialize.apply(this, arguments);
				}
			};
		}
	}
}, false);

addNamespace("MS.Debug");
MS.Debug =3D {};		// has been removed to debug version of core.ashx

addNamespace("MS.Position");

Object.extend(MS.Position, {
	getLocation: function(ele) {
		var x =3D 0;
		var y =3D 0;
		var p;
		for(p=3Dele; p; p=3Dp.offsetParent) {
			// if(p.style.position =3D=3D "relative" || p.style.position =3D=3D =
"absolute") break;
			if(p.offsetLeft && p.offsetTop) {
				x +=3D p.offsetLeft;
				y +=3D p.offsetTop;
			}
		}
		return {left:x,top:y};
	},
	getBounds: function(ele) {
		var offset =3D MS.Position.getLocation(ele);
		var width =3D ele.offsetWidth;
		var height =3D ele.offsetHeight;
		return {left:offset.left,top:offset.top,width:width,height:height};
	},
	setLocation: function(ele, loc) {
		ele.style.position =3D "absolute";
		ele.style.left =3D loc.left + "px";
		ele.style.top =3D loc.top + "px";
	},
	setBounds: function(ele, rect) {
		if(rect.left && rect.top) {
			MS.Position.setLocation(ele, rect);
		}
		ele.style.width =3D rect.width + "px";
		ele.style.height =3D rect.height + "px";
	}
}, false);

addNamespace("MS.Keys");

Object.extend(MS.Keys, {
	TAB: 9,
	ESC: 27,
	KEYUP: 38,
	KEYDOWN: 40,
	KEYLEFT: 37,
	KEYRIGHT: 39,
	SHIFT: 16,
	CTRL: 17,
	ALT: 18,
	ENTER: 13,
	getCode: function(e) {
		e =3D MS.getEvent(e);
		if(e !=3D null) { return e.keyCode; }
		return -1;
	}
}, false);

Object.extend(MS, {
	setText: function(ele, text) {
		if(ele =3D=3D null) { return; }
		if(document.all) {
			ele.innerText =3D text;
		} else {
			ele.textContent =3D text;
		}
	},
	setHtml: function(ele, html) {
		if(ele =3D=3D null) { return; }
		ele.innerHTML =3D html;
	},
	cancelEvent: function(e) {
		e =3D MS.getEvent(e);
		if(window.event) {
			e.returnValue =3D false;
		} else if(e) {
			e.preventDefault();
			e.stopPropagation();
		}
	},
	getEvent: function(e) {
		if(window.event) { return window.event; }
		if(e) { return e; }
		return null;
	},
	getTarget: function(e) {
		e =3D MS.getEvent(e);
		if(window.event) { return e.srcElement; }
		if(e) { return e.target; }
	}
}, false);

var StringBuilder =3D function() {
	this.v =3D [];
};

Object.extend(StringBuilder.prototype, {
	append: function(s) {
		this.v.push(s);
	},
	appendLine: function(s) {
		this.v.push(s + "\r\n");
	},
	clear: function() {
		this.v.clear();
	},
	toString: function() {
		return this.v.join("");
	}
}, true);

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/ajaxpro/converter.ashx

//--------------------------------------------------------------
// Copyright (C) 2006 Michael Schwarz (http://www.ajaxpro.info).
// All rights reserved.
//--------------------------------------------------------------
// Converter.js

// NameValueCollectionConverter
if(typeof Ajax =3D=3D "undefined") Ajax=3D{};
if(typeof Ajax.Web =3D=3D "undefined") Ajax.Web=3D{};
if(typeof Ajax.Web.NameValueCollection =3D=3D "undefined") =
Ajax.Web.NameValueCollection=3D{};

Ajax.Web.NameValueCollection =3D function(items) {
	this.__type =3D "System.Collections.Specialized.NameValueCollection";
	this.keys =3D [];
	this.values =3D [];

	if(items !=3D null && !isNaN(items.length)) {
		for(var i=3D0; i<items.length; i++)
			this.add(items[i][0], items[i][1]);
	}
};
Object.extend(Ajax.Web.NameValueCollection.prototype, {
	add: function(k, v) {
		if(k =3D=3D null || k.constructor !=3D String || v =3D=3D null || =
v.constructor !=3D String)
			return -1;
		this.keys.push(k);
		this.values.push(v);
		return this.values.length -1;
	},
	containsKey: function(key) {
		for(var i=3D0; i<this.keys.length; i++) {
			if(this.keys[i] =3D=3D key) return true;
		}
		return false;
	},
	getKeys: function() {
		return this.keys;
	},
	getValue: function(k) {
		for(var i=3D0; i<this.keys.length && i<this.values.length; i++) {
			if(this.keys[i] =3D=3D k) return this.values[i];
		}
		return null;
	},
	setValue: function(k, v) {
		if(k =3D=3D null || k.constructor !=3D String || v =3D=3D null || =
v.constructor !=3D String)
			return -1;
		for(var i=3D0; i<this.keys.length && i<this.values.length; i++) {
			if(this.keys[i] =3D=3D k) this.values[i] =3D v;
			return i;
		}
		return this.add(k, v);
	},
	toJSON: function() {
		return =
AjaxPro.toJSON({__type:this.__type,keys:this.keys,values:this.values});
	}
}, true);

// DataSetConverter
if(typeof Ajax =3D=3D "undefined") Ajax=3D{};
if(typeof Ajax.Web =3D=3D "undefined") Ajax.Web=3D{};
if(typeof Ajax.Web.DataSet =3D=3D "undefined") Ajax.Web.DataSet=3D{};

Ajax.Web.DataSet =3D function(t) {
	this.__type =3D "System.Data.DataSet,System.Data";
	this.Tables =3D [];
	this.addTable =3D function(t) {
		this.Tables.push(t);
	};
	if(t !=3D null) {
		for(var i=3D0; i<t.length; i++) {
			this.addTable(t[i]);
		}
	}
};

// DataTableConverter
if(typeof Ajax =3D=3D "undefined") Ajax=3D{};
if(typeof Ajax.Web =3D=3D "undefined") Ajax.Web=3D{};
if(typeof Ajax.Web.DataTable =3D=3D "undefined") =
Ajax.Web.DataTable=3D{};

Ajax.Web.DataTable =3D function(c, r) {
	this.__type =3D "System.Data.DataTable,System.Data";
	this.Columns =3D [];
	this.Rows =3D [];
	this.addColumn =3D function(name, type) {
		this.Columns.push({Name:name,__type:type});
	};
	this.toJSON =3D function() {
		var dt =3D {};
		var i;
		dt.Columns =3D [];
		for(i=3D0; i<this.Columns.length; i++)
			dt.Columns.push([this.Columns[i].Name, this.Columns[i].__type]);
		dt.Rows =3D [];
		for(i=3D0; i<this.Rows.length; i++) {
			var row =3D [];
			for(var j=3D0; j<this.Columns.length; j++)
				row.push(this.Rows[i][this.Columns[j].Name]);
			dt.Rows.push(row);
		}
		return AjaxPro.toJSON(dt);
	};
	this.addRow =3D function(row) {
		this.Rows.push(row);
	};
	if(c !=3D null) {
		for(var i=3D0; i<c.length; i++)
			this.addColumn(c[i][0], c[i][1]);
	}
	if(r !=3D null) {
		for(var y=3D0; y<r.length; y++) {
			var row =3D {};
			for(var z=3D0; z<this.Columns.length && z<r[y].length; z++)
				row[this.Columns[z].Name] =3D r[y][z];
			this.addRow(row);
		}
	}
};

// ProfileBaseConverter
if(typeof Ajax =3D=3D "undefined") Ajax=3D{};
if(typeof Ajax.Web =3D=3D "undefined") Ajax.Web=3D{};
if(typeof Ajax.Web.Profile =3D=3D "undefined") Ajax.Web.Profile=3D{};

Ajax.Web.Profile =3D function() {
	this.toJSON =3D function() {
		throw "Ajax.Web.Profile cannot be converted to JSON format.";
	};
	this.setProperty_callback =3D function(res) {
	};
	this.setProperty =3D function(name, object) {
		this[name] =3D object;
		AjaxPro.Services.Profile.SetProfile({name:o}, =
this.setProperty_callback.bind(this));
	};
};

// IDictionaryConverter
if(typeof Ajax =3D=3D "undefined") Ajax=3D{};
if(typeof Ajax.Web =3D=3D "undefined") Ajax.Web=3D{};
if(typeof Ajax.Web.Dictionary =3D=3D "undefined") =
Ajax.Web.Dictionary=3D{};

Ajax.Web.Dictionary =3D function(type,items) {
	this.__type =3D type;
	this.keys =3D [];
	this.values =3D [];

	if(items !=3D null && !isNaN(items.length)) {
		for(var i=3D0; i<items.length; i++)
			this.add(items[i][0], items[i][1]);
	}
};
Object.extend(Ajax.Web.Dictionary.prototype, {
	add: function(k, v) {
		this.keys.push(k);
		this.values.push(v);
		return this.values.length -1;
	},
	containsKey: function(key) {
		for(var i=3D0; i<this.keys.length; i++) {
			if(this.keys[i] =3D=3D key) return true;
		}
		return false;
	},
	getKeys: function() {
		return this.keys;
	},
	getValue: function(key) {
		for(var i=3D0; i<this.keys.length && i<this.values.length; i++) {
			if(this.keys[i] =3D=3D key){ return this.values[i]; }
		}
		return null;
	},
	setValue: function(k, v) {
		for(var i=3D0; i<this.keys.length && i<this.values.length; i++) {
			if(this.keys[i] =3D=3D k){ this.values[i] =3D v; }
			return i;
		}
		return this.add(k, v);
	},
	toJSON: function() {
		return =
AjaxPro.toJSON({__type:this.__type,keys:this.keys,values:this.values});
	}
}, true);

// BitmapConverter
if(typeof Ajax =3D=3D "undefined") Ajax=3D{};
if(typeof Ajax.Web =3D=3D "undefined") Ajax.Web=3D{};
if(typeof Ajax.Web.Bitmap =3D=3D "undefined") Ajax.Web.Bitmap=3D{};

Ajax.Web.Bitmap =3D function(id) {
	this.src =3D '/ajaximage/' + id + '.ashx';
}

Object.extend(Ajax.Web.Bitmap.prototype,  {
	getImage: function() {
		var i =3D new Image();
		i.src =3D this.src;
		return i;
	}
}, false);


------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/ajaxpro/MetaPress.Web.UI.Page,MetaPress.Web.ashx

if(typeof MetaPress =3D=3D "undefined") MetaPress=3D{};
if(typeof MetaPress.Web =3D=3D "undefined") MetaPress.Web=3D{};
if(typeof MetaPress.Web.UI =3D=3D "undefined") MetaPress.Web.UI=3D{};
if(typeof MetaPress.Web.UI.Page =3D=3D "undefined") =
MetaPress.Web.UI.Page=3D{};
MetaPress.Web.UI.Page_class =3D function() {};
Object.extend(MetaPress.Web.UI.Page_class.prototype, Object.extend(new =
AjaxPro.AjaxClass(), {
	url: '/ajaxpro/MetaPress.Web.UI.Page,MetaPress.Web.ashx'
}));
MetaPress.Web.UI.Page =3D new MetaPress.Web.UI.Page_class();


------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/ajaxpro/MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl,MetaPress.Products.Reader.ashx

if(typeof MetaPress =3D=3D "undefined") MetaPress=3D{};
if(typeof MetaPress.Products =3D=3D "undefined") =
MetaPress.Products=3D{};
if(typeof MetaPress.Products.Reader =3D=3D "undefined") =
MetaPress.Products.Reader=3D{};
if(typeof MetaPress.Products.Reader.Web =3D=3D "undefined") =
MetaPress.Products.Reader.Web=3D{};
if(typeof MetaPress.Products.Reader.Web.UI =3D=3D "undefined") =
MetaPress.Products.Reader.Web.UI=3D{};
if(typeof MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl =
=3D=3D "undefined") =
MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl=3D{};
MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl_class =3D =
function() {};
Object.extend(MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl_cl=
ass.prototype, Object.extend(new AjaxPro.AjaxClass(), {
	ToggleTocAlert: function(code) {
		return this.invoke("ToggleTocAlert", {"code":code}, =
this.ToggleTocAlert.getArguments().slice(1));
	},
	url: =
'/ajaxpro/MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl,MetaPr=
ess.Products.Reader.ashx'
}));
MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl =3D new =
MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl_class();


------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Web.Latex.js,MetaPress.Web.js

function latex_initClientSide()
{
  latex_showClientSide();
  try
  {
    jsMath.Autoload.Check();
    jsMath.Process();
  }
  catch(e)
  {
    if (handleException)
      handleException(e);
  }
  jsMath.Synchronize('latex_hideErrors()');
}

function latex_showClientSide()
{
  var tex =3D document.getElementsByTagName('SPAN');
  for (k =3D 0; k < tex.length; k++)
  {
    if (tex[k].className =3D=3D 'cs')
      tex[k].style.display =3D 'inline';
    else if (tex[k].className =3D=3D 'ss')
      tex[k].style.display =3D 'none';
  }
}


function latex_hideErrors()=20
{
  var tex =3D document.getElementsByTagName('SPAN');
  for (k =3D 0; k < tex.length; k++)
  {
    if (tex[k].className =3D=3D 'error' )
    {
      var parent =3D getParent(tex[k]);
      if (parent && parent.className =3D=3D 'typeset')
      {
        parent =3D getParent(parent);
        if (parent && parent.className =3D=3D 'cs')
        {
          parent =3D getParent(parent);
          if (parent && parent.className =3D=3D 'latex')
          {
            parent.childNodes[0].style.display =3D 'inline';
            parent.childNodes[1].style.display =3D 'none';               =
        =20
          }
        }
      }  =20
    }
  }
}=20

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/jsMath/plugins/noImageFonts.js

/*=0A=
 *  noImageFonts.js=0A=
 *  =0A=
 *  Part of the jsMath package for mathematics on the web.=0A=
 *=0A=
 *  This file indicates that no image fonts are available.=0A=
 *  It should be loaded BEFORE jsMath.js is loaded.=0A=
 *=0A=
 *  ---------------------------------------------------------------------=0A=
 *=0A=
 *  Copyright 2004-2006 by Davide P. Cervone=0A=
 * =0A=
 *  Licensed under the Apache License, Version 2.0 (the "License");=0A=
 *  you may not use this file except in compliance with the License.=0A=
 *  You may obtain a copy of the License at=0A=
 * =0A=
 *      http://www.apache.org/licenses/LICENSE-2.0=0A=
 * =0A=
 *  Unless required by applicable law or agreed to in writing, software=0A=
 *  distributed under the License is distributed on an "AS IS" BASIS,=0A=
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or =
implied.=0A=
 *  See the License for the specific language governing permissions and=0A=
 *  limitations under the License.=0A=
 */=0A=
=0A=
if (!window.jsMath) {window.jsMath =3D {}}=0A=
jsMath.noImgFonts =3D 1;=0A=
=0A=
if (!jsMath.Font) {jsMath.Font =3D {}}=0A=
if (!jsMath.Font.extra_message) {=0A=
  jsMath.Font.extra_message =3D=0A=
    'Extra TeX fonts not found: <b><span =
id=3D"jsMath_ExtraFonts"></span></b><br/>'=0A=
      + 'Using unicode fonts instead.  This may be slow and might not =
print well.<br/>\n'=0A=
      + 'Use the jsMath control panel to get additional information.';=0A=
}
------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Web.Common.js,MetaPress.Web.js

/* -------------------- DOM Methods --------------------*/

function getElement(id)
{
  return document.getElementById(id);
}

function getRoot(element, key, tagName)
{
  while (element !=3D null)
  {
    if (element.tagName)
    {
      if (element.tagName =3D=3D tagName || (tagName =3D=3D 'DIV' && =
element.tagName =3D=3D 'TABLE'))
      {
        if (getAttributeValue(element, 'key') =3D=3D key)
          return element;
      }
    }
    element =3D getParent(element);
  }
  return null;
}

function getElementByClassAndTagName(parent, className, tagName)
{
  var elements =3D parent.getElementsByTagName(tagName);
  var matches =3D new Array;
  var index =3D 0;
  for (var k =3D 0; k < elements.length; k++)
  {
    if (elements[k].className =3D=3D className)
    {
      return elements[k];
    }
  }
  return null;
}

function getElementsByClassAndTagName(parent, className, tagName)
{
  var elements =3D parent.getElementsByTagName(tagName);
  var matches =3D new Array;
  var index =3D 0;
  for (var k =3D 0; k < elements.length; k++)
  {
    if (elements[k].className =3D=3D className)
    {
      matches[index] =3D elements[k];
      index++;
    }
  }
  return matches;
}

function getElementByKeyAndTagName(parent, key, tagName)
{
  var elements =3D parent.getElementsByTagName(tagName);
 =20
  for (var k =3D 0; k < elements.length; k++)
  {
    if (getAttributeValue(elements[k], 'key') =3D=3D key)
      return elements[k];
  }
 =20
  if (tagName =3D=3D 'DIV') // backwards compatiblity because ASP.NET =
turns DIVs into TABLES.
  {
    elements =3D parent.getElementsByTagName('TABLE');
    for (var k =3D 0; k < elements.length; k++)
    {
      if (getAttributeValue(elements[k], 'key') =3D=3D key)
        return elements[k];
    }
  }
  return null;
}

function getElementsByKeyAndTagName(parent, key, tagName)
{
  var elements =3D parent.getElementsByTagName(tagName);
  var matches =3D new Array;
  var index =3D 0
  for (var k =3D 0; k < elements.length; k++)
  {
    if (getAttributeValue(elements[k], 'key') =3D=3D key)
    {
      matches[index] =3D elements[k];
      index++;
    }
  }
 =20
  if (tagName =3D=3D 'DIV') // backwards compatiblity because ASP.NET =
turns DIVs into TABLES.
  {
    elements =3D parent.getElementsByTagName('TABLE');
    for (var k =3D 0; k < elements.length; k++)
    {
      if (getAttributeValue(elements[k], 'key') =3D=3D key)
      {
        matches[index] =3D elements[k];
        index++;
      }
    }
  }
  return matches;
}

function getParent(element)
{
  if (element.parentNode)
    return element.parentNode
  else if (element.parentElement)
    return element.parentElement;
  else
    return null;
}

function getAttributeValue(element, attributeName)
{=20
  if (element =3D=3D null)
    return null;
   =20
  if (element.attributes)
  {
    var attribute =3D element.attributes.getNamedItem(attributeName);=20
    if (attribute)
      return attribute.value;
  }=20
  else if (element.getAttribute)
  {
    return element.getAttribute(attributeName);
  }
 =20
  return '';
}

function setAttributeValue(element, attributeName, attributeValue)
{
  if (element && element.attributes)
  {
    if (attributeValue =3D=3D null)
    {
      element.removeAttribute(attributeName);
    }
    else
    {
      var attribute =3D document.createAttribute(attributeName);
      attribute.value =3D attributeValue;
      element.attributes.setNamedItem(attribute);
    }
  }
}

function getInnerText(element)
{
  if (element.innerText)
    return element.innerText
  else if (document.createRange)
  {
    var range =3D document.createRange();
    range.selectNodeContents(this);
    return range.toString();
  }
  else
    return '';
}

function setInnerText(element, value)
{
  if (element.innerText)
    element.innerText =3D value;
  else if (document.createRange)
  {
    var range =3D document.createRange();
    range.selectNodeContents(element);
    range.deleteContents();
    element.appendChild(document.createTextNode(value));
  }
}

function setDefaultFocus(elementId)=20
{
  var element =3D getElement(elementId);
  if (element =3D=3D null)
    return false;
  else
    element.focus();
} =20

/* -------------------- End DOM Methods -------------------- */

/* -------------------- Event Methods -------------------- */

function click(element)
{
  if (element.click)
    element.click();
  else
  {
    var evt =3D document.createEvent('MouseEvents');
    evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, =
false, false, false, false, 0, null);
    element.dispatchEvent(evt);
  }
}

function addHandler(element, eventName, eventHandler, owner)
{
  if (!element)
    return false;
   =20
  var func=20
  if (owner)
    func =3D function() { owner[eventHandler](element, owner); };
  else
    func =3D eventHandler;
   =20
  if (element.addEventListener)
  {
    if (eventName.substring(0,2) =3D=3D 'on')
      eventName =3D eventName.substring(2);
    element.addEventListener(eventName, func, false);
    }
  else if(element.attachEvent)
    element.attachEvent(eventName, func);
  else
    element[eventName] =3D func;
}

function removeHandler(element, eventName, eventHandler)
{
  if (!element)
    return false;
   =20
  if (element.removeEventListener)
  {
    if (eventName.substring(0,2) =3D=3D 'on')
      eventName =3D eventName.substring(2);
    element.removeEventListener(eventName, eventHandler, false);
    }
  else if(element.detachEvent)
    element.detachEvent(eventName, eventHandler);
  else
    element[eventName] =3D null;
}

function clearHandlers(element, eventName)
{
  element[eventName] =3D null;
}

function getEvent(e)
{
  if (e)
    return e;
  else
    return window.event;
}

function getSender(e)
{
  if (e.srcElement)
    return e.srcElement
  else
    return e.currentTarget;
}

function abortEvent(e)
{
  if (isIE) =20
  { =20
      e.cancelBubble =3D true; =20
      e.returnValue =3D false; =20
  } =20
  else
  {=20
    e.stopPropagation(); =20
    e.preventDefault(); =20
  } =20
}

/* -------------------- End Event Methods -------------------- */

/* --------------------  Style Methods --------------------  */

function getCurrentStyle(element)
{
  if (element =3D=3D null)
    return null;
   =20
  if (element.currentStyle)
    return element.currentStyle
  else if (window.getComputedStyle)
    return window.getComputedStyle(element, '');
  else
    return null;
}

/* -------------------- End Style Methods -------------------- */

/* -------------------- Misc Methods -------------------- */


function copyPrototype(descendant, parent)
{
  var sConstructor =3D parent.toString();
  var aMatch =3D sConstructor.match( /\s*function (.*)\(/ );
  if ( aMatch !=3D null ) { descendant.prototype[aMatch[1]] =3D parent; =
}
  for (var m in parent.prototype) {
     descendant.prototype[m] =3D parent.prototype[m];
  }
};


function pendMethodCall(method, delay, element, timerKey)
{
  var key =3D getAttributeValue(element, timerKey);
  if (key !=3D '')
    clearTimeout(key);
   =20
  key =3D setTimeout(method, delay);
  setAttributeValue(element, timerKey, key);
}

function asyncMethodCall(method, delay, owner, timerKey)
{
  if (owner.getTimer && owner.setTimer)
  {
    var timer =3D owner.getTimer(timerKey);
    if (timer !=3D '')
      clearTimeout(key);
   =20
    timer =3D setTimeout(method, delay);
    owner.setTimer(timerKey, timer);
  }
  else   =20
    setTimeout(method, delay);
}

function getQueryStringValue(key)
{
  var query =3D window.location.search.substring(1);
  var vars =3D query.split("&");
  for (var i=3D0;i<vars.length;i++)=20
  {
    var pair =3D vars[i].split("=3D");
    if (pair[0] =3D=3D key)=20
      return pair[1];
  }=20
  return '';
}

function setFocus(element)
{
  if (element !=3D null && canAcceptFocus(element))=20
  {
     element.focus();
     switch (element.tagName)
     {
       case 'SELECT':
         if (element.options.length > 0)
            element.selectedIndex =3D 0;
         break;
      =20
       case 'INPUT':
         switch (getAttributeValue(element, 'type'))
         {
           case '', 'text', 'password':
             element.select();
             break;
         }
         break;
     }
  }
}

function canAcceptFocus(element)
{
  if (element.style.display =3D=3D 'none' )
    return false;
   =20
  return true;
}

function isDefined(variableName)
{
  return window[variableName] !=3D null;
}

function toggleVisibility(element, visibleStyle)
{
  if (element =3D=3D null)
    return;
   =20
  if (visibleStyle =3D=3D null)
    visibleStyle =3D '';
   =20
  if (getCurrentStyle(element).display =3D=3D 'none')
    element.style.display =3D visibleStyle;
  else
    element.style.display =3D 'none';
}

/* -------------------- End Misc Methods -------------------- */

/* -------------------- String Methods -------------------- */

function trim(text)
{=20
  return text;
  while (text.substring(0,1) =3D=3D ' ')=20
  {
    text =3D text.substring(1, text.length);
  }
 =20
  while (text.substring(text.length-1,text.length) =3D=3D ' ')
  {
    text =3D text.substring(0, text.length-1);
  }
}

function startsWith(string, value)
{
  if (string =3D=3D null || value =3D=3D null)
    return false;
   =20
  if (string =3D=3D '' || value =3D=3D '')
    return false;
   =20
  if (string.length < value.length)
    return false;
   =20
  return string.substring(string, value.length) =3D=3D value;
}

/*
function endsWith(string, value)
{
  if (string =3D=3D null || value =3D=3D null)
    return false;
   =20
  if (string.length < value.length)
    return false;
   =20
  return (string.substring(string.length - value.length, value.length) =
=3D=3D value)
}
*/

/* -------------------- End String Methods -------------------- */

function initValidators()=20
{
  if (typeof ValidatorOnLoad =3D=3D 'undefined' )
    return;
   =20
  ValidatorOnLoad();
  var i;
  for (i =3D 0; i < Page_Validators.length; i++) {
      ValidatorValidate(Page_Validators[i]);
  }
  ValidatorUpdateIsValid();
  Page_BlockSubmit =3D !Page_IsValid;
 =20
  return Page_IsValid;
}


function beginAsync(object, method, delay, timer)
{
  if (timer && timer !=3D '')
    clearTimeout(timer);
 =20
  var parameters =3D [];
  for(var k =3D 4; k < arguments.length; k++)
    parameters.push(arguments[k]);
  var func =3D function() { method.apply(object, parameters);};

  timer =3D setTimeout(func, delay);
  return timer;
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Web.SelectedItemsHyperLink.js,MetaPress.Web.js

function selectedItemsHyperLink_onLoad(collection)=20
{
  selectedItemsHyperLink_attachControls(collection);
  selectedItems_updateSelectedItemsHyperLinkCounts(collection);
}

function selectedItemsHyperLink_attachControls(collection)
{
  var boxes =3D selectedItems_getControls(collection);
 =20
  for (k =3D 0; k < boxes.length; k++)
  {
    addHandler(boxes[k], 'onclick', =
selectedItemsHyperLink_onCheckChanged);
    selectedItemLinkButton_onLoad(boxes[k]);
  }
}

function selectedItemsHyperLink_getCount(collection)
{
  return window[collection + 'Count'];
}

function selectedItemsHyperLink_setCount(collection, count)
{
  window[collection + 'Count'] =3D count;
}

function selectedItemsHyperLink_onCheckChanged(e)
{
  sender =3D getSender(e);
   =20
  if (sender.tagName !=3D 'A')
    sender =3D getParent(sender);
   =20
  var collection =3D getAttributeValue(sender, 'collection');

  selectedItems_updateSelectedItemsHyperLinkCounts(collection);
}

  
------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Web.SelectedItems.js,MetaPress.Web.js

function selectedItems_getCount(collection)
{
  var c =3D getCookie(collection);
  if (c)
  {
    return c.split(',').length - 1;
    }
  else
    return 0;
}

function selectedItems_setSelected(collection, value, select)=20
{                           =20
  if (select)=20
  {
    if (getCookie(collection) =3D=3D null)=20
      setCookie(collection, ",'" + value + "'");
    else
      setCookie(collection, getCookie(collection) + ",'" + value + "'");
  } else {
    setCookie(collection, getCookie(collection).replace(",'" + value + =
"'", ""));
  }
}

function selectedItems_isSelected(collection, value)
{
  var c =3D getCookie(collection);
  if (c =3D=3D null)
    return false;
  else
    return (getCookie(collection).indexOf(",'" + value + "'") > -1);
}

function getCookie(key)=20
{=20
  if (document.cookie.length > 0)=20
  {=20
    begin =3D document.cookie.indexOf(key + "=3D");=20
    if (begin !=3D -1) {=20
      begin +=3D key.length + 1;=20
      end =3D document.cookie.indexOf(";", begin);
      if (end =3D=3D -1)=20
        end =3D document.cookie.length;
      return unescape(document.cookie.substring(begin, end));=20
    }=20
  }
  return null;=20
}

function setCookie(key, value)=20
{=20
  document.cookie =3D key + "=3D" + escape(value) + ";path=3D/";
}

function delCookie (key)=20
{=20
  if (getCookie(key))=20
  {
    document.cookie =3D key + "=3D" + "; expires=3DThu, 01-Jan-70 =
00:00:01 GMT";
  }
}


function selectedItems_getControls(collection)
{

  var controls =3D new Array();
  var boxes =3D document.getElementsByTagName('A');
 =20
  for (k =3D 0; k < boxes.length; k++)
  {
    if (getAttributeValue(boxes[k], 'collection') =3D=3D collection &&
        getAttributeValue(boxes[k], 'isSelectedItemControl') =3D=3D =
'true')
        {
          controls =3D controls.concat(boxes[k]);
        }
  }
  return controls;
}

function selectedItems_setSelectedItemsHyperLinkText(link, count)
{
  var span =3D link.childNodes[1];
  if (count =3D=3D 0 || count =3D=3D null)
  {
    setInnerText(span, '');
    link.className =3D link.className.replace(' markedItemsHasItems', ' =
markedItemsNoItems');
  }
  else =20
  {
    span.innerHTML =3D '&nbsp;(' + count + ')';
    link.className =3D link.className.replace(' markedItemsNoItems', ' =
markedItemsHasItems');
  }
}

function selectedItems_updateSelectedItemsHyperLinkCounts(collection)
{
  var links =3D document.getElementsByTagName('a');
  var count =3D selectedItems_getCount(collection);
 =20
  for (var k =3D 0; k < links.length; k++)
  {=20
    if (getAttributeValue(links[k], 'isSelectedItemsLink') =3D=3D 'true' =
&&
        getAttributeValue(links[k], 'displayCount') =3D=3D 'true' &&
        getAttributeValue(links[k], 'collection') =3D=3D collection)
      selectedItems_setSelectedItemsHyperLinkText(links[k], count);
  }
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Web.Positioning.js,MetaPress.Web.js

function getWidth(element)
{
  var width;
 =20
  if (element.offsetWidth)
    width =3D element.offsetWidth;
  else if (element.clientWidth)
    width =3D element.clientWidth;
  else
    width =3D element.scrollWidth; =20
   =20
  width =3D parseInt(width);
  if (isNaN(width))
    return 0;
  else
    return width;
}


function getHeight(element)
{
  var height;
 =20
  if (element.offsetHeight)
    height =3D element.offsetHeight;
  else if (element.clientHeight)
    height =3D element.clientHeight;
  else
    height =3D element.scrollHeight; =20
   =20
  height =3D parseInt(height);
 =20
  if (isNaN(height))
    return 0;
  else
    return height;
}
function getLeft(element)
{
  var curLeft =3D 0;

  if (element.offsetParent)
  {
    while (element.offsetParent)
    {
      curLeft +=3D element.offsetLeft;
      element =3D element.offsetParent;
    }
  }
  else if (element.x)
    curLeft =3D element.x;
 =20
  return curLeft;
}


function getLeftRelative(element)
{
   if (element.offsetParent)
    return element.offsetLeft;
  else if (element.x)
    return element.x;
 =20
  return 0.0;
}

function getTop(element)
{
  var curTop =3D 0;
  if (element.offsetParent)
  {
    while (element.offsetParent)
    {

      curTop +=3D element.offsetTop;
      element =3D element.offsetParent;
    }
  }
  else if (element.y)
    curTop =3D element.y;
 =20
  return curTop;
}

function getTopRelative(element)
{
   if (element.offsetParent)
    return element.offsetTop;
  else if (element.y)
    return element.y;
 =20
  return 0.0;
}

function getRightAlignOffset(element, target)=20
{
  var offset =3D getLeft(target);
  offset +=3D getWidth(target);
  offset -=3D getWidth(element);
  return offset;
}

function getStringWidth(string)
{
  if (string =3D=3D '')
    return 0;
   =20
  var div =3D createHiddenDiv();
  div.innerHTML =3D string;
 =20
  return getWidth(div);
}

function getWindowWidth()
{
  if (window.innerWidth)
    return window.innerWidth;
  else if (document.documentElement && =
document.documentElement.clientWidth)
    return document.documentElement.clientWidth;
  else if (document.body && document.body.clientWidth)
    return document.body.clientWidth;
  else
    return -1;
}


function createHiddenDiv()
{

  var div =3D getElement('hiddenDiv');
  if (div =3D=3D null)
  {
    div =3D document.createElement('div');
    div.style.position =3D "absolute";
    div.style.left =3D -10000;
    div.id =3D 'hiddenDiv';
    div.style.padding =3D '0px';
    div.style.margin =3D '0px';
    document.body.appendChild(div);
  }
   =20
  return div;
}

function getScrollBarSize() {
    var scr =3D null;
    var inn =3D null;
    var wNoScroll =3D 0;
    var wScroll =3D 0;

    // Outer scrolling div
    scr =3D document.createElement('div');
    scr.style.position =3D 'absolute';
    scr.style.top =3D '-1000px';
    scr.style.left =3D '-1000px';
    scr.style.width =3D '100px';
    scr.style.height =3D '50px';
    // Start with no scrollbar
    scr.style.overflow =3D 'hidden';

    // Inner content div
    inn =3D document.createElement('div');
    inn.style.width =3D '100%';
    inn.style.height =3D '200px';

    // Put the inner div in the scrolling div
    scr.appendChild(inn);
    // Append the scrolling div to the doc
    document.body.appendChild(scr);

    // Width of the inner div sans scrollbar
    wNoScroll =3D inn.offsetWidth;
    // Add the scrollbar
    scr.style.overflow =3D 'auto';
    // Width of the inner div width scrollbar
    wScroll =3D inn.offsetWidth;
    // Remove the scrolling div from the doc
    document.body.removeChild(
        document.body.lastChild);

    // Pixel width of the scroller
    return (wNoScroll - wScroll);
}

function getViewportHeight()
{
  if (typeof window.innerHeight !=3D 'undefined')
    return window.innerHeight; =20
  else if (typeof document.documentElement !=3D 'undefined'
        && typeof document.documentElement.clientHeight !=3D 'undefined' =

        && document.documentElement.clientHeight !=3D 0)
    return document.documentElement.clientHeight;
  else
    return document.getElementsByTagName('BODY')[0].clientHeight;        =

}
------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Web.PopOutMenuItem.js,MetaPress.Web.js


function popOutMenuItem_init()
{
  var items =3D document.getElementsByTagName('A');
 =20
  for (var k =3D 0; k < items.length; k++)
  {
    if (items[k].className =3D=3D 'noScriptLink')
      items[k].style.cursor =3D 'default';
  }
 // addIFrames();
}

function popOutMenuItem_addEventHandlers(itemId) =20
{ =20
  var item =3D getElement(itemId);

  if (document.getElementById) =20
  { =20
    item.onmouseover =3D popOutMenuItem_expand; =20
    item.onmouseout =3D popOutMenuItem_collapse; =20
  =20
    var children =3D item.getElementsByTagName('LI');
   =20
    for (var k =3D 0; k < children.length; k++)
    {
      item =3D children[k];
      if (item.attributes.getNamedItem('direction'))
      {
        item.onmouseover =3D popOutMenuItem_expand; =20
        item.onmouseout =3D popOutMenuItem_collapse; =20
      }
    }
  } =20
}

function popOutMenuItem_collapse(e) =20
{ =20
  e =3D getEvent(e);
  var sender =3D getSender(e);
 =20
  this.className =3D this.className.replace('expanded', 'collapsed');
  if (this.iFrame)
  {
    this.iFrame.className =3D 'iFrameCollapsed';
    this.iFrame.style.display =3D 'none';
  }
} =20

function popOutMenuItem_getPopOutDirection(item)
{
  var direction =3D item.attributes.getNamedItem('direction')
  if (direction && direction.value =3D=3D 'vertical')
    return 'vertical';
  else
    return 'horizontal';
}

function popOutMenuItem_expand(e) =20
{ =20
  e =3D getEvent(e);
  var sender =3D getSender(e);
       =20
  this.className =3D this.className.replace('collapsed', 'expanded');
  if (this.iFrame )
  {
    this.iFrame.style.left =3D getLeft(this);
    this.iFrame.style.top =3D getTop(this);
    this.iFrame.style.width =3D getIFrameWidth(this) +  'px';
    this.iFrame.style.height =3D getIFrameHeight(this) + 'px';
    this.iFrame.className =3D 'iFrameExpanded';
    this.iFrame.style.display =3D 'block';
  }

  if (popOutMenuItem_getPopOutDirection(this) =3D=3D 'vertical')
    popOutMenuItem_popOutVertical(this);
  else
    popOutMenuItem_popOutHorizontal(this);
   =20
}=20


function popOutMenuItem_popOutHorizontal(item)
{
  var width =3D getWidth(getParent(item));=20
  if (isIE)
  {
      var padding =3D parseInt(getCurrentStyle(item).paddingLeft);
      padding -=3D =
parseInt(getCurrentStyle(getParent(getParent(item))).paddingRight);
      width -=3D padding;
  }
 =20
  var children =3D item.childNodes;
  var child;
 =20
  for (var k =3D 0; k < children.length; k++)
  {
    child =3D children[k];
    if (child.style)
    {
      child.style.top =3D 0;
      child.style.left =3D width;
    }
  }
}

function popOutMenuItem_popOutVertical(item)
{
  var height =3D getHeight(item);

  //if (!isIE)
    height -=3D 1;
   =20
  var children =3D item.childNodes;
  var child;
 =20
  for (var k =3D 0; k < children.length; k++)
  {
    child =3D children[k];
    if (child.style)
    {
      child.style.top =3D height; =20
      child.style.left =3D 0;
    }
  }
}

function getIFrameWidth(sender)
{
  var maxWidth =3D getWidth(sender);
  var children =3D sender.childNodes;
 =20
  for (k =3D 0; k < children.length; k++)
  {
    var item =3D children[k];
    var width =3D getWidth(item);
     =20
    if (width > maxWidth)
      maxWidth =3D width;
  } =20
    return maxWidth;
}

function getIFrameHeight(sender)
{
 =20
  var totalHeight =3D getHeight(sender);
  var children =3D sender.childNodes;
 =20
  for (k =3D 0; k < children.length; k++)
    totalHeight +=3D getHeight(children[k]);

  return totalHeight;
}

function addIFrames()
{
  var items =3D document.getElementsByTagName('LI');
 =20
  for (var k =3D 0; k < items.length; k++)
  {
    if (getAttributeValue(items[k], 'direction') !=3D '')
    {
      var iFrame =3D document.createElement('IFRAME');
      iFrame.frameBorder =3D 0;
      iFrame.src =3D 'javascript:;';
      iFrame.className =3D 'collapsed';
      iFrame.style.position =3D 'absolute';
      iFrame.style.width =3D '0px';
      iFrame.style.height =3D '0px';
      iFrame.style.display =3D 'none';
      iFrame.style.filter =3D =
'progid:DXImageTransform.Microsoft.Alpha(style=3D0,opacity=3D0)';
      items[k].iFrame =3D items[k].parentNode.insertBefore(iFrame, =
items[k]);
      iFrame.zIndex =3D 1000;
      items[k].zIndex =3D 10000;
    }
  }
}
------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Products.Reader.PrimitiveHeadingControl.js,MetaPress.Products.Reader.js

function primitiveHeadingControl_markItem(sender)=20
{=20
  var value =3D getAttributeValue(sender, 'value');=20
  var selected =3D selectedItems_isSelected('SelectedPrimitives', =
value);=20
  if (selected)=20
  {=20
    selectedItems_setSelected('SelectedPrimitives', value, false);=20
    var text =3D getAttributeValue(sender, 'unselectedText');=20
  }=20
  else=20
  {=20
    selectedItems_setSelected('SelectedPrimitives', value, true);=20
    var text =3D getAttributeValue(sender, 'selectedText');=20
  }=20
  setInnerText(sender.childNodes[0], text);=20
  =
selectedItems_updateSelectedItemsHyperLinkCounts('SelectedPrimitives');
}=20

function primitiveHeadingControl_toggleTocAlert(sender)
{
  var code =3D getAttributeValue(sender, 'value');

  if =
(!MetaPress.Products.Reader.Web.UI.PrimitiveHeadingControl.ToggleTocAlert=
(code).value)
    return true;
   =20
  var eText =3D getAttributeValue(sender, 'enabledText');
  var dText =3D getAttributeValue(sender, 'disabledText');
 =20
  if (getInnerText(sender) =3D=3D eText)
    setInnerText(sender, dText);
  else
    setInnerText(sender, eText);=20

  return false;
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Web.HyperLinkButton.js,MetaPress.Web.js

function hyperLinkButton_getTrueSender(sender)
{
  var isSender =3D false;
  isSender =3D (sender.tagName =3D=3D 'A' && getAttributeValue(sender, =
'value'));
   =20
  while (sender && !isSender)
  {
    sender =3D getParent(sender);
    isSender =3D (sender.tagName =3D=3D 'A' && getAttributeValue(sender, =
'value'));
  }
 =20
  return sender;
}

function hyperLinkButton_onClick(e)
{
  e =3D getEvent(e);
  var sender =3D hyperLinkButton_getTrueSender(getSender(e));
   =20
  var methodName =3D getAttributeValue(sender, 'onClickMethod');

  if (methodName !=3D '' && window[methodName])
    var ret =3D window[methodName](sender);

  return ret || false;
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Web.AdvancedTextBox.js,MetaPress.Web.js

function advancedTextBox_onLoad(senderId)
{
  var sender =3D getElement(senderId);
 =20
  var expandButton =3D getElementByKeyAndTagName(sender, 'expand', =
'INPUT');
  if (expandButton)
    expandButton.style.display =3D 'inline';
 =20
  if (getAttributeValue(sender, 'gdm') > 0)
    getElementByKeyAndTagName(sender, 'go', 'INPUT').style.display =3D =
'none';
   =20
  advancedTextBox_position(sender);
 =20
  addHandler(getElementByKeyAndTagName(sender, 'text', 'INPUT'), =
'onblur', advancedTextBox_onBlur);
  addHandler(getElementByKeyAndTagName(sender, 'go', 'INPUT'), =
'onclick', advancedTextBox_onGo);
}


function advancedTextBox_position(sender)
{
  var textBox =3D getElementByKeyAndTagName(sender, 'text', 'INPUT');
  var div =3D getElementByKeyAndTagName(sender, 'contents', 'DIV');
 =20
  if (getAttributeValue(sender, 'da') =3D=3D '1')
    div.style.left =3D (getLeft(textBox) + getWidth(textBox)) - =
getWidth(div);
  else
    div.style.left =3D getLeft(textBox);
   =20
  div.style.top =3D getTop(textBox) + getHeight(textBox);
}

function advancedTextBox_collapse(sender)
{ =20
  sender.style.display =3D 'none';
  sender.style.left =3D 1000000; // horrible horrible hack!
}

function advancedTextBox_expand(sender)
{
  sender.style.display =3D 'block';
  advancedTextBox_position(getParent(sender));
}

function advancedTextBox_toggle(e)
{
  e =3D getEvent(e);
  var sender =3D getParent(getSender(e));
  var div =3D getElementByKeyAndTagName(sender, 'contents', 'DIV');
  =20
  if (getCurrentStyle(div).display =3D=3D 'block')
    advancedTextBox_collapse(div);
  else
    advancedTextBox_expand(div);
   =20
  getElementByKeyAndTagName(sender, 'text', 'INPUT').focus();
  return false;
}

function advancedTextBox_onBlur(e)
{
 if (!document.activeElement)
    return false;
   =20
  e =3D getEvent(e);
  var sender =3D getSender(e);
  var parent =3D getParent(sender);
 =20
  var current =3D document.activeElement;
  while (current)
  {
    if (current =3D=3D parent)
      return true;
     =20
    current =3D getParent(current);
  }
 =20
  var div =3D getElementByKeyAndTagName(parent, 'contents', 'DIV');
  advancedTextBox_collapse(div);
}

function advancedTextBox_onGo(e)
{
  e =3D getEvent(e);
  var sender =3D getSender(e);
  var parent =3D getParent(sender);
  var div =3D getElementByKeyAndTagName(parent, 'contents', 'DIV');
  advancedTextBox_collapse(div);
}
------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Location: http://www.springerlink.com/js/MetaPress.Web.DefaultTextBox.js,MetaPress.Web.js

function defaultTextBox_captureEnter(e)  
{  
  e = getEvent(e);
  var sender = getSender(e);
  var target = getElement(getAttributeValue(sender, 'target'));

  if (target == null)
  {
    alert('target for ' + sender.id + ' is null');
    return false;
  }

  if (e.keyCode == 13)  
  {  
    abortEvent(e);
    switch(getAttributeValue(sender, 'action'))
    {  
        case 'click': defaultTextBox_click(target); break;  
        case 'focus': setFocus(target); break;  
        default: defaultTextBox_click(target);  
    }  
  }  
} 

function defaultTextBox_click(element) 
{
  if (element != null)
    element.click(); 
}

function defaultTextBox_setFocus(element)
{
  if (element != null) 
  {
     element.focus();
     switch (element.tagName)
     {
       case 'SELECT':
         if (element.options.length > 0)
            element.selectedIndex = 0;
         break;
       
       case 'INPUT':
         switch (getAttributeValue(element, type))
         {
           case '', 'text', 'password':
             element.select();
             break;
         }
         break;
     }
  }
}
------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/js/MetaPress.Products.Reader.QueryBuilderControl.js,MetaPress.Products.Reader.js


function queryBuilder_wireUpEvents(senderId)
{
  var sender =3D queryBuilder_getRoot(getElement(senderId));

  var textBox =3D queryBuilder_getTextBox(sender);
  var operatorList =3D queryBuilder_getOperatorList(sender);
  var fieldList =3D queryBuilder_getFieldList(sender);

  for(var k =3D 0; k < fieldList.childNodes.length; k++)
  {
    if (fieldList.childNodes[k].className !=3D 'empty')
    {  =20
      addHandler(fieldList.childNodes[k].childNodes[0], 'onclick', =
queryBuilder_onFieldClick);
      addHandler(fieldList.childNodes[k], 'onclick', =
queryBuilder_onFieldClick);
      addHandler(fieldList.childNodes[k], 'onmouseover', =
queryBuilder_onMouseOver);
      addHandler(fieldList.childNodes[k], 'onmouseout', =
queryBuilder_onMouseOut);
    }
  }
  for(var k =3D 0; k < operatorList.childNodes.length; k++)
  {
    if (operatorList.childNodes[k].className !=3D 'empty')
    {
      if (getAttributeValue(operatorList.childNodes[k], 'arg') =3D=3D =
'*')
      {
        addHandler(operatorList.childNodes[k].childNodes[0], 'onclick', =
queryBuilder_onWildcardClick);
        addHandler(operatorList.childNodes[k], 'onclick', =
queryBuilder_onWildcardClick);
      }
      else
      {
        addHandler(operatorList.childNodes[k].childNodes[0], 'onclick', =
queryBuilder_onOperatorClick);
        addHandler(operatorList.childNodes[k], 'onclick', =
queryBuilder_onOperatorClick);
      }
      addHandler(operatorList.childNodes[k], 'onmouseover', =
queryBuilder_onMouseOver);
      addHandler(operatorList.childNodes[k], 'onmouseout', =
queryBuilder_onMouseOut);
    }
  }
 =20
  addHandler(textBox, 'onclick', queryBuilder_updateSelection);
  addHandler(textBox, 'onselect', queryBuilder_updateSelection);
  addHandler(textBox, 'onfocus', queryBuilder_updateSelection);
  addHandler(textBox, 'onkeyup', queryBuilder_updateSelection);
  addHandler(textBox, 'onkeydown', queryBuilder_onKeyPress);
 =20
  // Horrible horrible hack
  var div =3D getElementByKeyAndTagName(sender, 'contents', 'DIV');
  advancedTextBox_collapse(div);
  // End horrible horrible hack
 =20
}

function queryBuilder_getRoot(sender)
{
  while (sender !=3D null && getAttributeValue(sender, 'key') !=3D =
'advancedTextBox')
    sender =3D getParent(sender);
   =20
  return sender;
}

function queryBuilder_getTextBox(sender)
{
  return getElementByKeyAndTagName(queryBuilder_getRoot(sender), 'text', =
'INPUT');
}

function queryBuilder_getOperatorList(sender)
{
  return getElementByKeyAndTagName(queryBuilder_getRoot(sender), =
'operatorList', 'UL');
}

function queryBuilder_getFieldList(sender)
{
  return getElementByKeyAndTagName(queryBuilder_getRoot(sender), =
'fieldList', 'UL');
}

function queryBuilder_getSelectionStart(sender)
{
  var start =3D getAttributeValue(queryBuilder_getRoot(sender), 'ss');
  if (start =3D=3D '')
    return 0;
  else
    return start;
}

function queryBuilder_setSelectionStart(sender, selectionStart)
{
  setAttributeValue(queryBuilder_getRoot(sender), 'ss', selectionStart);
}

function queryBuilder_getSelectionEnd(sender)
{
  var end =3D getAttributeValue(queryBuilder_getRoot(sender), 'se');
  if (end =3D=3D '')
    return 0;
  else
    return end;
}

function queryBuilder_setSelectionEnd(sender, selectionEnd)
{
  setAttributeValue(queryBuilder_getRoot(sender), 'se', selectionEnd);
}


function queryBuilder_onFieldClick(e)
{
  e =3D getEvent(e);
  var sender =3D getSender(e);
  if (sender.tagName !=3D 'LI')
    sender =3D getParent(sender);
   =20
  var textBox =3D queryBuilder_getTextBox(sender);
  var text =3D getAttributeValue(sender, 'arg');

  var selectionStart =3D queryBuilder_getSelectionStart(sender);
  var selectionEnd =3D queryBuilder_getSelectionEnd(sender);
  if (selectionStart =3D=3D selectionEnd || !isIE)
  {
    textBox.value +=3D ' ' + text;
    queryBuilder_setCaretPos(textBox, textBox.value.length - 1);
    queryBuilder_updateSelection(e);
  }
  else
  {
    textBox.focus();
    var range =3D document.selection.createRange();
    range.moveStart('character', selectionStart);
    range.moveEnd('character', selectionEnd - selectionStart);
    range.text =3D text;
    queryBuilder_updateSelection(e);
    range.select();
 =20
  }
 =20
  abortEvent(e);
  return false;
}

function queryBuilder_onOperatorClick(e)
{
  e =3D getEvent(e);
  var sender =3D getSender(e);
 =20
  if (sender.tagName !=3D 'LI')
    sender =3D getParent(sender);
   =20
  var textBox =3D queryBuilder_getTextBox(sender);
  var text =3D getAttributeValue(sender, 'arg');
 =20
  var selectionStart =3D queryBuilder_getSelectionStart(sender);
  var selectionEnd =3D queryBuilder_getSelectionEnd(sender);
 =20
  textBox.focus();
  if (selectionStart =3D=3D selectionEnd || !isIE)
  {
    textBox.value +=3D ' ' + text;
    queryBuilder_setCaretPos(textBox, textBox.value.length - 1);
    queryBuilder_updateSelection(e);
  }
  else
  {
    var range =3D document.selection.createRange();
    range.moveStart('character', selectionStart);
    range.moveEnd('character', selectionEnd - selectionStart);
    range.text =3D text;
    queryBuilder_updateSelection(e);
    range.select();
  }
 =20
  abortEvent(e);
  return false;
}


function queryBuilder_onWildcardClick(e)
{
  e =3D getEvent(e);
  var sender =3D getSender(e);
 =20
  if (sender.tagName !=3D 'LI')
    sender =3D getParent(sender);
   =20
  var textBox =3D queryBuilder_getTextBox(sender);
  var text =3D getAttributeValue(sender, 'arg');
  var selectionStart =3D queryBuilder_getSelectionStart(sender);
  var selectionEnd =3D queryBuilder_getSelectionEnd(sender);
  textBox.focus();
  if (!isIE)
  {
    textBox.value +=3D text;
    queryBuilder_setCaretPos(textBox, textBox.value.length - 1);
    queryBuilder_updateSelection(e);
  }
  else if (selectionStart =3D=3D selectionEnd)
  {
    var range =3D document.selection.createRange();
    range.text =3D text;
    queryBuilder_updateSelection(e);
    range.select();
  }
  else
  {
    var range =3D document.selection.createRange();
    range.moveStart('character', selectionStart);
    range.moveEnd('character', selectionEnd - selectionStart);
    range.text =3D text;
    queryBuilder_updateSelection(e);
    range.select();
  }
 =20
  abortEvent(e);
  return false;
}

function queryBuilder_setCaretPos(textBox, position)
{
  if (textBox.selectionStart)
  {
    textBox.selectionStart =3D position;
    textBox.selectionEnd =3D position;
  }
  else
  {
    var range =3D textBox.createTextRange();
    range.moveStart('character', position);
    range.collapse();
    range.select();
  }
}

function queryBuilder_findSelectionStart(textBox)=20
{
	if (isIE)
	{
	  var range =3D document.selection.createRange();
		var isCollapsed =3D range.compareEndPoints("StartToEnd", range) =3D=3D =
0;
	  if (!isCollapsed)
		  range.collapse(true);
	  var b =3D range.getBookmark();
	  return b.charCodeAt(2) - 2;
	}
	else
	  return textBox.selectionStart;
}

function queryBuilder_findSelectionEnd(textBox)=20
{
  if (isIE)
  {
    var range =3D document.selection.createRange();
	  var isCollapsed =3D range.compareEndPoints("StartToEnd", range) =
=3D=3D 0;
	  if (!isCollapsed)
		  range.collapse(false);
	  var b =3D range.getBookmark();
	  return b.charCodeAt(2) - 2; =20
  }
  else
	  return textBox.selectionEnd;
}

function queryBuilder_updateSelection(e)
{

  e =3D getEvent(e);
  var sender =3D getSender(e);
  var textBox =3D queryBuilder_getTextBox(sender)
  if (document.activeElement =3D=3D textBox || sender =3D=3D textBox)
  {
    queryBuilder_setSelectionStart(sender, =
queryBuilder_findSelectionStart(textBox));
    queryBuilder_setSelectionEnd(sender, =
queryBuilder_findSelectionEnd(textBox));
  }
  //window.status =3D queryBuilder_findSelectionStart(textBox) + ' -> ' =
+ queryBuilder_findSelectionEnd(textBox);
}

function queryBuilder_clear(e)
{
  e =3D getEvent(e);
  var sender =3D getSender(e);
  var textBox =3D queryBuilder_getTextBox(sender);
  textBox.value =3D '';
  textBox.focus();=20
}

function queryBuilder_close(e)
{
  e =3D getEvent(e);
  var sender =3D getSender(e);
  var root =3D queryBuilder_getRoot(sender);
 =20
  var div =3D getElementByKeyAndTagName(root, 'contents', 'DIV');
  advancedTextBox_collapse(div);
  getElementByKeyAndTagName(root, 'text', 'INPUT').focus();
 =20
}

function queryBuilder_onMouseOver(e) =20
{ =20
  e =3D getEvent(e);
  var sender =3D getSender(e);
  if (sender.tagName !=3D 'LI')
    sender =3D getParent(sender);
  sender.className =3D 'hover';
} =20

function queryBuilder_onMouseOut(e) =20
{ =20
  e =3D getEvent(e);
  var sender =3D getSender(e);
  if (sender.tagName !=3D 'LI')
    sender =3D getParent(sender);
  sender.className =3D '';
}=20

function queryBuilder_onKeyPress(e)
{
  e =3D getEvent(e);
  var sender =3D getSender(e);
  if (e.keyCode =3D=3D 27)
  {
    abortEvent(e);
    queryBuilder_close(e);
  }
 =20
  var key =3D String.fromCharCode(e.keyCode);
  if (key =3D=3D '')
    return false;
   =20
  key =3D key.toLowerCase();
  var needsAlt =3D false;
  var needsCtrl =3D false;
  var target =3D '';
         =20
  if (e.altKey || e.ctrlKey)
  {
    var links =3D =
queryBuilder_getRoot(sender).getElementsByTagName('LI');
    for (var k =3D 0; k < links.length; k++)
    {
      var hotkey =3D getAttributeValue(links[k], 'hotkey');
      if (hotkey !=3D '')
      {
        needsAlt =3D false;
        needsCtrl =3D false;
        target =3D '';
        var keys =3D hotkey.split('+');
        for (i =3D 0; i < keys.length; i++)
        {
          switch(keys[i].toLowerCase())
          {
            case 'alt' :
              needsAlt =3D true;
              break;
            case 'ctrl' :
              needsCtrl =3D true;
              break;
            default :
              target =3D keys[i].toLowerCase();
              break;
          }
        }
        if (needsAlt =3D=3D e.altKey && needsCtrl =3D=3D e.ctrlKey && =
key =3D=3D target)
        {
          links[k].childNodes[0].click();
          abortEvent(e);
          return true;
        }
      } =20
    }
  }
}

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://pagead2.googlesyndication.com/pagead/show_ads.js

(function(){=0A=
var =
h=3D{google_ad_channel:"channel",google_ad_host:"host",google_ad_region:"=
region",google_ad_section:"region",google_ad_type:"ad_type",google_adtest=
:"adtest",google_alternate_ad_url:"alternate_ad_url",google_alternate_col=
or:"alt_color",google_bid:"bid",google_city:"gcs",google_color_bg:"color_=
bg",google_color_border:"color_border",google_color_line:"color_line",goo=
gle_color_link:"color_link",google_color_text:"color_text",google_color_u=
rl:"color_url",google_contents:"contents",google_country:"gl",=0A=
google_cust_age:"cust_age",google_cust_ch:"cust_ch",google_cust_gender:"c=
ust_gender",google_cust_id:"cust_id",google_cust_interests:"cust_interest=
s",google_cust_job:"cust_job",google_cust_l:"cust_l",google_cust_lh:"cust=
_lh",google_cust_u_url:"cust_u_url",google_disable_video_autoplay:"disabl=
e_video_autoplay",google_ed:"ed",google_encoding:"oe",google_feedback:"fe=
edback_link",google_flash_version:"flash",google_gl:"gl",google_hints:"hi=
nts",google_kw:"kw",google_kw_type:"kw_type",google_language:"hl",=0A=
google_referrer_url:"ref",google_region:"gr",google_reuse_colors:"reuse_c=
olors",google_safe:"adsafe",google_targeting:"targeting",google_ui_featur=
es:"ui"},m=3D{google_ad_format:"format",google_ad_output:"output",google_=
ad_callback:"callback",google_ad_override:"google_ad_override",google_ad_=
slot:"slotname",google_analytics_webpropids:"ga_wpids",google_correlator:=
"correlator",google_cpa_choice:"cpa_choice",google_image_size:"image_size=
",google_last_modified_time:"lmt",google_max_num_ads:"num_ads",google_max=
_radlink_len:"max_radlink_len",=0A=
google_num_radlinks:"num_radlinks",google_num_radlinks_per_unit:"num_radl=
inks_per_unit",google_only_ads_with_video:"only_ads_with_video",google_pa=
ge_location:"loc",google_page_url:"url",google_rl_dest_url:"rl_dest_url",=
google_rl_filtering:"rl_filtering",google_rl_mode:"rl_mode",google_rt:"rt=
",google_skip:"skip"};function n(b){return h[b]||m[b]||null}var =
u=3Ddocument;function w(){var b=3Du.cookie,a=3DMath.round((new =
Date).getTime()/1000),c=3Db.indexOf("__utma=3D")>-1,e=3Db.indexOf("__utmb=
=3D")>-1,d=3Db.indexOf("__utmc=3D")>=0A=
-1,f,g=3D{};if(c){f=3Db.split("__utma=3D")[1].split(";")[0].split(".");g.=
sid=3D(!e||!d?a:f[4])+"";g.vid=3Df[1]+"."+f[2];g.from_cookie=3Dtrue}else{=
g.sid=3Dwindow&&window.gaGlobal&&window.gaGlobal.sid?window.gaGlobal.sid:=
a+"";g.vid=3Dwindow&&window.gaGlobal&&window.gaGlobal.vid?window.gaGlobal=
.vid:Math.round(Math.random()*2147483647)+"."+a;g.from_cookie=3Dfalse}g.h=
id=3Dwindow&&window.gaGlobal&&window.gaGlobal.hid?window.gaGlobal.hid:Mat=
h.round(Math.random()*2147483647);window.gaGlobal=3Dg;return =
g}(function(){function b(){}=0A=
b.prototype.l=3Dfunction(e){var d=3De.indexOf("#")+1;return =
d?e.substr(d):""};b.prototype.n=3Dfunction(e){return/[&<>\"]/.test(e)?e.r=
eplace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\=
"/g,"&quot;"):e};b.prototype.b=3Dfunction(e){var d=3D"<iframe";for(var f =
in e){d+=3D" "+f+'=3D"'+this.n(e[f])+'"'}return =
d+"></iframe>"};b.prototype.m=3Dfunction(e,d){try{return =
e.frames[d]}catch(f){return null}};b.prototype.e=3Dfunction(e){var =
d=3Ddocument.createElement("iframe");for(var f in e){d.setAttribute(f,=0A=
e[f])}return d};b.prototype.i=3Dfunction(e,d){var =
f=3Dthis;setTimeout(function(){document.body.appendChild(f.e({id:e,name:e=
,src:d,width:0,height:0,frameBorder:0}))},0)};b.prototype.r=3Dfunction(e,=
d){var =
f=3Dthis;document.write(f.b({id:e,name:e,src:d,width:0,height:0,frameBord=
er:0}))};b.prototype.g=3Dfunction(e,d){var =
f=3D[],g=3De.length,k=3D0;while(k<g){var =
j=3De.substr(k,d),l=3Dj.length;if(k+l<g){for(var =
i=3D1;i<3;++i){if(j.charAt(l-i)=3D=3D"%"){j=3Dj.substr(0,l-=3Di)}}}f.push=
(j);k+=3Dl}return f};b.prototype.a=3Dfunction(e,d,f){if(!window[e]){var =
g=3D=0A=
window[e]=3Dnew d;for(var =
k=3D0;k<f.length;++k){g[f[k][0]]=3Df[k][1]}}};var =
a=3Db.prototype,c=3D[["getHash",a.l],["htmlEscape",a.n],["makeIframeTag",=
a.b],["getIframe",a.m],["makeIframeNode",a.e],["appendHiddenIframe",a.i],=
["writeHiddenIframe",a.r],["splitURIComponent",a.g],["exportSingleton",a.=
a],["MAX_URL_LENGTH",4095],["IDI_DEFAULT_POLLING_INTERVAL",1000]];b.proto=
type.a("IDICommon",b,c)})();(function(){function b(d,f){for(var g in =
f){d[g]=3Df[g]}}function a(){var =
d=3Dthis;d.s=3Dwindow.location.href.replace(/([^:\/])\/.*$/,=0A=
"$1/robots.txt");d.t=3D"";d.k=3D{};d.c=3D{};d.f=3D{};d.u=3D{};d.o=3D{}}a.=
prototype.w=3Dfunction(d,f,g){var k;if(typeof =
g=3D=3D"object"){k=3Dg.moduleRelayUrl}var =
j=3Dthis,l=3Dj.c[d];if(isNaN(l)){throw new Error("Invalid module =
id");}else{var i=3Dtypeof =
k=3D=3D"string"?k:j.d(j.u[d]),o=3DencodeURIComponent(f)+"$",q=3DIDICommon=
.MAX_URL_LENGTH-1-i.length,r=3DIDICommon.g(o,q),t=3Dr.length;for(var =
p=3D0;p<t;++p){IDICommon.i(d+"_"+(l+p),i+"#"+r[p])}j.c[d]+=3Dt}};a.protot=
ype.p=3Dfunction(d,f,g){var =
k=3Dthis;k.h(d);k.o[d]=3Dwindow.setInterval(function(){k.v(d,=0A=
f)},typeof =
g=3D=3D"object"&&g.pollingInterval||IDICommon.IDI_DEFAULT_POLLING_INTERVA=
L)};a.prototype.h=3Dfunction(d){var =
f=3Dthis;window.clearInterval(f.o[d]);f.o[d]=3D0};a.prototype.x=3Dfunctio=
n(d){this.s=3Dd};a.prototype.q=3Dfunction(d){this.t=3Dd};a.prototype.d=3D=
function(d){return =
this.t||d.replace(/([^:\/]\/).*$/,"$1ig/idi_relay")};a.prototype.v=3Dfunc=
tion(d,f){var g=3Dthis,k=3Dwindow.frames[d];if(k){var =
j;while(j=3DIDICommon.m(k,d+"_"+g.k[d])){try{if(j.location.href=3D=3D"abo=
ut:blank"){break}}catch(l){break}g.f[d]+=3DIDICommon.l(j.location.href);=0A=
++g.k[d]}var =
i=3Dg.f[d].split("$"),o=3Di.length-1;if(o>0){g.f[d]=3Di[o];for(var =
q=3D0;q<o;++q){f(decodeURIComponent(i[q]),d)}}}};a.prototype.j=3Dfunction=
(d,f,g,k,j){var =
l=3Dthis,i=3D{frameBorder:0,scrolling:"no"},o,q,r,t,p;if(typeof =
j=3D=3D"object"){o=3Dj.iframeAttrs;q=3Dj.callback;r=3Dj.userPrefs;t=3Dj.p=
ollingInterval;p=3Dj.parentDivId}if(typeof =
o=3D=3D"object"){b(i,o)}b(i,{id:f,name:f,src:d,width:g,height:k});l.k[f]=3D=
0;l.c[f]=3D0;l.f[f]=3D"";l.u[f]=3Dd;var v=3D[];if(typeof =
r=3D=3D"object"){for(var s in r){v.push(encodeURIComponent(s)+"=3D"+=0A=
encodeURIComponent(r[s]))}}if(typeof =
q=3D=3D"function"){v.push("idi_hr=3D"+encodeURIComponent(l.s));l.p(f,q,j)=
}if(v.length){var =
y=3Dv.join("&");if(i.src.length+1+y.length>IDICommon.MAX_URL_LENGTH){y+=3D=
"$";var =
H=3Dl.d(d),R=3DIDICommon.MAX_URL_LENGTH-1-H.length,I=3DIDICommon.g(y,R),J=
=3DI.length;for(var s=3D0;s<J;++s){var =
C=3Df+"_"+s,K=3DH+"#"+I[s];if(p){var =
z=3Ddocument.getElementById(p);z.innerHTML=3Dz.innerHTML+l.e({id:C,name:C=
,src:K,width:0,height:0,frameBorder:0})}else{IDICommon.r(C,K)}}l.c[f]+=3D=
J;y=3D""}i.src+=3D"#"+y}if(p){var z=3D=0A=
document.getElementById(p);z.innerHTML=3Dz.innerHTML+IDICommon.b(i)}else{=
document.write(IDICommon.b(i))}};var =
c=3Da.prototype,e=3D[["setHostRelayUrl",c.x],["setModuleRelayUrl",c.q],["=
getModuleRelayUrl",c.d],["createModule",c.j],["postMessageToModule",c.w],=
["registerListener",c.p],["unregisterListener",c.h]];IDICommon.a("IDIHost=
",a,e)})();function x(b){return b!=3Dnull?'"'+b+'"':'""'}function =
A(b){if(typeof encodeURIComponent=3D=3D"function"){return =
encodeURIComponent(b)}else{return escape(b)}}function B(b,a){if(b&&=0A=
a){window.google_ad_url+=3D"&"+b+"=3D"+a}}function D(b){var =
a=3Dwindow,c=3Dn(b),e=3Da[b];B(c,e)}function =
E(b,a){if(a){B(b,A(a))}}function F(b){var =
a=3Dwindow,c=3Dn(b),e=3Da[b];E(c,e)}function G(b,a){var =
c=3Dwindow,e=3Dn(b),d=3Dc[b];if(e&&d&&typeof =
d=3D=3D"object"){d=3Dd[a%d.length]}B(e,d)}function L(b,a){var =
c=3Db.screen,e=3Dnavigator.javaEnabled(),d=3D-a.getTimezoneOffset();if(c)=
{B("u_h",c.height);B("u_w",c.width);B("u_ah",c.availHeight);B("u_aw",c.av=
ailWidth);B("u_cd",c.colorDepth)}B("u_tz",d);B("u_his",history.length);B(=
"u_java",=0A=
e);if(navigator.plugins){B("u_nplug",navigator.plugins.length)}if(navigat=
or.mimeTypes){B("u_nmime",navigator.mimeTypes.length)}}function =
M(b){if(b){b=3Db.toLowerCase();if(b.substring(0,3)!=3D"ca-"){b=3D"ca-"+b}=
}return b}function =
N(b){if(b){b=3Db.toLowerCase();if(b.substring(0,9)!=3D"dist-aff-"){b=3D"d=
ist-aff-"+b}}return b}function O(b,a){var =
c=3Ddocument.getElementById(b);c.style.height=3Da+"px"}function =
P(b,a,c){window.clearTimeout(c);var =
e=3D/^google_resize_flash_ad_idi\((\d+)\)/,d=3Db.match(e);if(d){O(a,d[1])=
}}function Q(b,=0A=
a,c,e){c=3Dc.substring(0,2000);c=3Dc.replace(/%\w?$/,"");if((b.google_ad_=
output=3D=3D"js"||b.google_ad_output=3D=3D"json_html")&&(b.google_ad_requ=
est_done||b.google_radlink_request_done)){a.write('<script =
language=3D"JavaScript1.1" src=3D'+x(c)+"><\/script>")}else =
if(b.google_ad_output=3D=3D"html"){if(b.name!=3D"google_ads_frame"){if(e!=
=3Dnull){a.write('<div =
id=3D"'+e+'">')}if(S(b.google_ad_output,b.google_ad_client)){IDIHost.q("h=
ttp://pagead2.googlesyndication.com/pagead/idi_relay.html");var =
d=3D0;if(b.google_num_0ad_slots){d+=3D=0A=
b.google_num_0ad_slots}if(b.google_num_ad_slots){d+=3Db.google_num_ad_slo=
ts}if(b.google_num_sdo_slots){d+=3Db.google_num_sdo_slots}var =
f=3D"google_inline_div"+d,g=3D"<div id=3D"+x(f)+' =
style=3D"position:relative;width:'+b.google_ad_width+'px"></div><div =
style=3D"position:relative;width:'+b.google_ad_width+"px;height:"+b.googl=
e_ad_height+'px;z-index:-1"></div>';a.write(g);var =
k=3D"google_frame"+d,j=3Db.setTimeout(function(){IDIHost.h(k)},5000);IDIH=
ost.j(c,k,b.google_ad_width,b.google_ad_height,{callback:function(l,=0A=
i){P(l,i,j)},pollingInterval:500,iframeAttrs:{style:"position: =
absolute;left:0px",marginWidth:"0",marginHeight:"0",vspace:"0",hspace:"0"=
,allowTransparency:"true"},parentDivId:f})}else{a.write('<iframe =
name=3D"google_ads_frame" width=3D'+x(b.google_ad_width)+" =
height=3D"+x(b.google_ad_height)+" =
frameborder=3D"+x(b.google_ad_frameborder)+" src=3D"+x(c)+' =
marginwidth=3D"0" marginheight=3D"0" vspace=3D"0" hspace=3D"0" =
allowtransparency=3D"true" =
scrolling=3D"no">');a.write("</iframe>")}if(e!=3Dnull){a.write("</div>")}=
}}else if(b.google_ad_output=3D=3D=0A=
"textlink"){a.write('<script language=3D"JavaScript1.1" =
src=3D'+x(c)+"><\/script>")}}function T(b){for(var a in =
h){b[a]=3Dnull}for(var a in =
m){if(a=3D=3D"google_correlator")continue;b[a]=3Dnull}}function =
U(b){if(b.google_ad_format){return =
b.google_ad_format.indexOf("_0ads")>0}return =
b.google_ad_output!=3D"html"&&b.google_num_radlinks>0}function =
V(b){return b&&b.indexOf("_sdo")!=3D-1}function aa(){var =
b=3Dnull,a=3Dwindow,c=3Ddocument,e=3Dnew =
Date,d=3De.getTime(),f=3Da.google_ad_format;if(a.google_cpa_choice!=3Db){=
a.google_ad_url=3D=0A=
"http://pagead2.googlesyndication.com/cpa/ads?";a.google_ad_url+=3D"clien=
t=3D"+escape(M(a.google_ad_client));a.google_ad_region=3D"_google_cpa_reg=
ion_";D("google_cpa_choice");if(typeof =
c.characterSet!=3D"undefined"){E("oe",c.characterSet)}else if(typeof =
c.charset!=3D"undefined"){E("oe",c.charset)}}else =
if(V(f)){a.google_ad_url=3D"http://pagead2.googlesyndication.com/pagead/s=
do?";a.google_ad_url+=3D"client=3D"+escape(N(a.google_ad_client))}else{a.=
google_ad_url=3D"http://pagead2.googlesyndication.com/pagead/ads?";a.goog=
le_ad_url+=3D=0A=
"client=3D"+escape(M(a.google_ad_client))}D("google_ad_host");var =
g=3Da.google_num_slots_by_client,k=3Da.google_num_slots_by_channel,j=3Da.=
google_prev_ad_formats_by_region,l=3Da.google_prev_ad_slotnames_by_region=
;if(a.google_ad_region=3D=3Db&&a.google_ad_section!=3Db){a.google_ad_regi=
on=3Da.google_ad_section}var =
i=3Da.google_ad_region=3D=3Db?"":a.google_ad_region;if(V(f)){if(a.google_=
num_sdo_slots){a.google_num_sdo_slots=3Da.google_num_sdo_slots+1}else{a.g=
oogle_num_sdo_slots=3D1}if(a.google_num_sdo_slots>4){return false}}else =
if(U(a)){if(a.google_num_0ad_slots){a.google_num_0ad_slots=3D=0A=
a.google_num_0ad_slots+1}else{a.google_num_0ad_slots=3D1}if(a.google_num_=
0ad_slots>3){return false}}else =
if(a.google_cpa_choice=3D=3Db){if(a.google_num_ad_slots){a.google_num_ad_=
slots=3Da.google_num_ad_slots+1}else{a.google_num_ad_slots=3D1}if(a.googl=
e_num_slots_to_rotate){j[i]=3Db;l[i]=3Db;if(a.google_num_slot_to_show=3D=3D=
b){a.google_num_slot_to_show=3Dd%a.google_num_slots_to_rotate+1}if(a.goog=
le_num_slot_to_show!=3Da.google_num_ad_slots){return false}}else =
if(a.google_num_ad_slots>6&&i=3D=3D""){return false}}B("dt",e.getTime());=0A=
D("google_language");if(a.google_country){D("google_country")}else{D("goo=
gle_gl")}D("google_region");F("google_city");F("google_hints");D("google_=
safe");D("google_encoding");D("google_last_modified_time");F("google_alte=
rnate_ad_url");D("google_alternate_color");D("google_skip");D("google_tar=
geting");var =
o=3Da.google_ad_client;if(!g[o]){g[o]=3D1;g.length+=3D1}else{g[o]+=3D1}if=
(j[i]){if(!V(f)){E("prev_fmts",j[i].toLowerCase());if(g.length>1){B("slot=
",g[o])}}}if(l[i]){E("prev_slotnames",l[i].toLowerCase())}if(f&&=0A=
!a.google_ad_slot){E("format",f.toLowerCase());if(!V(f)){if(j[i]){j[i]=3D=
j[i]+","+f}else{j[i]=3Df}}}if(a.google_ad_slot){if(l[i]){l[i]=3Dl[i]+","+=
a.google_ad_slot}else{l[i]=3Da.google_ad_slot}}D("google_max_num_ads");B(=
"output",a.google_ad_output);D("google_adtest");D("google_ad_callback");D=
("google_ad_slot");F("google_correlator");if(a.google_ad_channel){F("goog=
le_ad_channel");var q=3D"",r=3Da.google_ad_channel.split("+");for(var =
t=3D0;t<r.length;t++){var =
p=3Dr[t];if(!k[p]){k[p]=3D1}else{q+=3Dp+"+"}}E("pv_ch",q)}F("google_page_=
url");=0A=
G("google_color_bg",d);G("google_color_text",d);G("google_color_link",d);=
G("google_color_url",d);G("google_color_border",d);G("google_color_line",=
d);if(a.google_reuse_colors)B("reuse_colors",1);else =
B("reuse_colors",0);D("google_kw_type");F("google_kw");F("google_contents=
");D("google_num_radlinks");D("google_max_radlink_len");D("google_rl_filt=
ering");D("google_rl_mode");D("google_rt");F("google_rl_dest_url");D("goo=
gle_num_radlinks_per_unit");D("google_ad_type");D("google_image_size");D(=
"google_ad_region");=0A=
D("google_feedback");F("google_referrer_url");F("google_page_location");B=
("frm",a.google_iframing);D("google_bid");D("google_cust_age");D("google_=
cust_gender");D("google_cust_interests");D("google_cust_id");D("google_cu=
st_job");D("google_cust_u_url");D("google_cust_l");D("google_cust_lh");D(=
"google_cust_ch");D("google_ed");F("google_ui_features");F("google_only_a=
ds_with_video");F("google_disable_video_autoplay");if(W(a,c)&&c.body){var=
 =
v=3Dc.body.scrollHeight,s=3Dc.body.clientHeight;if(s&&v){E("cc",Math.roun=
d(s*=0A=
100/v))}}w();B("ga_vid",a.gaGlobal.vid);B("ga_sid",a.gaGlobal.sid);B("ga_=
hid",a.gaGlobal.hid);B("ga_fc",a.gaGlobal.from_cookie);F("google_analytic=
s_webpropids");D("google_ad_override");D("google_flash_version");L(a,e);r=
eturn true}function X(){var =
b=3Dwindow,a=3Ddocument;if(!aa()){return}Q(b,a,b.google_ad_url,null);T(b)=
}function ba(b,a,c){X();return true}function W(b,a){return =
b.top.location=3D=3Da.location}function ca(b,a){var =
c=3Da.documentElement;if(W(b,a))return =
false;if(b.google_ad_width&&b.google_ad_height){var e=3D=0A=
1,d=3D1;if(b.innerHeight){e=3Db.innerWidth;d=3Db.innerHeight}else =
if(c&&c.clientHeight){e=3Dc.clientWidth;d=3Dc.clientHeight}else =
if(a.body){e=3Da.body.clientWidth;d=3Da.body.clientHeight}if(d>2*b.google=
_ad_height||e>2*b.google_ad_width){return false}}return true}function =
da(b){var =
a=3Dwindow,c=3Dnull,e=3Da.onerror;a.onerror=3Db;if(a.google_ad_frameborde=
r=3D=3Dc){a.google_ad_frameborder=3D0}if(a.google_ad_output=3D=3Dc){a.goo=
gle_ad_output=3D"html"}if(V(a.google_ad_format)){var =
d=3Da.google_ad_format.match(/^(\d+)x(\d+)_.*/);if(d){a.google_ad_width=3D=0A=
parseInt(d[1]);a.google_ad_height=3DparseInt(d[2]);a.google_ad_output=3D"=
html"}}if(a.google_ad_format=3D=3Dc&&a.google_ad_output=3D=3D"html"){a.go=
ogle_ad_format=3Da.google_ad_width+"x"+a.google_ad_height}ea(a,document);=
if(a.google_num_slots_by_channel=3D=3Dc){a.google_num_slots_by_channel=3D=
[]}if(a.google_num_slots_by_client=3D=3Dc){a.google_num_slots_by_client=3D=
[]}if(a.google_prev_ad_formats_by_region=3D=3Dc){a.google_prev_ad_formats=
_by_region=3D[]}if(a.google_prev_ad_slotnames_by_region=3D=3Dc){a.google_=
prev_ad_slotnames_by_region=3D=0A=
[]}if(a.google_correlator=3D=3Dc){a.google_correlator=3D(new =
Date).getTime()}if(a.google_adslot_loaded=3D=3Dc){a.google_adslot_loaded=3D=
{}}if(a.google_adContentsBySlot=3D=3Dc){a.google_adContentsBySlot=3D{}}if=
(a.google_flash_version=3D=3Dc){a.google_flash_version=3Dfa()}a.onerror=3D=
e}function ga(b){if(b in Y){return Y[b]}return =
Y[b]=3Dnavigator.userAgent.toLowerCase().indexOf(b)!=3D-1}var =
Y=3D{};function S(b,a){if(b!=3D"html"){return false}var =
c=3D{};c["ca-pub-7027491298716603"]=3Dtrue;c["ca-pub-8344185808443527"]=3D=
true;c["ca-pub-9812682548211238"]=3D=0A=
true;c["ca-pub-4424308218891706"]=3Dtrue;c["ca-pub-6922559858235084"]=3Dt=
rue;c["ca-pub-6477563040863705"]=3Dtrue;c["ca-google"]=3Dtrue;return =
c[M(a)]!=3Dnull}function ha(b){var =
a=3D{},c=3Db.split("?"),e=3Dc[c.length-1].split("&");for(var =
d=3D0;d<e.length;d++){var =
f=3De[d].split("=3D");if(f[0]){try{a[f[0].toLowerCase()]=3Df.length>1?(wi=
ndow.decodeURIComponent?decodeURIComponent(f[1].replace(/\+/g," =
")):unescape(f[1])):""}catch(g){}}}return a}function ia(){var =
b=3Dwindow,a=3Dha(document.URL);if(a.google_ad_override){b.google_ad_over=
ride=3D=0A=
a.google_ad_override}}function =
fa(){if(navigator.plugins&&navigator.mimeTypes.length){var =
b=3Dnavigator.plugins["Shockwave Flash"];if(b&&b.description){return =
b.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s)+r/,".")}}else =
if(navigator.userAgent&&navigator.userAgent.indexOf("Windows =
CE")>=3D0){var a=3D3,c=3D1;while(c){try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+(a+1));a++}catch(e){c=3Dnu=
ll}}return a.toString()}else if(ga("msie")&&!window.opera){var =
c=3Dnull;try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(e){var a=3D=0A=
0;try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");a=3D6;c.AllowScriptAcces=
s=3D"always"}catch(e){if(a=3D=3D6){return a.toString()}}try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}}if(c!=3Dnull){v=
ar a=3Dc.GetVariable("$version").split(" ")[1];return =
a.replace(/,/g,".")}}return"0"}function ja(b,a){for(var c in =
a){b["google_"+c]=3Da[c]}}function Z(b,a){if(!a){return =
b.location}return b.referrer}function =
ka(b,a){if(b.location=3D=3Da){return =
Date.parse(b.lastModified)/1000}else{return null}}=0A=
function la(b,a){if(!a&&b.google_referrer_url=3D=3Dnull){return"0"}else =
if(a&&b.google_referrer_url=3D=3Dnull){return"1"}else =
if(!a&&b.google_referrer_url!=3Dnull){return"2"}else =
if(a&&b.google_referrer_url!=3Dnull){return"3"}return"4"}function =
ma(b,a,c){if(c){return b.google_referrer_url}else =
if(b.google_page_url&&b.google_referrer_url){return =
b.google_referrer_url}else{return a.referrer}}function =
na(b,a,c,e){b.page_url=3DZ(c,e);b.page_location=3Dnull}function =
oa(b,a,c,e){b.page_url=3Da.google_page_url;b.page_location=3D=0A=
Z(c,e)||"EMPTY"}function pa(b,a){var =
c=3D{},e=3Dca(b,a);c.iframing=3Dla(b,e);if(!(!b.google_page_url)){oa(c,b,=
a,e)}else{na(c,b,a,e)}c.last_modified_time=3Dka(a,c.page_url);c.referrer_=
url=3Dma(b,a,e);return c}function qa(b){var =
a=3D{},c=3Db.URL.substring(b.URL.lastIndexOf("http"));a.iframing=3Dnull;a=
.page_url=3Dc;a.page_location=3Db.location;a.last_modified_time=3Dnull;a.=
referrer_url=3Dc;return a}function ea(b,a){var =
c;if(b.google_page_url=3D=3Dnull&&$[a.domain]){c=3Dqa(a)}else{c=3Dpa(b,a)=
}ja(b,c)}var $=3D{};$["ad.yieldmanager.com"]=3D=0A=
true;ia();da(ba);X();=0A=
})()=0A=

------=_NextPart_000_0000_01C87621.7AAF5B50
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.springerlink.com/jsMath/plugins/autoload.js

/*=0A=
 *  autoload.js=0A=
 *  =0A=
 *  Part of the jsMath package for mathematics on the web.=0A=
 *=0A=
 *  This file is a plugin that checks if a page contains any math=0A=
 *  that must be processed by jsMath, and only loads jsMath.js=0A=
 *  when there is.=0A=
 *  =0A=
 *  You can control the items to look for via the variables=0A=
 *  =0A=
 *      jsMath.Autoload.findTeXstrings=0A=
 *      jsMath.Autoload.findLaTeXstrings=0A=
 *      jsMath.Autoload.findCustomStrings=0A=
 *      jsMath.Autoload.findCustomSettings=0A=
 *  =0A=
 *  which control whether to look for TeX strings that will be converted=0A=
 *  by jsMath.ConvertTeX(), or LaTeX strings that will be converted by=0A=
 *  jsMath.ConvertLaTeX().  By default, the first is true and the second=0A=
 *  and third are false.  The findCustomStrings can be used to specify =
your=0A=
 *  own delimiters for in-line and display mathematics, e.g.=0A=
 *  =0A=
 *      jsMath.Autoload.findCustomStrings =3D [=0A=
 *         '[math],'[/math]',          // start and end in-line math=0A=
 *         '[display]','[/display]'    // start and end display math=0A=
 *      ];=0A=
 *  =0A=
 *  Finally, findCustomSettings can be set to an object reference whose=0A=
 *  name:value pairs control the individual search settings for =
tex2math.  =0A=
 *  (See the plugins/tex2math.js file for more details).=0A=
 *  =0A=
 *  If any math strings are found, jsMath.js will be loaded =
automatically, =0A=
 *  but not loaded otherwise.  If any of the last four are set and TeX =
math=0A=
 *  strings are found, then plugins/tex2ath.js will be loaded=0A=
 *  automatically.  jsMath.Autoload.needsJsMath will be set to true or=0A=
 *  false depending on whether jsMath needed to be loaded.=0A=
 *  =0A=
 *  The value of jsMath.Autoload.element controls the element to be=0A=
 *  searched by the autoload plug-in.  If unset, the complete document =
will=0A=
 *  be searched.  If set to a string, the element with that name will be=0A=
 *  searched.  If set to a DOM object, that object and its children will=0A=
 *  be searched.=0A=
 *  =0A=
 *  Finally, there are two additional parameters that control files to=0A=
 *  be loaded after jsMath.js, should it be needed.  These are=0A=
 *  =0A=
 *      jsMath.Autoload.loadFonts=0A=
 *      jsMath.Autoload.loadFiles=0A=
 *  =0A=
 *  If jsMath.js is loaded, the fonts contained in the loadFonts array=0A=
 *  will be loaded, and the JavaScript files listed in the loadFiles =
array=0A=
 *  will be run.  Relative URL's are loaded based from the URL containing=0A=
 *  jsMath.js.=0A=
 *  =0A=
 *  The autoload plugin can be loaded in the document HEAD or in the =
BODY. =0A=
 *  If it is loaded in the HEAD, you will need to call =
jsMath.Autoload.Check()=0A=
 *  at the end of the BODY (say in the window.onload handler) in order to=0A=
 *  get it to check the page for math that needs to be tagged, otherwise =
load=0A=
 *  the file at the bottom of the BODY and it will run the check =
automatically.=0A=
 *=0A=
 *  You can call jsMath.Autoload.Run() after the check has been performed=0A=
 *  in order to call the appropriate tex2math routines for the given =
Autoload=0A=
 *  settings.  You can call jsMath.Autoload.Run() even when jsMath isn't =
loaded.=0A=
 *  =0A=
 *  ---------------------------------------------------------------------=0A=
 *=0A=
 *  Copyright 2004-2006 by Davide P. Cervone=0A=
 * =0A=
 *  Licensed under the Apache License, Version 2.0 (the "License");=0A=
 *  you may not use this file except in compliance with the License.=0A=
 *  You may obtain a copy of the License at=0A=
 * =0A=
 *      http://www.apache.org/licenses/LICENSE-2.0=0A=
 * =0A=
 *  Unless required by applicable law or agreed to in writing, software=0A=
 *  distributed under the License is distributed on an "AS IS" BASIS,=0A=
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or =
implied.=0A=
 *  See the License for the specific language governing permissions and=0A=
 *  limitations under the License.=0A=
 */=0A=
=0A=
/************************************************************************=
*/=0A=
=0A=
/*=0A=
 *  Make sure jsMath.Autoload is available=0A=
 */=0A=
if (!window.jsMath) {window.jsMath =3D {}}=0A=
if (jsMath.Autoload =3D=3D null) {jsMath.Autoload =3D {}}=0A=
jsMath.Add =3D function (dst,src) {for (var id in src) {dst[id] =3D =
src[id]}},=0A=
jsMath.document =3D document; // tex2math needs this=0A=
=0A=
jsMath.Add(jsMath.Autoload,{=0A=
  =0A=
  Script: {=0A=
=0A=
    request: null,  // XMLHttpRequest object (if we can get it)=0A=
    iframe: null,   // the hidden iframe (if not)=0A=
=0A=
    /*=0A=
     *  Get XMLHttpRequest object, if possible, and look up the URL root=0A=
     */=0A=
    Init: function () {=0A=
      if (window.XMLHttpRequest) {try {this.request =3D new =
XMLHttpRequest} catch (err) {}}=0A=
      if (!this.request && window.ActiveXObject) {=0A=
        var xml =3D =
["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0",=0A=
                   "MSXML2.XMLHTTP","Microsoft.XMLHTTP"];=0A=
        for (var i =3D 0; i < xml.length && !this.request; i++) {=0A=
          try {this.request =3D new ActiveXObject(xml[i])} catch (err) {}=0A=
        }=0A=
      }=0A=
      this.Root();=0A=
    },=0A=
=0A=
    /*=0A=
     *  Load an external JavaScript file=0A=
     */=0A=
    Load: function (url) {=0A=
      if (this.request) {=0A=
        setTimeout(function () {jsMath.Autoload.Script.xmlLoad(url)},1);=0A=
      } else {=0A=
        this.startLoad(url);=0A=
      }=0A=
    },=0A=
=0A=
    /*=0A=
     *  Load an external JavaScript file via XMLHttpRequest=0A=
     */=0A=
    xmlLoad: function (url) {=0A=
      try {=0A=
        this.request.open("GET",jsMath.Autoload.root+url,false);=0A=
        this.request.send(null);=0A=
      } catch (err) {=0A=
        throw "autoload: can't load the file '"+url+"'\n"=0A=
            + "Message: "+err.message;=0A=
      }=0A=
      if (this.request.status && this.request.status >=3D 400) {=0A=
        throw "autoload: can't load the file '"+url+"'\n"=0A=
            + "Error status: "+this.request.status;=0A=
      }=0A=
      window.eval(this.request.responseText);=0A=
      this.endLoad();=0A=
    },=0A=
=0A=
    /*=0A=
     *  Load an external JavaScript file via jsMath-autoload.html=0A=
     */=0A=
    startLoad: function (url) {=0A=
      this.iframe =3D document.createElement('iframe');=0A=
      this.iframe.style.visibility =3D 'hidden';=0A=
      this.iframe.style.position =3D 'absolute';=0A=
      this.iframe.style.width  =3D '0px';=0A=
      this.iframe.style.height =3D '0px';=0A=
      if (document.body.firstChild) {=0A=
        document.body.insertBefore(this.iframe,document.body.firstChild);=0A=
      } else {=0A=
        document.body.appendChild(this.iframe);=0A=
      }=0A=
      this.url =3D url; =
setTimeout('jsMath.Autoload.Script.setURL()',100);=0A=
    },=0A=
    endLoad: function () =
{setTimeout('jsMath.Autoload.Script.AfterLoad()',1)},=0A=
=0A=
    /*=0A=
     *  Use location.replace() to avoid browsers placing the file in=0A=
     *  the history (and messing up the BACK button action).  Not=0A=
     *  completely effective in Firefox 1.0.x.  Safari won't handle=0A=
     *  replace() if the document is local (not sure if that's really=0A=
     *  the issue, but that's the only time I see it).=0A=
     */=0A=
    setURL: function () {=0A=
      var url =3D jsMath.Autoload.root+"jsMath-autoload.html";=0A=
      var doc =3D this.iframe.contentDocument;=0A=
      if (!doc && this.iframe.contentWindow) {doc =3D =
this.iframe.contentWindow.document}=0A=
      if (navigator.vendor =3D=3D "Apple Computer, Inc." &&=0A=
          document.location.protocol =3D=3D 'file:') {doc =3D null}=0A=
      if (doc) {doc.location.replace(url)} else {this.iframe.src =3D url}=0A=
    },=0A=
=0A=
    /*=0A=
     *  Queue items that need to be postponed until jsMath has run=0A=
     */=0A=
    queue: [],=0A=
    Push: function (name,data) {this.queue[this.queue.length] =3D =
[name,data]},=0A=
    RunStack: function () {=0A=
      if (this.tex2math) {jsMath.Autoload.Check2(); return}=0A=
      for (var i =3D 0; i < this.queue.length; i++) {=0A=
        var name =3D this.queue[i][0];=0A=
        var data =3D this.queue[i][1];=0A=
        if (data.length =3D=3D 1) {jsMath[name](data[0])}=0A=
          else {jsMath[name](data[0],data[1],data[2],data[3])}=0A=
      }=0A=
     this.queue =3D [];=0A=
    },=0A=
  =0A=
    AfterLoad: function () {jsMath.Autoload.Script.RunStack()},=0A=
=0A=
    /*=0A=
     *  Look up the jsMath root directory, if it is not already supplied=0A=
     */=0A=
    Root: function () {=0A=
      if (jsMath.Autoload.root) return;=0A=
      var script =3D document.getElementsByTagName('script');=0A=
      if (script) {=0A=
        for (var i =3D 0; i < script.length; i++) {=0A=
          var src =3D script[i].src;=0A=
          if (src && src.match('(^|/)plugins/autoload.js$')) {=0A=
            jsMath.Autoload.root =3D =
src.replace(/plugins\/autoload.js$/,'');=0A=
            break;=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
  },=0A=
  =0A=
  /**************************************************************/=0A=
  =0A=
  /*=0A=
   *  Load tex2math first (so we can call its search functions=0A=
   *  to look to see if anything needs to be turned into math)=0A=
   *  if it is needed, otherwise go on to the second check.=0A=
   */=0A=
  Check: function () {=0A=
    if (this.checked) return; this.checked =3D 1;=0A=
    if ((this.findTeXstrings || this.findLaTeXstrings ||=0A=
         this.findCustomStrings || this.findCustomSettings) &&=0A=
         (!jsMath.tex2math || !jsMath.tex2math.loaded)) {=0A=
      this.Script.tex2math =3D 1;=0A=
      this.Script.Load('plugins/tex2math.js');=0A=
    } else {=0A=
      if (!jsMath.tex2math) {jsMath.tex2math =3D {}}=0A=
      this.Check2();=0A=
    }=0A=
  },=0A=
  ReCheck: function () {=0A=
    if (jsMath.loaded) return;=0A=
    this.InitStubs();=0A=
    this.checked =3D 0;=0A=
    this.Script.queue =3D [];=0A=
    this.Check();=0A=
  },=0A=
=0A=
  /*=0A=
   *  Once tex2math is loaded, use it to check for math that=0A=
   *  needs to be tagged for jsMath, and load jsMath if it is needed=0A=
   */=0A=
  Check2: function () {=0A=
    this.Script.tex2math =3D 0; this.needsJsMath =3D 0;=0A=
    if (this.checkElement =3D=3D null) {this.checkElement =3D null}=0A=
=0A=
    if (this.findTeXstrings)     =
{jsMath.tex2math.ConvertTeX(this.checkElement)}=0A=
    if (this.findLaTeXstrings)   =
{jsMath.tex2math.ConvertLaTeX(this.checkElement)}=0A=
    if (this.findCustomSettings) =
{jsMath.tex2math.Convert(this.checkElement,this.findCustomSettings)}=0A=
    if (this.findCustomStrings)  {=0A=
      var s =3D this.findCustomStrings;=0A=
      jsMath.tex2math.CustomSearch(s[0],s[1],s[2],s[3]);=0A=
      jsMath.tex2math.ConvertCustom(this.checkElement);=0A=
    }=0A=
=0A=
    this.needsJsMath =3D this.areMathElements(this.checkElement);=0A=
    if (this.needsJsMath) {=0A=
      this.LoadJsMath();=0A=
    } else {=0A=
      jsMath.Process =3D function () {};=0A=
      jsMath.ProcessBeforeShowing =3D function () {};=0A=
      jsMath.ConvertTeX =3D function () {};=0A=
      jsMath.ConvertTeX2 =3D function () {};=0A=
      jsMath.ConvertLaTeX =3D function () {};=0A=
      jsMath.ConvertCustom =3D function () {};=0A=
      jsMath.CustomSearch =3D function () {};=0A=
      jsMath.Macro =3D function () {};=0A=
      jsMath.Synchronize =3D function (code,data) {=0A=
        if (typeof(code) =3D=3D 'string') {eval(code)} else {code(data)}=0A=
      };=0A=
      jsMath.Autoload.Script.RunStack(); // perform pending commands=0A=
      jsMath.Autoload.setMessage();=0A=
    }=0A=
  },=0A=
=0A=
  /*=0A=
   *  A callback used in the tex2math searches to signal that=0A=
   *  some math has been found.=0A=
   */=0A=
  tex2mathCallback: function () {=0A=
    jsMath.Autoload.needsJsMath =3D 1;=0A=
    return false;=0A=
  },=0A=
=0A=
  /*=0A=
   *  jsMath.Autoload.Run() is now longer needed=0A=
   */=0A=
  Run: function (data) {},=0A=
=0A=
  /*=0A=
   *  Look to see if there are SPAN or DIV elements of class "math".=0A=
   */=0A=
  areMathElements: function (obj) {=0A=
    if (!obj) {obj =3D document}=0A=
    if (typeof(obj) =3D=3D 'string') {obj =3D =
document.getElementById(obj)}=0A=
    if (!obj.getElementsByTagName) {return false}=0A=
    var math =3D obj.getElementsByTagName('div');=0A=
    for (var k =3D 0; k < math.length; k++) =0A=
      {if (math[k].className.match(/(^| )math( |$)/)) {return true}}=0A=
    math =3D obj.getElementsByTagName('span');=0A=
    for (var k =3D 0; k < math.length; k++) =0A=
      {if (math[k].className.match(/(^| )math( |$)/)) {return true}}=0A=
    return false;=0A=
  },=0A=
=0A=
  /*=0A=
   *  When math tags are found, load the jsMath.js file,=0A=
   *  and afterward, load any auxiliary files or fonts,=0A=
   *  and then do any pending commands.=0A=
   */=0A=
  LoadJsMath: function () {=0A=
    if (this.loading) return;=0A=
    if (jsMath.loaded) {this.afterLoad(); return}=0A=
    if (this.root) {=0A=
      this.loading =3D 1;=0A=
      this.setMessage('Loading jsMath...');=0A=
      this.Script.AfterLoad =3D this.afterLoad;=0A=
      this.Script.Load('jsMath.js');=0A=
    } else {=0A=
      alert("Can't determine URL for jsMath.js");=0A=
    }=0A=
  },=0A=
  afterLoad: function () {=0A=
    jsMath.Autoload.loading =3D 0;=0A=
    if (jsMath.tex2math.window) {jsMath.tex2math.window.jsMath =3D =
jsMath}=0A=
    //=0A=
    //  Handle MSIE bug where jsMath.window both is and is not the =
actual window=0A=
    //=0A=
    if (jsMath.browser =3D=3D 'MSIE') {window.onscroll =3D =
jsMath.window.onscroll};=0A=
    var fonts =3D jsMath.Autoload.loadFonts;=0A=
    if (fonts) {=0A=
      if (typeof(fonts) !=3D 'object') {fonts =3D [fonts]}=0A=
      for (var i =3D 0; i < fonts.length; i++) =
{jsMath.Font.Load(fonts[i])}=0A=
    }=0A=
    var files =3D jsMath.Autoload.loadFiles;=0A=
    if (files) {=0A=
      if (typeof(files) !=3D 'object') {files =3D [files]}=0A=
      for (var i =3D 0; i < files.length; i++) =
{jsMath.Setup.Script(files[i])}=0A=
    }=0A=
    jsMath.Synchronize(function () {jsMath.Autoload.Script.RunStack()});=0A=
    jsMath.Autoload.setMessage();=0A=
  },=0A=
=0A=
  /*=0A=
   *  Display a message in a small box at the bottom of the screen=0A=
   */=0A=
  setMessage: function (message) {=0A=
    return true;=0A=
    if (message) {=0A=
      this.div =3D document.createElement('div');=0A=
      if (!document.body.hasChildNodes) =
{document.body.appendChild(this.div)}=0A=
        else =
{document.body.insertBefore(this.div,document.body.firstChild)}=0A=
      var style =3D {=0A=
        position:'fixed', bottom:'1px', left:'2px',=0A=
        backgroundColor:'#E6E6E6', border:'solid 1px #959595',=0A=
        margin:'0px', padding:'1px 8px', zIndex:102,=0A=
        color:'black', fontSize:'75%', width:'auto'=0A=
      };=0A=
      for (var id in style) {this.div.style[id] =3D style[id]}=0A=
      this.div.appendChild(jsMath.document.createTextNode(message));=0A=
    } else if (this.div) {=0A=
      this.div.firstChild.nodeValue =3D "";=0A=
      this.div.style.visibility =3D 'hidden';=0A=
    }=0A=
  },=0A=
=0A=
  /*=0A=
   *  Queue these so we can do them after jsMath has been loaded=0A=
   */=0A=
  stubs: {=0A=
    Process: function (data) =
{jsMath.Autoload.Script.Push('Process',[data])},=0A=
    ProcessBeforeShowing: function (data) =
{jsMath.Autoload.Script.Push('ProcessBeforeShowing',[data])},=0A=
    ConvertTeX: function (data) =
{jsMath.Autoload.Script.Push('ConvertTeX',[data])},=0A=
    ConvertTeX2: function (data) =
{jsMath.Autoload.Script.Push('ConvertTeX2',[data])},=0A=
    ConvertLaTeX: function (data) =
{jsMath.Autoload.Script.Push('ConvertLaTeX',[data])},=0A=
    ConvertCustom: function (data) =
{jsMath.Autoload.Script.Push('ConvertCustom',[data])},=0A=
    CustomSearch: function (d1,d2,d3,d4) =
{jsMath.Autoload.Script.Push('CustomSearch',[d1,d2,d3,d4])},=0A=
    Synchronize: function (data) =
{jsMath.Autoload.Script.Push('Synchronize',[data])},=0A=
    Macro: function (cs,def,params) =
{jsMath.Autoload.Script.Push('Macro',[cs,def,params])}=0A=
  },=0A=
=0A=
  InitStubs: function () {jsMath.Add(jsMath,jsMath.Autoload.stubs)}=0A=
  =0A=
});=0A=
=0A=
/*=0A=
 *  Initialize=0A=
 */=0A=
=0A=
if (jsMath.Autoload.findTeXstrings =3D=3D null)   =
{jsMath.Autoload.findTeXstrings =3D 0}=0A=
if (jsMath.Autoload.findLaTeXstrings =3D=3D null) =
{jsMath.Autoload.findLaTeXstrings =3D 0}=0A=
=0A=
jsMath.Autoload.Script.Init();=0A=
jsMath.Autoload.InitStubs();=0A=
if (document.body) {jsMath.Autoload.Check()}=0A=

------=_NextPart_000_0000_01C87621.7AAF5B50--

