From: <Saved by Windows Internet Explorer 7>
Subject: American Museum of Natural History | R e s o u r c e s f o r L e a r n i n g
Date: Wed, 28 Jan 2009 13:33:03 -0500
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_006D_01C9814C.F223F470"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/education/resources/images/card_logo.gif

R0lGODlhhgAaAMQAAP+nI//////YnISkr2+Uov7rzv704/7IdLPGzf62Sdnj5v/58efu8PD09v//
/cPS2OLq7ezx8/T2+Z+3wP/8+M/c4fn5+vb6+v3//vn7/fr8+f/9/vv/+/X39/v9/Pz8/SH5BAAA
AAAALAAAAACGABoAAAX/YCCOZGmeaKqubOu+MDY6cF1HA2STdNDvQJRjGCyqGjmSrIbZDH/GaGAj
rSJ1QVoPWgXKlt3gtUichW1g89k2FqVdmB93zXJgmoE33dXe/fR7KxcRERmBO31ZC3OHKAQDAwQV
VI18SXk2PQUABoyVJAQKARMENBYaFoYOERAfIg4dCh0jH5QZrg4ZqWUNChkyqRcfMgw6NG0OCxoL
FK8FBTMUylCbBiMYFNLNAQudItmL33ZDzQ4UlOXmmAEGBdYiBDoIBBsajwMPo5ADqfOQCA48TEAg
YqADBffyWZiwT0GEhB8Q7PMQYMwGAwAAJDgQYFMCjdYwZjxAgQYHjAa+/2zSKGDIAQALfAjQCKAA
BQEJFmDA6VJAAAoAODpIAG3Dy48cAxAYSIDgFQkdGkgKUCHAg6kVpg6YUJBghQESrkqQCGFDBVYE
GDTwwCDUhwoaKg5gYGeTu25BpX3syMmuJk6vZhowEHNBRp9GDxhIkMCoRgczqSRoabjm0AIYXhZw
8KzZ0qY+LjyacIsUwQz4XpEKMOD0QAwIETBsK8oHBgj3GCxs7cTBGAoeE9wEkIcCSowHXr4zDthH
8JgHJgOg8XLmAQfRN24SMZndRgAUiAYA4DMOBRnxJMbtsBSBBRFfB7AmGIehg9YZHEzgGp+ABHuT
jIDQQBFwsMEDkPjQhv9HJM0UE1+D0SRASSJsElMTmyTHTEYfWROdRjJEl2ECNHS3WADZQRPUEAWQ
pJQCG2yFAXsMXCDBWBwgZMFVFViQVQUfMJQBbqJ8pdQDGMwDQQcQZIBQBB1Y0AACGlyVwQZXbAAc
TCIYlhNGCUC4kRZ8ubOZg4vMJIB1KApQDQXRQZaRDJNhgNGGnAw34UsiDCCKAjl8sI97+zzgQZKF
HhPJVq4oMEGOc20gESQMMDAoDv8omIMM1dBg50dBhZRAhND4sBhNz2RUkwBJFdBYcti9egA20TVz
gE+LUVGNTDRdF4AEWjQgQUUNRDDsBsbOkAEDHkABAQMjaNBAHgVi8IFyBAy4gkGxDcwSQLIijGHO
AlSQOdg20tCwQDjYrHsuN91o40MyPoRjzbrfPMiMAxs8+FMzHJgzmCeftHAFIEIIQfAhCxfMQhsI
OyzxxAe7MfHFGMuFRcYcSwxxxyA3kkjIJK8xcskoSyHBXBGn7PLLDocAADs=

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/education/resources/images/info.gif

R0lGODlhKQALAMQAAEVufou2wwAAAJqxuf///3eVoM3Y3I+nsVyAjlF3hufs7vP19oOeqdvj5qm8
w7XFy2iJlsHP1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAApAAsAAAWtYCCOZGmeqAmsbOu+cMwKAVAMA8PiwwHwOMTKt0IMbMTV7ZAA0H6KQaOx
Ijx6v4F1IEQQhDbCz8BiLAaG5hMNSCx8hIIrznIQHEoxezVQNFdrZAAGRwQEglVyKwoHCnljLAkG
jIA1e1EAdC2aZgULOgV6iCsMBD6BPwtCmiyaEQqTEWGQRUINR2uGDYqGh61yCQQQABAECaE/vQae
h2o1MtDRMQLU1dbX2Nna2CEAOw==

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/education/resources/images/close.gif

R0lGODlhKQALAMQAAEVufou2wwAAAP///5qxuXeVoFF3ho+nsc3Y3Ofs7tvj5vP19lyAjmiJloOe
qam8w7XFy8HP1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAApAAsAAAWcYCCOZGmeqAmsbOu+cMwKwWsQRAEwhFsQB8PqFwTggC+ay6BAECCAwqBF
SBAQCoBjcRUOIEiXsvXIsqQsw0AHWByqwtU6NmY5W+jhdOU0IBIHcgMIMHUrEQ94ewANA3EKPVoD
gXOFNS0HCw0AgXkrVpwDDKMAkACVSZdkC4MGUgOwjAkDCQ5RrAhesIRiqjK/wEkCw8TFxsfIycYh
ADs=

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/education/resources/images/spacer.gif

R0lGODlhAQABAJH/AP///wAAAP///wAAACH/C0FET0JFOklSMS4wAt7tACH5BAEAAAIALAAAAAAB
AAEAAAICVAEAOw==

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/education/resources/style/styles.css

BODY {
	MARGIN: 0px; COLOR: #006; FONT-FAMILY: =
Verdana,Geneva,Helvetica,Arial,sans-serif; BACKGROUND-COLOR: #006
}
A {
	COLOR: #369
}
.nav_box {
	BORDER-RIGHT: white 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: white =
1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 10px; =
BORDER-LEFT: white 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: white =
1px solid; TEXT-ALIGN: center
}
.nav_box A {
	COLOR: #fff
}
.leftnav {
	PADDING-LEFT: 1em
}
.small {
	FONT: 9px verdana, arial, sans-serif; COLOR: #369
}
.searchFailure {
	FONT: bold 13px verdana, arial, sans-serif; WIDTH: 500px; COLOR: #000
}
.whiteTitle {
	FONT: bold 11px verdana, arial, sans-serif; COLOR: #fff
}
.blueTitle {
	FONT: bold 11px verdana, arial, sans-serif; COLOR: #369
}
.brTitle {
	FONT: bold 12px verdana, arial, sans-serif; COLOR: #369
}
.details {
	FONT: 10px verdana, arial, sans-serif; COLOR: #000
}
.brDesc {
	FONT: 10px verdana, arial, sans-serif; COLOR: #000
}
.brType {
	FONT: bold italic 10px verdana, arial, sans-serif; COLOR: #000
}
.orangeBoldSmall {
	FONT: bold 10px verdana, arial, sans-serif; COLOR: #ff9900
}
.brGradeLevel {
	FONT: bold 10px verdana, arial, sans-serif; COLOR: #000
}
.brForTeacher {
	FONT: italic 12px verdana, arial, sans-serif; COLOR: #369
}
.brTopic {
	FONT: 12px verdana, arial, sans-serif; COLOR: #369
}
.brGroupHeaders {
	FONT: bold italic 16px verdana, arial, sans-serif; COLOR: #cccc99
}
.blueBold {
	FONT: bold 10px verdana, arial, sans-serif; COLOR: #000
}
.blueReg {
	FONT: 10px verdana, arial, sans-serif; COLOR: #000
}
.smallNavBar {
	MARGIN: 0px 10px 10px 0px; FONT: 10px verdana, arial, sans-serif; =
COLOR: #366
}
.whiteBold {
	FONT: bold 10px verdana, arial, sans-serif; COLOR: #ffffff
}
.whiteReg {
	FONT: 10px verdana, arial, sans-serif; COLOR: #ffffff
}
.special_comment {
	FONT: italic 10px verdana, arial, sans-serif; COLOR: #000000
}
.search {
	FONT-SIZE: 10px; COLOR: #fff; FONT-FAMILY: verdana, Arial, sans-serif; =
BACKGROUND-COLOR: #75a1ae
}
.search2 {
	FONT-SIZE: 10px; COLOR: #fff; FONT-FAMILY: verdana, Arial, sans-serif; =
BACKGROUND-COLOR: #ff9900; FONT-VARIANT: small-caps
}

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0078_01C9814C.F22B2060"


------=_NextPart_001_0078_01C9814C.F22B2060
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/education/resources/card_frame.php?rid=950&rurlid=907

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<!--// _qry.php //--><!--// _functions.php =
//--><HTML><HEAD><TITLE>American Museum of Natural History | R e s o u r =
c e s f o r L e a r n i n g</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dwindows-1252"><!-- frames -->
<META content=3D"MSHTML 6.00.6000.16788" =
name=3DGENERATOR></HEAD><FRAMESET border=3D0=20
frameSpacing=3D0 rows=3D34,*,20><FRAME name=3Drfl_banner marginWidth=3D0 =
marginHeight=3D0=20
src=3D"http://www.amnh.org/education/resources/card_banner.php?rid=3D950&=
amp;rurlid=3D907&amp;rurl=3Dhttp%3A%2F%2Fwww.amnh.org%2Fology%2Fslowing_t=
he_flow"=20
frameBorder=3D0 scrolling=3Dno><FRAME name=3Drfl_resource =
marginWidth=3D0 marginHeight=3D0=20
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/flow_main.php"=
=20
frameBorder=3D0><FRAME name=3Drfl_url marginWidth=3D0 marginHeight=3D0=20
src=3D"http://www.amnh.org/education/resources/card_footer.php?rid=3D950&=
amp;rurlid=3D907&amp;rurl=3Dhttp%3A%2F%2Fwww.amnh.org%2Fology%2Fslowing_t=
he_flow"=20
frameBorder=3D0 scrolling=3Dno></FRAMESET></HTML>

------=_NextPart_001_0078_01C9814C.F22B2060
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/education/resources/card_banner.php?rid=950&rurlid=907&rurl=http%3A%2F%2Fwww.amnh.org%2Fology%2Fslowing_the_flow

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--// _qry.php //--><HTML><HEAD><TITLE>RfL-Slowing the Flow</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dwindows-1252"><LINK=20
href=3D"http://www.amnh.org/education/resources/style/styles.css" =
type=3Dtext/css=20
rel=3DSTYLESHEET>
<META content=3D"MSHTML 6.00.6000.16788" name=3DGENERATOR></HEAD>
<BODY leftMargin=3D0 topMargin=3D0 marginwidth=3D"0" marginheight=3D"0">
<TABLE cellSpacing=3D0 cellPadding=3D4 width=3D"100%" bgColor=3D#538190 =
border=3D0>
  <TBODY>
  <TR>
    <TD align=3Dmiddle width=3D151 bgColor=3D#ffffff><IMG height=3D26=20
      =
src=3D"http://www.amnh.org/education/resources/images/card_logo.gif"=20
      width=3D134 border=3D0></TD>
    <TD class=3DwhiteBold vAlign=3Dcenter bgColor=3D#538190>Slowing the =
Flow </TD>
    <TD bgColor=3D#538190><A=20
      =
href=3D"http://www.amnh.org/education/resources/card_index.php?rid=3D950"=
=20
      target=3D_top><IMG alt=3Dinfo=20
      src=3D"http://www.amnh.org/education/resources/images/info.gif"=20
      border=3D0></A><BR><A onclick=3Dtop.close();=20
      =
href=3D"http://www.amnh.org/education/resources/card_banner.php?rid=3D950=
&amp;rurlid=3D907&amp;rurl=3Dhttp%3A%2F%2Fwww.amnh.org%2Fology%2Fslowing_=
the_flow#"><IMG=20
      alt=3Dclose =
src=3D"http://www.amnh.org/education/resources/images/close.gif"=20
      border=3D0></A></TD></TR>
  <TR>
    <TD><IMG height=3D1=20
      src=3D"http://www.amnh.org/education/resources/images/spacer.gif"=20
    width=3D151></TD>
    <TD><IMG height=3D1=20
      src=3D"http://www.amnh.org/education/resources/images/spacer.gif"=20
    width=3D400></TD>
    <TD><IMG height=3D1=20
      src=3D"http://www.amnh.org/education/resources/images/spacer.gif"=20
    width=3D25></TD></TR></TBODY></TABLE></BODY></HTML>

------=_NextPart_001_0078_01C9814C.F22B2060--

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/ology/features/stufftodo_marine/images/title_flow.gif

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

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/ology/features/stufftodo_marine/images/spacer.gif

R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/ology/features/stufftodo_marine/images/flow_main.gif

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
agABCOVJ4iWHmOEMBMBlCuZgFqZiOibKSRqOrcANuOZrdiXKxOYBzGZt0uZt2ibKvOZutuZqopxj
ml1iEmZpdkYHBGQ1fqVHNIAZHgC5kSZx6iLaJWZvqNxq7qZt2mV2aud2cmd3eud3gmd4emdt6uYN
rGbLSSZlPidGMsoKdCVyfmZHLKcL2KVzlqZ0dgB1aiKOmdtsiud/2iV9CqgZEmiBGuiBImiCKihz
CmiAAuh3diVv9h/uqWcvHmak3UB2emZ8KidzNqdjgmhj8meGvueDOuiCFuhypl/6qWCLGqj8iqrg
isrojNLoisYojM7nixIoi7ooio6igz5oeU4ozJXoSSanGfEofWpnbuJmkzIpdv7ngB4ojPaoitJo
StYoC/JSSn6mhnwlZtRomLoolSrojwZpk2rnjnIokuaoibqphlajjo5pmBIkmK7pneJpnm4pR/Dp
jMZoi+ZogZopeKqpns6LjaJooi7ofDLqjHLpoxpqpErqpBIlmIYpj5IpgloppT7KpXrqp16pl3Lq
qJJqqeopqK6oqarqqrJqq7rqq8JqrMrqrNJqrdrqreJqrurqrvJqr/rqrwJrsArrsBJrsRrrsSJr
sirrsjJrszrrs0JrtErrtFIrpwYBADs=

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/ology/cards/images/asterisk.gif

R0lGODlhCwAKAIABAP8AAP///yH5BAEAAAEALAAAAAALAAoAAAIUjI8ZoLsM2IlUokoNjmpfCDVW
oxQAOw==

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/ology/features/stufftodo_marine/images/flow_need_off.gif

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

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/ology/features/stufftodo_marine/images/flow_do_off.gif

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

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/ology/features/stufftodo_marine/images/flow_mainsub.gif

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

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.amnh.org/ology/features/stufftodo_marine/images/back_claw.gif

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

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/ology/lib/jquery.js

(function(){=0A=
/*=0A=
 * jQuery 1.2.3 - New Wave Javascript=0A=
 *=0A=
 * Copyright (c) 2008 John Resig (jquery.com)=0A=
 * Dual licensed under the MIT (MIT-LICENSE.txt)=0A=
 * and GPL (GPL-LICENSE.txt) licenses.=0A=
 *=0A=
 * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $=0A=
 * $Rev: 4663 $=0A=
 */=0A=
=0A=
// Map over jQuery in case of overwrite=0A=
if ( window.jQuery )=0A=
	var _jQuery =3D window.jQuery;=0A=
=0A=
var jQuery =3D window.jQuery =3D function( selector, context ) {=0A=
	// The jQuery object is actually just the init constructor 'enhanced'=0A=
	return new jQuery.prototype.init( selector, context );=0A=
};=0A=
=0A=
// Map over the $ in case of overwrite=0A=
if ( window.$ )=0A=
	var _$ =3D window.$;=0A=
	=0A=
// Map the jQuery namespace to the '$' one=0A=
window.$ =3D jQuery;=0A=
=0A=
// A simple way to check for HTML strings or ID strings=0A=
// (both of which we optimize for)=0A=
var quickExpr =3D /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;=0A=
=0A=
// Is it a simple selector=0A=
var isSimple =3D /^.[^:#\[\.]*$/;=0A=
=0A=
jQuery.fn =3D jQuery.prototype =3D {=0A=
	init: function( selector, context ) {=0A=
		// Make sure that a selection was provided=0A=
		selector =3D selector || document;=0A=
=0A=
		// Handle $(DOMElement)=0A=
		if ( selector.nodeType ) {=0A=
			this[0] =3D selector;=0A=
			this.length =3D 1;=0A=
			return this;=0A=
=0A=
		// Handle HTML strings=0A=
		} else if ( typeof selector =3D=3D "string" ) {=0A=
			// Are we dealing with HTML string or an ID?=0A=
			var match =3D quickExpr.exec( selector );=0A=
=0A=
			// Verify a match, and that no context was specified for #id=0A=
			if ( match && (match[1] || !context) ) {=0A=
=0A=
				// HANDLE: $(html) -> $(array)=0A=
				if ( match[1] )=0A=
					selector =3D jQuery.clean( [ match[1] ], context );=0A=
=0A=
				// HANDLE: $("#id")=0A=
				else {=0A=
					var elem =3D document.getElementById( match[3] );=0A=
=0A=
					// Make sure an element was located=0A=
					if ( elem )=0A=
						// Handle the case where IE and Opera return items=0A=
						// by name instead of ID=0A=
						if ( elem.id !=3D match[3] )=0A=
							return jQuery().find( selector );=0A=
=0A=
						// Otherwise, we inject the element directly into the jQuery object=0A=
						else {=0A=
							this[0] =3D elem;=0A=
							this.length =3D 1;=0A=
							return this;=0A=
						}=0A=
=0A=
					else=0A=
						selector =3D [];=0A=
				}=0A=
=0A=
			// HANDLE: $(expr, [context])=0A=
			// (which is just equivalent to: $(content).find(expr)=0A=
			} else=0A=
				return new jQuery( context ).find( selector );=0A=
=0A=
		// HANDLE: $(function)=0A=
		// Shortcut for document ready=0A=
		} else if ( jQuery.isFunction( selector ) )=0A=
			return new jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( =
selector );=0A=
=0A=
		return this.setArray(=0A=
			// HANDLE: $(array)=0A=
			selector.constructor =3D=3D Array && selector ||=0A=
=0A=
			// HANDLE: $(arraylike)=0A=
			// Watch for when an array-like object, contains DOM nodes, is passed =
in as the selector=0A=
			(selector.jquery || selector.length && selector !=3D window && =
!selector.nodeType && selector[0] !=3D undefined && =
selector[0].nodeType) && jQuery.makeArray( selector ) ||=0A=
=0A=
			// HANDLE: $(*)=0A=
			[ selector ] );=0A=
	},=0A=
	=0A=
	// The current version of jQuery being used=0A=
	jquery: "1.2.3",=0A=
=0A=
	// The number of elements contained in the matched element set=0A=
	size: function() {=0A=
		return this.length;=0A=
	},=0A=
	=0A=
	// The number of elements contained in the matched element set=0A=
	length: 0,=0A=
=0A=
	// Get the Nth element in the matched element set OR=0A=
	// Get the whole matched element set as a clean array=0A=
	get: function( num ) {=0A=
		return num =3D=3D undefined ?=0A=
=0A=
			// Return a 'clean' array=0A=
			jQuery.makeArray( this ) :=0A=
=0A=
			// Return just the object=0A=
			this[ num ];=0A=
	},=0A=
	=0A=
	// Take an array of elements and push it onto the stack=0A=
	// (returning the new matched element set)=0A=
	pushStack: function( elems ) {=0A=
		// Build a new jQuery matched element set=0A=
		var ret =3D jQuery( elems );=0A=
=0A=
		// Add the old object onto the stack (as a reference)=0A=
		ret.prevObject =3D this;=0A=
=0A=
		// Return the newly-formed element set=0A=
		return ret;=0A=
	},=0A=
	=0A=
	// Force the current matched set of elements to become=0A=
	// the specified array of elements (destroying the stack in the process)=0A=
	// You should use pushStack() in order to do this, but maintain the =
stack=0A=
	setArray: function( elems ) {=0A=
		// Resetting the length to 0, then using the native Array push=0A=
		// is a super-fast way to populate an object with array-like properties=0A=
		this.length =3D 0;=0A=
		Array.prototype.push.apply( this, elems );=0A=
		=0A=
		return this;=0A=
	},=0A=
=0A=
	// Execute a callback for every element in the matched set.=0A=
	// (You can seed the arguments with an array of args, but this is=0A=
	// only used internally.)=0A=
	each: function( callback, args ) {=0A=
		return jQuery.each( this, callback, args );=0A=
	},=0A=
=0A=
	// Determine the position of an element within =0A=
	// the matched set of elements=0A=
	index: function( elem ) {=0A=
		var ret =3D -1;=0A=
=0A=
		// Locate the position of the desired element=0A=
		this.each(function(i){=0A=
			if ( this =3D=3D elem )=0A=
				ret =3D i;=0A=
		});=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	attr: function( name, value, type ) {=0A=
		var options =3D name;=0A=
		=0A=
		// Look for the case where we're accessing a style value=0A=
		if ( name.constructor =3D=3D String )=0A=
			if ( value =3D=3D undefined )=0A=
				return this.length && jQuery[ type || "attr" ]( this[0], name ) || =
undefined;=0A=
=0A=
			else {=0A=
				options =3D {};=0A=
				options[ name ] =3D value;=0A=
			}=0A=
		=0A=
		// Check to see if we're setting style values=0A=
		return this.each(function(i){=0A=
			// Set all the styles=0A=
			for ( name in options )=0A=
				jQuery.attr(=0A=
					type ?=0A=
						this.style :=0A=
						this,=0A=
					name, jQuery.prop( this, options[ name ], type, i, name )=0A=
				);=0A=
		});=0A=
	},=0A=
=0A=
	css: function( key, value ) {=0A=
		// ignore negative width and height values=0A=
		if ( (key =3D=3D 'width' || key =3D=3D 'height') && parseFloat(value) =
< 0 )=0A=
			value =3D undefined;=0A=
		return this.attr( key, value, "curCSS" );=0A=
	},=0A=
=0A=
	text: function( text ) {=0A=
		if ( typeof text !=3D "object" && text !=3D null )=0A=
			return this.empty().append( (this[0] && this[0].ownerDocument || =
document).createTextNode( text ) );=0A=
=0A=
		var ret =3D "";=0A=
=0A=
		jQuery.each( text || this, function(){=0A=
			jQuery.each( this.childNodes, function(){=0A=
				if ( this.nodeType !=3D 8 )=0A=
					ret +=3D this.nodeType !=3D 1 ?=0A=
						this.nodeValue :=0A=
						jQuery.fn.text( [ this ] );=0A=
			});=0A=
		});=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	wrapAll: function( html ) {=0A=
		if ( this[0] )=0A=
			// The elements to wrap the target around=0A=
			jQuery( html, this[0].ownerDocument )=0A=
				.clone()=0A=
				.insertBefore( this[0] )=0A=
				.map(function(){=0A=
					var elem =3D this;=0A=
=0A=
					while ( elem.firstChild )=0A=
						elem =3D elem.firstChild;=0A=
=0A=
					return elem;=0A=
				})=0A=
				.append(this);=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	wrapInner: function( html ) {=0A=
		return this.each(function(){=0A=
			jQuery( this ).contents().wrapAll( html );=0A=
		});=0A=
	},=0A=
=0A=
	wrap: function( html ) {=0A=
		return this.each(function(){=0A=
			jQuery( this ).wrapAll( html );=0A=
		});=0A=
	},=0A=
=0A=
	append: function() {=0A=
		return this.domManip(arguments, true, false, function(elem){=0A=
			if (this.nodeType =3D=3D 1)=0A=
				this.appendChild( elem );=0A=
		});=0A=
	},=0A=
=0A=
	prepend: function() {=0A=
		return this.domManip(arguments, true, true, function(elem){=0A=
			if (this.nodeType =3D=3D 1)=0A=
				this.insertBefore( elem, this.firstChild );=0A=
		});=0A=
	},=0A=
	=0A=
	before: function() {=0A=
		return this.domManip(arguments, false, false, function(elem){=0A=
			this.parentNode.insertBefore( elem, this );=0A=
		});=0A=
	},=0A=
=0A=
	after: function() {=0A=
		return this.domManip(arguments, false, true, function(elem){=0A=
			this.parentNode.insertBefore( elem, this.nextSibling );=0A=
		});=0A=
	},=0A=
=0A=
	end: function() {=0A=
		return this.prevObject || jQuery( [] );=0A=
	},=0A=
=0A=
	find: function( selector ) {=0A=
		var elems =3D jQuery.map(this, function(elem){=0A=
			return jQuery.find( selector, elem );=0A=
		});=0A=
=0A=
		return this.pushStack( /[^+>] [^+>]/.test( selector ) || =
selector.indexOf("..") > -1 ?=0A=
			jQuery.unique( elems ) :=0A=
			elems );=0A=
	},=0A=
=0A=
	clone: function( events ) {=0A=
		// Do the clone=0A=
		var ret =3D this.map(function(){=0A=
			if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) {=0A=
				// IE copies events bound via attachEvent when=0A=
				// using cloneNode. Calling detachEvent on the=0A=
				// clone will also remove the events from the orignal=0A=
				// In order to get around this, we use innerHTML.=0A=
				// Unfortunately, this means some modifications to =0A=
				// attributes in IE that are actually only stored =0A=
				// as properties will not be copied (such as the=0A=
				// the name attribute on an input).=0A=
				var clone =3D this.cloneNode(true),=0A=
					container =3D document.createElement("div");=0A=
				container.appendChild(clone);=0A=
				return jQuery.clean([container.innerHTML])[0];=0A=
			} else=0A=
				return this.cloneNode(true);=0A=
		});=0A=
=0A=
		// Need to set the expando to null on the cloned set if it exists=0A=
		// removeData doesn't work here, IE removes it from the original as =
well=0A=
		// this is primarily for IE but the data expando shouldn't be copied =
over in any browser=0A=
		var clone =3D ret.find("*").andSelf().each(function(){=0A=
			if ( this[ expando ] !=3D undefined )=0A=
				this[ expando ] =3D null;=0A=
		});=0A=
		=0A=
		// Copy the events from the original to the clone=0A=
		if ( events =3D=3D=3D true )=0A=
			this.find("*").andSelf().each(function(i){=0A=
				if (this.nodeType =3D=3D 3)=0A=
					return;=0A=
				var events =3D jQuery.data( this, "events" );=0A=
=0A=
				for ( var type in events )=0A=
					for ( var handler in events[ type ] )=0A=
						jQuery.event.add( clone[ i ], type, events[ type ][ handler ], =
events[ type ][ handler ].data );=0A=
			});=0A=
=0A=
		// Return the cloned set=0A=
		return ret;=0A=
	},=0A=
=0A=
	filter: function( selector ) {=0A=
		return this.pushStack(=0A=
			jQuery.isFunction( selector ) &&=0A=
			jQuery.grep(this, function(elem, i){=0A=
				return selector.call( elem, i );=0A=
			}) ||=0A=
=0A=
			jQuery.multiFilter( selector, this ) );=0A=
	},=0A=
=0A=
	not: function( selector ) {=0A=
		if ( selector.constructor =3D=3D String )=0A=
			// test special case where just one selector is passed in=0A=
			if ( isSimple.test( selector ) )=0A=
				return this.pushStack( jQuery.multiFilter( selector, this, true ) );=0A=
			else=0A=
				selector =3D jQuery.multiFilter( selector, this );=0A=
=0A=
		var isArrayLike =3D selector.length && selector[selector.length - 1] =
!=3D=3D undefined && !selector.nodeType;=0A=
		return this.filter(function() {=0A=
			return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this !=3D =
selector;=0A=
		});=0A=
	},=0A=
=0A=
	add: function( selector ) {=0A=
		return !selector ? this : this.pushStack( jQuery.merge( =0A=
			this.get(),=0A=
			selector.constructor =3D=3D String ? =0A=
				jQuery( selector ).get() :=0A=
				selector.length !=3D undefined && (!selector.nodeName || =
jQuery.nodeName(selector, "form")) ?=0A=
					selector : [selector] ) );=0A=
	},=0A=
=0A=
	is: function( selector ) {=0A=
		return selector ?=0A=
			jQuery.multiFilter( selector, this ).length > 0 :=0A=
			false;=0A=
	},=0A=
=0A=
	hasClass: function( selector ) {=0A=
		return this.is( "." + selector );=0A=
	},=0A=
	=0A=
	val: function( value ) {=0A=
		if ( value =3D=3D undefined ) {=0A=
=0A=
			if ( this.length ) {=0A=
				var elem =3D this[0];=0A=
=0A=
				// We need to handle select boxes special=0A=
				if ( jQuery.nodeName( elem, "select" ) ) {=0A=
					var index =3D elem.selectedIndex,=0A=
						values =3D [],=0A=
						options =3D elem.options,=0A=
						one =3D elem.type =3D=3D "select-one";=0A=
					=0A=
					// Nothing was selected=0A=
					if ( index < 0 )=0A=
						return null;=0A=
=0A=
					// Loop through all the selected options=0A=
					for ( var i =3D one ? index : 0, max =3D one ? index + 1 : =
options.length; i < max; i++ ) {=0A=
						var option =3D options[ i ];=0A=
=0A=
						if ( option.selected ) {=0A=
							// Get the specifc value for the option=0A=
							value =3D jQuery.browser.msie && =
!option.attributes.value.specified ? option.text : option.value;=0A=
							=0A=
							// We don't need an array for one selects=0A=
							if ( one )=0A=
								return value;=0A=
							=0A=
							// Multi-Selects return an array=0A=
							values.push( value );=0A=
						}=0A=
					}=0A=
					=0A=
					return values;=0A=
					=0A=
				// Everything else, we just grab the value=0A=
				} else=0A=
					return (this[0].value || "").replace(/\r/g, "");=0A=
=0A=
			}=0A=
=0A=
			return undefined;=0A=
		}=0A=
=0A=
		return this.each(function(){=0A=
			if ( this.nodeType !=3D 1 )=0A=
				return;=0A=
=0A=
			if ( value.constructor =3D=3D Array && /radio|checkbox/.test( =
this.type ) )=0A=
				this.checked =3D (jQuery.inArray(this.value, value) >=3D 0 ||=0A=
					jQuery.inArray(this.name, value) >=3D 0);=0A=
=0A=
			else if ( jQuery.nodeName( this, "select" ) ) {=0A=
				var values =3D value.constructor =3D=3D Array ?=0A=
					value :=0A=
					[ value ];=0A=
=0A=
				jQuery( "option", this ).each(function(){=0A=
					this.selected =3D (jQuery.inArray( this.value, values ) >=3D 0 ||=0A=
						jQuery.inArray( this.text, values ) >=3D 0);=0A=
				});=0A=
=0A=
				if ( !values.length )=0A=
					this.selectedIndex =3D -1;=0A=
=0A=
			} else=0A=
				this.value =3D value;=0A=
		});=0A=
	},=0A=
	=0A=
	html: function( value ) {=0A=
		return value =3D=3D undefined ?=0A=
			(this.length ?=0A=
				this[0].innerHTML :=0A=
				null) :=0A=
			this.empty().append( value );=0A=
	},=0A=
=0A=
	replaceWith: function( value ) {=0A=
		return this.after( value ).remove();=0A=
	},=0A=
=0A=
	eq: function( i ) {=0A=
		return this.slice( i, i + 1 );=0A=
	},=0A=
=0A=
	slice: function() {=0A=
		return this.pushStack( Array.prototype.slice.apply( this, arguments ) =
);=0A=
	},=0A=
=0A=
	map: function( callback ) {=0A=
		return this.pushStack( jQuery.map(this, function(elem, i){=0A=
			return callback.call( elem, i, elem );=0A=
		}));=0A=
	},=0A=
=0A=
	andSelf: function() {=0A=
		return this.add( this.prevObject );=0A=
	},=0A=
=0A=
	data: function( key, value ){=0A=
		var parts =3D key.split(".");=0A=
		parts[1] =3D parts[1] ? "." + parts[1] : "";=0A=
=0A=
		if ( value =3D=3D null ) {=0A=
			var data =3D this.triggerHandler("getData" + parts[1] + "!", =
[parts[0]]);=0A=
			=0A=
			if ( data =3D=3D undefined && this.length )=0A=
				data =3D jQuery.data( this[0], key );=0A=
=0A=
			return data =3D=3D null && parts[1] ?=0A=
				this.data( parts[0] ) :=0A=
				data;=0A=
		} else=0A=
			return this.trigger("setData" + parts[1] + "!", [parts[0], =
value]).each(function(){=0A=
				jQuery.data( this, key, value );=0A=
			});=0A=
	},=0A=
=0A=
	removeData: function( key ){=0A=
		return this.each(function(){=0A=
			jQuery.removeData( this, key );=0A=
		});=0A=
	},=0A=
	=0A=
	domManip: function( args, table, reverse, callback ) {=0A=
		var clone =3D this.length > 1, elems; =0A=
=0A=
		return this.each(function(){=0A=
			if ( !elems ) {=0A=
				elems =3D jQuery.clean( args, this.ownerDocument );=0A=
=0A=
				if ( reverse )=0A=
					elems.reverse();=0A=
			}=0A=
=0A=
			var obj =3D this;=0A=
=0A=
			if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( =
elems[0], "tr" ) )=0A=
				obj =3D this.getElementsByTagName("tbody")[0] || this.appendChild( =
this.ownerDocument.createElement("tbody") );=0A=
=0A=
			var scripts =3D jQuery( [] );=0A=
=0A=
			jQuery.each(elems, function(){=0A=
				var elem =3D clone ?=0A=
					jQuery( this ).clone( true )[0] :=0A=
					this;=0A=
=0A=
				// execute all scripts after the elements have been injected=0A=
				if ( jQuery.nodeName( elem, "script" ) ) {=0A=
					scripts =3D scripts.add( elem );=0A=
				} else {=0A=
					// Remove any inner scripts for later evaluation=0A=
					if ( elem.nodeType =3D=3D 1 )=0A=
						scripts =3D scripts.add( jQuery( "script", elem ).remove() );=0A=
=0A=
					// Inject the elements into the document=0A=
					callback.call( obj, elem );=0A=
				}=0A=
			});=0A=
=0A=
			scripts.each( evalScript );=0A=
		});=0A=
	}=0A=
};=0A=
=0A=
// Give the init function the jQuery prototype for later instantiation=0A=
jQuery.prototype.init.prototype =3D jQuery.prototype;=0A=
=0A=
function evalScript( i, elem ) {=0A=
	if ( elem.src )=0A=
		jQuery.ajax({=0A=
			url: elem.src,=0A=
			async: false,=0A=
			dataType: "script"=0A=
		});=0A=
=0A=
	else=0A=
		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || =
"" );=0A=
=0A=
	if ( elem.parentNode )=0A=
		elem.parentNode.removeChild( elem );=0A=
}=0A=
=0A=
jQuery.extend =3D jQuery.fn.extend =3D function() {=0A=
	// copy reference to target object=0A=
	var target =3D arguments[0] || {}, i =3D 1, length =3D =
arguments.length, deep =3D false, options;=0A=
=0A=
	// Handle a deep copy situation=0A=
	if ( target.constructor =3D=3D Boolean ) {=0A=
		deep =3D target;=0A=
		target =3D arguments[1] || {};=0A=
		// skip the boolean and the target=0A=
		i =3D 2;=0A=
	}=0A=
=0A=
	// Handle case when target is a string or something (possible in deep =
copy)=0A=
	if ( typeof target !=3D "object" && typeof target !=3D "function" )=0A=
		target =3D {};=0A=
=0A=
	// extend jQuery itself if only one argument is passed=0A=
	if ( length =3D=3D 1 ) {=0A=
		target =3D this;=0A=
		i =3D 0;=0A=
	}=0A=
=0A=
	for ( ; i < length; i++ )=0A=
		// Only deal with non-null/undefined values=0A=
		if ( (options =3D arguments[ i ]) !=3D null )=0A=
			// Extend the base object=0A=
			for ( var name in options ) {=0A=
				// Prevent never-ending loop=0A=
				if ( target =3D=3D=3D options[ name ] )=0A=
					continue;=0A=
=0A=
				// Recurse if we're merging object values=0A=
				if ( deep && options[ name ] && typeof options[ name ] =3D=3D =
"object" && target[ name ] && !options[ name ].nodeType )=0A=
					target[ name ] =3D jQuery.extend( target[ name ], options[ name ] );=0A=
=0A=
				// Don't bring in undefined values=0A=
				else if ( options[ name ] !=3D undefined )=0A=
					target[ name ] =3D options[ name ];=0A=
=0A=
			}=0A=
=0A=
	// Return the modified object=0A=
	return target;=0A=
};=0A=
=0A=
var expando =3D "jQuery" + (new Date()).getTime(), uuid =3D 0, =
windowData =3D {};=0A=
=0A=
// exclude the following css properties to add px=0A=
var exclude =3D /z-?index|font-?weight|opacity|zoom|line-?height/i;=0A=
=0A=
jQuery.extend({=0A=
	noConflict: function( deep ) {=0A=
		window.$ =3D _$;=0A=
=0A=
		if ( deep )=0A=
			window.jQuery =3D _jQuery;=0A=
=0A=
		return jQuery;=0A=
	},=0A=
=0A=
	// See test/unit/core.js for details concerning this function.=0A=
	isFunction: function( fn ) {=0A=
		return !!fn && typeof fn !=3D "string" && !fn.nodeName && =0A=
			fn.constructor !=3D Array && /function/i.test( fn + "" );=0A=
	},=0A=
	=0A=
	// check if an element is in a (or is an) XML document=0A=
	isXMLDoc: function( elem ) {=0A=
		return elem.documentElement && !elem.body ||=0A=
			elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;=0A=
	},=0A=
=0A=
	// Evalulates a script in a global context=0A=
	globalEval: function( data ) {=0A=
		data =3D jQuery.trim( data );=0A=
=0A=
		if ( data ) {=0A=
			// Inspired by code by Andrea Giammarchi=0A=
			// =
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom=
.html=0A=
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement,=0A=
				script =3D document.createElement("script");=0A=
=0A=
			script.type =3D "text/javascript";=0A=
			if ( jQuery.browser.msie )=0A=
				script.text =3D data;=0A=
			else=0A=
				script.appendChild( document.createTextNode( data ) );=0A=
=0A=
			head.appendChild( script );=0A=
			head.removeChild( script );=0A=
		}=0A=
	},=0A=
=0A=
	nodeName: function( elem, name ) {=0A=
		return elem.nodeName && elem.nodeName.toUpperCase() =3D=3D =
name.toUpperCase();=0A=
	},=0A=
	=0A=
	cache: {},=0A=
	=0A=
	data: function( elem, name, data ) {=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ];=0A=
=0A=
		// Compute a unique ID for the element=0A=
		if ( !id ) =0A=
			id =3D elem[ expando ] =3D ++uuid;=0A=
=0A=
		// Only generate the data cache if we're=0A=
		// trying to access or manipulate it=0A=
		if ( name && !jQuery.cache[ id ] )=0A=
			jQuery.cache[ id ] =3D {};=0A=
		=0A=
		// Prevent overriding the named cache with undefined values=0A=
		if ( data !=3D undefined )=0A=
			jQuery.cache[ id ][ name ] =3D data;=0A=
		=0A=
		// Return the named cache data, or the ID for the element	=0A=
		return name ?=0A=
			jQuery.cache[ id ][ name ] :=0A=
			id;=0A=
	},=0A=
	=0A=
	removeData: function( elem, name ) {=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ];=0A=
=0A=
		// If we want to remove a specific section of the element's data=0A=
		if ( name ) {=0A=
			if ( jQuery.cache[ id ] ) {=0A=
				// Remove the section of cache data=0A=
				delete jQuery.cache[ id ][ name ];=0A=
=0A=
				// If we've removed all the data, remove the element's cache=0A=
				name =3D "";=0A=
=0A=
				for ( name in jQuery.cache[ id ] )=0A=
					break;=0A=
=0A=
				if ( !name )=0A=
					jQuery.removeData( elem );=0A=
			}=0A=
=0A=
		// Otherwise, we want to remove all of the element's data=0A=
		} else {=0A=
			// Clean up the element expando=0A=
			try {=0A=
				delete elem[ expando ];=0A=
			} catch(e){=0A=
				// IE has trouble directly removing the expando=0A=
				// but it's ok with using removeAttribute=0A=
				if ( elem.removeAttribute )=0A=
					elem.removeAttribute( expando );=0A=
			}=0A=
=0A=
			// Completely remove the data cache=0A=
			delete jQuery.cache[ id ];=0A=
		}=0A=
	},=0A=
=0A=
	// args is for internal usage only=0A=
	each: function( object, callback, args ) {=0A=
		if ( args ) {=0A=
			if ( object.length =3D=3D undefined ) {=0A=
				for ( var name in object )=0A=
					if ( callback.apply( object[ name ], args ) =3D=3D=3D false )=0A=
						break;=0A=
			} else=0A=
				for ( var i =3D 0, length =3D object.length; i < length; i++ )=0A=
					if ( callback.apply( object[ i ], args ) =3D=3D=3D false )=0A=
						break;=0A=
=0A=
		// A special, fast, case for the most common use of each=0A=
		} else {=0A=
			if ( object.length =3D=3D undefined ) {=0A=
				for ( var name in object )=0A=
					if ( callback.call( object[ name ], name, object[ name ] ) =
=3D=3D=3D false )=0A=
						break;=0A=
			} else=0A=
				for ( var i =3D 0, length =3D object.length, value =3D object[0]; =0A=
					i < length && callback.call( value, i, value ) !=3D=3D false; value =
=3D object[++i] ){}=0A=
		}=0A=
=0A=
		return object;=0A=
	},=0A=
	=0A=
	prop: function( elem, value, type, i, name ) {=0A=
			// Handle executable functions=0A=
			if ( jQuery.isFunction( value ) )=0A=
				value =3D value.call( elem, i );=0A=
				=0A=
			// Handle passing in a number to a CSS property=0A=
			return value && value.constructor =3D=3D Number && type =3D=3D =
"curCSS" && !exclude.test( name ) ?=0A=
				value + "px" :=0A=
				value;=0A=
	},=0A=
=0A=
	className: {=0A=
		// internal only, use addClass("class")=0A=
		add: function( elem, classNames ) {=0A=
			jQuery.each((classNames || "").split(/\s+/), function(i, className){=0A=
				if ( elem.nodeType =3D=3D 1 && !jQuery.className.has( =
elem.className, className ) )=0A=
					elem.className +=3D (elem.className ? " " : "") + className;=0A=
			});=0A=
		},=0A=
=0A=
		// internal only, use removeClass("class")=0A=
		remove: function( elem, classNames ) {=0A=
			if (elem.nodeType =3D=3D 1)=0A=
				elem.className =3D classNames !=3D undefined ?=0A=
					jQuery.grep(elem.className.split(/\s+/), function(className){=0A=
						return !jQuery.className.has( classNames, className );	=0A=
					}).join(" ") :=0A=
					"";=0A=
		},=0A=
=0A=
		// internal only, use is(".class")=0A=
		has: function( elem, className ) {=0A=
			return jQuery.inArray( className, (elem.className || =
elem).toString().split(/\s+/) ) > -1;=0A=
		}=0A=
	},=0A=
=0A=
	// A method for quickly swapping in/out CSS properties to get correct =
calculations=0A=
	swap: function( elem, options, callback ) {=0A=
		var old =3D {};=0A=
		// Remember the old values, and insert the new ones=0A=
		for ( var name in options ) {=0A=
			old[ name ] =3D elem.style[ name ];=0A=
			elem.style[ name ] =3D options[ name ];=0A=
		}=0A=
=0A=
		callback.call( elem );=0A=
=0A=
		// Revert the old values=0A=
		for ( var name in options )=0A=
			elem.style[ name ] =3D old[ name ];=0A=
	},=0A=
=0A=
	css: function( elem, name, force ) {=0A=
		if ( name =3D=3D "width" || name =3D=3D "height" ) {=0A=
			var val, props =3D { position: "absolute", visibility: "hidden", =
display:"block" }, which =3D name =3D=3D "width" ? [ "Left", "Right" ] : =
[ "Top", "Bottom" ];=0A=
		=0A=
			function getWH() {=0A=
				val =3D name =3D=3D "width" ? elem.offsetWidth : elem.offsetHeight;=0A=
				var padding =3D 0, border =3D 0;=0A=
				jQuery.each( which, function() {=0A=
					padding +=3D parseFloat(jQuery.curCSS( elem, "padding" + this, =
true)) || 0;=0A=
					border +=3D parseFloat(jQuery.curCSS( elem, "border" + this + =
"Width", true)) || 0;=0A=
				});=0A=
				val -=3D Math.round(padding + border);=0A=
			}=0A=
		=0A=
			if ( jQuery(elem).is(":visible") )=0A=
				getWH();=0A=
			else=0A=
				jQuery.swap( elem, props, getWH );=0A=
			=0A=
			return Math.max(0, val);=0A=
		}=0A=
		=0A=
		return jQuery.curCSS( elem, name, force );=0A=
	},=0A=
=0A=
	curCSS: function( elem, name, force ) {=0A=
		var ret;=0A=
=0A=
		// A helper method for determining if an element's values are broken=0A=
		function color( elem ) {=0A=
			if ( !jQuery.browser.safari )=0A=
				return false;=0A=
=0A=
			var ret =3D document.defaultView.getComputedStyle( elem, null );=0A=
			return !ret || ret.getPropertyValue("color") =3D=3D "";=0A=
		}=0A=
=0A=
		// We need to handle opacity special in IE=0A=
		if ( name =3D=3D "opacity" && jQuery.browser.msie ) {=0A=
			ret =3D jQuery.attr( elem.style, "opacity" );=0A=
=0A=
			return ret =3D=3D "" ?=0A=
				"1" :=0A=
				ret;=0A=
		}=0A=
		// Opera sometimes will give the wrong display answer, this fixes it, =
see #2037=0A=
		if ( jQuery.browser.opera && name =3D=3D "display" ) {=0A=
			var save =3D elem.style.outline;=0A=
			elem.style.outline =3D "0 solid black";=0A=
			elem.style.outline =3D save;=0A=
		}=0A=
		=0A=
		// Make sure we're using the right name for getting the float value=0A=
		if ( name.match( /float/i ) )=0A=
			name =3D styleFloat;=0A=
=0A=
		if ( !force && elem.style && elem.style[ name ] )=0A=
			ret =3D elem.style[ name ];=0A=
=0A=
		else if ( document.defaultView && =
document.defaultView.getComputedStyle ) {=0A=
=0A=
			// Only "float" is needed here=0A=
			if ( name.match( /float/i ) )=0A=
				name =3D "float";=0A=
=0A=
			name =3D name.replace( /([A-Z])/g, "-$1" ).toLowerCase();=0A=
=0A=
			var getComputedStyle =3D document.defaultView.getComputedStyle( elem, =
null );=0A=
=0A=
			if ( getComputedStyle && !color( elem ) )=0A=
				ret =3D getComputedStyle.getPropertyValue( name );=0A=
=0A=
			// If the element isn't reporting its values properly in Safari=0A=
			// then some display: none elements are involved=0A=
			else {=0A=
				var swap =3D [], stack =3D [];=0A=
=0A=
				// Locate all of the parent display: none elements=0A=
				for ( var a =3D elem; a && color(a); a =3D a.parentNode )=0A=
					stack.unshift(a);=0A=
=0A=
				// Go through and make them visible, but in reverse=0A=
				// (It would be better if we knew the exact display type that they =
had)=0A=
				for ( var i =3D 0; i < stack.length; i++ )=0A=
					if ( color( stack[ i ] ) ) {=0A=
						swap[ i ] =3D stack[ i ].style.display;=0A=
						stack[ i ].style.display =3D "block";=0A=
					}=0A=
=0A=
				// Since we flip the display style, we have to handle that=0A=
				// one special, otherwise get the value=0A=
				ret =3D name =3D=3D "display" && swap[ stack.length - 1 ] !=3D null ?=0A=
					"none" :=0A=
					( getComputedStyle && getComputedStyle.getPropertyValue( name ) ) =
|| "";=0A=
=0A=
				// Finally, revert the display styles back=0A=
				for ( var i =3D 0; i < swap.length; i++ )=0A=
					if ( swap[ i ] !=3D null )=0A=
						stack[ i ].style.display =3D swap[ i ];=0A=
			}=0A=
=0A=
			// We should always get a number back from opacity=0A=
			if ( name =3D=3D "opacity" && ret =3D=3D "" )=0A=
				ret =3D "1";=0A=
=0A=
		} else if ( elem.currentStyle ) {=0A=
			var camelCase =3D name.replace(/\-(\w)/g, function(all, letter){=0A=
				return letter.toUpperCase();=0A=
			});=0A=
=0A=
			ret =3D elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];=0A=
=0A=
			// From the awesome hack by Dean Edwards=0A=
			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291=0A=
=0A=
			// If we're not dealing with a regular pixel number=0A=
			// but a number that has a weird ending, we need to convert it to =
pixels=0A=
			if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {=0A=
				// Remember the original values=0A=
				var style =3D elem.style.left, runtimeStyle =3D =
elem.runtimeStyle.left;=0A=
=0A=
				// Put in the new values to get a computed value out=0A=
				elem.runtimeStyle.left =3D elem.currentStyle.left;=0A=
				elem.style.left =3D ret || 0;=0A=
				ret =3D elem.style.pixelLeft + "px";=0A=
=0A=
				// Revert the changed values=0A=
				elem.style.left =3D style;=0A=
				elem.runtimeStyle.left =3D runtimeStyle;=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
	=0A=
	clean: function( elems, context ) {=0A=
		var ret =3D [];=0A=
		context =3D context || document;=0A=
		// !context.createElement fails in IE with an error but returns typeof =
'object'=0A=
		if (typeof context.createElement =3D=3D 'undefined') =0A=
			context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;=0A=
=0A=
		jQuery.each(elems, function(i, elem){=0A=
			if ( !elem )=0A=
				return;=0A=
=0A=
			if ( elem.constructor =3D=3D Number )=0A=
				elem =3D elem.toString();=0A=
			=0A=
			// Convert html string into DOM nodes=0A=
			if ( typeof elem =3D=3D "string" ) {=0A=
				// Fix "XHTML"-style tags in all browsers=0A=
				elem =3D elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, =
tag){=0A=
					return =
tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?=0A=
						all :=0A=
						front + "></" + tag + ">";=0A=
				});=0A=
=0A=
				// Trim whitespace, otherwise indexOf won't work as expected=0A=
				var tags =3D jQuery.trim( elem ).toLowerCase(), div =3D =
context.createElement("div");=0A=
=0A=
				var wrap =3D=0A=
					// option or optgroup=0A=
					!tags.indexOf("<opt") &&=0A=
					[ 1, "<select multiple=3D'multiple'>", "</select>" ] ||=0A=
					=0A=
					!tags.indexOf("<leg") &&=0A=
					[ 1, "<fieldset>", "</fieldset>" ] ||=0A=
					=0A=
					tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&=0A=
					[ 1, "<table>", "</table>" ] ||=0A=
					=0A=
					!tags.indexOf("<tr") &&=0A=
					[ 2, "<table><tbody>", "</tbody></table>" ] ||=0A=
					=0A=
				 	// <thead> matched above=0A=
					(!tags.indexOf("<td") || !tags.indexOf("<th")) &&=0A=
					[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||=0A=
					=0A=
					!tags.indexOf("<col") &&=0A=
					[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||=0A=
=0A=
					// IE can't serialize <link> and <script> tags normally=0A=
					jQuery.browser.msie &&=0A=
					[ 1, "div<div>", "</div>" ] ||=0A=
					=0A=
					[ 0, "", "" ];=0A=
=0A=
				// Go to html and back, then peel off extra wrappers=0A=
				div.innerHTML =3D wrap[1] + elem + wrap[2];=0A=
				=0A=
				// Move to the right depth=0A=
				while ( wrap[0]-- )=0A=
					div =3D div.lastChild;=0A=
				=0A=
				// Remove IE's autoinserted <tbody> from table fragments=0A=
				if ( jQuery.browser.msie ) {=0A=
					=0A=
					// String was a <table>, *may* have spurious <tbody>=0A=
					var tbody =3D !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 =
?=0A=
						div.firstChild && div.firstChild.childNodes :=0A=
						=0A=
						// String was a bare <thead> or <tfoot>=0A=
						wrap[1] =3D=3D "<table>" && tags.indexOf("<tbody") < 0 ?=0A=
							div.childNodes :=0A=
							[];=0A=
				=0A=
					for ( var j =3D tbody.length - 1; j >=3D 0 ; --j )=0A=
						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j =
].childNodes.length )=0A=
							tbody[ j ].parentNode.removeChild( tbody[ j ] );=0A=
					=0A=
					// IE completely kills leading whitespace when innerHTML is used	=0A=
					if ( /^\s/.test( elem ) )	=0A=
						div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), =
div.firstChild );=0A=
				=0A=
				}=0A=
				=0A=
				elem =3D jQuery.makeArray( div.childNodes );=0A=
			}=0A=
=0A=
			if ( elem.length =3D=3D=3D 0 && (!jQuery.nodeName( elem, "form" ) && =
!jQuery.nodeName( elem, "select" )) )=0A=
				return;=0A=
=0A=
			if ( elem[0] =3D=3D undefined || jQuery.nodeName( elem, "form" ) || =
elem.options )=0A=
				ret.push( elem );=0A=
=0A=
			else=0A=
				ret =3D jQuery.merge( ret, elem );=0A=
=0A=
		});=0A=
=0A=
		return ret;=0A=
	},=0A=
	=0A=
	attr: function( elem, name, value ) {=0A=
		// don't set attributes on text and comment nodes=0A=
		if (!elem || elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8)=0A=
			return undefined;=0A=
=0A=
		var fix =3D jQuery.isXMLDoc( elem ) ?=0A=
			{} :=0A=
			jQuery.props;=0A=
=0A=
		// Safari mis-reports the default selected property of a hidden option=0A=
		// Accessing the parent's selectedIndex property fixes it=0A=
		if ( name =3D=3D "selected" && jQuery.browser.safari )=0A=
			elem.parentNode.selectedIndex;=0A=
		=0A=
		// Certain attributes only work when accessed via the old DOM 0 way=0A=
		if ( fix[ name ] ) {=0A=
			if ( value !=3D undefined )=0A=
				elem[ fix[ name ] ] =3D value;=0A=
=0A=
			return elem[ fix[ name ] ];=0A=
=0A=
		} else if ( jQuery.browser.msie && name =3D=3D "style" )=0A=
			return jQuery.attr( elem.style, "cssText", value );=0A=
=0A=
		else if ( value =3D=3D undefined && jQuery.browser.msie && =
jQuery.nodeName( elem, "form" ) && (name =3D=3D "action" || name =3D=3D =
"method") )=0A=
			return elem.getAttributeNode( name ).nodeValue;=0A=
=0A=
		// IE elem.getAttribute passes even for style=0A=
		else if ( elem.tagName ) {=0A=
=0A=
			if ( value !=3D undefined ) {=0A=
				// We can't allow the type property to be changed (since it causes =
problems in IE)=0A=
				if ( name =3D=3D "type" && jQuery.nodeName( elem, "input" ) && =
elem.parentNode )=0A=
					throw "type property can't be changed";=0A=
=0A=
				// convert the value to a string (all browsers do this but IE) see =
#1070=0A=
				elem.setAttribute( name, "" + value );=0A=
			}=0A=
=0A=
			if ( jQuery.browser.msie && /href|src/.test( name ) && =
!jQuery.isXMLDoc( elem ) ) =0A=
				return elem.getAttribute( name, 2 );=0A=
=0A=
			return elem.getAttribute( name );=0A=
=0A=
		// elem is actually elem.style ... set the style=0A=
		} else {=0A=
			// IE actually uses filters for opacity=0A=
			if ( name =3D=3D "opacity" && jQuery.browser.msie ) {=0A=
				if ( value !=3D undefined ) {=0A=
					// IE has trouble with opacity if it does not have layout=0A=
					// Force it by setting the zoom level=0A=
					elem.zoom =3D 1; =0A=
	=0A=
					// Set the alpha filter to set the opacity=0A=
					elem.filter =3D (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) =
+=0A=
						(parseFloat( value ).toString() =3D=3D "NaN" ? "" : =
"alpha(opacity=3D" + value * 100 + ")");=0A=
				}=0A=
	=0A=
				return elem.filter && elem.filter.indexOf("opacity=3D") >=3D 0 ?=0A=
					(parseFloat( elem.filter.match(/opacity=3D([^)]*)/)[1] ) / =
100).toString() :=0A=
					"";=0A=
			}=0A=
=0A=
			name =3D name.replace(/-([a-z])/ig, function(all, letter){=0A=
				return letter.toUpperCase();=0A=
			});=0A=
=0A=
			if ( value !=3D undefined )=0A=
				elem[ name ] =3D value;=0A=
=0A=
			return elem[ name ];=0A=
		}=0A=
	},=0A=
	=0A=
	trim: function( text ) {=0A=
		return (text || "").replace( /^\s+|\s+$/g, "" );=0A=
	},=0A=
=0A=
	makeArray: function( array ) {=0A=
		var ret =3D [];=0A=
=0A=
		// Need to use typeof to fight Safari childNodes crashes=0A=
		if ( typeof array !=3D "array" )=0A=
			for ( var i =3D 0, length =3D array.length; i < length; i++ )=0A=
				ret.push( array[ i ] );=0A=
		else=0A=
			ret =3D array.slice( 0 );=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	inArray: function( elem, array ) {=0A=
		for ( var i =3D 0, length =3D array.length; i < length; i++ )=0A=
			if ( array[ i ] =3D=3D elem )=0A=
				return i;=0A=
=0A=
		return -1;=0A=
	},=0A=
=0A=
	merge: function( first, second ) {=0A=
		// We have to loop this way because IE & Opera overwrite the length=0A=
		// expando of getElementsByTagName=0A=
=0A=
		// Also, we need to make sure that the correct elements are being =
returned=0A=
		// (IE returns comment nodes in a '*' query)=0A=
		if ( jQuery.browser.msie ) {=0A=
			for ( var i =3D 0; second[ i ]; i++ )=0A=
				if ( second[ i ].nodeType !=3D 8 )=0A=
					first.push( second[ i ] );=0A=
=0A=
		} else=0A=
			for ( var i =3D 0; second[ i ]; i++ )=0A=
				first.push( second[ i ] );=0A=
=0A=
		return first;=0A=
	},=0A=
=0A=
	unique: function( array ) {=0A=
		var ret =3D [], done =3D {};=0A=
=0A=
		try {=0A=
=0A=
			for ( var i =3D 0, length =3D array.length; i < length; i++ ) {=0A=
				var id =3D jQuery.data( array[ i ] );=0A=
=0A=
				if ( !done[ id ] ) {=0A=
					done[ id ] =3D true;=0A=
					ret.push( array[ i ] );=0A=
				}=0A=
			}=0A=
=0A=
		} catch( e ) {=0A=
			ret =3D array;=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	grep: function( elems, callback, inv ) {=0A=
		var ret =3D [];=0A=
=0A=
		// Go through the array, only saving the items=0A=
		// that pass the validator function=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ )=0A=
			if ( !inv && callback( elems[ i ], i ) || inv && !callback( elems[ i =
], i ) )=0A=
				ret.push( elems[ i ] );=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	map: function( elems, callback ) {=0A=
		var ret =3D [];=0A=
=0A=
		// Go through the array, translating each of the items to their=0A=
		// new value (or values).=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {=0A=
			var value =3D callback( elems[ i ], i );=0A=
=0A=
			if ( value !=3D=3D null && value !=3D undefined ) {=0A=
				if ( value.constructor !=3D Array )=0A=
					value =3D [ value ];=0A=
=0A=
				ret =3D ret.concat( value );=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	}=0A=
});=0A=
=0A=
var userAgent =3D navigator.userAgent.toLowerCase();=0A=
=0A=
// Figure out what browser is being used=0A=
jQuery.browser =3D {=0A=
	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || =
[])[1],=0A=
	safari: /webkit/.test( userAgent ),=0A=
	opera: /opera/.test( userAgent ),=0A=
	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),=0A=
	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( =
userAgent )=0A=
};=0A=
=0A=
var styleFloat =3D jQuery.browser.msie ?=0A=
	"styleFloat" :=0A=
	"cssFloat";=0A=
	=0A=
jQuery.extend({=0A=
	// Check to see if the W3C box model is being used=0A=
	boxModel: !jQuery.browser.msie || document.compatMode =3D=3D =
"CSS1Compat",=0A=
	=0A=
	props: {=0A=
		"for": "htmlFor",=0A=
		"class": "className",=0A=
		"float": styleFloat,=0A=
		cssFloat: styleFloat,=0A=
		styleFloat: styleFloat,=0A=
		innerHTML: "innerHTML",=0A=
		className: "className",=0A=
		value: "value",=0A=
		disabled: "disabled",=0A=
		checked: "checked",=0A=
		readonly: "readOnly",=0A=
		selected: "selected",=0A=
		maxlength: "maxLength",=0A=
		selectedIndex: "selectedIndex",=0A=
		defaultValue: "defaultValue",=0A=
		tagName: "tagName",=0A=
		nodeName: "nodeName"=0A=
	}=0A=
});=0A=
=0A=
jQuery.each({=0A=
	parent: function(elem){return elem.parentNode;},=0A=
	parents: function(elem){return jQuery.dir(elem,"parentNode");},=0A=
	next: function(elem){return jQuery.nth(elem,2,"nextSibling");},=0A=
	prev: function(elem){return jQuery.nth(elem,2,"previousSibling");},=0A=
	nextAll: function(elem){return jQuery.dir(elem,"nextSibling");},=0A=
	prevAll: function(elem){return jQuery.dir(elem,"previousSibling");},=0A=
	siblings: function(elem){return =
jQuery.sibling(elem.parentNode.firstChild,elem);},=0A=
	children: function(elem){return jQuery.sibling(elem.firstChild);},=0A=
	contents: function(elem){return =
jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.d=
ocument:jQuery.makeArray(elem.childNodes);}=0A=
}, function(name, fn){=0A=
	jQuery.fn[ name ] =3D function( selector ) {=0A=
		var ret =3D jQuery.map( this, fn );=0A=
=0A=
		if ( selector && typeof selector =3D=3D "string" )=0A=
			ret =3D jQuery.multiFilter( selector, ret );=0A=
=0A=
		return this.pushStack( jQuery.unique( ret ) );=0A=
	};=0A=
});=0A=
=0A=
jQuery.each({=0A=
	appendTo: "append",=0A=
	prependTo: "prepend",=0A=
	insertBefore: "before",=0A=
	insertAfter: "after",=0A=
	replaceAll: "replaceWith"=0A=
}, function(name, original){=0A=
	jQuery.fn[ name ] =3D function() {=0A=
		var args =3D arguments;=0A=
=0A=
		return this.each(function(){=0A=
			for ( var i =3D 0, length =3D args.length; i < length; i++ )=0A=
				jQuery( args[ i ] )[ original ]( this );=0A=
		});=0A=
	};=0A=
});=0A=
=0A=
jQuery.each({=0A=
	removeAttr: function( name ) {=0A=
		jQuery.attr( this, name, "" );=0A=
		if (this.nodeType =3D=3D 1) =0A=
			this.removeAttribute( name );=0A=
	},=0A=
=0A=
	addClass: function( classNames ) {=0A=
		jQuery.className.add( this, classNames );=0A=
	},=0A=
=0A=
	removeClass: function( classNames ) {=0A=
		jQuery.className.remove( this, classNames );=0A=
	},=0A=
=0A=
	toggleClass: function( classNames ) {=0A=
		jQuery.className[ jQuery.className.has( this, classNames ) ? "remove" =
: "add" ]( this, classNames );=0A=
	},=0A=
=0A=
	remove: function( selector ) {=0A=
		if ( !selector || jQuery.filter( selector, [ this ] ).r.length ) {=0A=
			// Prevent memory leaks=0A=
			jQuery( "*", this ).add(this).each(function(){=0A=
				jQuery.event.remove(this);=0A=
				jQuery.removeData(this);=0A=
			});=0A=
			if (this.parentNode)=0A=
				this.parentNode.removeChild( this );=0A=
		}=0A=
	},=0A=
=0A=
	empty: function() {=0A=
		// Remove element nodes and prevent memory leaks=0A=
		jQuery( ">*", this ).remove();=0A=
		=0A=
		// Remove any remaining nodes=0A=
		while ( this.firstChild )=0A=
			this.removeChild( this.firstChild );=0A=
	}=0A=
}, function(name, fn){=0A=
	jQuery.fn[ name ] =3D function(){=0A=
		return this.each( fn, arguments );=0A=
	};=0A=
});=0A=
=0A=
jQuery.each([ "Height", "Width" ], function(i, name){=0A=
	var type =3D name.toLowerCase();=0A=
	=0A=
	jQuery.fn[ type ] =3D function( size ) {=0A=
		// Get window width or height=0A=
		return this[0] =3D=3D window ?=0A=
			// Opera reports document.body.client[Width/Height] properly in both =
quirks and standards=0A=
			jQuery.browser.opera && document.body[ "client" + name ] || =0A=
			=0A=
			// Safari reports inner[Width/Height] just fine (Mozilla and Opera =
include scroll bar widths)=0A=
			jQuery.browser.safari && window[ "inner" + name ] ||=0A=
			=0A=
			// Everyone else use document.documentElement or document.body =
depending on Quirks vs Standards mode=0A=
			document.compatMode =3D=3D "CSS1Compat" && document.documentElement[ =
"client" + name ] || document.body[ "client" + name ] :=0A=
		=0A=
			// Get document width or height=0A=
			this[0] =3D=3D document ?=0A=
				// Either scroll[Width/Height] or offset[Width/Height], whichever is =
greater=0A=
				Math.max( =0A=
					Math.max(document.body["scroll" + name], =
document.documentElement["scroll" + name]), =0A=
					Math.max(document.body["offset" + name], =
document.documentElement["offset" + name]) =0A=
				) :=0A=
=0A=
				// Get or set width or height on the element=0A=
				size =3D=3D undefined ?=0A=
					// Get width or height on the element=0A=
					(this.length ? jQuery.css( this[0], type ) : null) :=0A=
=0A=
					// Set the width or height on the element (default to pixels if =
value is unitless)=0A=
					this.css( type, size.constructor =3D=3D String ? size : size + "px" =
);=0A=
	};=0A=
});=0A=
=0A=
var chars =3D jQuery.browser.safari && parseInt(jQuery.browser.version) =
< 417 ?=0A=
		"(?:[\\w*_-]|\\\\.)" :=0A=
		"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",=0A=
	quickChild =3D new RegExp("^>\\s*(" + chars + "+)"),=0A=
	quickID =3D new RegExp("^(" + chars + "+)(#)(" + chars + "+)"),=0A=
	quickClass =3D new RegExp("^([#.]?)(" + chars + "*)");=0A=
=0A=
jQuery.extend({=0A=
	expr: {=0A=
		"": function(a,i,m){return m[2]=3D=3D"*"||jQuery.nodeName(a,m[2]);},=0A=
		"#": function(a,i,m){return a.getAttribute("id")=3D=3Dm[2];},=0A=
		":": {=0A=
			// Position Checks=0A=
			lt: function(a,i,m){return i<m[3]-0;},=0A=
			gt: function(a,i,m){return i>m[3]-0;},=0A=
			nth: function(a,i,m){return m[3]-0=3D=3Di;},=0A=
			eq: function(a,i,m){return m[3]-0=3D=3Di;},=0A=
			first: function(a,i){return i=3D=3D0;},=0A=
			last: function(a,i,m,r){return i=3D=3Dr.length-1;},=0A=
			even: function(a,i){return i%2=3D=3D0;},=0A=
			odd: function(a,i){return i%2;},=0A=
=0A=
			// Child Checks=0A=
			"first-child": function(a){return =
a.parentNode.getElementsByTagName("*")[0]=3D=3Da;},=0A=
			"last-child": function(a){return =
jQuery.nth(a.parentNode.lastChild,1,"previousSibling")=3D=3Da;},=0A=
			"only-child": function(a){return =
!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},=0A=
=0A=
			// Parent Checks=0A=
			parent: function(a){return a.firstChild;},=0A=
			empty: function(a){return !a.firstChild;},=0A=
=0A=
			// Text Check=0A=
			contains: function(a,i,m){return =
(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=3D0;},=0A=
=0A=
			// Visibility=0A=
			visible: function(a){return =
"hidden"!=3Da.type&&jQuery.css(a,"display")!=3D"none"&&jQuery.css(a,"visi=
bility")!=3D"hidden";},=0A=
			hidden: function(a){return =
"hidden"=3D=3Da.type||jQuery.css(a,"display")=3D=3D"none"||jQuery.css(a,"=
visibility")=3D=3D"hidden";},=0A=
=0A=
			// Form attributes=0A=
			enabled: function(a){return !a.disabled;},=0A=
			disabled: function(a){return a.disabled;},=0A=
			checked: function(a){return a.checked;},=0A=
			selected: function(a){return a.selected||jQuery.attr(a,"selected");},=0A=
=0A=
			// Form elements=0A=
			text: function(a){return "text"=3D=3Da.type;},=0A=
			radio: function(a){return "radio"=3D=3Da.type;},=0A=
			checkbox: function(a){return "checkbox"=3D=3Da.type;},=0A=
			file: function(a){return "file"=3D=3Da.type;},=0A=
			password: function(a){return "password"=3D=3Da.type;},=0A=
			submit: function(a){return "submit"=3D=3Da.type;},=0A=
			image: function(a){return "image"=3D=3Da.type;},=0A=
			reset: function(a){return "reset"=3D=3Da.type;},=0A=
			button: function(a){return =
"button"=3D=3Da.type||jQuery.nodeName(a,"button");},=0A=
			input: function(a){return =
/input|select|textarea|button/i.test(a.nodeName);},=0A=
=0A=
			// :has()=0A=
			has: function(a,i,m){return jQuery.find(m[3],a).length;},=0A=
=0A=
			// :header=0A=
			header: function(a){return /h\d/i.test(a.nodeName);},=0A=
=0A=
			// :animated=0A=
			animated: function(a){return =
jQuery.grep(jQuery.timers,function(fn){return a=3D=3Dfn.elem;}).length;}=0A=
		}=0A=
	},=0A=
	=0A=
	// The regular expressions that power the parsing engine=0A=
	parse: [=0A=
		// Match: [@value=3D'test'], [@foo]=0A=
		/^(\[) *@?([\w-]+) *([!*$^~=3D]*) *('?"?)(.*?)\4 *\]/,=0A=
=0A=
		// Match: :contains('foo')=0A=
		/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,=0A=
=0A=
		// Match: :even, :last-chlid, #id, .class=0A=
		new RegExp("^([:.#]*)(" + chars + "+)")=0A=
	],=0A=
=0A=
	multiFilter: function( expr, elems, not ) {=0A=
		var old, cur =3D [];=0A=
=0A=
		while ( expr && expr !=3D old ) {=0A=
			old =3D expr;=0A=
			var f =3D jQuery.filter( expr, elems, not );=0A=
			expr =3D f.t.replace(/^\s*,\s*/, "" );=0A=
			cur =3D not ? elems =3D f.r : jQuery.merge( cur, f.r );=0A=
		}=0A=
=0A=
		return cur;=0A=
	},=0A=
=0A=
	find: function( t, context ) {=0A=
		// Quickly handle non-string expressions=0A=
		if ( typeof t !=3D "string" )=0A=
			return [ t ];=0A=
=0A=
		// check to make sure context is a DOM element or a document=0A=
		if ( context && context.nodeType !=3D 1 && context.nodeType !=3D 9)=0A=
			return [ ];=0A=
=0A=
		// Set the correct context (if none is provided)=0A=
		context =3D context || document;=0A=
=0A=
		// Initialize the search=0A=
		var ret =3D [context], done =3D [], last, nodeName;=0A=
=0A=
		// Continue while a selector expression exists, and while=0A=
		// we're no longer looping upon ourselves=0A=
		while ( t && last !=3D t ) {=0A=
			var r =3D [];=0A=
			last =3D t;=0A=
=0A=
			t =3D jQuery.trim(t);=0A=
=0A=
			var foundToken =3D false;=0A=
=0A=
			// An attempt at speeding up child selectors that=0A=
			// point to a specific element tag=0A=
			var re =3D quickChild;=0A=
			var m =3D re.exec(t);=0A=
=0A=
			if ( m ) {=0A=
				nodeName =3D m[1].toUpperCase();=0A=
=0A=
				// Perform our own iteration and filter=0A=
				for ( var i =3D 0; ret[i]; i++ )=0A=
					for ( var c =3D ret[i].firstChild; c; c =3D c.nextSibling )=0A=
						if ( c.nodeType =3D=3D 1 && (nodeName =3D=3D "*" || =
c.nodeName.toUpperCase() =3D=3D nodeName) )=0A=
							r.push( c );=0A=
=0A=
				ret =3D r;=0A=
				t =3D t.replace( re, "" );=0A=
				if ( t.indexOf(" ") =3D=3D 0 ) continue;=0A=
				foundToken =3D true;=0A=
			} else {=0A=
				re =3D /^([>+~])\s*(\w*)/i;=0A=
=0A=
				if ( (m =3D re.exec(t)) !=3D null ) {=0A=
					r =3D [];=0A=
=0A=
					var merge =3D {};=0A=
					nodeName =3D m[2].toUpperCase();=0A=
					m =3D m[1];=0A=
=0A=
					for ( var j =3D 0, rl =3D ret.length; j < rl; j++ ) {=0A=
						var n =3D m =3D=3D "~" || m =3D=3D "+" ? ret[j].nextSibling : =
ret[j].firstChild;=0A=
						for ( ; n; n =3D n.nextSibling )=0A=
							if ( n.nodeType =3D=3D 1 ) {=0A=
								var id =3D jQuery.data(n);=0A=
=0A=
								if ( m =3D=3D "~" && merge[id] ) break;=0A=
								=0A=
								if (!nodeName || n.nodeName.toUpperCase() =3D=3D nodeName ) {=0A=
									if ( m =3D=3D "~" ) merge[id] =3D true;=0A=
									r.push( n );=0A=
								}=0A=
								=0A=
								if ( m =3D=3D "+" ) break;=0A=
							}=0A=
					}=0A=
=0A=
					ret =3D r;=0A=
=0A=
					// And remove the token=0A=
					t =3D jQuery.trim( t.replace( re, "" ) );=0A=
					foundToken =3D true;=0A=
				}=0A=
			}=0A=
=0A=
			// See if there's still an expression, and that we haven't already=0A=
			// matched a token=0A=
			if ( t && !foundToken ) {=0A=
				// Handle multiple expressions=0A=
				if ( !t.indexOf(",") ) {=0A=
					// Clean the result set=0A=
					if ( context =3D=3D ret[0] ) ret.shift();=0A=
=0A=
					// Merge the result sets=0A=
					done =3D jQuery.merge( done, ret );=0A=
=0A=
					// Reset the context=0A=
					r =3D ret =3D [context];=0A=
=0A=
					// Touch up the selector string=0A=
					t =3D " " + t.substr(1,t.length);=0A=
=0A=
				} else {=0A=
					// Optimize for the case nodeName#idName=0A=
					var re2 =3D quickID;=0A=
					var m =3D re2.exec(t);=0A=
					=0A=
					// Re-organize the results, so that they're consistent=0A=
					if ( m ) {=0A=
						m =3D [ 0, m[2], m[3], m[1] ];=0A=
=0A=
					} else {=0A=
						// Otherwise, do a traditional filter check for=0A=
						// ID, class, and element selectors=0A=
						re2 =3D quickClass;=0A=
						m =3D re2.exec(t);=0A=
					}=0A=
=0A=
					m[2] =3D m[2].replace(/\\/g, "");=0A=
=0A=
					var elem =3D ret[ret.length-1];=0A=
=0A=
					// Try to do a global search by ID, where we can=0A=
					if ( m[1] =3D=3D "#" && elem && elem.getElementById && =
!jQuery.isXMLDoc(elem) ) {=0A=
						// Optimization for HTML document case=0A=
						var oid =3D elem.getElementById(m[2]);=0A=
						=0A=
						// Do a quick check for the existence of the actual ID attribute=0A=
						// to avoid selecting by the name attribute in IE=0A=
						// also check to insure id is a string to avoid selecting an =
element with the name of 'id' inside a form=0A=
						if ( (jQuery.browser.msie||jQuery.browser.opera) && oid && typeof =
oid.id =3D=3D "string" && oid.id !=3D m[2] )=0A=
							oid =3D jQuery('[@id=3D"'+m[2]+'"]', elem)[0];=0A=
=0A=
						// Do a quick check for node name (where applicable) so=0A=
						// that div#foo searches will be really fast=0A=
						ret =3D r =3D oid && (!m[3] || jQuery.nodeName(oid, m[3])) ? [oid] =
: [];=0A=
					} else {=0A=
						// We need to find all descendant elements=0A=
						for ( var i =3D 0; ret[i]; i++ ) {=0A=
							// Grab the tag name being searched for=0A=
							var tag =3D m[1] =3D=3D "#" && m[3] ? m[3] : m[1] !=3D "" || m[0] =
=3D=3D "" ? "*" : m[2];=0A=
=0A=
							// Handle IE7 being really dumb about <object>s=0A=
							if ( tag =3D=3D "*" && ret[i].nodeName.toLowerCase() =3D=3D =
"object" )=0A=
								tag =3D "param";=0A=
=0A=
							r =3D jQuery.merge( r, ret[i].getElementsByTagName( tag ));=0A=
						}=0A=
=0A=
						// It's faster to filter by class and be done with it=0A=
						if ( m[1] =3D=3D "." )=0A=
							r =3D jQuery.classFilter( r, m[2] );=0A=
=0A=
						// Same with ID filtering=0A=
						if ( m[1] =3D=3D "#" ) {=0A=
							var tmp =3D [];=0A=
=0A=
							// Try to find the element with the ID=0A=
							for ( var i =3D 0; r[i]; i++ )=0A=
								if ( r[i].getAttribute("id") =3D=3D m[2] ) {=0A=
									tmp =3D [ r[i] ];=0A=
									break;=0A=
								}=0A=
=0A=
							r =3D tmp;=0A=
						}=0A=
=0A=
						ret =3D r;=0A=
					}=0A=
=0A=
					t =3D t.replace( re2, "" );=0A=
				}=0A=
=0A=
			}=0A=
=0A=
			// If a selector string still exists=0A=
			if ( t ) {=0A=
				// Attempt to filter it=0A=
				var val =3D jQuery.filter(t,r);=0A=
				ret =3D r =3D val.r;=0A=
				t =3D jQuery.trim(val.t);=0A=
			}=0A=
		}=0A=
=0A=
		// An error occurred with the selector;=0A=
		// just return an empty set instead=0A=
		if ( t )=0A=
			ret =3D [];=0A=
=0A=
		// Remove the root context=0A=
		if ( ret && context =3D=3D ret[0] )=0A=
			ret.shift();=0A=
=0A=
		// And combine the results=0A=
		done =3D jQuery.merge( done, ret );=0A=
=0A=
		return done;=0A=
	},=0A=
=0A=
	classFilter: function(r,m,not){=0A=
		m =3D " " + m + " ";=0A=
		var tmp =3D [];=0A=
		for ( var i =3D 0; r[i]; i++ ) {=0A=
			var pass =3D (" " + r[i].className + " ").indexOf( m ) >=3D 0;=0A=
			if ( !not && pass || not && !pass )=0A=
				tmp.push( r[i] );=0A=
		}=0A=
		return tmp;=0A=
	},=0A=
=0A=
	filter: function(t,r,not) {=0A=
		var last;=0A=
=0A=
		// Look for common filter expressions=0A=
		while ( t && t !=3D last ) {=0A=
			last =3D t;=0A=
=0A=
			var p =3D jQuery.parse, m;=0A=
=0A=
			for ( var i =3D 0; p[i]; i++ ) {=0A=
				m =3D p[i].exec( t );=0A=
=0A=
				if ( m ) {=0A=
					// Remove what we just matched=0A=
					t =3D t.substring( m[0].length );=0A=
=0A=
					m[2] =3D m[2].replace(/\\/g, "");=0A=
					break;=0A=
				}=0A=
			}=0A=
=0A=
			if ( !m )=0A=
				break;=0A=
=0A=
			// :not() is a special case that can be optimized by=0A=
			// keeping it out of the expression list=0A=
			if ( m[1] =3D=3D ":" && m[2] =3D=3D "not" )=0A=
				// optimize if only one selector found (most common case)=0A=
				r =3D isSimple.test( m[3] ) ?=0A=
					jQuery.filter(m[3], r, true).r :=0A=
					jQuery( r ).not( m[3] );=0A=
=0A=
			// We can get a big speed boost by filtering by class here=0A=
			else if ( m[1] =3D=3D "." )=0A=
				r =3D jQuery.classFilter(r, m[2], not);=0A=
=0A=
			else if ( m[1] =3D=3D "[" ) {=0A=
				var tmp =3D [], type =3D m[3];=0A=
				=0A=
				for ( var i =3D 0, rl =3D r.length; i < rl; i++ ) {=0A=
					var a =3D r[i], z =3D a[ jQuery.props[m[2]] || m[2] ];=0A=
					=0A=
					if ( z =3D=3D null || /href|src|selected/.test(m[2]) )=0A=
						z =3D jQuery.attr(a,m[2]) || '';=0A=
=0A=
					if ( (type =3D=3D "" && !!z ||=0A=
						 type =3D=3D "=3D" && z =3D=3D m[5] ||=0A=
						 type =3D=3D "!=3D" && z !=3D m[5] ||=0A=
						 type =3D=3D "^=3D" && z && !z.indexOf(m[5]) ||=0A=
						 type =3D=3D "$=3D" && z.substr(z.length - m[5].length) =3D=3D =
m[5] ||=0A=
						 (type =3D=3D "*=3D" || type =3D=3D "~=3D") && z.indexOf(m[5]) =
>=3D 0) ^ not )=0A=
							tmp.push( a );=0A=
				}=0A=
				=0A=
				r =3D tmp;=0A=
=0A=
			// We can get a speed boost by handling nth-child here=0A=
			} else if ( m[1] =3D=3D ":" && m[2] =3D=3D "nth-child" ) {=0A=
				var merge =3D {}, tmp =3D [],=0A=
					// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', =
'-n+6'=0A=
					test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(=0A=
						m[3] =3D=3D "even" && "2n" || m[3] =3D=3D "odd" && "2n+1" ||=0A=
						!/\D/.test(m[3]) && "0n+" + m[3] || m[3]),=0A=
					// calculate the numbers (first)n+(last) including if they are =
negative=0A=
					first =3D (test[1] + (test[2] || 1)) - 0, last =3D test[3] - 0;=0A=
 =0A=
				// loop through all the elements left in the jQuery object=0A=
				for ( var i =3D 0, rl =3D r.length; i < rl; i++ ) {=0A=
					var node =3D r[i], parentNode =3D node.parentNode, id =3D =
jQuery.data(parentNode);=0A=
=0A=
					if ( !merge[id] ) {=0A=
						var c =3D 1;=0A=
=0A=
						for ( var n =3D parentNode.firstChild; n; n =3D n.nextSibling )=0A=
							if ( n.nodeType =3D=3D 1 )=0A=
								n.nodeIndex =3D c++;=0A=
=0A=
						merge[id] =3D true;=0A=
					}=0A=
=0A=
					var add =3D false;=0A=
=0A=
					if ( first =3D=3D 0 ) {=0A=
						if ( node.nodeIndex =3D=3D last )=0A=
							add =3D true;=0A=
					} else if ( (node.nodeIndex - last) % first =3D=3D 0 && =
(node.nodeIndex - last) / first >=3D 0 )=0A=
						add =3D true;=0A=
=0A=
					if ( add ^ not )=0A=
						tmp.push( node );=0A=
				}=0A=
=0A=
				r =3D tmp;=0A=
=0A=
			// Otherwise, find the expression to execute=0A=
			} else {=0A=
				var fn =3D jQuery.expr[ m[1] ];=0A=
				if ( typeof fn =3D=3D "object" )=0A=
					fn =3D fn[ m[2] ];=0A=
=0A=
				if ( typeof fn =3D=3D "string" )=0A=
					fn =3D eval("false||function(a,i){return " + fn + ";}");=0A=
=0A=
				// Execute it against the current filter=0A=
				r =3D jQuery.grep( r, function(elem, i){=0A=
					return fn(elem, i, m, r);=0A=
				}, not );=0A=
			}=0A=
		}=0A=
=0A=
		// Return an array of filtered elements (r)=0A=
		// and the modified expression string (t)=0A=
		return { r: r, t: t };=0A=
	},=0A=
=0A=
	dir: function( elem, dir ){=0A=
		var matched =3D [];=0A=
		var cur =3D elem[dir];=0A=
		while ( cur && cur !=3D document ) {=0A=
			if ( cur.nodeType =3D=3D 1 )=0A=
				matched.push( cur );=0A=
			cur =3D cur[dir];=0A=
		}=0A=
		return matched;=0A=
	},=0A=
	=0A=
	nth: function(cur,result,dir,elem){=0A=
		result =3D result || 1;=0A=
		var num =3D 0;=0A=
=0A=
		for ( ; cur; cur =3D cur[dir] )=0A=
			if ( cur.nodeType =3D=3D 1 && ++num =3D=3D result )=0A=
				break;=0A=
=0A=
		return cur;=0A=
	},=0A=
	=0A=
	sibling: function( n, elem ) {=0A=
		var r =3D [];=0A=
=0A=
		for ( ; n; n =3D n.nextSibling ) {=0A=
			if ( n.nodeType =3D=3D 1 && (!elem || n !=3D elem) )=0A=
				r.push( n );=0A=
		}=0A=
=0A=
		return r;=0A=
	}=0A=
});=0A=
=0A=
/*=0A=
 * A number of helper functions used for managing events.=0A=
 * Many of the ideas behind this code orignated from =0A=
 * Dean Edwards' addEvent library.=0A=
 */=0A=
jQuery.event =3D {=0A=
=0A=
	// Bind an event to an element=0A=
	// Original by Dean Edwards=0A=
	add: function(elem, types, handler, data) {=0A=
		if ( elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )=0A=
			return;=0A=
=0A=
		// For whatever reason, IE has trouble passing the window object=0A=
		// around, causing it to be cloned in the process=0A=
		if ( jQuery.browser.msie && elem.setInterval !=3D undefined )=0A=
			elem =3D window;=0A=
=0A=
		// Make sure that the function being executed has a unique ID=0A=
		if ( !handler.guid )=0A=
			handler.guid =3D this.guid++;=0A=
			=0A=
		// if data is passed, bind to handler =0A=
		if( data !=3D undefined ) { =0A=
			// Create temporary function pointer to original handler =0A=
			var fn =3D handler; =0A=
=0A=
			// Create unique handler function, wrapped around original handler =0A=
			handler =3D function() { =0A=
				// Pass arguments and context to original handler =0A=
				return fn.apply(this, arguments); =0A=
			};=0A=
=0A=
			// Store data in unique handler =0A=
			handler.data =3D data;=0A=
=0A=
			// Set the guid of unique handler to the same of original handler, so =
it can be removed =0A=
			handler.guid =3D fn.guid;=0A=
		}=0A=
=0A=
		// Init the element's event structure=0A=
		var events =3D jQuery.data(elem, "events") || jQuery.data(elem, =
"events", {}),=0A=
			handle =3D jQuery.data(elem, "handle") || jQuery.data(elem, "handle", =
function(){=0A=
				// returned undefined or false=0A=
				var val;=0A=
=0A=
				// Handle the second event of a trigger and when=0A=
				// an event is called after a page has unloaded=0A=
				if ( typeof jQuery =3D=3D "undefined" || jQuery.event.triggered )=0A=
					return val;=0A=
		=0A=
				val =3D jQuery.event.handle.apply(arguments.callee.elem, arguments);=0A=
		=0A=
				return val;=0A=
			});=0A=
		// Add elem as a property of the handle function=0A=
		// This is to prevent a memory leak with non-native=0A=
		// event in IE.=0A=
		handle.elem =3D elem;=0A=
			=0A=
			// Handle multiple events seperated by a space=0A=
			// jQuery(...).bind("mouseover mouseout", fn);=0A=
			jQuery.each(types.split(/\s+/), function(index, type) {=0A=
				// Namespaced event handlers=0A=
				var parts =3D type.split(".");=0A=
				type =3D parts[0];=0A=
				handler.type =3D parts[1];=0A=
=0A=
				// Get the current list of functions bound to this event=0A=
				var handlers =3D events[type];=0A=
=0A=
				// Init the event handler queue=0A=
				if (!handlers) {=0A=
					handlers =3D events[type] =3D {};=0A=
		=0A=
					// Check for a special event handler=0A=
					// Only use addEventListener/attachEvent if the special=0A=
					// events handler returns false=0A=
					if ( !jQuery.event.special[type] || =
jQuery.event.special[type].setup.call(elem) =3D=3D=3D false ) {=0A=
						// Bind the global event handler to the element=0A=
						if (elem.addEventListener)=0A=
							elem.addEventListener(type, handle, false);=0A=
						else if (elem.attachEvent)=0A=
							elem.attachEvent("on" + type, handle);=0A=
					}=0A=
				}=0A=
=0A=
				// Add the function to the element's handler list=0A=
				handlers[handler.guid] =3D handler;=0A=
=0A=
				// Keep track of which events have been used, for global triggering=0A=
				jQuery.event.global[type] =3D true;=0A=
			});=0A=
		=0A=
		// Nullify elem to prevent memory leaks in IE=0A=
		elem =3D null;=0A=
	},=0A=
=0A=
	guid: 1,=0A=
	global: {},=0A=
=0A=
	// Detach an event or set of events from an element=0A=
	remove: function(elem, types, handler) {=0A=
		// don't do events on text and comment nodes=0A=
		if ( elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )=0A=
			return;=0A=
=0A=
		var events =3D jQuery.data(elem, "events"), ret, index;=0A=
=0A=
		if ( events ) {=0A=
			// Unbind all events for the element=0A=
			if ( types =3D=3D undefined || (typeof types =3D=3D "string" && =
types.charAt(0) =3D=3D ".") )=0A=
				for ( var type in events )=0A=
					this.remove( elem, type + (types || "") );=0A=
			else {=0A=
				// types is actually an event object here=0A=
				if ( types.type ) {=0A=
					handler =3D types.handler;=0A=
					types =3D types.type;=0A=
				}=0A=
				=0A=
				// Handle multiple events seperated by a space=0A=
				// jQuery(...).unbind("mouseover mouseout", fn);=0A=
				jQuery.each(types.split(/\s+/), function(index, type){=0A=
					// Namespaced event handlers=0A=
					var parts =3D type.split(".");=0A=
					type =3D parts[0];=0A=
					=0A=
					if ( events[type] ) {=0A=
						// remove the given handler for the given type=0A=
						if ( handler )=0A=
							delete events[type][handler.guid];=0A=
			=0A=
						// remove all handlers for the given type=0A=
						else=0A=
							for ( handler in events[type] )=0A=
								// Handle the removal of namespaced events=0A=
								if ( !parts[1] || events[type][handler].type =3D=3D parts[1] )=0A=
									delete events[type][handler];=0A=
=0A=
						// remove generic event handler if no more handlers exist=0A=
						for ( ret in events[type] ) break;=0A=
						if ( !ret ) {=0A=
							if ( !jQuery.event.special[type] || =
jQuery.event.special[type].teardown.call(elem) =3D=3D=3D false ) {=0A=
								if (elem.removeEventListener)=0A=
									elem.removeEventListener(type, jQuery.data(elem, "handle"), =
false);=0A=
								else if (elem.detachEvent)=0A=
									elem.detachEvent("on" + type, jQuery.data(elem, "handle"));=0A=
							}=0A=
							ret =3D null;=0A=
							delete events[type];=0A=
						}=0A=
					}=0A=
				});=0A=
			}=0A=
=0A=
			// Remove the expando if it's no longer used=0A=
			for ( ret in events ) break;=0A=
			if ( !ret ) {=0A=
				var handle =3D jQuery.data( elem, "handle" );=0A=
				if ( handle ) handle.elem =3D null;=0A=
				jQuery.removeData( elem, "events" );=0A=
				jQuery.removeData( elem, "handle" );=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	trigger: function(type, data, elem, donative, extra) {=0A=
		// Clone the incoming data, if any=0A=
		data =3D jQuery.makeArray(data || []);=0A=
=0A=
		if ( type.indexOf("!") >=3D 0 ) {=0A=
			type =3D type.slice(0, -1);=0A=
			var exclusive =3D true;=0A=
		}=0A=
=0A=
		// Handle a global trigger=0A=
		if ( !elem ) {=0A=
			// Only trigger if we've ever bound an event for it=0A=
			if ( this.global[type] )=0A=
				jQuery("*").add([window, document]).trigger(type, data);=0A=
=0A=
		// Handle triggering a single element=0A=
		} else {=0A=
			// don't do events on text and comment nodes=0A=
			if ( elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )=0A=
				return undefined;=0A=
=0A=
			var val, ret, fn =3D jQuery.isFunction( elem[ type ] || null ),=0A=
				// Check to see if we need to provide a fake event, or not=0A=
				event =3D !data[0] || !data[0].preventDefault;=0A=
			=0A=
			// Pass along a fake event=0A=
			if ( event )=0A=
				data.unshift( this.fix({ type: type, target: elem }) );=0A=
=0A=
			// Enforce the right trigger type=0A=
			data[0].type =3D type;=0A=
			if ( exclusive )=0A=
				data[0].exclusive =3D true;=0A=
=0A=
			// Trigger the event=0A=
			if ( jQuery.isFunction( jQuery.data(elem, "handle") ) )=0A=
				val =3D jQuery.data(elem, "handle").apply( elem, data );=0A=
=0A=
			// Handle triggering native .onfoo handlers=0A=
			if ( !fn && elem["on"+type] && elem["on"+type].apply( elem, data ) =
=3D=3D=3D false )=0A=
				val =3D false;=0A=
=0A=
			// Extra functions don't get the custom event object=0A=
			if ( event )=0A=
				data.shift();=0A=
=0A=
			// Handle triggering of extra function=0A=
			if ( extra && jQuery.isFunction( extra ) ) {=0A=
				// call the extra function and tack the current return value on the =
end for possible inspection=0A=
				ret =3D extra.apply( elem, val =3D=3D null ? data : data.concat( val =
) );=0A=
				// if anything is returned, give it precedence and have it overwrite =
the previous value=0A=
				if (ret !=3D=3D undefined)=0A=
					val =3D ret;=0A=
			}=0A=
=0A=
			// Trigger the native events (except for clicks on links)=0A=
			if ( fn && donative !=3D=3D false && val !=3D=3D false && =
!(jQuery.nodeName(elem, 'a') && type =3D=3D "click") ) {=0A=
				this.triggered =3D true;=0A=
				try {=0A=
					elem[ type ]();=0A=
				// prevent IE from throwing an error for some hidden elements=0A=
				} catch (e) {}=0A=
			}=0A=
=0A=
			this.triggered =3D false;=0A=
		}=0A=
=0A=
		return val;=0A=
	},=0A=
=0A=
	handle: function(event) {=0A=
		// returned undefined or false=0A=
		var val;=0A=
=0A=
		// Empty object is for triggered events with no data=0A=
		event =3D jQuery.event.fix( event || window.event || {} ); =0A=
=0A=
		// Namespaced event handlers=0A=
		var parts =3D event.type.split(".");=0A=
		event.type =3D parts[0];=0A=
=0A=
		var handlers =3D jQuery.data(this, "events") && jQuery.data(this, =
"events")[event.type], args =3D Array.prototype.slice.call( arguments, 1 =
);=0A=
		args.unshift( event );=0A=
=0A=
		for ( var j in handlers ) {=0A=
			var handler =3D handlers[j];=0A=
			// Pass in a reference to the handler function itself=0A=
			// So that we can later remove it=0A=
			args[0].handler =3D handler;=0A=
			args[0].data =3D handler.data;=0A=
=0A=
			// Filter the functions by class=0A=
			if ( !parts[1] && !event.exclusive || handler.type =3D=3D parts[1] ) {=0A=
				var ret =3D handler.apply( this, args );=0A=
=0A=
				if ( val !=3D=3D false )=0A=
					val =3D ret;=0A=
=0A=
				if ( ret =3D=3D=3D false ) {=0A=
					event.preventDefault();=0A=
					event.stopPropagation();=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		// Clean up added properties in IE to prevent memory leak=0A=
		if (jQuery.browser.msie)=0A=
			event.target =3D event.preventDefault =3D event.stopPropagation =3D=0A=
				event.handler =3D event.data =3D null;=0A=
=0A=
		return val;=0A=
	},=0A=
=0A=
	fix: function(event) {=0A=
		// store a copy of the original event object =0A=
		// and clone to set read-only properties=0A=
		var originalEvent =3D event;=0A=
		event =3D jQuery.extend({}, originalEvent);=0A=
		=0A=
		// add preventDefault and stopPropagation since =0A=
		// they will not work on the clone=0A=
		event.preventDefault =3D function() {=0A=
			// if preventDefault exists run it on the original event=0A=
			if (originalEvent.preventDefault)=0A=
				originalEvent.preventDefault();=0A=
			// otherwise set the returnValue property of the original event to =
false (IE)=0A=
			originalEvent.returnValue =3D false;=0A=
		};=0A=
		event.stopPropagation =3D function() {=0A=
			// if stopPropagation exists run it on the original event=0A=
			if (originalEvent.stopPropagation)=0A=
				originalEvent.stopPropagation();=0A=
			// otherwise set the cancelBubble property of the original event to =
true (IE)=0A=
			originalEvent.cancelBubble =3D true;=0A=
		};=0A=
		=0A=
		// Fix target property, if necessary=0A=
		if ( !event.target )=0A=
			event.target =3D event.srcElement || document; // Fixes #1925 where =
srcElement might not be defined either=0A=
				=0A=
		// check if target is a textnode (safari)=0A=
		if ( event.target.nodeType =3D=3D 3 )=0A=
			event.target =3D originalEvent.target.parentNode;=0A=
=0A=
		// Add relatedTarget, if necessary=0A=
		if ( !event.relatedTarget && event.fromElement )=0A=
			event.relatedTarget =3D event.fromElement =3D=3D event.target ? =
event.toElement : event.fromElement;=0A=
=0A=
		// Calculate pageX/Y if missing and clientX/Y available=0A=
		if ( event.pageX =3D=3D null && event.clientX !=3D null ) {=0A=
			var doc =3D document.documentElement, body =3D document.body;=0A=
			event.pageX =3D event.clientX + (doc && doc.scrollLeft || body && =
body.scrollLeft || 0) - (doc.clientLeft || 0);=0A=
			event.pageY =3D event.clientY + (doc && doc.scrollTop || body && =
body.scrollTop || 0) - (doc.clientTop || 0);=0A=
		}=0A=
			=0A=
		// Add which for key events=0A=
		if ( !event.which && ((event.charCode || event.charCode =3D=3D=3D 0) ? =
event.charCode : event.keyCode) )=0A=
			event.which =3D event.charCode || event.keyCode;=0A=
		=0A=
		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for =
Macs)=0A=
		if ( !event.metaKey && event.ctrlKey )=0A=
			event.metaKey =3D event.ctrlKey;=0A=
=0A=
		// Add which for click: 1 =3D=3D left; 2 =3D=3D middle; 3 =3D=3D right=0A=
		// Note: button is not normalized, so don't use it=0A=
		if ( !event.which && event.button )=0A=
			event.which =3D (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( =
event.button & 4 ? 2 : 0 ) ));=0A=
			=0A=
		return event;=0A=
	},=0A=
	=0A=
	special: {=0A=
		ready: {=0A=
			setup: function() {=0A=
				// Make sure the ready event is setup=0A=
				bindReady();=0A=
				return;=0A=
			},=0A=
			=0A=
			teardown: function() { return; }=0A=
		},=0A=
		=0A=
		mouseenter: {=0A=
			setup: function() {=0A=
				if ( jQuery.browser.msie ) return false;=0A=
				jQuery(this).bind("mouseover", =
jQuery.event.special.mouseenter.handler);=0A=
				return true;=0A=
			},=0A=
		=0A=
			teardown: function() {=0A=
				if ( jQuery.browser.msie ) return false;=0A=
				jQuery(this).unbind("mouseover", =
jQuery.event.special.mouseenter.handler);=0A=
				return true;=0A=
			},=0A=
			=0A=
			handler: function(event) {=0A=
				// If we actually just moused on to a sub-element, ignore it=0A=
				if ( withinElement(event, this) ) return true;=0A=
				// Execute the right handlers by setting the event type to mouseenter=0A=
				arguments[0].type =3D "mouseenter";=0A=
				return jQuery.event.handle.apply(this, arguments);=0A=
			}=0A=
		},=0A=
	=0A=
		mouseleave: {=0A=
			setup: function() {=0A=
				if ( jQuery.browser.msie ) return false;=0A=
				jQuery(this).bind("mouseout", =
jQuery.event.special.mouseleave.handler);=0A=
				return true;=0A=
			},=0A=
		=0A=
			teardown: function() {=0A=
				if ( jQuery.browser.msie ) return false;=0A=
				jQuery(this).unbind("mouseout", =
jQuery.event.special.mouseleave.handler);=0A=
				return true;=0A=
			},=0A=
			=0A=
			handler: function(event) {=0A=
				// If we actually just moused on to a sub-element, ignore it=0A=
				if ( withinElement(event, this) ) return true;=0A=
				// Execute the right handlers by setting the event type to mouseleave=0A=
				arguments[0].type =3D "mouseleave";=0A=
				return jQuery.event.handle.apply(this, arguments);=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
jQuery.fn.extend({=0A=
	bind: function( type, data, fn ) {=0A=
		return type =3D=3D "unload" ? this.one(type, data, fn) : =
this.each(function(){=0A=
			jQuery.event.add( this, type, fn || data, fn && data );=0A=
		});=0A=
	},=0A=
	=0A=
	one: function( type, data, fn ) {=0A=
		return this.each(function(){=0A=
			jQuery.event.add( this, type, function(event) {=0A=
				jQuery(this).unbind(event);=0A=
				return (fn || data).apply( this, arguments);=0A=
			}, fn && data);=0A=
		});=0A=
	},=0A=
=0A=
	unbind: function( type, fn ) {=0A=
		return this.each(function(){=0A=
			jQuery.event.remove( this, type, fn );=0A=
		});=0A=
	},=0A=
=0A=
	trigger: function( type, data, fn ) {=0A=
		return this.each(function(){=0A=
			jQuery.event.trigger( type, data, this, true, fn );=0A=
		});=0A=
	},=0A=
=0A=
	triggerHandler: function( type, data, fn ) {=0A=
		if ( this[0] )=0A=
			return jQuery.event.trigger( type, data, this[0], false, fn );=0A=
		return undefined;=0A=
	},=0A=
=0A=
	toggle: function() {=0A=
		// Save reference to arguments for access in closure=0A=
		var args =3D arguments;=0A=
=0A=
		return this.click(function(event) {=0A=
			// Figure out which function to execute=0A=
			this.lastToggle =3D 0 =3D=3D this.lastToggle ? 1 : 0;=0A=
			=0A=
			// Make sure that clicks stop=0A=
			event.preventDefault();=0A=
			=0A=
			// and execute the function=0A=
			return args[this.lastToggle].apply( this, arguments ) || false;=0A=
		});=0A=
	},=0A=
=0A=
	hover: function(fnOver, fnOut) {=0A=
		return this.bind('mouseenter', fnOver).bind('mouseleave', fnOut);=0A=
	},=0A=
	=0A=
	ready: function(fn) {=0A=
		// Attach the listeners=0A=
		bindReady();=0A=
=0A=
		// If the DOM is already ready=0A=
		if ( jQuery.isReady )=0A=
			// Execute the function immediately=0A=
			fn.call( document, jQuery );=0A=
			=0A=
		// Otherwise, remember the function for later=0A=
		else=0A=
			// Add the function to the wait list=0A=
			jQuery.readyList.push( function() { return fn.call(this, jQuery); } );=0A=
	=0A=
		return this;=0A=
	}=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	isReady: false,=0A=
	readyList: [],=0A=
	// Handle when the DOM is ready=0A=
	ready: function() {=0A=
		// Make sure that the DOM is not already loaded=0A=
		if ( !jQuery.isReady ) {=0A=
			// Remember that the DOM is ready=0A=
			jQuery.isReady =3D true;=0A=
			=0A=
			// If there are functions bound, to execute=0A=
			if ( jQuery.readyList ) {=0A=
				// Execute all of them=0A=
				jQuery.each( jQuery.readyList, function(){=0A=
					this.apply( document );=0A=
				});=0A=
				=0A=
				// Reset the list of functions=0A=
				jQuery.readyList =3D null;=0A=
			}=0A=
		=0A=
			// Trigger any bound ready events=0A=
			jQuery(document).triggerHandler("ready");=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
var readyBound =3D false;=0A=
=0A=
function bindReady(){=0A=
	if ( readyBound ) return;=0A=
	readyBound =3D true;=0A=
=0A=
	// Mozilla, Opera (see further below for it) and webkit nightlies =
currently support this event=0A=
	if ( document.addEventListener && !jQuery.browser.opera)=0A=
		// Use the handy event callback=0A=
		document.addEventListener( "DOMContentLoaded", jQuery.ready, false );=0A=
	=0A=
	// If IE is used and is not in a frame=0A=
	// Continually check to see if the document is ready=0A=
	if ( jQuery.browser.msie && window =3D=3D top ) (function(){=0A=
		if (jQuery.isReady) return;=0A=
		try {=0A=
			// If IE is used, use the trick by Diego Perini=0A=
			// http://javascript.nwbox.com/IEContentLoaded/=0A=
			document.documentElement.doScroll("left");=0A=
		} catch( error ) {=0A=
			setTimeout( arguments.callee, 0 );=0A=
			return;=0A=
		}=0A=
		// and execute any waiting functions=0A=
		jQuery.ready();=0A=
	})();=0A=
=0A=
	if ( jQuery.browser.opera )=0A=
		document.addEventListener( "DOMContentLoaded", function () {=0A=
			if (jQuery.isReady) return;=0A=
			for (var i =3D 0; i < document.styleSheets.length; i++)=0A=
				if (document.styleSheets[i].disabled) {=0A=
					setTimeout( arguments.callee, 0 );=0A=
					return;=0A=
				}=0A=
			// and execute any waiting functions=0A=
			jQuery.ready();=0A=
		}, false);=0A=
=0A=
	if ( jQuery.browser.safari ) {=0A=
		var numStyles;=0A=
		(function(){=0A=
			if (jQuery.isReady) return;=0A=
			if ( document.readyState !=3D "loaded" && document.readyState !=3D =
"complete" ) {=0A=
				setTimeout( arguments.callee, 0 );=0A=
				return;=0A=
			}=0A=
			if ( numStyles =3D=3D=3D undefined )=0A=
				numStyles =3D jQuery("style, link[rel=3Dstylesheet]").length;=0A=
			if ( document.styleSheets.length !=3D numStyles ) {=0A=
				setTimeout( arguments.callee, 0 );=0A=
				return;=0A=
			}=0A=
			// and execute any waiting functions=0A=
			jQuery.ready();=0A=
		})();=0A=
	}=0A=
=0A=
	// A fallback to window.onload, that will always work=0A=
	jQuery.event.add( window, "load", jQuery.ready );=0A=
}=0A=
=0A=
jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +=0A=
	"mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + =0A=
	"submit,keydown,keypress,keyup,error").split(","), function(i, name){=0A=
	=0A=
	// Handle event binding=0A=
	jQuery.fn[name] =3D function(fn){=0A=
		return fn ? this.bind(name, fn) : this.trigger(name);=0A=
	};=0A=
});=0A=
=0A=
// Checks if an event happened on an element within another element=0A=
// Used in jQuery.event.special.mouseenter and mouseleave handlers=0A=
var withinElement =3D function(event, elem) {=0A=
	// Check if mouse(over|out) are still within the same parent element=0A=
	var parent =3D event.relatedTarget;=0A=
	// Traverse up the tree=0A=
	while ( parent && parent !=3D elem ) try { parent =3D =
parent.parentNode; } catch(error) { parent =3D elem; }=0A=
	// Return true if we actually just moused on to a sub-element=0A=
	return parent =3D=3D elem;=0A=
};=0A=
=0A=
// Prevent memory leaks in IE=0A=
// And prevent errors on refresh with events like mouseover in other =
browsers=0A=
// Window isn't included so as not to unbind existing unload events=0A=
jQuery(window).bind("unload", function() {=0A=
	jQuery("*").add(document).unbind();=0A=
});=0A=
jQuery.fn.extend({=0A=
	load: function( url, params, callback ) {=0A=
		if ( jQuery.isFunction( url ) )=0A=
			return this.bind("load", url);=0A=
=0A=
		var off =3D url.indexOf(" ");=0A=
		if ( off >=3D 0 ) {=0A=
			var selector =3D url.slice(off, url.length);=0A=
			url =3D url.slice(0, off);=0A=
		}=0A=
=0A=
		callback =3D callback || function(){};=0A=
=0A=
		// Default to a GET request=0A=
		var type =3D "GET";=0A=
=0A=
		// If the second parameter was provided=0A=
		if ( params )=0A=
			// If it's a function=0A=
			if ( jQuery.isFunction( params ) ) {=0A=
				// We assume that it's the callback=0A=
				callback =3D params;=0A=
				params =3D null;=0A=
=0A=
			// Otherwise, build a param string=0A=
			} else {=0A=
				params =3D jQuery.param( params );=0A=
				type =3D "POST";=0A=
			}=0A=
=0A=
		var self =3D this;=0A=
=0A=
		// Request the remote document=0A=
		jQuery.ajax({=0A=
			url: url,=0A=
			type: type,=0A=
			dataType: "html",=0A=
			data: params,=0A=
			complete: function(res, status){=0A=
				// If successful, inject the HTML into all the matched elements=0A=
				if ( status =3D=3D "success" || status =3D=3D "notmodified" )=0A=
					// See if a selector was specified=0A=
					self.html( selector ?=0A=
						// Create a dummy div to hold the results=0A=
						jQuery("<div/>")=0A=
							// inject the contents of the document in, removing the scripts=0A=
							// to avoid any 'Permission Denied' errors in IE=0A=
							.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))=0A=
=0A=
							// Locate the specified elements=0A=
							.find(selector) :=0A=
=0A=
						// If not, just inject the full result=0A=
						res.responseText );=0A=
=0A=
				self.each( callback, [res.responseText, status, res] );=0A=
			}=0A=
		});=0A=
		return this;=0A=
	},=0A=
=0A=
	serialize: function() {=0A=
		return jQuery.param(this.serializeArray());=0A=
	},=0A=
	serializeArray: function() {=0A=
		return this.map(function(){=0A=
			return jQuery.nodeName(this, "form") ?=0A=
				jQuery.makeArray(this.elements) : this;=0A=
		})=0A=
		.filter(function(){=0A=
			return this.name && !this.disabled && =0A=
				(this.checked || /select|textarea/i.test(this.nodeName) || =0A=
					/text|hidden|password/i.test(this.type));=0A=
		})=0A=
		.map(function(i, elem){=0A=
			var val =3D jQuery(this).val();=0A=
			return val =3D=3D null ? null :=0A=
				val.constructor =3D=3D Array ?=0A=
					jQuery.map( val, function(val, i){=0A=
						return {name: elem.name, value: val};=0A=
					}) :=0A=
					{name: elem.name, value: val};=0A=
		}).get();=0A=
	}=0A=
});=0A=
=0A=
// Attach a bunch of functions for handling common AJAX events=0A=
jQuery.each( =
"ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(",=
"), function(i,o){=0A=
	jQuery.fn[o] =3D function(f){=0A=
		return this.bind(o, f);=0A=
	};=0A=
});=0A=
=0A=
var jsc =3D (new Date).getTime();=0A=
=0A=
jQuery.extend({=0A=
	get: function( url, data, callback, type ) {=0A=
		// shift arguments if data argument was ommited=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			callback =3D data;=0A=
			data =3D null;=0A=
		}=0A=
		=0A=
		return jQuery.ajax({=0A=
			type: "GET",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	getScript: function( url, callback ) {=0A=
		return jQuery.get(url, null, callback, "script");=0A=
	},=0A=
=0A=
	getJSON: function( url, data, callback ) {=0A=
		return jQuery.get(url, data, callback, "json");=0A=
	},=0A=
=0A=
	post: function( url, data, callback, type ) {=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			callback =3D data;=0A=
			data =3D {};=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "POST",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	ajaxSetup: function( settings ) {=0A=
		jQuery.extend( jQuery.ajaxSettings, settings );=0A=
	},=0A=
=0A=
	ajaxSettings: {=0A=
		global: true,=0A=
		type: "GET",=0A=
		timeout: 0,=0A=
		contentType: "application/x-www-form-urlencoded",=0A=
		processData: true,=0A=
		async: true,=0A=
		data: null,=0A=
		username: null,=0A=
		password: null,=0A=
		accepts: {=0A=
			xml: "application/xml, text/xml",=0A=
			html: "text/html",=0A=
			script: "text/javascript, application/javascript",=0A=
			json: "application/json, text/javascript",=0A=
			text: "text/plain",=0A=
			_default: "*/*"=0A=
		}=0A=
	},=0A=
	=0A=
	// Last-Modified header cache for next request=0A=
	lastModified: {},=0A=
=0A=
	ajax: function( s ) {=0A=
		var jsonp, jsre =3D /=3D\?(&|$)/g, status, data;=0A=
=0A=
		// Extend the settings, but re-extend 's' so that it can be=0A=
		// checked again later (in the test suite, specifically)=0A=
		s =3D jQuery.extend(true, s, jQuery.extend(true, {}, =
jQuery.ajaxSettings, s));=0A=
=0A=
		// convert data if not already a string=0A=
		if ( s.data && s.processData && typeof s.data !=3D "string" )=0A=
			s.data =3D jQuery.param(s.data);=0A=
=0A=
		// Handle JSONP Parameter Callbacks=0A=
		if ( s.dataType =3D=3D "jsonp" ) {=0A=
			if ( s.type.toLowerCase() =3D=3D "get" ) {=0A=
				if ( !s.url.match(jsre) )=0A=
					s.url +=3D (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || =
"callback") + "=3D?";=0A=
			} else if ( !s.data || !s.data.match(jsre) )=0A=
				s.data =3D (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + =
"=3D?";=0A=
			s.dataType =3D "json";=0A=
		}=0A=
=0A=
		// Build temporary JSONP function=0A=
		if ( s.dataType =3D=3D "json" && (s.data && s.data.match(jsre) || =
s.url.match(jsre)) ) {=0A=
			jsonp =3D "jsonp" + jsc++;=0A=
=0A=
			// Replace the =3D? sequence both in the query string and the data=0A=
			if ( s.data )=0A=
				s.data =3D (s.data + "").replace(jsre, "=3D" + jsonp + "$1");=0A=
			s.url =3D s.url.replace(jsre, "=3D" + jsonp + "$1");=0A=
=0A=
			// We need to make sure=0A=
			// that a JSONP style response is executed properly=0A=
			s.dataType =3D "script";=0A=
=0A=
			// Handle JSONP-style loading=0A=
			window[ jsonp ] =3D function(tmp){=0A=
				data =3D tmp;=0A=
				success();=0A=
				complete();=0A=
				// Garbage collect=0A=
				window[ jsonp ] =3D undefined;=0A=
				try{ delete window[ jsonp ]; } catch(e){}=0A=
				if ( head )=0A=
					head.removeChild( script );=0A=
			};=0A=
		}=0A=
=0A=
		if ( s.dataType =3D=3D "script" && s.cache =3D=3D null )=0A=
			s.cache =3D false;=0A=
=0A=
		if ( s.cache =3D=3D=3D false && s.type.toLowerCase() =3D=3D "get" ) {=0A=
			var ts =3D (new Date()).getTime();=0A=
			// try replacing _=3D if it is there=0A=
			var ret =3D s.url.replace(/(\?|&)_=3D.*?(&|$)/, "$1_=3D" + ts + "$2");=0A=
			// if nothing was replaced, add timestamp to the end=0A=
			s.url =3D ret + ((ret =3D=3D s.url) ? (s.url.match(/\?/) ? "&" : "?") =
+ "_=3D" + ts : "");=0A=
		}=0A=
=0A=
		// If data is available, append data to url for get requests=0A=
		if ( s.data && s.type.toLowerCase() =3D=3D "get" ) {=0A=
			s.url +=3D (s.url.match(/\?/) ? "&" : "?") + s.data;=0A=
=0A=
			// IE likes to send both get and post data, prevent this=0A=
			s.data =3D null;=0A=
		}=0A=
=0A=
		// Watch for a new set of requests=0A=
		if ( s.global && ! jQuery.active++ )=0A=
			jQuery.event.trigger( "ajaxStart" );=0A=
=0A=
		// If we're requesting a remote document=0A=
		// and trying to load JSON or Script with a GET=0A=
		if ( (!s.url.indexOf("http") || !s.url.indexOf("//")) && s.dataType =
=3D=3D "script" && s.type.toLowerCase() =3D=3D "get" ) {=0A=
			var head =3D document.getElementsByTagName("head")[0];=0A=
			var script =3D document.createElement("script");=0A=
			script.src =3D s.url;=0A=
			if (s.scriptCharset)=0A=
				script.charset =3D s.scriptCharset;=0A=
=0A=
			// Handle Script loading=0A=
			if ( !jsonp ) {=0A=
				var done =3D false;=0A=
=0A=
				// Attach handlers for all browsers=0A=
				script.onload =3D script.onreadystatechange =3D function(){=0A=
					if ( !done && (!this.readyState || =0A=
							this.readyState =3D=3D "loaded" || this.readyState =3D=3D =
"complete") ) {=0A=
						done =3D true;=0A=
						success();=0A=
						complete();=0A=
						head.removeChild( script );=0A=
					}=0A=
				};=0A=
			}=0A=
=0A=
			head.appendChild(script);=0A=
=0A=
			// We handle everything using the script element injection=0A=
			return undefined;=0A=
		}=0A=
=0A=
		var requestDone =3D false;=0A=
=0A=
		// Create the request object; Microsoft failed to properly=0A=
		// implement the XMLHttpRequest in IE7, so we use the ActiveXObject =
when it is available=0A=
		var xml =3D window.ActiveXObject ? new =
ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();=0A=
=0A=
		// Open the socket=0A=
		xml.open(s.type, s.url, s.async, s.username, s.password);=0A=
=0A=
		// Need an extra try/catch for cross domain requests in Firefox 3=0A=
		try {=0A=
			// Set the correct header, if data is being sent=0A=
			if ( s.data )=0A=
				xml.setRequestHeader("Content-Type", s.contentType);=0A=
=0A=
			// Set the If-Modified-Since header, if ifModified mode.=0A=
			if ( s.ifModified )=0A=
				xml.setRequestHeader("If-Modified-Since",=0A=
					jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );=0A=
=0A=
			// Set header so the called script knows that it's an XMLHttpRequest=0A=
			xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");=0A=
=0A=
			// Set the Accepts header for the server, depending on the dataType=0A=
			xml.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?=0A=
				s.accepts[ s.dataType ] + ", */*" :=0A=
				s.accepts._default );=0A=
		} catch(e){}=0A=
=0A=
		// Allow custom headers/mimetypes=0A=
		if ( s.beforeSend )=0A=
			s.beforeSend(xml);=0A=
			=0A=
		if ( s.global )=0A=
			jQuery.event.trigger("ajaxSend", [xml, s]);=0A=
=0A=
		// Wait for a response to come back=0A=
		var onreadystatechange =3D function(isTimeout){=0A=
			// The transfer is complete and the data is available, or the request =
timed out=0A=
			if ( !requestDone && xml && (xml.readyState =3D=3D 4 || isTimeout =
=3D=3D "timeout") ) {=0A=
				requestDone =3D true;=0A=
				=0A=
				// clear poll interval=0A=
				if (ival) {=0A=
					clearInterval(ival);=0A=
					ival =3D null;=0A=
				}=0A=
				=0A=
				status =3D isTimeout =3D=3D "timeout" && "timeout" ||=0A=
					!jQuery.httpSuccess( xml ) && "error" ||=0A=
					s.ifModified && jQuery.httpNotModified( xml, s.url ) && =
"notmodified" ||=0A=
					"success";=0A=
=0A=
				if ( status =3D=3D "success" ) {=0A=
					// Watch for, and catch, XML document parse errors=0A=
					try {=0A=
						// process the data (runs the xml through httpData regardless of =
callback)=0A=
						data =3D jQuery.httpData( xml, s.dataType );=0A=
					} catch(e) {=0A=
						status =3D "parsererror";=0A=
					}=0A=
				}=0A=
=0A=
				// Make sure that the request was successful or notmodified=0A=
				if ( status =3D=3D "success" ) {=0A=
					// Cache Last-Modified header, if ifModified mode.=0A=
					var modRes;=0A=
					try {=0A=
						modRes =3D xml.getResponseHeader("Last-Modified");=0A=
					} catch(e) {} // swallow exception thrown by FF if header is not =
available=0A=
	=0A=
					if ( s.ifModified && modRes )=0A=
						jQuery.lastModified[s.url] =3D modRes;=0A=
=0A=
					// JSONP handles its own success callback=0A=
					if ( !jsonp )=0A=
						success();	=0A=
				} else=0A=
					jQuery.handleError(s, xml, status);=0A=
=0A=
				// Fire the complete handlers=0A=
				complete();=0A=
=0A=
				// Stop memory leaks=0A=
				if ( s.async )=0A=
					xml =3D null;=0A=
			}=0A=
		};=0A=
		=0A=
		if ( s.async ) {=0A=
			// don't attach the handler to the request, just poll it instead=0A=
			var ival =3D setInterval(onreadystatechange, 13); =0A=
=0A=
			// Timeout checker=0A=
			if ( s.timeout > 0 )=0A=
				setTimeout(function(){=0A=
					// Check to see if the request is still happening=0A=
					if ( xml ) {=0A=
						// Cancel the request=0A=
						xml.abort();=0A=
	=0A=
						if( !requestDone )=0A=
							onreadystatechange( "timeout" );=0A=
					}=0A=
				}, s.timeout);=0A=
		}=0A=
			=0A=
		// Send the data=0A=
		try {=0A=
			xml.send(s.data);=0A=
		} catch(e) {=0A=
			jQuery.handleError(s, xml, null, e);=0A=
		}=0A=
		=0A=
		// firefox 1.5 doesn't fire statechange for sync requests=0A=
		if ( !s.async )=0A=
			onreadystatechange();=0A=
=0A=
		function success(){=0A=
			// If a local callback was specified, fire it and pass it the data=0A=
			if ( s.success )=0A=
				s.success( data, status );=0A=
=0A=
			// Fire the global callback=0A=
			if ( s.global )=0A=
				jQuery.event.trigger( "ajaxSuccess", [xml, s] );=0A=
		}=0A=
=0A=
		function complete(){=0A=
			// Process result=0A=
			if ( s.complete )=0A=
				s.complete(xml, status);=0A=
=0A=
			// The request was completed=0A=
			if ( s.global )=0A=
				jQuery.event.trigger( "ajaxComplete", [xml, s] );=0A=
=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active )=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
		}=0A=
		=0A=
		// return XMLHttpRequest to allow aborting the request etc.=0A=
		return xml;=0A=
	},=0A=
=0A=
	handleError: function( s, xml, status, e ) {=0A=
		// If a local callback was specified, fire it=0A=
		if ( s.error ) s.error( xml, status, e );=0A=
=0A=
		// Fire the global callback=0A=
		if ( s.global )=0A=
			jQuery.event.trigger( "ajaxError", [xml, s, e] );=0A=
	},=0A=
=0A=
	// Counter for holding the number of active queries=0A=
	active: 0,=0A=
=0A=
	// Determines if an XMLHttpRequest was successful or not=0A=
	httpSuccess: function( r ) {=0A=
		try {=0A=
			// IE error sometimes returns 1223 when it should be 204 so treat it =
as success, see #1450=0A=
			return !r.status && location.protocol =3D=3D "file:" ||=0A=
				( r.status >=3D 200 && r.status < 300 ) || r.status =3D=3D 304 || =
r.status =3D=3D 1223 ||=0A=
				jQuery.browser.safari && r.status =3D=3D undefined;=0A=
		} catch(e){}=0A=
		return false;=0A=
	},=0A=
=0A=
	// Determines if an XMLHttpRequest returns NotModified=0A=
	httpNotModified: function( xml, url ) {=0A=
		try {=0A=
			var xmlRes =3D xml.getResponseHeader("Last-Modified");=0A=
=0A=
			// Firefox always returns 200. check Last-Modified date=0A=
			return xml.status =3D=3D 304 || xmlRes =3D=3D =
jQuery.lastModified[url] ||=0A=
				jQuery.browser.safari && xml.status =3D=3D undefined;=0A=
		} catch(e){}=0A=
		return false;=0A=
	},=0A=
=0A=
	httpData: function( r, type ) {=0A=
		var ct =3D r.getResponseHeader("content-type");=0A=
		var xml =3D type =3D=3D "xml" || !type && ct && ct.indexOf("xml") >=3D =
0;=0A=
		var data =3D xml ? r.responseXML : r.responseText;=0A=
=0A=
		if ( xml && data.documentElement.tagName =3D=3D "parsererror" )=0A=
			throw "parsererror";=0A=
=0A=
		// If the type is "script", eval it in global context=0A=
		if ( type =3D=3D "script" )=0A=
			jQuery.globalEval( data );=0A=
=0A=
		// Get the JavaScript object, if JSON is used.=0A=
		if ( type =3D=3D "json" )=0A=
			data =3D eval("(" + data + ")");=0A=
=0A=
		return data;=0A=
	},=0A=
=0A=
	// Serialize an array of form elements or a set of=0A=
	// key/values into a query string=0A=
	param: function( a ) {=0A=
		var s =3D [];=0A=
=0A=
		// If an array was passed in, assume that it is an array=0A=
		// of form elements=0A=
		if ( a.constructor =3D=3D Array || a.jquery )=0A=
			// Serialize the form elements=0A=
			jQuery.each( a, function(){=0A=
				s.push( encodeURIComponent(this.name) + "=3D" + encodeURIComponent( =
this.value ) );=0A=
			});=0A=
=0A=
		// Otherwise, assume that it's an object of key/value pairs=0A=
		else=0A=
			// Serialize the key/values=0A=
			for ( var j in a )=0A=
				// If the value is an array then the key names need to be repeated=0A=
				if ( a[j] && a[j].constructor =3D=3D Array )=0A=
					jQuery.each( a[j], function(){=0A=
						s.push( encodeURIComponent(j) + "=3D" + encodeURIComponent( this ) =
);=0A=
					});=0A=
				else=0A=
					s.push( encodeURIComponent(j) + "=3D" + encodeURIComponent( a[j] ) =
);=0A=
=0A=
		// Return the resulting serialization=0A=
		return s.join("&").replace(/%20/g, "+");=0A=
	}=0A=
=0A=
});=0A=
jQuery.fn.extend({=0A=
	show: function(speed,callback){=0A=
		return speed ?=0A=
			this.animate({=0A=
				height: "show", width: "show", opacity: "show"=0A=
			}, speed, callback) :=0A=
			=0A=
			this.filter(":hidden").each(function(){=0A=
				this.style.display =3D this.oldblock || "";=0A=
				if ( jQuery.css(this,"display") =3D=3D "none" ) {=0A=
					var elem =3D jQuery("<" + this.tagName + " />").appendTo("body");=0A=
					this.style.display =3D elem.css("display");=0A=
					// handle an edge condition where css is - div { display:none; } or =
similar=0A=
					if (this.style.display =3D=3D "none")=0A=
						this.style.display =3D "block";=0A=
					elem.remove();=0A=
				}=0A=
			}).end();=0A=
	},=0A=
	=0A=
	hide: function(speed,callback){=0A=
		return speed ?=0A=
			this.animate({=0A=
				height: "hide", width: "hide", opacity: "hide"=0A=
			}, speed, callback) :=0A=
			=0A=
			this.filter(":visible").each(function(){=0A=
				this.oldblock =3D this.oldblock || jQuery.css(this,"display");=0A=
				this.style.display =3D "none";=0A=
			}).end();=0A=
	},=0A=
=0A=
	// Save the old toggle function=0A=
	_toggle: jQuery.fn.toggle,=0A=
	=0A=
	toggle: function( fn, fn2 ){=0A=
		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?=0A=
			this._toggle( fn, fn2 ) :=0A=
			fn ?=0A=
				this.animate({=0A=
					height: "toggle", width: "toggle", opacity: "toggle"=0A=
				}, fn, fn2) :=0A=
				this.each(function(){=0A=
					jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();=0A=
				});=0A=
	},=0A=
	=0A=
	slideDown: function(speed,callback){=0A=
		return this.animate({height: "show"}, speed, callback);=0A=
	},=0A=
	=0A=
	slideUp: function(speed,callback){=0A=
		return this.animate({height: "hide"}, speed, callback);=0A=
	},=0A=
=0A=
	slideToggle: function(speed, callback){=0A=
		return this.animate({height: "toggle"}, speed, callback);=0A=
	},=0A=
	=0A=
	fadeIn: function(speed, callback){=0A=
		return this.animate({opacity: "show"}, speed, callback);=0A=
	},=0A=
	=0A=
	fadeOut: function(speed, callback){=0A=
		return this.animate({opacity: "hide"}, speed, callback);=0A=
	},=0A=
	=0A=
	fadeTo: function(speed,to,callback){=0A=
		return this.animate({opacity: to}, speed, callback);=0A=
	},=0A=
	=0A=
	animate: function( prop, speed, easing, callback ) {=0A=
		var optall =3D jQuery.speed(speed, easing, callback);=0A=
=0A=
		return this[ optall.queue =3D=3D=3D false ? "each" : "queue" =
](function(){=0A=
			if ( this.nodeType !=3D 1)=0A=
				return false;=0A=
=0A=
			var opt =3D jQuery.extend({}, optall);=0A=
			var hidden =3D jQuery(this).is(":hidden"), self =3D this;=0A=
			=0A=
			for ( var p in prop ) {=0A=
				if ( prop[p] =3D=3D "hide" && hidden || prop[p] =3D=3D "show" && =
!hidden )=0A=
					return jQuery.isFunction(opt.complete) && opt.complete.apply(this);=0A=
=0A=
				if ( p =3D=3D "height" || p =3D=3D "width" ) {=0A=
					// Store display property=0A=
					opt.display =3D jQuery.css(this, "display");=0A=
=0A=
					// Make sure that nothing sneaks out=0A=
					opt.overflow =3D this.style.overflow;=0A=
				}=0A=
			}=0A=
=0A=
			if ( opt.overflow !=3D null )=0A=
				this.style.overflow =3D "hidden";=0A=
=0A=
			opt.curAnim =3D jQuery.extend({}, prop);=0A=
			=0A=
			jQuery.each( prop, function(name, val){=0A=
				var e =3D new jQuery.fx( self, opt, name );=0A=
=0A=
				if ( /toggle|show|hide/.test(val) )=0A=
					e[ val =3D=3D "toggle" ? hidden ? "show" : "hide" : val ]( prop );=0A=
				else {=0A=
					var parts =3D val.toString().match(/^([+-]=3D)?([\d+-.]+)(.*)$/),=0A=
						start =3D e.cur(true) || 0;=0A=
=0A=
					if ( parts ) {=0A=
						var end =3D parseFloat(parts[2]),=0A=
							unit =3D parts[3] || "px";=0A=
=0A=
						// We need to compute starting value=0A=
						if ( unit !=3D "px" ) {=0A=
							self.style[ name ] =3D (end || 1) + unit;=0A=
							start =3D ((end || 1) / e.cur(true)) * start;=0A=
							self.style[ name ] =3D start + unit;=0A=
						}=0A=
=0A=
						// If a +=3D/-=3D token was provided, we're doing a relative =
animation=0A=
						if ( parts[1] )=0A=
							end =3D ((parts[1] =3D=3D "-=3D" ? -1 : 1) * end) + start;=0A=
=0A=
						e.custom( start, end, unit );=0A=
					} else=0A=
						e.custom( start, val, "" );=0A=
				}=0A=
			});=0A=
=0A=
			// For JS strict compliance=0A=
			return true;=0A=
		});=0A=
	},=0A=
	=0A=
	queue: function(type, fn){=0A=
		if ( jQuery.isFunction(type) || ( type && type.constructor =3D=3D =
Array )) {=0A=
			fn =3D type;=0A=
			type =3D "fx";=0A=
		}=0A=
=0A=
		if ( !type || (typeof type =3D=3D "string" && !fn) )=0A=
			return queue( this[0], type );=0A=
=0A=
		return this.each(function(){=0A=
			if ( fn.constructor =3D=3D Array )=0A=
				queue(this, type, fn);=0A=
			else {=0A=
				queue(this, type).push( fn );=0A=
			=0A=
				if ( queue(this, type).length =3D=3D 1 )=0A=
					fn.apply(this);=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	stop: function(clearQueue, gotoEnd){=0A=
		var timers =3D jQuery.timers;=0A=
=0A=
		if (clearQueue)=0A=
			this.queue([]);=0A=
=0A=
		this.each(function(){=0A=
			// go in reverse order so anything added to the queue during the loop =
is ignored=0A=
			for ( var i =3D timers.length - 1; i >=3D 0; i-- )=0A=
				if ( timers[i].elem =3D=3D this ) {=0A=
					if (gotoEnd)=0A=
						// force the next step to be the last=0A=
						timers[i](true);=0A=
					timers.splice(i, 1);=0A=
				}=0A=
		});=0A=
=0A=
		// start the next in the queue if the last step wasn't forced=0A=
		if (!gotoEnd)=0A=
			this.dequeue();=0A=
=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
var queue =3D function( elem, type, array ) {=0A=
	if ( !elem )=0A=
		return undefined;=0A=
=0A=
	type =3D type || "fx";=0A=
=0A=
	var q =3D jQuery.data( elem, type + "queue" );=0A=
=0A=
	if ( !q || array )=0A=
		q =3D jQuery.data( elem, type + "queue", =0A=
			array ? jQuery.makeArray(array) : [] );=0A=
=0A=
	return q;=0A=
};=0A=
=0A=
jQuery.fn.dequeue =3D function(type){=0A=
	type =3D type || "fx";=0A=
=0A=
	return this.each(function(){=0A=
		var q =3D queue(this, type);=0A=
=0A=
		q.shift();=0A=
=0A=
		if ( q.length )=0A=
			q[0].apply( this );=0A=
	});=0A=
};=0A=
=0A=
jQuery.extend({=0A=
	=0A=
	speed: function(speed, easing, fn) {=0A=
		var opt =3D speed && speed.constructor =3D=3D Object ? speed : {=0A=
			complete: fn || !fn && easing || =0A=
				jQuery.isFunction( speed ) && speed,=0A=
			duration: speed,=0A=
			easing: fn && easing || easing && easing.constructor !=3D Function && =
easing=0A=
		};=0A=
=0A=
		opt.duration =3D (opt.duration && opt.duration.constructor =3D=3D =
Number ? =0A=
			opt.duration : =0A=
			{ slow: 600, fast: 200 }[opt.duration]) || 400;=0A=
	=0A=
		// Queueing=0A=
		opt.old =3D opt.complete;=0A=
		opt.complete =3D function(){=0A=
			if ( opt.queue !=3D=3D false )=0A=
				jQuery(this).dequeue();=0A=
			if ( jQuery.isFunction( opt.old ) )=0A=
				opt.old.apply( this );=0A=
		};=0A=
	=0A=
		return opt;=0A=
	},=0A=
	=0A=
	easing: {=0A=
		linear: function( p, n, firstNum, diff ) {=0A=
			return firstNum + diff * p;=0A=
		},=0A=
		swing: function( p, n, firstNum, diff ) {=0A=
			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;=0A=
		}=0A=
	},=0A=
	=0A=
	timers: [],=0A=
	timerId: null,=0A=
=0A=
	fx: function( elem, options, prop ){=0A=
		this.options =3D options;=0A=
		this.elem =3D elem;=0A=
		this.prop =3D prop;=0A=
=0A=
		if ( !options.orig )=0A=
			options.orig =3D {};=0A=
	}=0A=
=0A=
});=0A=
=0A=
jQuery.fx.prototype =3D {=0A=
=0A=
	// Simple function for setting a style value=0A=
	update: function(){=0A=
		if ( this.options.step )=0A=
			this.options.step.apply( this.elem, [ this.now, this ] );=0A=
=0A=
		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );=0A=
=0A=
		// Set display property to block for height/width animations=0A=
		if ( this.prop =3D=3D "height" || this.prop =3D=3D "width" )=0A=
			this.elem.style.display =3D "block";=0A=
	},=0A=
=0A=
	// Get the current size=0A=
	cur: function(force){=0A=
		if ( this.elem[this.prop] !=3D null && this.elem.style[this.prop] =
=3D=3D null )=0A=
			return this.elem[ this.prop ];=0A=
=0A=
		var r =3D parseFloat(jQuery.css(this.elem, this.prop, force));=0A=
		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, =
this.prop)) || 0;=0A=
	},=0A=
=0A=
	// Start an animation from one number to another=0A=
	custom: function(from, to, unit){=0A=
		this.startTime =3D (new Date()).getTime();=0A=
		this.start =3D from;=0A=
		this.end =3D to;=0A=
		this.unit =3D unit || this.unit || "px";=0A=
		this.now =3D this.start;=0A=
		this.pos =3D this.state =3D 0;=0A=
		this.update();=0A=
=0A=
		var self =3D this;=0A=
		function t(gotoEnd){=0A=
			return self.step(gotoEnd);=0A=
		}=0A=
=0A=
		t.elem =3D this.elem;=0A=
=0A=
		jQuery.timers.push(t);=0A=
=0A=
		if ( jQuery.timerId =3D=3D null ) {=0A=
			jQuery.timerId =3D setInterval(function(){=0A=
				var timers =3D jQuery.timers;=0A=
				=0A=
				for ( var i =3D 0; i < timers.length; i++ )=0A=
					if ( !timers[i]() )=0A=
						timers.splice(i--, 1);=0A=
=0A=
				if ( !timers.length ) {=0A=
					clearInterval( jQuery.timerId );=0A=
					jQuery.timerId =3D null;=0A=
				}=0A=
			}, 13);=0A=
		}=0A=
	},=0A=
=0A=
	// Simple 'show' function=0A=
	show: function(){=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.attr( this.elem.style, =
this.prop );=0A=
		this.options.show =3D true;=0A=
=0A=
		// Begin the animation=0A=
		this.custom(0, this.cur());=0A=
=0A=
		// Make sure that we start at a small width/height to avoid any=0A=
		// flash of content=0A=
		if ( this.prop =3D=3D "width" || this.prop =3D=3D "height" )=0A=
			this.elem.style[this.prop] =3D "1px";=0A=
		=0A=
		// Start by showing the element=0A=
		jQuery(this.elem).show();=0A=
	},=0A=
=0A=
	// Simple 'hide' function=0A=
	hide: function(){=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.attr( this.elem.style, =
this.prop );=0A=
		this.options.hide =3D true;=0A=
=0A=
		// Begin the animation=0A=
		this.custom(this.cur(), 0);=0A=
	},=0A=
=0A=
	// Each step of an animation=0A=
	step: function(gotoEnd){=0A=
		var t =3D (new Date()).getTime();=0A=
=0A=
		if ( gotoEnd || t > this.options.duration + this.startTime ) {=0A=
			this.now =3D this.end;=0A=
			this.pos =3D this.state =3D 1;=0A=
			this.update();=0A=
=0A=
			this.options.curAnim[ this.prop ] =3D true;=0A=
=0A=
			var done =3D true;=0A=
			for ( var i in this.options.curAnim )=0A=
				if ( this.options.curAnim[i] !=3D=3D true )=0A=
					done =3D false;=0A=
=0A=
			if ( done ) {=0A=
				if ( this.options.display !=3D null ) {=0A=
					// Reset the overflow=0A=
					this.elem.style.overflow =3D this.options.overflow;=0A=
				=0A=
					// Reset the display=0A=
					this.elem.style.display =3D this.options.display;=0A=
					if ( jQuery.css(this.elem, "display") =3D=3D "none" )=0A=
						this.elem.style.display =3D "block";=0A=
				}=0A=
=0A=
				// Hide the element if the "hide" operation was done=0A=
				if ( this.options.hide )=0A=
					this.elem.style.display =3D "none";=0A=
=0A=
				// Reset the properties, if the item has been hidden or shown=0A=
				if ( this.options.hide || this.options.show )=0A=
					for ( var p in this.options.curAnim )=0A=
						jQuery.attr(this.elem.style, p, this.options.orig[p]);=0A=
			}=0A=
=0A=
			// If a callback was provided, execute it=0A=
			if ( done && jQuery.isFunction( this.options.complete ) )=0A=
				// Execute the complete function=0A=
				this.options.complete.apply( this.elem );=0A=
=0A=
			return false;=0A=
		} else {=0A=
			var n =3D t - this.startTime;=0A=
			this.state =3D n / this.options.duration;=0A=
=0A=
			// Perform the easing function, defaults to swing=0A=
			this.pos =3D jQuery.easing[this.options.easing || =
(jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, =
this.options.duration);=0A=
			this.now =3D this.start + ((this.end - this.start) * this.pos);=0A=
=0A=
			// Perform the next step of the animation=0A=
			this.update();=0A=
		}=0A=
=0A=
		return true;=0A=
	}=0A=
=0A=
};=0A=
=0A=
jQuery.fx.step =3D {=0A=
	scrollLeft: function(fx){=0A=
		fx.elem.scrollLeft =3D fx.now;=0A=
	},=0A=
=0A=
	scrollTop: function(fx){=0A=
		fx.elem.scrollTop =3D fx.now;=0A=
	},=0A=
=0A=
	opacity: function(fx){=0A=
		jQuery.attr(fx.elem.style, "opacity", fx.now);=0A=
	},=0A=
=0A=
	_default: function(fx){=0A=
		fx.elem.style[ fx.prop ] =3D fx.now + fx.unit;=0A=
	}=0A=
};=0A=
// The Offset Method=0A=
// Originally By Brandon Aaron, part of the Dimension Plugin=0A=
// http://jquery.com/plugins/project/dimensions=0A=
jQuery.fn.offset =3D function() {=0A=
	var left =3D 0, top =3D 0, elem =3D this[0], results;=0A=
	=0A=
	if ( elem ) with ( jQuery.browser ) {=0A=
		var parent       =3D elem.parentNode, =0A=
		    offsetChild  =3D elem,=0A=
		    offsetParent =3D elem.offsetParent, =0A=
		    doc          =3D elem.ownerDocument,=0A=
		    safari2      =3D safari && parseInt(version) < 522 && =
!/adobeair/i.test(userAgent),=0A=
		    fixed        =3D jQuery.css(elem, "position") =3D=3D "fixed";=0A=
	=0A=
		// Use getBoundingClientRect if available=0A=
		if ( elem.getBoundingClientRect ) {=0A=
			var box =3D elem.getBoundingClientRect();=0A=
		=0A=
			// Add the document scroll offsets=0A=
			add(box.left + Math.max(doc.documentElement.scrollLeft, =
doc.body.scrollLeft),=0A=
				box.top  + Math.max(doc.documentElement.scrollTop,  =
doc.body.scrollTop));=0A=
		=0A=
			// IE adds the HTML element's border, by default it is medium which =
is 2px=0A=
			// IE 6 and 7 quirks mode the border width is overwritable by the =
following css html { border: 0; }=0A=
			// IE 7 standards mode, the border is always 2px=0A=
			// This border/offset is typically represented by the clientLeft and =
clientTop properties=0A=
			// However, in IE6 and 7 quirks mode the clientLeft and clientTop =
properties are not updated when overwriting it via CSS=0A=
			// Therefore this method will be off by 2px in IE while in quirksmode=0A=
			add( -doc.documentElement.clientLeft, -doc.documentElement.clientTop =
);=0A=
	=0A=
		// Otherwise loop through the offsetParents and parentNodes=0A=
		} else {=0A=
		=0A=
			// Initial element offsets=0A=
			add( elem.offsetLeft, elem.offsetTop );=0A=
			=0A=
			// Get parent offsets=0A=
			while ( offsetParent ) {=0A=
				// Add offsetParent offsets=0A=
				add( offsetParent.offsetLeft, offsetParent.offsetTop );=0A=
			=0A=
				// Mozilla and Safari > 2 does not include the border on offset =
parents=0A=
				// However Mozilla adds the border for table or table cells=0A=
				if ( mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || =
safari && !safari2 )=0A=
					border( offsetParent );=0A=
					=0A=
				// Add the document scroll offsets if position is fixed on any =
offsetParent=0A=
				if ( !fixed && jQuery.css(offsetParent, "position") =3D=3D "fixed" )=0A=
					fixed =3D true;=0A=
			=0A=
				// Set offsetChild to previous offsetParent unless it is the body =
element=0A=
				offsetChild  =3D /^body$/i.test(offsetParent.tagName) ? offsetChild =
: offsetParent;=0A=
				// Get next offsetParent=0A=
				offsetParent =3D offsetParent.offsetParent;=0A=
			}=0A=
		=0A=
			// Get parent scroll offsets=0A=
			while ( parent && parent.tagName && =
!/^body|html$/i.test(parent.tagName) ) {=0A=
				// Remove parent scroll UNLESS that parent is inline or a table to =
work around Opera inline/table scrollLeft/Top bug=0A=
				if ( !/^inline|table.*$/i.test(jQuery.css(parent, "display")) )=0A=
					// Subtract parent scroll offsets=0A=
					add( -parent.scrollLeft, -parent.scrollTop );=0A=
			=0A=
				// Mozilla does not add the border for a parent that has overflow =
!=3D visible=0A=
				if ( mozilla && jQuery.css(parent, "overflow") !=3D "visible" )=0A=
					border( parent );=0A=
			=0A=
				// Get next parent=0A=
				parent =3D parent.parentNode;=0A=
			}=0A=
		=0A=
			// Safari <=3D 2 doubles body offsets with a fixed position =
element/offsetParent or absolutely positioned offsetChild=0A=
			// Mozilla doubles body offsets with a non-absolutely positioned =
offsetChild=0A=
			if ( (safari2 && (fixed || jQuery.css(offsetChild, "position") =3D=3D =
"absolute")) || =0A=
				(mozilla && jQuery.css(offsetChild, "position") !=3D "absolute") )=0A=
					add( -doc.body.offsetLeft, -doc.body.offsetTop );=0A=
			=0A=
			// Add the document scroll offsets if position is fixed=0A=
			if ( fixed )=0A=
				add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft),=0A=
					Math.max(doc.documentElement.scrollTop,  doc.body.scrollTop));=0A=
		}=0A=
=0A=
		// Return an object with top and left properties=0A=
		results =3D { top: top, left: left };=0A=
	}=0A=
=0A=
	function border(elem) {=0A=
		add( jQuery.curCSS(elem, "borderLeftWidth", true), jQuery.curCSS(elem, =
"borderTopWidth", true) );=0A=
	}=0A=
=0A=
	function add(l, t) {=0A=
		left +=3D parseInt(l) || 0;=0A=
		top +=3D parseInt(t) || 0;=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
})();=0A=

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/ology/js/MM_preload.v3.js

function MM_preloadImages() { //v3.0=0A=
  var d=3Ddocument; if(d.images){ if(!d.MM_p) d.MM_p=3Dnew Array();=0A=
    var i,j=3Dd.MM_p.length,a=3DMM_preloadImages.arguments; for(i=3D0; =
i<a.length; i++)=0A=
    if (a[i].indexOf("#")!=3D0){ d.MM_p[j]=3Dnew Image; =
d.MM_p[j++].src=3Da[i];}}=0A=
}=0A=
=0A=
function MM_swapImgRestore() { //v3.0=0A=
  var i,x,a=3Ddocument.MM_sr; =
for(i=3D0;a&&i<a.length&&(x=3Da[i])&&x.oSrc;i++) x.src=3Dx.oSrc;=0A=
}=0A=
=0A=
function MM_findObj(n, d) { //v4.0=0A=
  var p,i,x;  if(!d) d=3Ddocument; =
if((p=3Dn.indexOf("?"))>0&&parent.frames.length) {=0A=
    d=3Dparent.frames[n.substring(p+1)].document; n=3Dn.substring(0,p);}=0A=
  if(!(x=3Dd[n])&&d.all) x=3Dd.all[n]; for =
(i=3D0;!x&&i<d.forms.length;i++) x=3Dd.forms[i][n];=0A=
  for(i=3D0;!x&&d.layers&&i<d.layers.length;i++) =
x=3DMM_findObj(n,d.layers[i].document);=0A=
  if(!x && document.getElementById) x=3Ddocument.getElementById(n); =
return x;=0A=
}=0A=
=0A=
function MM_swapImage() { //v3.0=0A=
  var i,j=3D0,x,a=3DMM_swapImage.arguments; document.MM_sr=3Dnew Array; =
for(i=3D0;i<(a.length-2);i+=3D3)=0A=
   if ((x=3DMM_findObj(a[i]))!=3Dnull){document.MM_sr[j++]=3Dx; =
if(!x.oSrc) x.oSrc=3Dx.src; x.src=3Da[i+2];}=0A=
}
------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/ology/js/ology.js

=0A=
function openCardWindow(cardnum, loggedinStatus, hasCard, memID) { //v3.0=0A=
 cardnum =3D Math.round(cardnum);=0A=
 isLocal =3D false;=0A=
 if (document.location.protocol.indexOf("file")!=3D-1) {=0A=
 isLocal =3D true;=0A=
 docpath =3D document.location.pathname;=0A=
 dndx =3D docpath.lastIndexOf("/docs"); // assumption that webroot on =
local file system is /docs=0A=
 syspath =3D docpath.substring(0,dndx+5);=0A=
 } else {=0A=
 syspath =3D document.location.protocol + "//" + document.location.host;=0A=
 // obsolete if (document.location.host.indexOf("publishing")!=3D-1) =
syspath =3D syspath + "/proj/ology";=0A=
 }=0A=
 cnstr =3D cardnum.toString();=0A=
 if (cardnum < 10) cnstr =3D "00" + cnstr; else if (cardnum < 100) cnstr =
=3D "0" + cnstr;=0A=
=0A=
 theURL =3D syspath + "/ology/xCards/index.php?cardNumber=3D" + cnstr;=0A=
 if (isLocal) {=0A=
 theURL =3D syspath + "/ology/xCards/offline.html?" + cnstr;=0A=
 }=0A=
=0A=
 cardWin =3D =
open(theURL,"OLogyCard","width=3D325,height=3D225,menubar=3Dno,scrollbars=
=3Dno,toolbar=3Dno,status=3Dno,location=3Dno,directories=3Dno,hotkeys=3Dn=
o,resizable=3Dno");=0A=
 cardWin.focus();=0A=
}=0A=
=0A=
function show_card(card_number)	{=0A=
	if(card_number < 100) {=0A=
		card_number =3D (Math.abs(card_number)+1000).toString().substr(1);=0A=
	}=0A=
	openCardWindow(card_number);=0A=
}=0A=
=0A=
//Card of the Day : added by m@ on 4.20.2001=0A=
function openCardOfDay() {=0A=
	// this "cardNum" which is currently random will be generated based on =
number of days since OriginDate=0A=
	var CardOrderList =3D =
"58,182,211,46,38,24,150,63,136,19,33,80,166,201,44,265,27,152,74,103,209=
,118,183,77,115,129,127,87,197,259,170,66,122,91,154,81,23,184,88,57,31,5=
9,117,251,120,203,228,208,158,162,51,232,186,137,22,185,119,53,75,180,105=
,192,94,131,69,225,26,30,207,62,188,165,36,168,16,89,140,55,41,109,177,23=
3,102,258,9,42,95,146,262,124,156,45,238,72,217,226,68,148,71,108,40,218,=
65,130,195,244,181,241,237,248,231,142,257,243,126,221,171,48,7,252,1,132=
,96,200,267,220,179,4,15,213,6,191,125,250,34,169,219,260,222,114,151,193=
,229,98,159,123,242,254,60,113,269,249,215,205,261,163,17,47,266,133,25,1=
74,5,141,61,21,82,160,11,144,20,67,110,149,245,255,78,35,246,121,93,240,1=
55,216,84,223,263,202,224,14,236,56,106,176,73,83,253,268,167,135,43,264,=
239,173,86,111,107,210,143,161,247,64,12,54,37,39,97,212,104,189,256,199,=
206,28,190,164,230,90,100,134,3,85,196,29,79,153,204,178,227,92,172,139,3=
2,214,198,49,175,147,112,145,235,270,13,50,138,116,76,2,99,18,194,234,8,5=
2,70,157,187,128,10,101";=0A=
	var CardArray =3D CardOrderList.split(",");=0A=
=0A=
	today =3D new Date()=0A=
	msPerDay =3D 24 * 60 * 60 * 1000; 		// Number of milliseconds per day=0A=
	dayCount =3D today.getTime() / msPerDay;=0A=
	dayCount =3D Math.round(dayCount); 		//returns day in the year=0A=
	daysFromOrigin =3D dayCount % CardArray.length;=0A=
	openCardWindow(CardArray[daysFromOrigin]); =0A=
}=0A=
=0A=
function ology_card(num, name) {=0A=
	return name+'<a href=3D"#" onclick=3D"top.show_card('+num+')"><img =
src=3D"/ology/cards/images/asterisk.gif" border=3D"0" /></a>';=0A=
}=0A=
=0A=
function show_feature(fURL, n, h, w)	{=0A=
	var win =3D new Window({id:"feature_window", className:'alphacube', =
top:70, left:100, width:w, height:h});=0A=
	win.setURL(fURL);=0A=
	win.setTitle(n);=0A=
	win.setDestroyOnClose();=0A=
	win.show();                                            =0A=
}=0A=
=0A=
var switcher_interval_id =3D -1;															// this is a default =
value so that I can test for it =0A=
var per_div_intervals =3D Array();=0A=
// this needs work (above) i don't think this setup allows more than 1 =
interal on a page...=0A=
=0A=
function div_switcher(id, which_div, indicator_selector, =
call_next_interval) {=0A=
	/* **************************************************=0A=
	* id =3D parent or wrapper DIV inside of which are the "scenes" that =
are displayed 1 at a time=0A=
	* which_div =3D which of the 'scenes' is to be dislpayed while all =
others are hidden=0A=
	* indicator_selector[optional] =3D CLASS MUST BE UNIQUE TO THESE =
ELEMENTS:: the class of the ELEMENT that should be "lit up" based on it =
being related to the displayed "scene". the Nth element with this class =
will have "div_switcher_indicator_on" added as an additional class=0A=
	* call_next_interval[optional] =3D milliseconds before switching =
"scenes" automatically=0A=
	**************************************************** */=0A=
	if(which_div =3D=3D 'next' || which_div =3D=3D 'prev') {								// =
determine that this call was made from a "next|back" button=0A=
		modifier =3D (which_div =3D=3D 'next')?1:-1;=0A=
		$('#'+id).children().each( function(i, entity) {=0A=
			if($(entity).css('display')=3D=3D'block') {=0A=
				which_div =3D i+modifier;=0A=
			}=0A=
		});=0A=
	}=0A=
	if(which_div >=3D  $('#'+id).children().length) {=0A=
		which_div =3D  0;=0A=
	} else if(which_div <  0) {=0A=
		which_div =3D  $('#'+id).children().length-1;=0A=
	}=0A=
=0A=
	$('#'+id).children().hide();=0A=
	$('#'+id).children().eq(which_div).fadeIn(400);=0A=
	=0A=
	new_url =3D $('#'+id).children().eq(which_div).find('a').attr('href'); =
// grab tge URL from teh href =0A=
	$('#'+id+'_buttons_go').attr('href', new_url);// apply the URL of the =
visible feature tot the permanent button.=0A=
=0A=
	$(indicator_selector).removeClass('div_switcher_indicator_on');=0A=
	=
$(indicator_selector).eq(which_div).addClass('div_switcher_indicator_on')=
;=0A=
	if(call_next_interval) {														// if this value exists then kill =
previous interval=0A=
		if(per_div_intervals[id]) {=0A=
			window.clearInterval(per_div_intervals[id]);			=0A=
		}=0A=
		per_div_intervals[id] =3D =
window.setTimeout('div_switcher("'+id+'","next","'+indicator_selector+'",=
"'+call_next_interval+'")', call_next_interval);=0A=
	}=0A=
};=0A=
=0A=

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/ology/lib/swfobject.js

/**=0A=
 * SWFObject v1.5: Flash Player detection and embed - =
http://blog.deconcept.com/swfobject/=0A=
 *=0A=
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT =
License:=0A=
 * http://www.opensource.org/licenses/mit-license.php=0A=
 *=0A=
 */=0A=
if(typeof deconcept=3D=3D"undefined"){var deconcept=3Dnew =
Object();}if(typeof =
deconcept.util=3D=3D"undefined"){deconcept.util=3Dnew =
Object();}if(typeof =
deconcept.SWFObjectUtil=3D=3D"undefined"){deconcept.SWFObjectUtil=3Dnew =
Object();}deconcept.SWFObject=3Dfunction(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!=
document.getElementById){return;}this.DETECT_KEY=3D_a?_a:"detectflash";th=
is.skipDetect=3Ddeconcept.util.getRequestParameter(this.DETECT_KEY);this.=
params=3Dnew Object();this.variables=3Dnew =
Object();this.attributes=3Dnew =
Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id"=
,id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height=
",h);}if(_5){this.setAttribute("version",new =
deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=3Dd=
econcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&=
&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=3Dtrue;}if(c=
){this.addParam("bgcolor",c);}var =
q=3D_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpress=
Install",false);this.setAttribute("doExpressInstall",false);var =
_c=3D(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.s=
etAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);=
}};deconcept.SWFObject.prototype=3D{useExpressInstall:function(_d){this.x=
iSWFPath=3D!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInsta=
ll",true);},setAttribute:function(_e,_f){this.attributes[_e]=3D_f;},getAt=
tribute:function(_10){return =
this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=3D_12;=
},getParams:function(){return =
this.params;},addVariable:function(_13,_14){this.variables[_13]=3D_14;},g=
etVariable:function(_15){return =
this.variables[_15];},getVariables:function(){return =
this.variables;},getVariablePairs:function(){var _16=3Dnew Array();var =
key;var _18=3Dthis.getVariables();for(key in =
_18){_16[_16.length]=3Dkey+"=3D"+_18[key];}return =
_16;},getSWFHTML:function(){var =
_19=3D"";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.l=
ength){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplay=
erType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19=3D"<embed =
type=3D\"application/x-shockwave-flash\" =
src=3D\""+this.getAttribute("swf")+"\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\" =
style=3D\""+this.getAttribute("style")+"\"";_19+=3D" =
id=3D\""+this.getAttribute("id")+"\" =
name=3D\""+this.getAttribute("id")+"\" ";var =
_1a=3Dthis.getParams();for(var key in =
_1a){_19+=3D[key]+"=3D\""+_1a[key]+"\" ";}var =
_1c=3Dthis.getVariablePairs().join("&");if(_1c.length>0){_19+=3D"flashvar=
s=3D\""+_1c+"\"";}_19+=3D"/>";}else{if(this.getAttribute("doExpressInstal=
l")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",t=
his.xiSWFPath);}_19=3D"<object id=3D\""+this.getAttribute("id")+"\" =
classid=3D\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\" =
style=3D\""+this.getAttribute("style")+"\">";_19+=3D"<param =
name=3D\"movie\" value=3D\""+this.getAttribute("swf")+"\" />";var =
_1d=3Dthis.getParams();for(var key in _1d){_19+=3D"<param =
name=3D\""+key+"\" value=3D\""+_1d[key]+"\" />";}var =
_1f=3Dthis.getVariablePairs().join("&");if(_1f.length>0){_19+=3D"<param =
name=3D\"flashvars\" value=3D\""+_1f+"\" />";}_19+=3D"</object>";}return =
_19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var =
_21=3Dnew =
deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21=
)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.=
setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",es=
cape(this.getAttribute("xiRedirectUrl")));document.title=3Ddocument.title=
.slice(0,47)+" - Flash Player =
Installation";this.addVariable("MMdoctitle",document.title);}}if(this.ski=
pDetect||this.getAttribute("doExpressInstall")||this.installedVer.version=
IsValid(this.getAttribute("version"))){var n=3D(typeof =
_20=3D=3D"string")?document.getElementById(_20):_20;n.innerHTML=3Dthis.ge=
tSWFHTML();return =
true;}else{if(this.getAttribute("redirectUrl")!=3D""){document.location.r=
eplace(this.getAttribute("redirectUrl"));}}return =
false;}};deconcept.SWFObjectUtil.getPlayerVersion=3Dfunction(){var =
_23=3Dnew =
deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeType=
s.length){var x=3Dnavigator.plugins["Shockwave =
Flash"];if(x&&x.description){_23=3Dnew =
deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replac=
e(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&nav=
igator.userAgent.indexOf("Windows CE")>=3D0){var axo=3D1;var =
_26=3D3;while(axo){try{_26++;axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=3Dnew =
deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=3Dnull;}}}else{try{var =
axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var =
axo=3Dnew ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=3Dnew =
deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess=3D"always";}catch=
(e){if(_23.major=3D=3D6){return _23;}}try{axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=3Dnull=
){_23=3Dnew deconcept.PlayerVersion(axo.GetVariable("$version").split(" =
")[1].split(","));}}}return =
_23;};deconcept.PlayerVersion=3Dfunction(_29){this.major=3D_29[0]!=3Dnull=
?parseInt(_29[0]):0;this.minor=3D_29[1]!=3Dnull?parseInt(_29[1]):0;this.r=
ev=3D_29[2]!=3Dnull?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototyp=
e.versionIsValid=3Dfunction(fv){if(this.major<fv.major){return =
false;}if(this.major>fv.major){return =
true;}if(this.minor<fv.minor){return =
false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return =
false;}return =
true;};deconcept.util=3D{getRequestParameter:function(_2b){var =
q=3Ddocument.location.search||document.location.hash;if(_2b=3D=3Dnull){re=
turn q;}if(q){var _2d=3Dq.substring(1).split("&");for(var =
i=3D0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("=3D"))=3D=3D=
_2b){return _2d[i].substring((_2d[i].indexOf("=3D")+1));}}}return =
"";}};deconcept.SWFObjectUtil.cleanupSWFs=3Dfunction(){var =
_2f=3Ddocument.getElementsByTagName("OBJECT");for(var =
i=3D_2f.length-1;i>=3D0;i--){_2f[i].style.display=3D"none";for(var x in =
_2f[i]){if(typeof =
_2f[i][x]=3D=3D"function"){_2f[i][x]=3Dfunction(){};}}}};if(deconcept.SWF=
Object.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.pre=
pUnload=3Dfunction(){__flash_unloadHandler=3Dfunction(){};__flash_savedUn=
loadHandler=3Dfunction(){};window.attachEvent("onunload",deconcept.SWFObj=
ectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFO=
bjectUtil.prepUnload);deconcept.unloadSet=3Dtrue;}}if(!document.getElemen=
tById&&document.all){document.getElementById=3Dfunction(id){return =
document.all[id];};}var =
getQueryParamValue=3Ddeconcept.util.getRequestParameter;var =
FlashObject=3Ddeconcept.SWFObject;var SWFObject=3Ddeconcept.SWFObject;
------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/ology/js/banner.js

$(document).ready(function() {=0A=
	if(location.href.indexOf('/features/') > 0 && window.name =3D=3D =
top.window.name) {=0A=
		$('body').prepend('<div id=3D"breakout_banner" =
style=3D"background-color:#000;"><a href=3D"/ology/"><img =
src=3D"/ology/images/ology_white.gif" border=3D"0" /></a></div>');=0A=
	}=0A=
});=0A=

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/ology/features/stufftodo_marine/flow_main.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>OLogy</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dwindows-1252">
<SCRIPT src=3D"http://www.amnh.org/ology/lib/jquery.js"></SCRIPT>

<SCRIPT src=3D"http://www.amnh.org/ology/js/MM_preload.v3.js"></SCRIPT>

<SCRIPT src=3D"http://www.amnh.org/ology/js/ology.js"></SCRIPT>

<SCRIPT src=3D"http://www.amnh.org/ology/lib/swfobject.js"></SCRIPT>

<SCRIPT src=3D"http://www.amnh.org/ology/js/banner.js"></SCRIPT>

<SCRIPT language=3DJavaScript>
<!--
function MM_preloadImages() { //v2.0
  if (document.images) {
    var imgFiles =3D MM_preloadImages.arguments;
    if (document.preloadArray=3D=3Dnull) document.preloadArray =3D new =
Array();
    var i =3D document.preloadArray.length;
    with (document) for (var j=3D0; j<imgFiles.length; j++) if =
(imgFiles[j].charAt(0)!=3D"#"){
      preloadArray[i] =3D new Image;
      preloadArray[i++].src =3D imgFiles[j];
  }=20
  }
}

function MM_swapImgRestore() { //v2.0
  if (document.MM_swapImgData !=3D null)
    for (var i=3D0; i<(document.MM_swapImgData.length-1); i+=3D2)
      document.MM_swapImgData[i].src =3D document.MM_swapImgData[i+1];
}

function MM_swapImage() { //v2.0
  var i,j=3D0,objStr,obj,swapArray=3Dnew =
Array,oldArray=3Ddocument.MM_swapImgData;
  for (i=3D0; i < (MM_swapImage.arguments.length-2); i+=3D3) {
    objStr =3D MM_swapImage.arguments[(navigator.appName =3D=3D =
'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')=3D=3D0 && =
document.layers=3D=3Dnull) ||
        (objStr.indexOf('document.all[')   =3D=3D0 && document.all   =
=3D=3Dnull))
      objStr =3D =
'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj =3D eval(objStr);
    if (obj !=3D null) {
      swapArray[j++] =3D obj;
      swapArray[j++] =3D (oldArray=3D=3Dnull || =
oldArray[j-1]!=3Dobj)?obj.src:oldArray[j];
      obj.src =3D MM_swapImage.arguments[i+2];
  }
   }
  document.MM_swapImgData =3D swapArray; //used for restore
}
//-->
</SCRIPT>

<META content=3D"MSHTML 6.00.6000.16788" name=3DGENERATOR></HEAD>
<BODY bottomMargin=3D0 bgColor=3D#9999ff leftMargin=3D0=20
background=3Dhttp://www.amnh.org/ology/features/stufftodo_marine/images/b=
ack_claw.gif=20
topMargin=3D0=20
onload=3D"MM_preloadImages('images/flow_need_on.gif','#1051278529316');MM=
_preloadImages('images/flow_do_on.gif','#1051278540266')"=20
rightMargin=3D0 MARGINHEIGHT=3D"0" MARGINWIDTH=3D"0">
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D740 border=3D0>
  <TBODY>
  <TR>
    <TD colSpan=3D3><BR><IMG height=3D115 alt=3D"Slowing the Flow"=20
      =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/title_f=
low.gif"=20
      width=3D740 border=3D0></TD></TR>
  <TR>
    <TD><IMG height=3D1=20
      =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/spacer.=
gif"=20
      width=3D20 border=3D0></TD>
    <TD vAlign=3Dtop>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D700 border=3D0>
        <TBODY>
        <TR>
          <TD><IMG height=3D1=20
            =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/spacer.=
gif"=20
            width=3D478 border=3D0></TD>
          <TD><IMG height=3D1=20
            =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/spacer.=
gif"=20
            width=3D10 border=3D0></TD>
          <TD><IMG height=3D1=20
            =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/spacer.=
gif"=20
            width=3D212 border=3D0></TD></TR>
        <TR>
          <TD vAlign=3Dtop><IMG height=3D170 alt=3D"Slowing the Flow"=20
            =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/flow_ma=
in.gif"=20
            width=3D236 align=3Dleft border=3D0><FONT =
face=3Dverdana,arial,helvetica=20
            size=3D3>All mammals =97 whether on land or in the sea =97 =
have=20
            adaptations to help them survive in cold water. One =
adaptation is=20
            known as the mammalian diving reflex (or MDR). When exposed =
to cold=20
            water, all mammals' bodies respond in a similar way. The =
heart rate=20
            slows, and the blood vessels in the arms, hands, legs and =
feet=20
            constrict, or tighten. These changes help the body conserve =
oxygen,=20
            and make sure that the brain, heart and other vital organs =
get the=20
            most blood flow. The MDR happens in all mammals, from sea =
lions<A=20
            onclick=3D"top.show_card('210'); return false;"=20
            =
href=3D"http://www.amnh.org/ology/features/stufftodo_marine/flow_main.php=
#"=20
            true;? return><IMG height=3D10=20
            src=3D"http://www.amnh.org/ology/cards/images/asterisk.gif" =
width=3D11=20
            border=3D0></A> to your dog to YOU. Marine mammals stay =
underwater for=20
            long periods of time and have additional adaptations to help =
them do=20
            this. For example, animals such as whales and seals can =
handle more=20
            carbon dioxide in their blood than land mammals =
can.</FONT></TD>
          <TD><IMG height=3D1=20
            =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/spacer.=
gif"=20
            width=3D10 border=3D0></TD>
          <TD vAlign=3Dtop bgColor=3D#ccccff>
            <TABLE cellSpacing=3D0 cellPadding=3D4 width=3D212 =
border=3D0>
              <TBODY>
              <TR>
                <TD><FONT face=3Dverdana,arial,helvetica =
size=3D3><B>Overview:</B>=20
                  In this activity, you and an adult will explore how =
cold water=20
                  affects your circulation. By measuring the pulse on =
your neck=20
                  and your wrist before and after you place your face in =
icy=20
                  water, you'll see for yourself how the mammalian =
diving reflex=20
                  works.</FONT><BR><A=20
                  =
onmouseover=3D"MM_swapImage('document.Image1','document.Image1','images/f=
low_need_on.gif','#1051278529316')"=20
                  onmouseout=3DMM_swapImgRestore()=20
                  =
href=3D"http://www.amnh.org/ology/features/stufftodo_marine/flow_need.php=
"><IMG=20
                  height=3D73 alt=3D"What You'll Need"=20
                  =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/flow_ne=
ed_off.gif"=20
                  width=3D204 border=3D0 name=3DImage1></A><BR><A=20
                  =
onmouseover=3D"MM_swapImage('document.Image2','document.Image2','images/f=
low_do_on.gif','#1051278540266')"=20
                  onmouseout=3DMM_swapImgRestore()=20
                  =
href=3D"http://www.amnh.org/ology/features/stufftodo_marine/flow_do.php">=
<IMG=20
                  height=3D66 alt=3D"What To Do"=20
                  =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/flow_do=
_off.gif"=20
                  width=3D204 border=3D0 =
name=3DImage2></A></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD colSpan=3D3><BR><IMG height=3D41 alt=3D"Kids In Cold =
Water"=20
            =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/flow_ma=
insub.gif"=20
            width=3D700 border=3D0><BR><FONT =
face=3Dverdana,arial,helvetica=20
            size=3D2>Scientists have found that the mammalian diving =
response is=20
            much stronger in children than it is in adults. This is one =
reason=20
            why rescue workers have been able to revive children who =
were=20
            underwater for more than an=20
      hour.<BR>&nbsp;</FONT></TD></TR></TBODY></TABLE></TD>
    <TD><IMG height=3D1=20
      =
src=3D"http://www.amnh.org/ology/features/stufftodo_marine/images/spacer.=
gif"=20
      width=3D20 border=3D0></TD></TR></TBODY></TABLE></BODY></HTML>

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/education/resources/style/styles.css

BODY {
	MARGIN: 0px; COLOR: #006; FONT-FAMILY: =
Verdana,Geneva,Helvetica,Arial,sans-serif; BACKGROUND-COLOR: #006
}
A {
	COLOR: #369
}
.nav_box {
	BORDER-RIGHT: white 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: white =
1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 10px; =
BORDER-LEFT: white 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: white =
1px solid; TEXT-ALIGN: center
}
.nav_box A {
	COLOR: #fff
}
.leftnav {
	PADDING-LEFT: 1em
}
.small {
	FONT: 9px verdana, arial, sans-serif; COLOR: #369
}
.searchFailure {
	FONT: bold 13px verdana, arial, sans-serif; WIDTH: 500px; COLOR: #000
}
.whiteTitle {
	FONT: bold 11px verdana, arial, sans-serif; COLOR: #fff
}
.blueTitle {
	FONT: bold 11px verdana, arial, sans-serif; COLOR: #369
}
.brTitle {
	FONT: bold 12px verdana, arial, sans-serif; COLOR: #369
}
.details {
	FONT: 10px verdana, arial, sans-serif; COLOR: #000
}
.brDesc {
	FONT: 10px verdana, arial, sans-serif; COLOR: #000
}
.brType {
	FONT: bold italic 10px verdana, arial, sans-serif; COLOR: #000
}
.orangeBoldSmall {
	FONT: bold 10px verdana, arial, sans-serif; COLOR: #ff9900
}
.brGradeLevel {
	FONT: bold 10px verdana, arial, sans-serif; COLOR: #000
}
.brForTeacher {
	FONT: italic 12px verdana, arial, sans-serif; COLOR: #369
}
.brTopic {
	FONT: 12px verdana, arial, sans-serif; COLOR: #369
}
.brGroupHeaders {
	FONT: bold italic 16px verdana, arial, sans-serif; COLOR: #cccc99
}
.blueBold {
	FONT: bold 10px verdana, arial, sans-serif; COLOR: #000
}
.blueReg {
	FONT: 10px verdana, arial, sans-serif; COLOR: #000
}
.smallNavBar {
	MARGIN: 0px 10px 10px 0px; FONT: 10px verdana, arial, sans-serif; =
COLOR: #366
}
.whiteBold {
	FONT: bold 10px verdana, arial, sans-serif; COLOR: #ffffff
}
.whiteReg {
	FONT: 10px verdana, arial, sans-serif; COLOR: #ffffff
}
.special_comment {
	FONT: italic 10px verdana, arial, sans-serif; COLOR: #000000
}
.search {
	FONT-SIZE: 10px; COLOR: #fff; FONT-FAMILY: verdana, Arial, sans-serif; =
BACKGROUND-COLOR: #75a1ae
}
.search2 {
	FONT-SIZE: 10px; COLOR: #fff; FONT-FAMILY: verdana, Arial, sans-serif; =
BACKGROUND-COLOR: #ff9900; FONT-VARIANT: small-caps
}

------=_NextPart_000_006D_01C9814C.F223F470
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.amnh.org/education/resources/card_footer.php?rid=950&rurlid=907&rurl=http%3A%2F%2Fwww.amnh.org%2Fology%2Fslowing_the_flow

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--// _qry.php //--><HTML><HEAD><TITLE>rfl</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dwindows-1252"><LINK=20
href=3D"http://www.amnh.org/education/resources/style/styles.css" =
type=3Dtext/css=20
rel=3DSTYLESHEET>
<STYLE>BODY {
	BACKGROUND-COLOR: #538190
}
</STYLE>

<META content=3D"MSHTML 6.00.6000.16788" name=3DGENERATOR></HEAD>
<BODY leftMargin=3D0 topMargin=3D0 marginwidth=3D"0" =
marginheight=3D"0">&nbsp; <SPAN=20
class=3DwhiteReg>Resource Url:</SPAN>&nbsp;<A class=3DwhiteReg=20
href=3D"http://www.amnh.org/ology/slowing_the_flow"=20
target=3DfullWindowResource>http://www.amnh.org/ology/slowing_the_flow</A=
>=20
</BODY></HTML>

------=_NextPart_000_006D_01C9814C.F223F470--

