From: <Saved by Windows Internet Explorer 8>
Subject: Old Padeswood Golf Club
Date: Thu, 6 Jan 2011 10:31:03 -0000
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0164_01CBAD8C.D1AA80B0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994

This is a multi-part message in MIME format.

------=_NextPart_000_0164_01CBAD8C.D1AA80B0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oldpadeswoodgolfclub.co.uk/facilities/card.php

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den xml:lang=3D"en" =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>Old Padeswood Golf =
Club</TITLE>
<META content=3D"text/html; charset=3Dutf-8" =
http-equiv=3DContent-Type><LINK=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.oldpadeswoodgolfclub.co.uk/main.css"><!-- Google Ajax =
Api -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.google.com/jsapi?key=3Dnotsupplied-wizard"></SCRIPT>
<!-- Dynamic Feed Control and Stylesheet -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontr=
ol.js"></SCRIPT>
<!-- Add Jquery -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.oldpadeswoodgolfclub.co.uk/jquery-1.3.2.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
    function LoadDynamicFeedControl() {=0A=
      var feeds =3D [=0A=
	{title: 'Golf News',=0A=
	 url: 'http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/golf/rss.xml'=0A=
	},=0A=
	{title: 'Local Weather',=0A=
	 url: 'http://feeds.bbc.co.uk/weather/feeds/rss/5day/world/4662.xml'=0A=
	}];=0A=
      var options =3D {=0A=
        stacked : true,=0A=
        horizontal : false,=0A=
        title : "BBC rss Feeds"=0A=
      }=0A=
=0A=
      new GFdynamicFeedControl(feeds, 'feed-control', options);=0A=
    }=0A=
    // Load the feeds API and set the onload callback.=0A=
    google.load('feeds', '1');=0A=
    google.setOnLoadCallback(LoadDynamicFeedControl);=0A=
    =0A=
    //menu system=0A=
   	$(document).ready(function(){=0A=
		$('li').hover(=0A=
			function() {=0A=
				$('ul', this).slideDown('fast');=0A=
				//$('ul', this).css({'display':'block','margin-top':'-1px'});=0A=
			},=0A=
			function() {=0A=
				$('ul', this).slideUp('fast');=0A=
				//$('ul', this).css('display', 'none');=0A=
			});=0A=
		});=0A=
=0A=
=0A=
  </SCRIPT>

<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18999"></HEAD>
<BODY>
<DIV class=3Dsite>
<DIV class=3Dtop>
<H1 class=3Dtop>Old Padeswood Golf Club</H1></DIV>
<DIV class=3Devents>
<DIV class=3Dsub_area>
<H3 class=3Devents>There are no events.</H3>
<P class=3Devents>We do not currently have any events =
finalised.</P></DIV>
<DIV id=3Dfeed-control><SPAN=20
style=3D"PADDING-BOTTOM: 4px; MARGIN: 10px; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; COLOR: #676767; FONT-SIZE: 11px; PADDING-TOP: =
4px">Loading...</SPAN>=20
</DIV></DIV>
<DIV style=3D"HEIGHT: 30px" class=3Dmain_area>
<UL id=3Dcssdropdown>
  <LI class=3Dheadlink><A=20
  href=3D"http://www.oldpadeswoodgolfclub.co.uk/index.php">Home</A> =
</LI>
  <LI class=3Dheadlink><A=20
  href=3D"http://www.oldpadeswoodgolfclub.co.uk/visitors/">Visitors</A>=20
  <UL>
    <LI><A =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/visitors/fees.php">Green=20
    Fees</A></LI>
    <LI><A =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/visitors/buggy.php">Buggy=20
    Hire</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/visitors/appForms.php">Appl=
ication=20
    Forms</A></LI>
    <LI><A =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/visitors/dress.php">Dress=20
    Code</A></LI>
    <LI><A href=3D"http://oldpadeswood.teetimes4you.com/" =
target=3D_blank>OnLine Tee=20
    Booking</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/visitors/specials.php">Spec=
ial=20
    Offers</A></LI></UL></LI>
  <LI class=3Dheadlink><A=20
  =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/societies/">Societies</A>=20
  <UL>
    <LI><A =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/societies/fees.php">Fees=20
    </A></LI>
    <LI><A href=3D"http://oldpadeswood.teetimes4you.com/" =
target=3D_blank>On Line=20
    Tee Booking</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/societies/offers.php">Speci=
al=20
    offers </A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/societies/booking.php">Book=
ing=20
    Forms</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/societies/food.php">Caterin=
g</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/societies/dress.php">Dressc=
ode</A></LI></UL></LI>
  <LI class=3Dheadlink><A=20
  href=3D"http://www.oldpadeswoodgolfclub.co.uk/members/">Members</A>=20
  <UL>
    <LI><A =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/members/news.php">News=20
    Letter</A></LI>
    <LI><A href=3D"http://oldpadeswood.teetimes4you.com/" =
target=3D_blank>On Line=20
    Tee Booking</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/members/corseNews.php">Cour=
se=20
    News</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/members/proShop.php">Pro's =

    Shop</A></LI>
    <LI><A =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/members/dress.php">Dress=20
    Code</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/members/appForms.php">Appli=
cation=20
    Forms</A></LI></UL></LI>
  <LI class=3Dheadlink><A=20
  =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/facilities/">Facilities</A>=
=20
  <UL>
    <LI><A =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/facilities/map.php">Map=20
    of Course </A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/facilities/card.php">Card</=
A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/facilities/holeDesc.php">Ho=
le By=20
    Hole Description</A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/facilities/open.php">Openin=
g=20
    Times </A></LI>
    <LI><A=20
    =
href=3D"http://www.oldpadeswoodgolfclub.co.uk/facilities/food.php">Cateri=
ng</A></LI><!--					<li><a href=3D"/facilities/food.php">Bar =
Snacks</a></li> --></UL></LI>
  <LI class=3Dheadlink><A=20
  href=3D"http://www.oldpadeswoodgolfclub.co.uk/club_hist.php">Club =
History</A>=20
  </LI>
  <LI class=3Dheadlink><A=20
  href=3D"http://www.oldpadeswoodgolfclub.co.uk/image_gallery.php">Image =

  Gallery</A> </LI></UL>
<P style=3D"TEXT-ALIGN: right">&nbsp;</P></DIV>
<DIV class=3Dmain_area>
<H2>Course Card</H2>
<TABLE>
  <TBODY>
  <TR>
    <TD class=3Dscorecard></TD>
    <TD class=3Dheadwhite colSpan=3D3>White</TD>
    <TD class=3Dheadyellow colSpan=3D3>Yellow</TD>
    <TD class=3Dheadred colSpan=3D3>Red</TD></TR>
  <TR>
    <TD class=3Dscorecard>Hole</TD>
    <TD class=3Dwhite>Yards</TD>
    <TD class=3Dwhite>Par</TD>
    <TD class=3Dwhite>S. I.</TD>
    <TD class=3Dyellow>Yards</TD>
    <TD class=3Dyellow>Par</TD>
    <TD class=3Dyellow>S. I.</TD>
    <TD class=3Dred>Yards</TD>
    <TD class=3Dred>Par</TD>
    <TD class=3Dred>S. I.</TD></TR>
  <TR>
    <TD class=3Dscorecard>1</TD>
    <TD class=3Dwhite>413</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>5</TD>
    <TD class=3Dyellow>388</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>5</TD>
    <TD class=3Dred>338</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>5</TD></TR>
  <TR>
    <TD class=3Dscorecard>2</TD>
    <TD class=3Dwhite>490</TD>
    <TD class=3Dwhite>5</TD>
    <TD class=3Dwhite>9</TD>
    <TD class=3Dyellow>452</TD>
    <TD class=3Dyellow>5</TD>
    <TD class=3Dyellow>9</TD>
    <TD class=3Dred>342</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>9</TD></TR>
  <TR>
    <TD class=3Dscorecard>3</TD>
    <TD class=3Dwhite>335</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>11</TD>
    <TD class=3Dyellow>325</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>11</TD>
    <TD class=3Dred>302</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>11</TD></TR>
  <TR>
    <TD class=3Dscorecard>4</TD>
    <TD class=3Dwhite>142</TD>
    <TD class=3Dwhite>3</TD>
    <TD class=3Dwhite>16</TD>
    <TD class=3Dyellow>132</TD>
    <TD class=3Dyellow>3</TD>
    <TD class=3Dyellow>16</TD>
    <TD class=3Dred>126</TD>
    <TD class=3Dred>3</TD>
    <TD class=3Dred>16</TD></TR>
  <TR>
    <TD class=3Dscorecard>5</TD>
    <TD class=3Dwhite>305</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>18</TD>
    <TD class=3Dyellow>280</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>18</TD>
    <TD class=3Dred>242</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>18</TD></TR>
  <TR>
    <TD class=3Dscorecard>6</TD>
    <TD class=3Dwhite>466</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>1</TD>
    <TD class=3Dyellow>403</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>1</TD>
    <TD class=3Dred>438</TD>
    <TD class=3Dred>5</TD>
    <TD class=3Dred>1</TD></TR>
  <TR>
    <TD class=3Dscorecard>7</TD>
    <TD class=3Dwhite>205</TD>
    <TD class=3Dwhite>3</TD>
    <TD class=3Dwhite>7</TD>
    <TD class=3Dyellow>180</TD>
    <TD class=3Dyellow>3</TD>
    <TD class=3Dyellow>7</TD>
    <TD class=3Dred>165</TD>
    <TD class=3Dred>3</TD>
    <TD class=3Dred>7</TD></TR>
  <TR>
    <TD class=3Dscorecard>8</TD>
    <TD class=3Dwhite>503</TD>
    <TD class=3Dwhite>5</TD>
    <TD class=3Dwhite>14</TD>
    <TD class=3Dyellow>475</TD>
    <TD class=3Dyellow>5</TD>
    <TD class=3Dyellow>14</TD>
    <TD class=3Dred>418</TD>
    <TD class=3Dred>5</TD>
    <TD class=3Dred>14</TD></TR>
  <TR>
    <TD class=3Dscorecard>9</TD>
    <TD class=3Dwhite>446</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>3</TD>
    <TD class=3Dyellow>440</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>3</TD>
    <TD class=3Dred>417</TD>
    <TD class=3Dred>5</TD>
    <TD class=3Dred>3</TD></TR>
  <TR>
    <TD class=3Dscorecard>OUT</TD>
    <TD class=3Dwhite>3305</TD>
    <TD class=3Dwhite>36</TD>
    <TD class=3Dwhite></TD>
    <TD class=3Dyellow>3075</TD>
    <TD class=3Dyellow>36</TD>
    <TD class=3Dyellow></TD>
    <TD class=3Dred>2788</TD>
    <TD class=3Dred>37</TD>
    <TD class=3Dred></TD></TR>
  <TR>
    <TD class=3Dscorecard>10</TD>
    <TD class=3Dwhite>445</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dyellow>385</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dred>330</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>4</TD></TR>
  <TR>
    <TD class=3Dscorecard>11</TD>
    <TD class=3Dwhite>176</TD>
    <TD class=3Dwhite>3</TD>
    <TD class=3Dwhite>13</TD>
    <TD class=3Dyellow>154</TD>
    <TD class=3Dyellow>3</TD>
    <TD class=3Dyellow>13</TD>
    <TD class=3Dred>141</TD>
    <TD class=3Dred>3</TD>
    <TD class=3Dred>13</TD></TR>
  <TR>
    <TD class=3Dscorecard>12</TD>
    <TD class=3Dwhite>346</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>10</TD>
    <TD class=3Dyellow>315</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>10</TD>
    <TD class=3Dred>275</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>10</TD></TR>
  <TR>
    <TD class=3Dscorecard>13</TD>
    <TD class=3Dwhite>308</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>17</TD>
    <TD class=3Dyellow>262</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>17</TD>
    <TD class=3Dred>230</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>17</TD></TR>
  <TR>
    <TD class=3Dscorecard>14</TD>
    <TD class=3Dwhite>416</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>2</TD>
    <TD class=3Dyellow>400</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>2</TD>
    <TD class=3Dred>310</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>2</TD></TR>
  <TR>
    <TD class=3Dscorecard>15</TD>
    <TD class=3Dwhite>368</TD>
    <TD class=3Dwhite>4</TD>
    <TD class=3Dwhite>12</TD>
    <TD class=3Dyellow>336</TD>
    <TD class=3Dyellow>4</TD>
    <TD class=3Dyellow>12</TD>
    <TD class=3Dred>328</TD>
    <TD class=3Dred>4</TD>
    <TD class=3Dred>12</TD></TR>
  <TR>
    <TD class=3Dscorecard>16</TD>
    <TD class=3Dwhite>584</TD>
    <TD class=3Dwhite>5</TD>
    <TD class=3Dwhite>6</TD>
    <TD class=3Dyellow>539</TD>
    <TD class=3Dyellow>5</TD>
    <TD class=3Dyellow>6</TD>
    <TD class=3Dred>470</TD>
    <TD class=3Dred>5</TD>
    <TD class=3Dred>6</TD></TR>
  <TR>
    <TD class=3Dscorecard>17</TD>
    <TD class=3Dwhite>510</TD>
    <TD class=3Dwhite>5</TD>
    <TD class=3Dwhite>15</TD>
    <TD class=3Dyellow>477</TD>
    <TD class=3Dyellow>5</TD>
    <TD class=3Dyellow>15</TD>
    <TD class=3Dred>403</TD>
    <TD class=3Dred>5</TD>
    <TD class=3Dred>15</TD></TR>
  <TR>
    <TD class=3Dscorecard>18</TD>
    <TD class=3Dwhite>195</TD>
    <TD class=3Dwhite>3</TD>
    <TD class=3Dwhite>8</TD>
    <TD class=3Dyellow>175</TD>
    <TD class=3Dyellow>3</TD>
    <TD class=3Dyellow>8</TD>
    <TD class=3Dred>161</TD>
    <TD class=3Dred>3</TD>
    <TD class=3Dred>8</TD></TR>
  <TR>
    <TD class=3Dscorecard>IN</TD>
    <TD class=3Dwhite>3348</TD>
    <TD class=3Dwhite>36</TD>
    <TD class=3Dwhite></TD>
    <TD class=3Dyellow>3043</TD>
    <TD class=3Dyellow>36</TD>
    <TD class=3Dyellow></TD>
    <TD class=3Dred>2648</TD>
    <TD class=3Dred>36</TD>
    <TD class=3Dred></TD></TR>
  <TR>
    <TD class=3Dscorecard>TOTAL</TD>
    <TD class=3Dwhite>6653</TD>
    <TD class=3Dwhite>72</TD>
    <TD class=3Dwhite></TD>
    <TD class=3Dyellow>6118</TD>
    <TD class=3Dyellow>72</TD>
    <TD class=3Dyellow></TD>
    <TD class=3Dred>5436</TD>
    <TD class=3Dred>73</TD>
    <TD class=3Dred></TD></TR></TBODY></TABLE></DIV>
<DIV class=3Dfoot>
<P class=3Dfoot>=C2=A9 2009. Site created by <A =
href=3D"http://www.teetimes4you.com/"=20
target=3D_blank>Teetimes4you</A></P></DIV></DIV></BODY></HTML>

------=_NextPart_000_0164_01CBAD8C.D1AA80B0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oldpadeswoodgolfclub.co.uk/main.css

BODY {
	BACKGROUND-IMAGE: url(sand.jpg); BACKGROUND-COLOR: #6eb207; =
FONT-FAMILY: "@Arial Unicode MS", sans-serif; COLOR: black; FONT-SIZE: =
small
}
A {
	COLOR: black; TEXT-DECORATION: underline
}
A.menu {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #e9e9e9; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #000000; BORDER-TOP: black 1px solid; =
BORDER-RIGHT: black 1px solid; TEXT-DECORATION: none; PADDING-TOP: 3px
}
A.menu:hover {
	COLOR: #ffffff
}
A:hover {
	COLOR: blue
}
H1 {
	TEXT-ALIGN: center
}
H1.top {
	PADDING-TOP: 35px
}
H3 {
	BORDER-BOTTOM: 0px; TEXT-ALIGN: left; BORDER-LEFT: 0px; PADDING-BOTTOM: =
5px; MARGIN: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-SIZE: =
small; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 5px
}
H3.events {
	BACKGROUND-COLOR: #cacaca
}
.events {
	COLOR: black
}
H4 {
	MARGIN-TOP: 2px; MARGIN-LEFT: 2px
}
P {
	BORDER-BOTTOM: 5px; BORDER-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-SIZE: 17px; BORDER-TOP: 5px; =
BORDER-RIGHT: 5px; PADDING-TOP: 5px
}
P.times {
	TEXT-ALIGN: center; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; HEIGHT: auto; PADDING-TOP: 0px
}
P.centered {
	TEXT-ALIGN: center; FONT-WEIGHT: bold
}
P.foot {
	BORDER-BOTTOM-STYLE: none; BORDER-BOTTOM-COLOR: ; TEXT-ALIGN: right; =
PADDING-BOTTOM: 2px; BORDER-RIGHT-STYLE: none; BORDER-TOP-COLOR: ; =
MARGIN: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BORDER-TOP-STYLE: =
none; BORDER-RIGHT-COLOR: ; FONT-SIZE: x-small; BORDER-LEFT-STYLE: none; =
BORDER-LEFT-COLOR: ; FONT-WEIGHT: bold; PADDING-TOP: 2px
}
SPAN.bold_text {
	FONT-WEIGHT: bold
}
SPAN.gray {
	FONT-WEIGHT: normal
}
SPAN.current_menu {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #6f116f; MARGIN-TOP: 2px; =
MARGIN-BOTTOM: 2px; COLOR: #c2fcbe; PADDING-TOP: 2px
}
SPAN.error {
	COLOR: red; FONT-WEIGHT: bold
}
SPAN.center {
	TEXT-ALIGN: center
}
DIV.image {
	WIDTH: 160px; FLOAT: left; HEIGHT: 180px
}
DIV.site {
	BORDER-BOTTOM: black 2px solid; BORDER-LEFT: black 2px solid; =
BACKGROUND-COLOR: #eee8aa; MARGIN: 10px; BORDER-TOP: black 2px solid; =
BORDER-RIGHT: black 2px solid
}
DIV.top {
	BACKGROUND-IMAGE: url(logo3.gif); TEXT-ALIGN: center; WIDTH: 100%; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 101px
}
DIV.menu {
	WIDTH: 100%; BORDER-RIGHT: black 2px solid
}
DIV.main_area {
	POSITION: static; MARGIN-LEFT: 26%; MARGIN-RIGHT: 5px
}
DIV.events {
	WIDTH: 25%; FLOAT: left; TOP: 0px; LEFT: 0px
}
DIV.sub_area {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
BACKGROUND-COLOR: white; MARGIN: 2px 5px 5px; BORDER-TOP: black 1px =
solid; BORDER-RIGHT: black 1px solid
}
DIV.box_area {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; MARGIN: =
auto; WIDTH: 630px; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px =
solid
}
DIV.foot {
	BACKGROUND-COLOR: #eee8aa; MARGIN: auto; FLOAT: none; HEIGHT: 20px; =
CLEAR: both
}
TH.cal {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #bee1fc
}
TD {
	TEXT-ALIGN: center
}
TD.menu {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #030741; WIDTH: 1%; COLOR: =
#ffffff
}
TD.menu:hover {
	BACKGROUND-COLOR: #660000
}
TD.comp_book {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #999999; COLOR: #ffffff
}
TD.comp_book:hover {
	BACKGROUND-COLOR: #660000
}
TD.comp {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #030741; WIDTH: auto; COLOR: =
#ffffff
}
TD.comp:hover {
	BACKGROUND-COLOR: #660000
}
TD.comp_f {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #f0fff0; WIDTH: auto
}
TD.cal {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #f0fff0; WIDTH: 80px
}
TD.cal:hover {
	BACKGROUND-COLOR: #c0c0ff
}
A.cal {
	WIDTH: 100%; DISPLAY: block; HEIGHT: 100%
}
IMG.foot {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px; PADDING-TOP: 0px
}
TD.calnull {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #e0e0e0; WIDTH: 80px; HEIGHT: =
30px
}
TABLE {
	MARGIN: 5px
}
TABLE.left {
	MARGIN: 5px
}
CAPTION {
	MARGIN: auto
}
INPUT.btn {
	BORDER-BOTTOM: #030741 1px solid; BORDER-LEFT: #030741 1px solid; =
BACKGROUND-COLOR: #030741; WIDTH: 100%; HEIGHT: 30px; COLOR: #ffffff; =
FONT-SIZE: 100%; BORDER-TOP: #030741 1px solid; CURSOR: hand; =
BORDER-RIGHT: #030741 1px solid
}
INPUT.btn:hover {
	BORDER-BOTTOM-COLOR: #000000; BACKGROUND-COLOR: #660000; =
BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000; =
BORDER-LEFT-COLOR: #000000
}
INPUT.btn2 {
	BORDER-BOTTOM: #030741 1px solid; BORDER-LEFT: #030741 1px solid; =
BACKGROUND-COLOR: #030741; WIDTH: 90px; HEIGHT: 30px; COLOR: #ffffff; =
FONT-SIZE: 100%; BORDER-TOP: #030741 1px solid; CURSOR: hand; =
BORDER-RIGHT: #030741 1px solid
}
INPUT.btn2:hover {
	BORDER-BOTTOM-COLOR: #000000; BACKGROUND-COLOR: #660000; =
BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000; =
BORDER-LEFT-COLOR: #000000
}
INPUT.btn3 {
	BORDER-BOTTOM: #030741 1px solid; BORDER-LEFT: #030741 1px solid; =
BACKGROUND-COLOR: #030741; WIDTH: 90px; HEIGHT: 20px; COLOR: #ffffff; =
FONT-SIZE: 100%; BORDER-TOP: #030741 1px solid; CURSOR: hand; =
BORDER-RIGHT: #030741 1px solid
}
INPUT.btn3:hover {
	BORDER-BOTTOM-COLOR: #000000; BACKGROUND-COLOR: #660000; =
BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000; =
BORDER-LEFT-COLOR: #000000
}
INPUT.nav {
	BORDER-BOTTOM: #fcf8be 1px solid; BORDER-LEFT: #fcf8be 1px solid; =
BACKGROUND-COLOR: #fcf8be; WIDTH: 100%; COLOR: #000000; FONT-SIZE: =
small; BORDER-TOP: #fcf8be 1px solid; CURSOR: pointer; FONT-WEIGHT: =
bold; BORDER-RIGHT: #fcf8be 1px solid; TEXT-DECORATION: underline
}
INPUT.nav:hover {
	COLOR: blue
}
#cssdropdown {
	POSITION: absolute; LIST-STYLE-TYPE: none; DISPLAY: block; =
LIST-STYLE-IMAGE: none
}
#cssdropdown UL {
	POSITION: absolute; LIST-STYLE-TYPE: none; DISPLAY: block; =
LIST-STYLE-IMAGE: none
}
#cssdropdown {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#cssdropdown * {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#cssdropdown LI.headlink {
	BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; BORDER-LEFT: black =
1px solid; BACKGROUND-COLOR: #e9e9e9; FLOAT: left; MARGIN-LEFT: -1px; =
BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid
}
#cssdropdown LI.headlink A {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; DISPLAY: =
block; PADDING-TOP: 5px
}
#cssdropdown LI.headlink UL {
	TEXT-ALIGN: left; DISPLAY: none; BORDER-TOP: black 1px solid
}
#cssdropdown LI.headlink:hover UL {
	DISPLAY: block
}
#cssdropdown LI.headlink UL LI A {
	PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #e9e9e9; PADDING-LEFT: 5px; =
WIDTH: 150px; PADDING-RIGHT: 5px; HEIGHT: 17px; PADDING-TOP: 5px
}
#cssdropdown LI.headlink UL LI A:hover {
	BACKGROUND-COLOR: #333
}
.gfg-root {
	BORDER-BOTTOM: #bccdf0 1px solid; POSITION: relative; TEXT-ALIGN: =
center; BORDER-LEFT: #bccdf0 1px solid; BACKGROUND-COLOR: #fff; MARGIN: =
5px; FONT-FAMILY: "Arial", sans-serif; HEIGHT: auto; FONT-SIZE: 12px; =
OVERFLOW: hidden; BORDER-TOP: #bccdf0 1px solid; BORDER-RIGHT: #bccdf0 =
1px solid
}
.gfg-title {
	LINE-HEIGHT: 1.4em; BACKGROUND-COLOR: #cacaca; WHITE-SPACE: nowrap; =
FONT-SIZE: 14px; OVERFLOW: hidden; FONT-WEIGHT: bold
}
.gfg-title A {
	COLOR: #3366cc
}
.gfg-subtitle {
	LINE-HEIGHT: 1.4em; BACKGROUND-COLOR: #cacaca; WHITE-SPACE: nowrap; =
MARGIN-BOTTOM: 5px; FONT-SIZE: 12px; OVERFLOW: hidden; FONT-WEIGHT: bold
}
.gfg-subtitle A {
	COLOR: #3366cc
}
.gfg-entry {
	POSITION: relative; TEXT-ALIGN: left; BACKGROUND-COLOR: white; =
MARGIN-TOP: 3px; WIDTH: 100%; HEIGHT: 6.9em; OVERFLOW: hidden
}
.gfg-root .gfg-entry .gf-result {
	POSITION: relative; BACKGROUND-COLOR: white; PADDING-LEFT: 20px; WIDTH: =
auto; PADDING-RIGHT: 5px; HEIGHT: 100%
}
.gfg-list {
	POSITION: relative; TEXT-ALIGN: left; MARGIN-BOTTOM: 5px; OVERFLOW: =
hidden
}
.gfg-listentry {
	LINE-HEIGHT: 1.5em; PADDING-LEFT: 15px; TEXT-OVERFLOW: ellipsis; =
PADDING-RIGHT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 5px; =
-o-text-overflow: ellipsis
}
.gfg-listentry-odd {
	BACKGROUND-COLOR: #f6f6f6
}
.gfg-listentry-even {
=09
}
.gfg-listentry-highlight {
	BACKGROUND-COLOR: #eee8aa
}
.gfg-root .gfg-entry .gf-result .gf-title {
	LINE-HEIGHT: 1.2em; TEXT-OVERFLOW: ellipsis; WHITE-SPACE: nowrap; =
MARGIN-BOTTOM: 2px; FONT-SIZE: 14px; OVERFLOW: hidden; -o-text-overflow: =
ellipsis
}
.gfg-root .gfg-entry .gf-result .gf-snippet {
	MARGIN-TOP: 3px; HEIGHT: 3.8em; COLOR: #000000
}
.gfg-horizontal-container {
	POSITION: relative
}
.gfg-horizontal-root {
	BORDER-BOTTOM: #aaaaaa 1px solid; POSITION: relative; TEXT-ALIGN: =
center; BORDER-LEFT: #aaaaaa 1px solid; PADDING-BOTTOM: 5px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: "Arial", sans-serif; =
WHITE-SPACE: nowrap; HEIGHT: 1.5em; FONT-SIZE: 13px; OVERFLOW: hidden; =
BORDER-TOP: #aaaaaa 1px solid; MARGIN-RIGHT: 80px; BORDER-RIGHT: #aaaaaa =
1px solid; PADDING-TOP: 5px; _height: 100%
}
.gfg-horizontal-root .gfg-title {
	LINE-HEIGHT: 1.5em; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 10px; =
PADDING-RIGHT: 12px; WHITE-SPACE: nowrap; FLOAT: left; OVERFLOW: hidden; =
FONT-WEIGHT: bold; BORDER-RIGHT: #aaaaaa 1px solid
}
.gfg-horizontal-root .gfg-title A {
	COLOR: #444444; TEXT-DECORATION: none
}
.gfg-horizontal-root .gfg-entry {
	POSITION: relative; TEXT-ALIGN: left; MARGIN-TOP: 0px; PADDING-LEFT: =
10px; WIDTH: auto; HEIGHT: 1.5em; MARGIN-LEFT: 0px; OVERFLOW: hidden
}
.gfg-horizontal-root .gfg-entry .gf-result {
	POSITION: relative; LINE-HEIGHT: 1.5em; BACKGROUND-COLOR: white; WIDTH: =
100%; WHITE-SPACE: nowrap; HEIGHT: 100%; OVERFLOW: hidden
}
.gfg-horizontal-root .gfg-list {
	DISPLAY: none
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-snippet {
	DISPLAY: none
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-author {
	DISPLAY: none
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-title {
	FLOAT: left; COLOR: #0000cc; MARGIN-RIGHT: 3px
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-spacer {
	FLOAT: left
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-spacer {
	DISPLAY: block; COLOR: #aaaaaa
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-relativePublishedDate {
	DISPLAY: block; COLOR: #aaaaaa
}
.gfg-branding {
	POSITION: absolute; TEXT-ALIGN: left; WIDTH: 80px; WHITE-SPACE: nowrap; =
OVERFLOW: hidden; TOP: 0px; RIGHT: 0px
}
.gfg-collapse-open {
	WIDTH: 17px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: center =
50%; FLOAT: right; HEIGHT: 20px; CURSOR: pointer
}
.gfg-collapse-closed {
	WIDTH: 17px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: center =
50%; FLOAT: right; HEIGHT: 20px; CURSOR: pointer
}
.gfg-collapse-open {
	BACKGROUND-IMAGE: url(arrow_open.gif)
}
.gfg-collapse-closed {
	BACKGROUND-IMAGE: url(arrow_close.gif)
}
.gfg-collapse-href {
	FLOAT: left
}
.clearFloat {
	CLEAR: both
}
TD.scorecard {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #e2dca6; WIDTH: 66px; COLOR: =
black
}
TD.white {
	TEXT-ALIGN: center; BACKGROUND-COLOR: white; WIDTH: 66px; COLOR: black
}
TD.yellow {
	TEXT-ALIGN: center; BACKGROUND-COLOR: yellow; WIDTH: 66px; COLOR: black
}
TD.red {
	TEXT-ALIGN: center; BACKGROUND-COLOR: red; WIDTH: 66px; COLOR: white
}
TD.headwhite {
	TEXT-ALIGN: center; BACKGROUND-COLOR: white; COLOR: black
}
TD.headyellow {
	TEXT-ALIGN: center; BACKGROUND-COLOR: yellow; COLOR: black
}
TD.headred {
	TEXT-ALIGN: center; BACKGROUND-COLOR: red; COLOR: white
}
TD.center {
	TEXT-ALIGN: center
}
SPAN.bold {
	FONT-SIZE: larger; FONT-WEIGHT: bold
}
SPAN.red {
	COLOR: red
}

------=_NextPart_000_0164_01CBAD8C.D1AA80B0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.google.com/jsapi?key=notsupplied-wizard

if (!window['google']) {=0A=
window['google'] =3D {};=0A=
}=0A=
if (!window['google']['loader']) {=0A=
window['google']['loader'] =3D {};=0A=
google.loader.ServiceBase =3D 'http://www.google.com/uds';=0A=
google.loader.GoogleApisBase =3D 'http://ajax.googleapis.com/ajax';=0A=
google.loader.ApiKey =3D 'notsupplied-wizard';=0A=
google.loader.KeyVerified =3D true;=0A=
google.loader.LoadFailure =3D false;=0A=
google.loader.Secure =3D false;=0A=
google.loader.GoogleLocale =3D 'www.google.com';=0A=
google.loader.ClientLocation =3D =
{"latitude":51.5,"longitude":-0.117,"address":{"city":"London","region":"=
Surrey","country":"United Kingdom","country_code":"GB"}};=0A=
google.loader.AdditionalParams =3D '';=0A=
(function() {var =
d=3Dtrue,g=3Dnull,h=3Dfalse,j=3DencodeURIComponent,l=3Dwindow,n=3Dundefin=
ed,o=3Ddocument;function p(a,b){return a.load=3Db}var =
q=3D"push",r=3D"replace",s=3D"charAt",t=3D"indexOf",u=3D"ServiceBase",v=3D=
"name",w=3D"getTime",x=3D"length",y=3D"prototype",z=3D"setTimeout",A=3D"l=
oader",B=3D"substring",C=3D"join",D=3D"toLowerCase";function E(a){if(a =
in F)return F[a];return F[a]=3Dnavigator.userAgent[D]()[t](a)!=3D-1}var =
F=3D{};function G(a,b){var =
c=3Dfunction(){};c.prototype=3Db[y];a.Q=3Db[y];a.prototype=3Dnew c}=0A=
function H(a,b){var c=3DArray[y].slice.call(arguments,2)||[];return =
function(){var e=3Dc.concat(Array[y].slice.call(arguments));return =
a.apply(b,e)}}function I(a){a=3DError(a);a.toString=3Dfunction(){return =
this.message};return a}function J(a,b){for(var =
c=3Da.split(/\./),e=3Dl,f=3D0;f<c[x]-1;f++){e[c[f]]||(e[c[f]]=3D{});e=3De=
[c[f]]}e[c[c[x]-1]]=3Db}function K(a,b,c){a[b]=3Dc}if(!L)var =
L=3DJ;if(!M)var =
M=3DK;google[A].t=3D{};L("google.loader.callbacks",google[A].t);var =
N=3D{},O=3D{};google[A].eval=3D{};L("google.loader.eval",google[A].eval);=0A=
p(google,function(a,b,c){function e(k){var =
m=3Dk.split(".");if(m[x]>2)throw I("Module: '"+k+"' not found!");else =
if(typeof =
m[1]!=3D"undefined"){f=3Dm[0];c.packages=3Dc.packages||[];c.packages[q](m=
[1])}}var f=3Da;c=3Dc||{};if(a instanceof Array||a&&typeof =
a=3D=3D"object"&&typeof a[C]=3D=3D"function"&&typeof =
a.reverse=3D=3D"function")for(var i=3D0;i<a[x];i++)e(a[i]);else =
e(a);if(a=3DN[":"+f]){if(c&&!c.language&&c.locale)c.language=3Dc.locale;i=
f(c&&typeof =
c.callback=3D=3D"string"){i=3Dc.callback;if(i.match(/^[[\]A-Za-z0-9._]+$/=
)){i=3Dl.eval(i);=0A=
c.callback=3Di}}if((i=3Dc&&c.callback!=3Dg)&&!a.s(b))throw I("Module: =
'"+f+"' must be loaded before DOM onLoad!");else =
if(i)a.m(b,c)?l[z](c.callback,0):a.load(b,c);else =
a.m(b,c)||a.load(b,c)}else throw I("Module: '"+f+"' not =
found!");});L("google.load",google.load);=0A=
google.P=3Dfunction(a,b){if(b){if(P[x]=3D=3D0){Q(l,"load",S);if(!E("msie"=
)&&!(E("safari")||E("konqueror"))&&E("mozilla")||l.opera)l.addEventListen=
er("DOMContentLoaded",S,h);else if(E("msie"))o.write("<script defer =
onreadystatechange=3D'google.loader.domReady()' =
src=3D//:><\/script>");else(E("safari")||E("konqueror"))&&l[z](T,10)}P[q]=
(a)}else Q(l,"load",a)};L("google.setOnLoadCallback",google.P);=0A=
function Q(a,b,c){if(a.addEventListener)a.addEventListener(b,c,h);else =
if(a.attachEvent)a.attachEvent("on"+b,c);else{var =
e=3Da["on"+b];a["on"+b]=3De!=3Dg?aa([c,e]):c}}function aa(a){return =
function(){for(var b=3D0;b<a[x];b++)a[b]()}}var =
P=3D[];google[A].K=3Dfunction(){var =
a=3Dl.event.srcElement;if(a.readyState=3D=3D"complete"){a.onreadystatecha=
nge=3Dg;a.parentNode.removeChild(a);S()}};L("google.loader.domReady",goog=
le[A].K);var ba=3D{loaded:d,complete:d};function =
T(){if(ba[o.readyState])S();else P[x]>0&&l[z](T,10)}=0A=
function S(){for(var a=3D0;a<P[x];a++)P[a]();P.length=3D0}=0A=
google[A].d=3Dfunction(a,b,c){if(c){var =
e;if(a=3D=3D"script"){e=3Do.createElement("script");e.type=3D"text/javasc=
ript";e.src=3Db}else =
if(a=3D=3D"css"){e=3Do.createElement("link");e.type=3D"text/css";e.href=3D=
b;e.rel=3D"stylesheet"}(a=3Do.getElementsByTagName("head")[0])||(a=3Do.bo=
dy.parentNode.appendChild(o.createElement("head")));a.appendChild(e)}else=
 if(a=3D=3D"script")o.write('<script src=3D"'+b+'" =
type=3D"text/javascript"><\/script>');else a=3D=3D"css"&&o.write('<link =
href=3D"'+b+'" type=3D"text/css" rel=3D"stylesheet"></link>')};=0A=
L("google.loader.writeLoadTag",google[A].d);google[A].M=3Dfunction(a){O=3D=
a};L("google.loader.rfm",google[A].M);google[A].O=3Dfunction(a){for(var =
b in a)if(typeof b=3D=3D"string"&&b&&b[s](0)=3D=3D":"&&!N[b])N[b]=3Dnew =
U(b[B](1),a[b])};L("google.loader.rpl",google[A].O);google[A].N=3Dfunctio=
n(a){if((a=3Da.specs)&&a[x])for(var b=3D0;b<a[x];++b){var =
c=3Da[b];if(typeof c=3D=3D"string")N[":"+c]=3Dnew V(c);else{c=3Dnew =
W(c[v],c.baseSpec,c.customSpecs);N[":"+c[v]]=3Dc}}};L("google.loader.rm",=
google[A].N);=0A=
google[A].loaded=3Dfunction(a){N[":"+a.module].k(a)};L("google.loader.loa=
ded",google[A].loaded);google[A].J=3Dfunction(){return"qid=3D"+((new =
Date)[w]().toString(16)+Math.floor(Math.random()*1E7).toString(16))};L("g=
oogle.loader.createGuidArg_",google[A].J);J("google_exportSymbol",J);J("g=
oogle_exportProperty",K);google[A].b=3D{};L("google.loader.themes",google=
[A].b);google[A].b.z=3D"http://www.google.com/cse/style/look/bubblegum.cs=
s";M(google[A].b,"BUBBLEGUM",google[A].b.z);google[A].b.B=3D"http://www.g=
oogle.com/cse/style/look/greensky.css";=0A=
M(google[A].b,"GREENSKY",google[A].b.B);google[A].b.A=3D"http://www.googl=
e.com/cse/style/look/espresso.css";M(google[A].b,"ESPRESSO",google[A].b.A=
);google[A].b.D=3D"http://www.google.com/cse/style/look/shiny.css";M(goog=
le[A].b,"SHINY",google[A].b.D);google[A].b.C=3D"http://www.google.com/cse=
/style/look/minimalist.css";M(google[A].b,"MINIMALIST",google[A].b.C);fun=
ction =
V(a){this.a=3Da;this.q=3D[];this.p=3D{};this.i=3D{};this.e=3D{};this.l=3D=
d;this.c=3D-1}=0A=
V[y].g=3Dfunction(a,b){var =
c=3D"";if(b!=3Dn){if(b.language!=3Dn)c+=3D"&hl=3D"+j(b.language);if(b.noc=
ss!=3Dn)c+=3D"&output=3D"+j("nocss=3D"+b.nocss);if(b.nooldnames!=3Dn)c+=3D=
"&nooldnames=3D"+j(b.nooldnames);if(b.packages!=3Dn)c+=3D"&packages=3D"+j=
(b.packages);if(b.callback!=3Dg)c+=3D"&async=3D2";if(b.style!=3Dn)c+=3D"&=
style=3D"+j(b.style);if(b.other_params!=3Dn)c+=3D"&"+b.other_params}if(!t=
his.l){if(google[this.a]&&google[this.a].JSHash)c+=3D"&sig=3D"+j(google[t=
his.a].JSHash);var e=3D[],f;for(f in =
this.p)f[s](0)=3D=3D":"&&e[q](f[B](1));for(f in this.i)f[s](0)=3D=3D=0A=
":"&&this.i[f]&&e[q](f[B](1));c+=3D"&have=3D"+j(e[C](","))}return =
google[A][u]+"/?file=3D"+this.a+"&v=3D"+a+google[A].AdditionalParams+c};V=
[y].v=3Dfunction(a){var b=3Dg;if(a)b=3Da.packages;var =
c=3Dg;if(b)if(typeof b=3D=3D"string")c=3D[a.packages];else =
if(b[x]){c=3D[];for(a=3D0;a<b[x];a++)typeof =
b[a]=3D=3D"string"&&c[q](b[a][r](/^\s*|\s*$/,"")[D]())}c||(c=3D["default"=
]);b=3D[];for(a=3D0;a<c[x];a++)this.p[":"+c[a]]||b[q](c[a]);return b};=0A=
p(V[y],function(a,b){var c=3Dthis.v(b),e=3Db&&b.callback!=3Dg;if(e)var =
f=3Dnew X(b.callback);for(var i=3D[],k=3Dc[x]-1;k>=3D0;k--){var =
m=3Dc[k];e&&f.F(m);if(this.i[":"+m]){c.splice(k,1);e&&this.e[":"+m][q](f)=
}else =
i[q](m)}if(c[x]){if(b&&b.packages)b.packages=3Dc.sort()[C](",");for(k=3D0=
;k<i[x];k++){m=3Di[k];this.e[":"+m]=3D[];e&&this.e[":"+m][q](f)}if(!b&&O[=
":"+this.a]!=3Dg&&O[":"+this.a].versions[":"+a]!=3Dg&&!google[A].Addition=
alParams&&this.l){c=3DO[":"+this.a];google[this.a]=3Dgoogle[this.a]||{};f=
or(var R in c.properties)if(R&&=0A=
R[s](0)=3D=3D":")google[this.a][R[B](1)]=3Dc.properties[R];google[A].d("s=
cript",google[A][u]+c.path+c.js,e);c.css&&google[A].d("css",google[A][u]+=
c.path+c.css,e)}else =
if(!b||!b.autoloaded)google[A].d("script",this.g(a,b),e);if(this.l){this.=
l=3Dh;this.c=3D(new =
Date)[w]();if(this.c%100!=3D1)this.c=3D-1}for(k=3D0;k<i[x];k++){m=3Di[k];=
this.i[":"+m]=3Dd}}});=0A=
V[y].k=3Dfunction(a){if(this.c!=3D-1){ca("al_"+this.a,"jl."+((new =
Date)[w]()-this.c),d);this.c=3D-1}this.q=3Dthis.q.concat(a.components);go=
ogle[A][this.a]||(google[A][this.a]=3D{});google[A][this.a].packages=3Dth=
is.q.slice(0);for(var =
b=3D0;b<a.components[x];b++){this.p[":"+a.components[b]]=3Dd;this.i[":"+a=
.components[b]]=3Dh;var c=3Dthis.e[":"+a.components[b]];if(c){for(var =
e=3D0;e<c[x];e++)c[e].I(a.components[b]);delete =
this.e[":"+a.components[b]]}}};V[y].m=3Dfunction(a,b){return =
this.v(b)[x]=3D=3D0};V[y].s=3Dfunction(){return d};=0A=
function =
X(a){this.H=3Da;this.n=3D{};this.r=3D0}X[y].F=3Dfunction(a){this.r++;this=
.n[":"+a]=3Dd};X[y].I=3Dfunction(a){if(this.n[":"+a]){this.n[":"+a]=3Dh;t=
his.r--;this.r=3D=3D0&&l[z](this.H,0)}};function =
W(a,b,c){this.name=3Da;this.G=3Db;this.o=3Dc;this.u=3Dthis.h=3Dh;this.j=3D=
[];google[A].t[this[v]]=3DH(this.k,this)}G(W,V);p(W[y],function(a,b){var =
c=3Db&&b.callback!=3Dg;if(c){this.j[q](b.callback);b.callback=3D"google.l=
oader.callbacks."+this[v]}else =
this.h=3Dd;if(!b||!b.autoloaded)google[A].d("script",this.g(a,b),c)});W[y=
].m=3Dfunction(a,b){return =
b&&b.callback!=3Dg?this.u:this.h};W[y].k=3Dfunction(){this.u=3Dd;for(var =
a=3D0;a<this.j[x];a++)l[z](this.j[a],0);this.j=3D[]};=0A=
var Y=3Dfunction(a,b){return =
a.string?j(a.string)+"=3D"+j(b):a.regex?b[r](/(^.*$)/,a.regex):""};W[y].g=
=3Dfunction(a,b){return this.L(this.w(a),a,b)};=0A=
W[y].L=3Dfunction(a,b,c){var =
e=3D"";if(a.key)e+=3D"&"+Y(a.key,google[A].ApiKey);if(a.version)e+=3D"&"+=
Y(a.version,b);b=3Dgoogle[A].Secure&&a.ssl?a.ssl:a.uri;if(c!=3Dg)for(var =
f in c)if(a.params[f])e+=3D"&"+Y(a.params[f],c[f]);else =
if(f=3D=3D"other_params")e+=3D"&"+c[f];else =
if(f=3D=3D"base_domain")b=3D"http://"+c[f]+a.uri[B](a.uri[t]("/",7));goog=
le[this[v]]=3D{};if(b[t]("?")=3D=3D-1&&e)e=3D"?"+e[B](1);return =
b+e};W[y].s=3Dfunction(a){return this.w(a).deferred};=0A=
W[y].w=3Dfunction(a){if(this.o)for(var b=3D0;b<this.o[x];++b){var =
c=3Dthis.o[b];if(RegExp(c.pattern).test(a))return c}return =
this.G};function =
U(a,b){this.a=3Da;this.f=3Db;this.h=3Dh}G(U,V);p(U[y],function(a,b){this.=
h=3Dd;google[A].d("script",this.g(a,b),h)});U[y].m=3Dfunction(){return =
this.h};U[y].k=3Dfunction(){};U[y].g=3Dfunction(a,b){if(!this.f.versions[=
":"+a]){if(this.f.aliases){var =
c=3Dthis.f.aliases[":"+a];if(c)a=3Dc}if(!this.f.versions[":"+a])throw =
I("Module: '"+this.a+"' with version '"+a+"' not found!");}return =
google[A].GoogleApisBase+"/libs/"+this.a+"/"+a+"/"+this.f.versions[":"+a]=
[b&&b.uncompressed?"uncompressed":"compressed"]};=0A=
U[y].s=3Dfunction(){return h};var da=3Dh,Z=3D[],ea=3D(new =
Date)[w](),ca=3Dfunction(a,b,c){if(!da){Q(l,"unload",fa);da=3Dd}if(c){if(=
!google[A].Secure&&(!google[A].Options||google[A].Options.csi=3D=3D=3Dh))=
{a=3Da[D]()[r](/[^a-z0-9_.]+/g,"_");b=3Db[D]()[r](/[^a-z0-9_.]+/g,"_");l[=
z](H($,g,"//gg.google.com/csi?s=3Duds&v=3D2&action=3D"+j(a)+"&it=3D"+j(b)=
),1E4)}}else{Z[q]("r"+Z[x]+"=3D"+j(a+(b?"|"+b:"")));l[z](fa,Z[x]>5?0:15E3=
)}},fa=3Dfunction(){if(Z[x]){var =
a=3Dgoogle[A][u];if(a[t]("http:")=3D=3D0)a=3Da[r](/^http:/,"https:");$(a+=
"/stats?"+Z[C]("&")+"&nc=3D"+(new Date)[w]()+=0A=
"_"+((new Date)[w]()-ea));Z.length=3D0}},$=3Dfunction(a){var b=3Dnew =
Image,c=3Dga++;ha[c]=3Db;b.onload=3Db.onerror=3Dfunction(){delete =
ha[c]};b.src=3Da;b=3Dg},ha=3D{},ga=3D0;J("google.loader.recordStat",ca);J=
("google.loader.createImageForLogging",$);=0A=
=0A=
}) =
();google.loader.rm({"specs":[{"name":"books","baseSpec":{"uri":"http://b=
ooks.google.com/books/api.js","ssl":null,"key":{"string":"key"},"version"=
:{"string":"v"},"deferred":true,"params":{"callback":{"string":"callback"=
},"language":{"string":"hl"}}}},"feeds",{"name":"friendconnect","baseSpec=
":{"uri":"http://www.google.com/friendconnect/script/friendconnect.js","s=
sl":null,"key":{"string":"key"},"version":{"string":"v"},"deferred":false=
,"params":{}}},"spreadsheets","gdata","visualization",{"name":"sharing","=
baseSpec":{"uri":"http://www.google.com/s2/sharing/js","ssl":null,"key":{=
"string":"key"},"version":{"string":"v"},"deferred":false,"params":{"lang=
uage":{"string":"hl"}}}},"search",{"name":"maps","baseSpec":{"uri":"http:=
//maps.google.com/maps?file\u003dgoogleapi","ssl":"https://maps-api-ssl.g=
oogle.com/maps?file\u003dgoogleapi","key":{"string":"key"},"version":{"st=
ring":"v"},"deferred":true,"params":{"callback":{"regex":"callback\u003d$=
1\u0026async\u003d2"},"language":{"string":"hl"}}},"customSpecs":[{"uri":=
"http://maps.google.com/maps/api/js","ssl":"https://maps-api-ssl.google.c=
om/maps/api/js","key":{"string":"key"},"version":{"string":"v"},"deferred=
":true,"params":{"callback":{"string":"callback"},"language":{"string":"h=
l"}},"pattern":"^(3|3..*)$"}]},"annotations_v2","wave","orkut",{"name":"a=
nnotations","baseSpec":{"uri":"http://www.google.com/reviews/scripts/anno=
tations_bootstrap.js","ssl":null,"key":{"string":"key"},"version":{"strin=
g":"v"},"deferred":true,"params":{"callback":{"string":"callback"},"langu=
age":{"string":"hl"},"country":{"string":"gl"}}}},"language","earth","ads=
","elements"]});=0A=
google.loader.rfm({":search":{"versions":{":1":"1",":1.0":"1"},"path":"/a=
pi/search/1.0/dc3de76e47ee565996b49228b275fafb/","js":"default+en_GB.I.js=
","css":"default.css","properties":{":JSHash":"dc3de76e47ee565996b49228b2=
75fafb",":NoOldNames":false,":Version":"1.0"}},":language":{"versions":{"=
:1":"1",":1.0":"1"},"path":"/api/language/1.0/967daad8b24523f19546cb65092=
bf0d4/","js":"default+en_GB.I.js","properties":{":JSHash":"967daad8b24523=
f19546cb65092bf0d4",":Version":"1.0"}},":feeds":{"versions":{":1":"1",":1=
.0":"1"},"path":"/api/feeds/1.0/3573f8b68c3b6505aa11291e6a1b85ca/","js":"=
default+en_GB.I.js","css":"default.css","properties":{":JSHash":"3573f8b6=
8c3b6505aa11291e6a1b85ca",":Version":"1.0"}},":wave":{"versions":{":1":"1=
",":1.0":"1"},"path":"/api/wave/1.0/3b6f7573ff78da6602dda5e09c9025bf/","j=
s":"default.I.js","properties":{":JSHash":"3b6f7573ff78da6602dda5e09c9025=
bf",":Version":"1.0"}},":spreadsheets":{"versions":{":0":"1",":0.4":"1"},=
"path":"/api/spreadsheets/0.4/87ff7219e9f8a8164006cbf28d5e911a/","js":"de=
fault.I.js","properties":{":JSHash":"87ff7219e9f8a8164006cbf28d5e911a",":=
Version":"0.4"}},":annotations":{"versions":{":1":"1",":1.0":"1"},"path":=
"/api/annotations/1.0/c845b718b10119662ead1ad5f8015639/","js":"default+en=
.I.js","properties":{":JSHash":"c845b718b10119662ead1ad5f8015639",":Versi=
on":"1.0"}},":earth":{"versions":{":1":"1",":1.0":"1"},"path":"/api/earth=
/1.0/c37eaccce6874ff6fce172dec6c34cbe/","js":"default.I.js","properties":=
{":JSHash":"c37eaccce6874ff6fce172dec6c34cbe",":Version":"1.0"}}});=0A=
google.loader.rpl({":scriptaculous":{"versions":{":1.8.3":{"uncompressed"=
:"scriptaculous.js","compressed":"scriptaculous.js"},":1.8.2":{"uncompres=
sed":"scriptaculous.js","compressed":"scriptaculous.js"},":1.8.1":{"uncom=
pressed":"scriptaculous.js","compressed":"scriptaculous.js"}},"aliases":{=
":1.8":"1.8.3",":1":"1.8.3"}},":yui":{"versions":{":2.6.0":{"uncompressed=
":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-=
min.js"},":2.7.0":{"uncompressed":"build/yuiloader/yuiloader.js","compres=
sed":"build/yuiloader/yuiloader-min.js"},":2.8.0r4":{"uncompressed":"buil=
d/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"=
},":2.8.2r1":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":=
"build/yuiloader/yuiloader-min.js"},":2.8.1":{"uncompressed":"build/yuilo=
ader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"}},"ali=
ases":{":2":"2.8.2r1",":2.7":"2.7.0",":2.8.2":"2.8.2r1",":2.6":"2.6.0",":=
2.8":"2.8.2r1",":2.8.0":"2.8.0r4"}},":swfobject":{"versions":{":2.1":{"un=
compressed":"swfobject_src.js","compressed":"swfobject.js"},":2.2":{"unco=
mpressed":"swfobject_src.js","compressed":"swfobject.js"}},"aliases":{":2=
":"2.2"}},":ext-core":{"versions":{":3.1.0":{"uncompressed":"ext-core-deb=
ug.js","compressed":"ext-core.js"},":3.0.0":{"uncompressed":"ext-core-deb=
ug.js","compressed":"ext-core.js"}},"aliases":{":3":"3.1.0",":3.0":"3.0.0=
",":3.1":"3.1.0"}},":webfont":{"versions":{":1.0.2":{"uncompressed":"webf=
ont_debug.js","compressed":"webfont.js"},":1.0.1":{"uncompressed":"webfon=
t_debug.js","compressed":"webfont.js"},":1.0.0":{"uncompressed":"webfont_=
debug.js","compressed":"webfont.js"},":1.0.6":{"uncompressed":"webfont_de=
bug.js","compressed":"webfont.js"},":1.0.5":{"uncompressed":"webfont_debu=
g.js","compressed":"webfont.js"},":1.0.4":{"uncompressed":"webfont_debug.=
js","compressed":"webfont.js"},":1.0.17":{"uncompressed":"webfont_debug.j=
s","compressed":"webfont.js"},":1.0.3":{"uncompressed":"webfont_debug.js"=
,"compressed":"webfont.js"},":1.0.16":{"uncompressed":"webfont_debug.js",=
"compressed":"webfont.js"},":1.0.9":{"uncompressed":"webfont_debug.js","c=
ompressed":"webfont.js"},":1.0.12":{"uncompressed":"webfont_debug.js","co=
mpressed":"webfont.js"},":1.0.13":{"uncompressed":"webfont_debug.js","com=
pressed":"webfont.js"},":1.0.14":{"uncompressed":"webfont_debug.js","comp=
ressed":"webfont.js"},":1.0.15":{"uncompressed":"webfont_debug.js","compr=
essed":"webfont.js"},":1.0.10":{"uncompressed":"webfont_debug.js","compre=
ssed":"webfont.js"},":1.0.11":{"uncompressed":"webfont_debug.js","compres=
sed":"webfont.js"}},"aliases":{":1":"1.0.17",":1.0":"1.0.17"}},":mootools=
":{"versions":{":1.2.3":{"uncompressed":"mootools.js","compressed":"mooto=
ols-yui-compressed.js"},":1.1.1":{"uncompressed":"mootools.js","compresse=
d":"mootools-yui-compressed.js"},":1.2.4":{"uncompressed":"mootools.js","=
compressed":"mootools-yui-compressed.js"},":1.3.0":{"uncompressed":"mooto=
ols.js","compressed":"mootools-yui-compressed.js"},":1.2.1":{"uncompresse=
d":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.2":{"un=
compressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.=
2.5":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.=
js"},":1.1.2":{"uncompressed":"mootools.js","compressed":"mootools-yui-co=
mpressed.js"}},"aliases":{":1":"1.1.2",":1.11":"1.1.1",":1.3":"1.3.0",":1=
.2":"1.2.5",":1.1":"1.1.2"}},":jqueryui":{"versions":{":1.6.0":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.0":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.2":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.1":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.7":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.2":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.5":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.3":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.6":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.0":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.1":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.4":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.5.3":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.5.2":{"uncompre=
ssed":"jquery-ui.js","compressed":"jquery-ui.min.js"}},"aliases":{":1.8":=
"1.8.7",":1.7":"1.7.3",":1.6":"1.6.0",":1":"1.8.7",":1.5":"1.5.3",":1.8.3=
":"1.8.4"}},":chrome-frame":{"versions":{":1.0.2":{"uncompressed":"CFInst=
all.js","compressed":"CFInstall.min.js"},":1.0.1":{"uncompressed":"CFInst=
all.js","compressed":"CFInstall.min.js"},":1.0.0":{"uncompressed":"CFInst=
all.js","compressed":"CFInstall.min.js"}},"aliases":{":1":"1.0.2",":1.0":=
"1.0.2"}},":jquery":{"versions":{":1.2.3":{"uncompressed":"jquery.js","co=
mpressed":"jquery.min.js"},":1.3.1":{"uncompressed":"jquery.js","compress=
ed":"jquery.min.js"},":1.3.0":{"uncompressed":"jquery.js","compressed":"j=
query.min.js"},":1.3.2":{"uncompressed":"jquery.js","compressed":"jquery.=
min.js"},":1.2.6":{"uncompressed":"jquery.js","compressed":"jquery.min.js=
"},":1.4.3":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1=
.4.4":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.0":=
{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.1":{"unco=
mpressed":"jquery.js","compressed":"jquery.min.js"},":1.4.2":{"uncompress=
ed":"jquery.js","compressed":"jquery.min.js"}},"aliases":{":1":"1.4.4",":=
1.4":"1.4.4",":1.3":"1.3.2",":1.2":"1.2.6"}},":dojo":{"versions":{":1.2.3=
":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/do=
jo.xd.js"},":1.3.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","co=
mpressed":"dojo/dojo.xd.js"},":1.1.1":{"uncompressed":"dojo/dojo.xd.js.un=
compressed.js","compressed":"dojo/dojo.xd.js"},":1.3.0":{"uncompressed":"=
dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.3.2"=
:{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/doj=
o.xd.js"},":1.4.3":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","com=
pressed":"dojo/dojo.xd.js"},":1.5.0":{"uncompressed":"dojo/dojo.xd.js.unc=
ompressed.js","compressed":"dojo/dojo.xd.js"},":1.2.0":{"uncompressed":"d=
ojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.4.0":=
{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo=
.xd.js"},":1.4.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","comp=
ressed":"dojo/dojo.xd.js"}},"aliases":{":1":"1.5.0",":1.5":"1.5.0",":1.4"=
:"1.4.3",":1.3":"1.3.2",":1.2":"1.2.3",":1.1":"1.1.1"}},":prototype":{"ve=
rsions":{":1.7.0.0":{"uncompressed":"prototype.js","compressed":"prototyp=
e.js"},":1.6.0.2":{"uncompressed":"prototype.js","compressed":"prototype.=
js"},":1.6.1.0":{"uncompressed":"prototype.js","compressed":"prototype.js=
"},":1.6.0.3":{"uncompressed":"prototype.js","compressed":"prototype.js"}=
},"aliases":{":1.7":"1.7.0.0",":1.6.1":"1.6.1.0",":1":"1.7.0.0",":1.6":"1=
.6.1.0",":1.7.0":"1.7.0.0",":1.6.0":"1.6.0.3"}}});=0A=
}=0A=

------=_NextPart_000_0164_01CBAD8C.D1AA80B0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.js

/**=0A=
 * Copyright (c) 2008 Google Inc.=0A=
 *=0A=
 * You are free to copy and use this sample.=0A=
 * License can be found here: =
http://code.google.com/apis/ajaxsearch/faq/#license=0A=
*/=0A=
=0A=
/**=0A=
 * @fileoverview A feed gadget based on the AJAX Feed API.=0A=
 * @author dcollison@google.com (Derek Collison)=0A=
 */=0A=
=0A=
/**=0A=
 * GFdynamicFeedControl=0A=
 * @param {String} feed The feed URL.=0A=
 * @param {String|Object} container Either the id string or the element =
itself.=0A=
 * @param {Object} options Options map.=0A=
 * @constructor=0A=
 */=0A=
=0A=
function GFdynamicFeedControl(feedUrls, container, options) {=0A=
  // node elements.=0A=
  this.nodes =3D {};=0A=
  this.collapseElements =3D [];=0A=
  =0A=
  // the feeds.=0A=
  this.feeds =3D [];=0A=
  this.results =3D [];=0A=
=0A=
  if (typeof feedUrls =3D=3D 'string') {=0A=
    this.feeds.push({url:feedUrls});=0A=
  } else if (typeof feedUrls =3D=3D 'object') {=0A=
    for (var i=3D0; i<feedUrls.length; i++) {=0A=
      var entry =3D feedUrls[i];=0A=
      var o =3D {};=0A=
      var feedUrl;=0A=
      if (typeof entry =3D=3D 'string') {=0A=
        o.url =3D feedUrls[i];=0A=
      } else if (typeof entry =3D=3D 'object') {=0A=
        o =3D feedUrls[i];=0A=
	if (o && o.title) {=0A=
	  var s =3D o.title;=0A=
	  o.title =3D s.replace(/</g,'&lt;').replace(/>/g, '&gt;');=0A=
	}=0A=
      }=0A=
      this.feeds.push(o);=0A=
    }=0A=
  }=0A=
=0A=
  if (typeof container =3D=3D "string") {=0A=
    container =3D document.getElementById(container);=0A=
  }=0A=
  this.parseOptions_(options);=0A=
  this.setup_(container);=0A=
}=0A=
=0A=
/*=0A=
 * Default time in milliseconds for the feed to be reloaded.=0A=
 * @type Number=0A=
 */=0A=
GFdynamicFeedControl.DEFAULT_NUM_RESULTS =3D 4;=0A=
/*=0A=
 * Default time in milliseconds for the feed to be reloaded.=0A=
 * @type Number=0A=
 */=0A=
GFdynamicFeedControl.DEFAULT_FEED_CYCLE_TIME =3D 1800000;=0A=
/*=0A=
 * Default display time in milliseconds for each entry.=0A=
 * @type Number=0A=
 */=0A=
GFdynamicFeedControl.DEFAULT_DISPLAY_TIME =3D 5000;=0A=
/*=0A=
 * Default fadeout transition time in milliseconds for each entry.=0A=
 * @type Number=0A=
 */=0A=
GFdynamicFeedControl.DEFAULT_FADEOUT_TIME =3D 1000;=0A=
/*=0A=
 * Default time between transition steps in milliseconds=0A=
 * @type Number=0A=
 */=0A=
GFdynamicFeedControl.DEFAULT_TRANSISTION_STEP =3D 40;=0A=
/*=0A=
 * Default hover time in milliseconds for each entry.=0A=
 * @type Number=0A=
 */=0A=
GFdynamicFeedControl.DEFAULT_HOVER_TIME =3D 100;=0A=
=0A=
/**=0A=
 * Setup default option map and apply overrides from constructor.=0A=
 * @param {Object} options Options map.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.parseOptions_ =3D function(options) {=0A=
  // Default Options=0A=
  // TODO(dcollison) - implement Feed Cycle.=0A=
  this.options =3D {=0A=
    numResults : GFdynamicFeedControl.DEFAULT_NUM_RESULTS,=0A=
    feedCycleTime : GFdynamicFeedControl.DEFAULT_FEED_CYCLE_TIME,=0A=
    linkTarget : google.feeds.LINK_TARGET_BLANK,=0A=
    displayTime : GFdynamicFeedControl.DEFAULT_DISPLAY_TIME,=0A=
    transitionTime : GFdynamicFeedControl.DEFAULT_TRANSISTION_TIME,=0A=
    transitionStep : GFdynamicFeedControl.DEFAULT_TRANSISTION_STEP,=0A=
    fadeOutTime: GFdynamicFeedControl.DEFAULT_FADEOUT_TIME,=0A=
    scrollOnFadeOut : true,=0A=
    pauseOnHover : true,=0A=
    hoverTime : GFdynamicFeedControl.DEFAULT_HOVER_TIME,=0A=
    autoCleanup : true,=0A=
    transitionCallback : null,=0A=
    feedTransitionCallback : null,=0A=
    feedLoadCallback : null,=0A=
    collapseable : false,=0A=
    sortByDate : false,=0A=
    horizontal : false,=0A=
    stacked : false,=0A=
    title : null=0A=
  };=0A=
=0A=
  if (options) {=0A=
    for (var o in this.options) {=0A=
      if (typeof options[o] !=3D 'undefined') {=0A=
        this.options[o] =3D options[o];=0A=
      }=0A=
    }=0A=
  }=0A=
  =0A=
  // Cant be collapseable unless stacked=0A=
  if(!this.options.stacked) {=0A=
    this.options.collapseable =3D false;=0A=
  }=0A=
  =0A=
  // Override strange/bad options=0A=
  this.options.displayTime =3D Math.max(200, this.options.displayTime);=0A=
  this.options.fadeOutTime =3D Math.max(0, this.options.fadeOutTime);=0A=
=0A=
  // Calculated=0A=
  var ts =3D this.options.fadeOutTime / this.options.transitionStep;=0A=
  this.fadeOutDelta =3D Math.min(1, (1.0/ts));=0A=
=0A=
  // Flag to start=0A=
  this.started =3D false;=0A=
};=0A=
=0A=
/**=0A=
 * Basic setup.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.setup_ =3D function(container) {=0A=
  if (container =3D=3D null) return;=0A=
  this.nodes.container =3D container;=0A=
=0A=
  // Browser fun.=0A=
  if (window.ActiveXObject) {=0A=
    this.ie =3D this[window.XMLHttpRequest ? 'ie7' : 'ie6'] =3D true;=0A=
  } else if (document.childNodes && !document.all && =
!navigator.taintEnabled) {=0A=
    this.safari =3D true;=0A=
  } else if (document.getBoxObjectFor !=3D null) {=0A=
    this.gecko =3D true;=0A=
  }=0A=
  // The feedControl instance for generating entry HTML.=0A=
  this.feedControl =3D new google.feeds.FeedControl();=0A=
  this.feedControl.setLinkTarget(this.options.linkTarget);=0A=
=0A=
  // The feeds=0A=
  this.expected =3D this.feeds.length;=0A=
  this.errors =3D 0;=0A=
=0A=
  for (var i =3D 0; i < this.feeds.length; i++) {=0A=
    var feed =3D new google.feeds.Feed(this.feeds[i].url);=0A=
    feed.setResultFormat(google.feeds.Feed.JSON_FORMAT);=0A=
    feed.setNumEntries(this.options.numResults);=0A=
    feed.load(this.bind_(this.feedLoaded_, i));=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Helper method to bind this instance correctly.=0A=
 * @param {Object} method function/method to bind.=0A=
 * @return {Function}=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.bind_ =3D function(method) {=0A=
  var self =3D this;=0A=
  var opt_args =3D [].slice.call(arguments, 1);=0A=
  return function() {=0A=
    var args =3D opt_args.concat([].slice.call(arguments));=0A=
    return method.apply(self, args);=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Callback associated with the AJAX Feed api after load.=0A=
 * @param {Object} result Loaded result.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.feedLoaded_ =3D function(index, result) {=0A=
  if (this.options.feedLoadCallback) {=0A=
    this.options.feedLoadCallback(result);=0A=
  }=0A=
  if (result.error) {=0A=
    // Ignore failed feeds for the most part.=0A=
    // The user has control through the feedLoadCallback above=0A=
    // if they choose to do something more createive.=0A=
    // Only complain if we can't load anything.=0A=
    if (++this.errors >=3D this.expected) {=0A=
      this.nodes.container.innerHTML =3D 'Feed' + ((this.expected > =
1)?'s ':' ') +=0A=
                                       'could not be loaded.';=0A=
    }=0A=
    return;=0A=
  }=0A=
  // Override of title option.=0A=
  if (this.feeds[index].title) {=0A=
    result.feed.title =3D this.feeds[index].title;=0A=
  }=0A=
  this.results.push(result);=0A=
=0A=
  if (!this.started) {=0A=
    this.createSubContainers_();=0A=
    this.displayResult_(0);=0A=
  } else if (!this.options.horizontal && this.options.stacked) {=0A=
    this.addResult_(this.results.length-1);=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Insert blog in correct place=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.sortByDate_ =3D function(resultIndex, =
newTitle,=0A=
                                                      newList) {=0A=
  // if sorting by date, insert it into the correct spot=0A=
  var newEntryDate =3D =
this.results[resultIndex].feed.entries[0].publishedDate;=0A=
  var newEntryDateMS =3D Date.parse(newEntryDate);=0A=
  var insertIndex =3D null;=0A=
=0A=
  for (var i =3D 0; i < this.results.length; i++) {=0A=
    var mostRecentPost =3D this.results[i].feed.entries[0].publishedDate;=0A=
    var mostRecentPostMS =3D Date.parse(mostRecentPost);=0A=
    if(newEntryDateMS > mostRecentPostMS) {=0A=
      insertIndex =3D i;=0A=
      break;=0A=
    }=0A=
  }=0A=
=0A=
  // If it's most stale blog, just append as usual=0A=
  if(insertIndex =3D=3D null) {=0A=
    this.nodes.root.appendChild(newTitle);=0A=
    this.nodes.root.appendChild(newList);=0A=
    this.createListEntries_(resultIndex, newList);=0A=
    return;=0A=
  }=0A=
=0A=
  // If it is fresher than a blog, insert to correct position=0A=
  var insertBeforeIndex =3D 2 + (insertIndex * 2);=0A=
  var swapToIndex =3D insertBeforeIndex + 2;=0A=
  var tempSwap =3D null;=0A=
  var myResultIndex =3D resultIndex + 1;=0A=
=0A=
  var sectionsToChange =3D this.nodes.root.childNodes;=0A=
  var nodeToInsertBefore =3D sectionsToChange[insertBeforeIndex];=0A=
=0A=
  this.nodes.root.insertBefore(newTitle, nodeToInsertBefore);=0A=
  this.nodes.root.insertBefore(newList, nodeToInsertBefore);=0A=
=0A=
  this.results.splice(insertIndex, 0, this.results[resultIndex]);=0A=
  this.results.splice(myResultIndex, 1);=0A=
  =0A=
  var nodesToChangeClick =3D =
sectionsToChange[swapToIndex].nextSibling.childNodes;=0A=
  =0A=
  this.createListEntries_(insertIndex, newList);=0A=
=0A=
  // Keep freshest blog open first=0A=
  if(insertIndex =3D=3D 0) {=0A=
    this.displayResult_(0);=0A=
  }=0A=
=0A=
  insertIndex +=3D 1;=0A=
  // Reset all of the onmousehover listeners to highlight corect index=0A=
  for (var i =3D swapToIndex; i < sectionsToChange.length; i +=3D 2) {=0A=
    var nodesToChangeClick =3D =
sectionsToChange[i].nextSibling.childNodes;=0A=
    for (var j=3D0; j < nodesToChangeClick.length; j++) {=0A=
      nodesToChangeClick[j].onmouseover =3D =
this.bind_(this.listMouseOver_, =0A=
                                                     insertIndex, j);=0A=
      nodesToChangeClick[j].onmouseout =3D =
this.bind_(this.listMouseOut_, =0A=
                                                    insertIndex, j);=0A=
    }=0A=
    insertIndex++;=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Setup to display the Result for stacked mode=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.addResult_ =3D function(resultIndex) {=0A=
  var result =3D this.results[resultIndex];=0A=
  var newTitle =3D this.createDiv_('gfg-subtitle');=0A=
  this.setTitle_(result.feed, newTitle);=0A=
  var newList =3D this.createDiv_('gfg-list');=0A=
=0A=
  // add a collapseable button=0A=
  if(this.options.collapseable) {=0A=
    var collapseLink =3D document.createElement('div');=0A=
    newList.style.display =3D 'none';=0A=
    collapseLink.className =3D 'gfg-collapse-closed';=0A=
    newTitle.appendChild(collapseLink);=0A=
    collapseLink.onclick =3D this.toggleCollapse(this, newList, =
collapseLink);=0A=
    this.collapseElements.push({=0A=
      list : newList,=0A=
      collapse : collapseLink=0A=
    });=0A=
  }=0A=
=0A=
=0A=
  var clearFloat =3D document.createElement('div');=0A=
  clearFloat.className =3D 'clearFloat';=0A=
  newTitle.appendChild(clearFloat);=0A=
=0A=
  // If not sorting by date, add them as usual=0A=
  if(!this.options.sortByDate) {=0A=
    this.nodes.root.appendChild(newTitle);=0A=
    this.nodes.root.appendChild(newList);=0A=
    this.createListEntries_(resultIndex, newList);=0A=
  } else {=0A=
    this.sortByDate_(resultIndex, newTitle, newList);=0A=
  }=0A=
  =0A=
};=0A=
=0A=
/**=0A=
 * Setup to display the Result=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.displayResult_ =3D function(resultIndex) {=0A=
  this.resultIndex =3D resultIndex;=0A=
  var result =3D this.results[resultIndex];=0A=
  if (this.options.feedTransitionCallback) {=0A=
    this.options.feedTransitionCallback(result);=0A=
  }=0A=
  if (this.options.title) {=0A=
    this.setPlainTitle_(this.options.title);=0A=
  } else {=0A=
    this.setTitle_(result.feed);=0A=
  }=0A=
  this.clearNode_(this.nodes.entry);=0A=
=0A=
  if (this.started && !this.options.horizontal && this.options.stacked) {=0A=
    this.entries =3D result.feed.entries;=0A=
  } else {=0A=
    this.createListEntries_(resultIndex, this.nodes.list);=0A=
  }=0A=
  this.displayEntries_();=0A=
}=0A=
=0A=
/**=0A=
 * Set the Title to just plaintext=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.setPlainTitle_ =3D function(title, =
opt_element) {=0A=
  var el =3D opt_element || this.nodes.title;=0A=
  el.innerHTML =3D title;=0A=
}=0A=
=0A=
/**=0A=
 * Set the Title=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.setTitle_ =3D function(resultFeed, =
opt_element) {=0A=
  var el =3D opt_element || this.nodes.title;=0A=
  this.clearNode_(el);=0A=
  var link =3D document.createElement('a');=0A=
  link.target =3D google.feeds.LINK_TARGET_BLANK;=0A=
  link.href =3D resultFeed.link;=0A=
  link.className =3D 'gfg-collapse-href';=0A=
  link.innerHTML =3D resultFeed.title;=0A=
  el.appendChild(link);=0A=
}=0A=
=0A=
GFdynamicFeedControl.prototype.toggleCollapse =3D function(feedControl, =0A=
                                                         listReference, =0A=
                                                         collapseLink) {=0A=
  return function() {=0A=
    var els =3D feedControl.collapseElements;=0A=
    for (var i=3D0; i < els.length; i++) {=0A=
      var el =3D els[i];=0A=
      el.list.style.display =3D 'none';=0A=
      el.collapse.className =3D 'gfg-collapse-closed';=0A=
    }=0A=
    listReference.style.display =3D 'block';=0A=
    collapseLink.className =3D 'gfg-collapse-open';=0A=
  }=0A=
}=0A=
=0A=
/**=0A=
 * Create the list Entries=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.createListEntries_ =3D =
function(resultIndex, node) {=0A=
  var entries =3D this.results[resultIndex].feed.entries;=0A=
  this.clearNode_(node);=0A=
  for (var i =3D 0; i < entries.length; i++) {=0A=
    this.feedControl.createHtml(entries[i]);=0A=
    var className =3D 'gfg-listentry ';=0A=
    className +=3D (i%2)?'gfg-listentry-even':'gfg-listentry-odd';=0A=
    var listEntry =3D this.createDiv_(className);=0A=
    var link =3D this.createLink_(entries[i].link,=0A=
                                entries[i].title,=0A=
                                this.options.linkTarget);=0A=
    listEntry.appendChild(link);=0A=
    if (this.options.pauseOnHover) {=0A=
      listEntry.onmouseover =3D this.bind_(this.listMouseOver_, =
resultIndex, i);=0A=
      listEntry.onmouseout =3D this.bind_(this.listMouseOut_, =
resultIndex, i);=0A=
    }=0A=
    entries[i].listEntry =3D listEntry;=0A=
    node.appendChild(listEntry);=0A=
  }=0A=
  if (node =3D=3D this.nodes.list) {=0A=
    this.entries =3D entries;=0A=
  }=0A=
}=0A=
=0A=
/**=0A=
 * Begin to display the entries.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.displayEntries_ =3D function() {=0A=
  this.entryIndex =3D 0;=0A=
  this.displayCurrentEntry_();=0A=
  this.setDisplayTimer_();=0A=
  this.started =3D true;=0A=
}=0A=
=0A=
/**=0A=
 * Display next entry.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.displayNextEntry_ =3D function() {=0A=
  // Check to see if we have been orphaned and need to cleanup..=0A=
  if (this.options.autoCleanup && this.isOrphaned_()) {=0A=
      this.cleanup_();=0A=
      return;=0A=
  }=0A=
=0A=
  if (++this.entryIndex >=3D this.entries.length) {=0A=
    // End of list, see if we should rotate feeds..=0A=
    if (this.results.length > 1) {=0A=
      if (++this.resultIndex >=3D this.results.length) {=0A=
        this.resultIndex =3D 0;=0A=
      }=0A=
      this.displayResult_(this.resultIndex);=0A=
      return;=0A=
    } else {=0A=
      this.entryIndex =3D 0;=0A=
    }=0A=
  }=0A=
=0A=
  if (this.options.transitionCallback) {=0A=
    this.options.transitionCallback(this.entries[this.entryIndex]);=0A=
  }=0A=
  this.displayCurrentEntry_();=0A=
  this.setDisplayTimer_();=0A=
}=0A=
=0A=
/**=0A=
 * Display current entry.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.displayCurrentEntry_ =3D function() {=0A=
  this.clearNode_(this.nodes.entry);=0A=
  this.current =3D this.entries[this.entryIndex].html;=0A=
  this.current.style.top =3D '0px';=0A=
  this.nodes.entry.appendChild(this.current);=0A=
  this.createOverlay_();=0A=
  =0A=
  // Expand the blog who's post is being displayed=0A=
  if(this.options.collapseable) {=0A=
    var feedTitle =3D null;=0A=
    =0A=
    for (var i=3D0; i < this.results.length; i++) {=0A=
      if(this.results[i].feed.entries =3D=3D this.entries) {=0A=
        feedTitle =3D this.results[i].feed.title;=0A=
      }=0A=
    }=0A=
=0A=
    var els =3D this.collapseElements;=0A=
=0A=
    for (var i=3D0; i < els.length; i++) {=0A=
      var el =3D els[i];=0A=
      var divfeedTitle =3D el.collapse.previousSibling.innerHTML;=0A=
      var expandClicker =3D el.collapse;=0A=
      if(feedTitle =3D=3D divfeedTitle) {=0A=
        if(this.ie) {=0A=
          expandClicker.click();=0A=
        } else {=0A=
          expandClicker.onclick();=0A=
        }=0A=
=0A=
      }=0A=
    }=0A=
  }=0A=
  =0A=
  if (this.currentList) {=0A=
    var className =3D 'gfg-listentry ';=0A=
    className +=3D (this.currentListIndex%2)?=0A=
        'gfg-listentry-even':'gfg-listentry-odd';=0A=
    this.currentList.className =3D className;=0A=
  }=0A=
  this.currentList =3D this.entries[this.entryIndex].listEntry;=0A=
  this.currentListIndex =3D this.entryIndex;=0A=
  var className =3D 'gfg-listentry gfg-listentry-highlight ';=0A=
  className +=3D (this.currentListIndex%2)?=0A=
       'gfg-listentry-even':'gfg-listentry-odd';=0A=
  this.currentList.className =3D className;=0A=
}=0A=
=0A=
/**=0A=
 * Simulated mouse hover events for list entries.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.listMouseHover_ =3D function(resultIndex,=0A=
                                                          listIndex) {=0A=
  var result =3D this.results[resultIndex];=0A=
  var listEntry =3D result.feed.entries[listIndex].listEntry;=0A=
  listEntry.selectTimer =3D null;=0A=
  this.clearTransitionTimer_();=0A=
  this.clearDisplayTimer_();=0A=
  this.resultIndex =3D resultIndex;=0A=
  this.entries =3D result.feed.entries;=0A=
  this.entryIndex =3D listIndex;=0A=
  this.displayCurrentEntry_();=0A=
}=0A=
=0A=
/**=0A=
 * Mouse over events for list entries.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.listMouseOver_ =3D function(resultIndex,=0A=
                                                         listIndex) {=0A=
  var result =3D this.results[resultIndex];=0A=
  var listEntry =3D result.feed.entries[listIndex].listEntry;=0A=
  var cb =3D this.bind_(this.listMouseHover_, resultIndex, listIndex);=0A=
  listEntry.selectTimer =3D setTimeout(cb, this.options.hoverTime);=0A=
}=0A=
=0A=
/**=0A=
 * Mouse out events for list entries.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.listMouseOut_ =3D function(resultIndex, =
listIndex) {=0A=
  var result =3D this.results[resultIndex];=0A=
  var listEntry =3D result.feed.entries[listIndex].listEntry;=0A=
  if (listEntry.selectTimer) {=0A=
    clearTimeout(listEntry.selectTimer);=0A=
    listEntry.selectTimer =3D null;=0A=
  } else {=0A=
    this.setDisplayTimer_();=0A=
  }=0A=
}=0A=
=0A=
/**=0A=
 * Mouse over events for main entry.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.entryMouseOver_ =3D function(e) {=0A=
  this.clearDisplayTimer_();=0A=
  if (this.transitionTimer) {=0A=
    this.clearTransitionTimer_();=0A=
    this.displayCurrentEntry_();=0A=
  }=0A=
}=0A=
=0A=
/**=0A=
 * Mouse out events for main entry.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.entryMouseOut_ =3D function(e) {=0A=
  this.setDisplayTimer_();=0A=
}=0A=
=0A=
/**=0A=
 * Create the overlay div. This hack is for IE and transparency effects.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.createOverlay_ =3D function() {=0A=
  if (this.current =3D=3D null) return;=0A=
  // Create div lazily and hold on to it..=0A=
  if (this.overlay =3D=3D null) {=0A=
    var overlay =3D this.createDiv_('gfg-entry');=0A=
    overlay.style.position =3D 'absolute';=0A=
    overlay.style.top =3D '0px';=0A=
    overlay.style.left =3D '0px';=0A=
    this.overlay =3D overlay;=0A=
  }=0A=
  this.setOpacity_(this.overlay, 0);=0A=
  this.nodes.entry.appendChild(this.overlay);=0A=
}=0A=
=0A=
/**=0A=
 * Sets the display timer.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.setDisplayTimer_ =3D function() {=0A=
  if (this.displayTimer) {=0A=
    this.clearDisplayTimer_();=0A=
  }=0A=
  var cb =3D this.bind_(this.setFadeOutTimer_);=0A=
  this.displayTimer =3D setTimeout(cb, this.options.displayTime);=0A=
};=0A=
=0A=
/**=0A=
 * Class helper method for the time now in milliseconds=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.timeNow =3D function() {=0A=
  var d =3D new Date();=0A=
  return d.getTime();=0A=
};=0A=
=0A=
/**=0A=
 * Transition animation for fadeout. Cleanup when finished.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.fadeOutEntry_ =3D function() {=0A=
  if (this.overlay) {=0A=
    var delta =3D this.fadeOutDelta;=0A=
    var ts =3D this.options.transitionStep;=0A=
    var now =3D GFdynamicFeedControl.timeNow();=0A=
    var tick =3D now - this.lastTick;=0A=
    this.lastTick =3D now;=0A=
    delta *=3D (tick/ts);=0A=
=0A=
    var op =3D this.overlay.opacity + delta;=0A=
    // Overlay opacity=0A=
    this.setOpacity_(this.overlay, op);=0A=
    // Scroll down=0A=
    if (this.options.scrollOnFadeOut && (op > .5)) {=0A=
      var r =3D (op-.5)*2;=0A=
      var newTop =3D Math.round(this.current.offsetHeight * r);=0A=
      this.current.style.top =3D newTop + 'px';=0A=
    }=0A=
    if (op < 1) return;=0A=
  }=0A=
  // Finished.=0A=
  this.clearTransitionTimer_();=0A=
  this.displayNextEntry_();=0A=
};=0A=
=0A=
/**=0A=
 * Sets the transition timer for fadeout.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.setFadeOutTimer_ =3D function() {=0A=
  this.clearTransitionTimer_();=0A=
  this.lastTick =3D GFdynamicFeedControl.timeNow();=0A=
  var cb =3D this.bind_(this.fadeOutEntry_);=0A=
  this.transitionTimer =3D setInterval(cb, this.options.transitionStep);=0A=
};=0A=
=0A=
/**=0A=
 * Clear the transition timer. Used to prevent leaks.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.clearTransitionTimer_ =3D function() {=0A=
  if (this.transitionTimer) {=0A=
    clearInterval(this.transitionTimer);=0A=
    this.transitionTimer =3D null;=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Clear the display timer.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.clearDisplayTimer_ =3D function() {=0A=
  if (this.displayTimer) {=0A=
    clearTimeout(this.displayTimer);=0A=
    this.displayTimer =3D null;=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Setup our own subcontainer to the user supplied container.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.createSubContainers_ =3D function() {=0A=
  var nodes =3D this.nodes;=0A=
  var container =3D this.nodes.container;=0A=
=0A=
  this.clearNode_(container);=0A=
  if (this.options.horizontal) {=0A=
    container =3D this.createDiv_('gfg-horizontal-container');=0A=
    nodes.root =3D this.createDiv_('gfg-horizontal-root');=0A=
    this.nodes.container.appendChild(container);=0A=
  } else {=0A=
    nodes.root =3D this.createDiv_('gfg-root');=0A=
  }=0A=
  nodes.title =3D this.createDiv_('gfg-title');=0A=
  nodes.entry =3D this.createDiv_('gfg-entry');=0A=
  nodes.list =3D this.createDiv_('gfg-list');=0A=
  nodes.root.appendChild(nodes.title);=0A=
  nodes.root.appendChild(nodes.entry);=0A=
=0A=
  if (!this.options.horizontal && this.options.stacked) {=0A=
    var newTitle =3D this.createDiv_('gfg-subtitle');=0A=
    nodes.root.appendChild(newTitle);=0A=
    this.setTitle_(this.results[0].feed, newTitle);=0A=
    =0A=
    if(this.options.collapseable) {=0A=
      var collapseLink =3D document.createElement('div');=0A=
      collapseLink.className =3D 'gfg-collapse-open';=0A=
      newTitle.appendChild(collapseLink);=0A=
      collapseLink.onclick =3D this.toggleCollapse(this, nodes.list, =
collapseLink);=0A=
      this.collapseElements.push({=0A=
        list : nodes.list,=0A=
        collapse : collapseLink=0A=
      });=0A=
      nodes.list.style.display =3D 'block';=0A=
    }=0A=
    =0A=
    var clearFloat =3D document.createElement('div');=0A=
    clearFloat.className =3D 'clearFloat';=0A=
    newTitle.appendChild(clearFloat);=0A=
  }=0A=
  =0A=
  nodes.root.appendChild(nodes.list);=0A=
  container.appendChild(nodes.root);=0A=
=0A=
  if (this.options.pauseOnHover) {=0A=
    nodes.entry.onmouseover =3D this.bind_(this.entryMouseOver_);=0A=
    nodes.entry.onmouseout =3D this.bind_(this.entryMouseOut_);=0A=
  }=0A=
=0A=
  // Add Branding.=0A=
  if (this.options.horizontal) {=0A=
    nodes.branding =3D this.createDiv_('gfg-branding');=0A=
    google.feeds.getBranding(nodes.branding, =
google.feeds.VERTICAL_BRANDING);=0A=
    container.appendChild(nodes.branding);=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Helper method to properly clear a node and its children.=0A=
 * @param {Object} node Node to clear.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.clearNode_ =3D function(node) {=0A=
  if (node =3D=3D null) return;=0A=
  var child;=0A=
  while ((child =3D node.firstChild)) {=0A=
    node.removeChild(child);=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Helper method to create a div with optional class and text.=0A=
 * @param {String} opt_className Optional className for the div.=0A=
 * @param {String} opt_text Optional text for the innerHTML.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.createDiv_ =3D function(opt_className, =
opt_text) {=0A=
  var el =3D document.createElement("div");=0A=
  if (opt_text) {=0A=
    el.innerHTML =3D opt_text;=0A=
  }=0A=
  if (opt_className) { el.className =3D opt_className; }=0A=
  return el;=0A=
};=0A=
=0A=
/**=0A=
 * Helper method to create a link with href and text.=0A=
 * @param {String} href Href URL=0A=
 * @param {String} text text for the link.=0A=
 * @param {String} opt_target Optional link target.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.createLink_ =3D function(href, text, =
opt_target) {=0A=
  var link =3D document.createElement('a');=0A=
  link.href =3D href;=0A=
  link.innerHTML =3D text;=0A=
  if (opt_target) {=0A=
    link.target =3D opt_target;=0A=
  }=0A=
  return link;=0A=
};=0A=
=0A=
/**=0A=
 * Cleanup results on being orphaned.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.clearResults_ =3D function() {=0A=
  for (var i=3D0; i < this.results.length; i++) {=0A=
    var result =3D this.results[i];=0A=
    var entries =3D result.feed.entries;=0A=
    for (var i =3D 0; i < entries.length; i++) {=0A=
      var entry =3D entries[i];=0A=
      entry.html =3D null;=0A=
      entry.listEntry.onmouseover =3D null;=0A=
      entry.listEntry.onmouseout =3D null;=0A=
      if (entry.listEntry.selectTimer) {=0A=
        clearTimeout(entry.listEntry.selectTimer);=0A=
        entry.listEntry.selectTimer =3D null;=0A=
      }=0A=
      entry.listEntry =3D null;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
/**=0A=
 * Check for being orphaned.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.isOrphaned_ =3D function() {=0A=
  var root =3D this.nodes.root;=0A=
  var orphaned =3D false;=0A=
  if (!root || !root.parentNode) {=0A=
    orphaned =3D true;=0A=
  } else if (this.options.horizontal && !root.parentNode.parentNode) {=0A=
    orphaned =3D true;=0A=
  }=0A=
  return orphaned;=0A=
}=0A=
=0A=
/**=0A=
 * Cleanup on being orphaned.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.cleanup_ =3D function() {=0A=
  this.started =3D false;=0A=
  // Timer Events.=0A=
  this.clearDisplayTimer_();=0A=
  this.clearTransitionTimer_();=0A=
  // Structures=0A=
  this.clearResults_();=0A=
  // Nodes=0A=
  this.clearNode_(this.nodes.root);=0A=
  this.nodes.container =3D null;=0A=
}=0A=
=0A=
/**=0A=
 * Helper method to set opacity for nodes.. Also takes into account=0A=
 * visibility in general.=0A=
 * @param {Element} node element.=0A=
 * @param {Number} opacity alpha level.=0A=
 * @private=0A=
 */=0A=
GFdynamicFeedControl.prototype.setOpacity_ =3D function(node, opacity) {=0A=
  if (node =3D=3D null) return;=0A=
  opacity =3D Math.max(0, Math.min(1, opacity));=0A=
  if (opacity =3D=3D 0) {=0A=
    if (node.style.visibility !=3D 'hidden') {=0A=
      node.style.visibility =3D 'hidden';=0A=
    }=0A=
  } else {=0A=
    if (node.style.visibility !=3D 'visible') {=0A=
      node.style.visibility =3D 'visible';=0A=
    }=0A=
  }=0A=
  if (this.ie) {=0A=
    var normalized =3D Math.round(opacity*100);=0A=
    node.style.filter =3D 'alpha(opacity=3D' + normalized + ')';=0A=
  }=0A=
  node.style.opacity =3D node.opacity =3D opacity;=0A=
};=0A=
=0A=
GFgadget =3D GFdynamicFeedControl;=0A=

------=_NextPart_000_0164_01CBAD8C.D1AA80B0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oldpadeswoodgolfclub.co.uk/jquery-1.3.2.js

/*!=0A=
 * jQuery JavaScript Library v1.3.2=0A=
 * http://jquery.com/=0A=
 *=0A=
 * Copyright (c) 2009 John Resig=0A=
 * Dual licensed under the MIT and GPL licenses.=0A=
 * http://docs.jquery.com/License=0A=
 *=0A=
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)=0A=
 * Revision: 6246=0A=
 */=0A=
(function(){=0A=
var =0A=
	// Will speed up references to window, and allows munging its name.=0A=
	window =3D this,=0A=
	// Will speed up references to undefined, and allows munging its name.=0A=
	undefined,=0A=
	// Map over jQuery in case of overwrite=0A=
	_jQuery =3D window.jQuery,=0A=
	// Map over the $ in case of overwrite=0A=
	_$ =3D window.$,=0A=
=0A=
	jQuery =3D window.jQuery =3D window.$ =3D function( selector, context ) =
{=0A=
		// The jQuery object is actually just the init constructor 'enhanced'=0A=
		return new jQuery.fn.init( selector, context );=0A=
	},=0A=
=0A=
	// A simple way to check for HTML strings or ID strings=0A=
	// (both of which we optimize for)=0A=
	quickExpr =3D /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,=0A=
	// Is it a simple selector=0A=
	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=
			this.context =3D selector;=0A=
			return this;=0A=
		}=0A=
		// Handle HTML strings=0A=
		if ( typeof selector =3D=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=
					// Handle the case where IE and Opera return items=0A=
					// by name instead of ID=0A=
					if ( elem && elem.id !=3D match[3] )=0A=
						return jQuery().find( selector );=0A=
=0A=
					// Otherwise, we inject the element directly into the jQuery object=0A=
					var ret =3D jQuery( elem || [] );=0A=
					ret.context =3D document;=0A=
					ret.selector =3D selector;=0A=
					return ret;=0A=
				}=0A=
=0A=
			// HANDLE: $(expr, [context])=0A=
			// (which is just equivalent to: $(content).find(expr)=0A=
			} else=0A=
				return jQuery( context ).find( selector );=0A=
=0A=
		// HANDLE: $(function)=0A=
		// Shortcut for document ready=0A=
		} else if ( jQuery.isFunction( selector ) )=0A=
			return jQuery( document ).ready( selector );=0A=
=0A=
		// Make sure that old selector state is passed along=0A=
		if ( selector.selector && selector.context ) {=0A=
			this.selector =3D selector.selector;=0A=
			this.context =3D selector.context;=0A=
		}=0A=
=0A=
		return this.setArray(jQuery.isArray( selector ) ?=0A=
			selector :=0A=
			jQuery.makeArray(selector));=0A=
	},=0A=
=0A=
	// Start with an empty selector=0A=
	selector: "",=0A=
=0A=
	// The current version of jQuery being used=0A=
	jquery: "1.3.2",=0A=
=0A=
	// The number of elements contained in the matched element set=0A=
	size: function() {=0A=
		return this.length;=0A=
	},=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=3D undefined ?=0A=
=0A=
			// Return a 'clean' array=0A=
			Array.prototype.slice.call( 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, name, selector ) {=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=
		ret.context =3D this.context;=0A=
=0A=
		if ( name =3D=3D=3D "find" )=0A=
			ret.selector =3D this.selector + (this.selector ? " " : "") + =
selector;=0A=
		else if ( name )=0A=
			ret.selector =3D this.selector + "." + name + "(" + selector + ")";=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=
		// Locate the position of the desired element=0A=
		return jQuery.inArray(=0A=
			// If it receives a jQuery object, the first element is used=0A=
			elem && elem.jquery ? elem[0] : elem=0A=
		, this );=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 ( typeof name =3D=3D=3D "string" )=0A=
			if ( value =3D=3D=3D undefined )=0A=
				return this[0] && jQuery[ type || "attr" ]( this[0], name );=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=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=
			var wrap =3D jQuery( html, this[0].ownerDocument ).clone();=0A=
=0A=
			if ( this[0].parentNode )=0A=
				wrap.insertBefore( this[0] );=0A=
=0A=
			wrap.map(function(){=0A=
				var elem =3D this;=0A=
=0A=
				while ( elem.firstChild )=0A=
					elem =3D elem.firstChild;=0A=
=0A=
				return elem;=0A=
			}).append(this);=0A=
		}=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, 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, 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, function(elem){=0A=
			this.parentNode.insertBefore( elem, this );=0A=
		});=0A=
	},=0A=
=0A=
	after: function() {=0A=
		return this.domManip(arguments, false, function(elem){=0A=
			this.parentNode.insertBefore( elem, this.nextSibling );=0A=
		});=0A=
	},=0A=
=0A=
	end: function() {=0A=
		return this.prevObject || jQuery( [] );=0A=
	},=0A=
=0A=
	// For internal use only.=0A=
	// Behaves like an Array's method, not like a jQuery method.=0A=
	push: [].push,=0A=
	sort: [].sort,=0A=
	splice: [].splice,=0A=
=0A=
	find: function( selector ) {=0A=
		if ( this.length =3D=3D=3D 1 ) {=0A=
			var ret =3D this.pushStack( [], "find", selector );=0A=
			ret.length =3D 0;=0A=
			jQuery.find( selector, this[0], ret );=0A=
			return ret;=0A=
		} else {=0A=
			return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){=0A=
				return jQuery.find( selector, elem );=0A=
			})), "find", selector );=0A=
		}=0A=
	},=0A=
=0A=
	clone: function( events ) {=0A=
		// Do the clone=0A=
		var ret =3D this.map(function(){=0A=
			if ( !jQuery.support.noCloneEvent && !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 html =3D this.outerHTML;=0A=
				if ( !html ) {=0A=
					var div =3D this.ownerDocument.createElement("div");=0A=
					div.appendChild( this.cloneNode(true) );=0A=
					html =3D div.innerHTML;=0A=
				}=0A=
=0A=
				return jQuery.clean([html.replace(/ jQuery\d+=3D"(?:\d+|null)"/g, =
"").replace(/^\s*/, "")])[0];=0A=
			} else=0A=
				return this.cloneNode(true);=0A=
		});=0A=
=0A=
		// Copy the events from the original to the clone=0A=
		if ( events =3D=3D=3D true ) {=0A=
			var orig =3D this.find("*").andSelf(), i =3D 0;=0A=
=0A=
			ret.find("*").andSelf().each(function(){=0A=
				if ( this.nodeName !=3D=3D orig[i].nodeName )=0A=
					return;=0A=
=0A=
				var events =3D jQuery.data( orig[i], "events" );=0A=
=0A=
				for ( var type in events ) {=0A=
					for ( var handler in events[ type ] ) {=0A=
						jQuery.event.add( this, type, events[ type ][ handler ], events[ =
type ][ handler ].data );=0A=
					}=0A=
				}=0A=
=0A=
				i++;=0A=
			});=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, jQuery.grep(this, function(elem){=0A=
				return elem.nodeType =3D=3D=3D 1;=0A=
			}) ), "filter", selector );=0A=
	},=0A=
=0A=
	closest: function( selector ) {=0A=
		var pos =3D jQuery.expr.match.POS.test( selector ) ? jQuery(selector) =
: null,=0A=
			closer =3D 0;=0A=
=0A=
		return this.map(function(){=0A=
			var cur =3D this;=0A=
			while ( cur && cur.ownerDocument ) {=0A=
				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {=0A=
					jQuery.data(cur, "closest", closer);=0A=
					return cur;=0A=
				}=0A=
				cur =3D cur.parentNode;=0A=
				closer++;=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	not: function( selector ) {=0A=
		if ( typeof selector =3D=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 ), =
"not", selector );=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 this.pushStack( jQuery.unique( jQuery.merge(=0A=
			this.get(),=0A=
			typeof selector =3D=3D=3D "string" ?=0A=
				jQuery( selector ) :=0A=
				jQuery.makeArray( selector )=0A=
		)));=0A=
	},=0A=
=0A=
	is: function( selector ) {=0A=
		return !!selector && jQuery.multiFilter( selector, this ).length > 0;=0A=
	},=0A=
=0A=
	hasClass: function( selector ) {=0A=
		return !!selector && this.is( "." + selector );=0A=
	},=0A=
=0A=
	val: function( value ) {=0A=
		if ( value =3D=3D=3D undefined ) {			=0A=
			var elem =3D this[0];=0A=
=0A=
			if ( elem ) {=0A=
				if( jQuery.nodeName( elem, 'option' ) )=0A=
					return (elem.attributes.value || {}).specified ? elem.value : =
elem.text;=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(option).val();=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=
=0A=
				// Everything else, we just grab the value=0A=
				return (elem.value || "").replace(/\r/g, "");=0A=
=0A=
			}=0A=
=0A=
			return undefined;=0A=
		}=0A=
=0A=
		if ( typeof value =3D=3D=3D "number" )=0A=
			value +=3D '';=0A=
=0A=
		return this.each(function(){=0A=
			if ( this.nodeType !=3D 1 )=0A=
				return;=0A=
=0A=
			if ( jQuery.isArray(value) && /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 jQuery.makeArray(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=3D undefined ?=0A=
			(this[0] ?=0A=
				this[0].innerHTML.replace(/ jQuery\d+=3D"(?:\d+|null)"/g, "") :=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=
			"slice", Array.prototype.slice.call(arguments).join(",") );=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=
	domManip: function( args, table, callback ) {=0A=
		if ( this[0] ) {=0A=
			var fragment =3D (this[0].ownerDocument || =
this[0]).createDocumentFragment(),=0A=
				scripts =3D jQuery.clean( args, (this[0].ownerDocument || this[0]), =
fragment ),=0A=
				first =3D fragment.firstChild;=0A=
=0A=
			if ( first )=0A=
				for ( var i =3D 0, l =3D this.length; i < l; i++ )=0A=
					callback.call( root(this[i], first), this.length > 1 || i > 0 ?=0A=
							fragment.cloneNode(true) : fragment );=0A=
		=0A=
			if ( scripts )=0A=
				jQuery.each( scripts, evalScript );=0A=
		}=0A=
=0A=
		return this;=0A=
		=0A=
		function root( elem, cur ) {=0A=
			return table && jQuery.nodeName(elem, "table") && =
jQuery.nodeName(cur, "tr") ?=0A=
				(elem.getElementsByTagName("tbody")[0] ||=0A=
				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :=0A=
				elem;=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
// Give the init function the jQuery prototype for later instantiation=0A=
jQuery.fn.init.prototype =3D jQuery.fn;=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=
function now(){=0A=
	return +new Date;=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 ( typeof target =3D=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=3D "object" && !jQuery.isFunction(target) )=0A=
		target =3D {};=0A=
=0A=
	// extend jQuery itself if only one argument is passed=0A=
	if ( length =3D=3D i ) {=0A=
		target =3D this;=0A=
		--i;=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=
				var src =3D target[ name ], copy =3D options[ name ];=0A=
=0A=
				// Prevent never-ending loop=0A=
				if ( target =3D=3D=3D copy )=0A=
					continue;=0A=
=0A=
				// Recurse if we're merging object values=0A=
				if ( deep && copy && typeof copy =3D=3D=3D "object" && =
!copy.nodeType )=0A=
					target[ name ] =3D jQuery.extend( deep, =0A=
						// Never move original objects, clone them=0A=
						src || ( copy.length !=3D null ? [ ] : { } )=0A=
					, copy );=0A=
=0A=
				// Don't bring in undefined values=0A=
				else if ( copy !=3D=3D undefined )=0A=
					target[ name ] =3D copy;=0A=
=0A=
			}=0A=
=0A=
	// Return the modified object=0A=
	return target;=0A=
};=0A=
=0A=
// exclude the following css properties to add px=0A=
var	exclude =3D /z-?index|font-?weight|opacity|zoom|line-?height/i,=0A=
	// cache defaultView=0A=
	defaultView =3D document.defaultView || {},=0A=
	toString =3D Object.prototype.toString;=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 isFunction.=0A=
	// Since version 1.3, DOM methods and functions like alert=0A=
	// aren't supported. They return false on IE (#2968).=0A=
	isFunction: function( obj ) {=0A=
		return toString.call(obj) =3D=3D=3D "[object Function]";=0A=
	},=0A=
=0A=
	isArray: function( obj ) {=0A=
		return toString.call(obj) =3D=3D=3D "[object Array]";=0A=
	},=0A=
=0A=
	// check if an element is in a (or is an) XML document=0A=
	isXMLDoc: function( elem ) {=0A=
		return elem.nodeType =3D=3D=3D 9 && elem.documentElement.nodeName =
!=3D=3D "HTML" ||=0A=
			!!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument );=0A=
	},=0A=
=0A=
	// Evalulates a script in a global context=0A=
	globalEval: function( data ) {=0A=
		if ( data && /\S/.test(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.support.scriptEval )=0A=
				script.appendChild( document.createTextNode( data ) );=0A=
			else=0A=
				script.text =3D data;=0A=
=0A=
			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.=0A=
			// This arises when a base node is used (#2709).=0A=
			head.insertBefore( script, head.firstChild );=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=
	// args is for internal usage only=0A=
	each: function( object, callback, args ) {=0A=
		var name, i =3D 0, length =3D object.length;=0A=
=0A=
		if ( args ) {=0A=
			if ( length =3D=3D=3D undefined ) {=0A=
				for ( name in object )=0A=
					if ( callback.apply( object[ name ], args ) =3D=3D=3D false )=0A=
						break;=0A=
			} else=0A=
				for ( ; i < length; )=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 ( length =3D=3D=3D undefined ) {=0A=
				for ( name in object )=0A=
					if ( callback.call( object[ name ], name, object[ name ] ) =
=3D=3D=3D false )=0A=
						break;=0A=
			} else=0A=
				for ( var 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 typeof value =3D=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=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 hasClass("class")=0A=
		has: function( elem, className ) {=0A=
			return elem && 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, extra ) {=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=
=0A=
				if ( extra =3D=3D=3D "border" )=0A=
					return;=0A=
=0A=
				jQuery.each( which, function() {=0A=
					if ( !extra )=0A=
						val -=3D parseFloat(jQuery.curCSS( elem, "padding" + this, true)) =
|| 0;=0A=
					if ( extra =3D=3D=3D "margin" )=0A=
						val +=3D parseFloat(jQuery.curCSS( elem, "margin" + this, true)) =
|| 0;=0A=
					else=0A=
						val -=3D parseFloat(jQuery.curCSS( elem, "border" + this + =
"Width", true)) || 0;=0A=
				});=0A=
			}=0A=
=0A=
			if ( elem.offsetWidth !=3D=3D 0 )=0A=
				getWH();=0A=
			else=0A=
				jQuery.swap( elem, props, getWH );=0A=
=0A=
			return Math.max(0, Math.round(val));=0A=
		}=0A=
=0A=
		return jQuery.curCSS( elem, name, force );=0A=
	},=0A=
=0A=
	curCSS: function( elem, name, force ) {=0A=
		var ret, style =3D elem.style;=0A=
=0A=
		// We need to handle opacity special in IE=0A=
		if ( name =3D=3D "opacity" && !jQuery.support.opacity ) {=0A=
			ret =3D jQuery.attr( style, "opacity" );=0A=
=0A=
			return ret =3D=3D "" ?=0A=
				"1" :=0A=
				ret;=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 && style && style[ name ] )=0A=
			ret =3D style[ name ];=0A=
=0A=
		else if ( 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 computedStyle =3D defaultView.getComputedStyle( elem, null );=0A=
=0A=
			if ( computedStyle )=0A=
				ret =3D computedStyle.getPropertyValue( name );=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 left =3D style.left, rsLeft =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=
				style.left =3D ret || 0;=0A=
				ret =3D style.pixelLeft + "px";=0A=
=0A=
				// Revert the changed values=0A=
				style.left =3D left;=0A=
				elem.runtimeStyle.left =3D rsLeft;=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	clean: function( elems, context, fragment ) {=0A=
		context =3D context || document;=0A=
=0A=
		// !context.createElement fails in IE with an error but returns typeof =
'object'=0A=
		if ( typeof context.createElement =3D=3D=3D "undefined" )=0A=
			context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;=0A=
=0A=
		// If a single string is passed in and it's a single tag=0A=
		// just do a createElement and skip the rest=0A=
		if ( !fragment && elems.length =3D=3D=3D 1 && typeof elems[0] =
=3D=3D=3D "string" ) {=0A=
			var match =3D /^<(\w+)\s*\/?>$/.exec(elems[0]);=0A=
			if ( match )=0A=
				return [ context.createElement( match[1] ) ];=0A=
		}=0A=
=0A=
		var ret =3D [], scripts =3D [], div =3D context.createElement("div");=0A=
=0A=
		jQuery.each(elems, function(i, elem){=0A=
			if ( typeof elem =3D=3D=3D "number" )=0A=
				elem +=3D '';=0A=
=0A=
			if ( !elem )=0A=
				return;=0A=
=0A=
			// Convert html string into DOM nodes=0A=
			if ( typeof elem =3D=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 elem.replace(/^\s+/, "").substring(0, 10).toLowerCase();=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.support.htmlSerialize &&=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.support.tbody ) {=0A=
=0A=
					// String was a <table>, *may* have spurious <tbody>=0A=
					var hasBody =3D /<tbody/i.test(elem),=0A=
						tbody =3D !tags.indexOf("<table") && !hasBody ?=0A=
							div.firstChild && div.firstChild.childNodes :=0A=
=0A=
						// String was a bare <thead> or <tfoot>=0A=
						wrap[1] =3D=3D "<table>" && !hasBody ?=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=
					}=0A=
=0A=
				// IE completely kills leading whitespace when innerHTML is used=0A=
				if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )=0A=
					div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), =
div.firstChild );=0A=
				=0A=
				elem =3D jQuery.makeArray( div.childNodes );=0A=
			}=0A=
=0A=
			if ( elem.nodeType )=0A=
				ret.push( elem );=0A=
			else=0A=
				ret =3D jQuery.merge( ret, elem );=0A=
=0A=
		});=0A=
=0A=
		if ( fragment ) {=0A=
			for ( var i =3D 0; ret[i]; i++ ) {=0A=
				if ( jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || =
ret[i].type.toLowerCase() =3D=3D=3D "text/javascript") ) {=0A=
					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( =
ret[i] ) : ret[i] );=0A=
				} else {=0A=
					if ( ret[i].nodeType =3D=3D=3D 1 )=0A=
						ret.splice.apply( ret, [i + 1, =
0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );=0A=
					fragment.appendChild( ret[i] );=0A=
				}=0A=
			}=0A=
			=0A=
			return scripts;=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 notxml =3D !jQuery.isXMLDoc( elem ),=0A=
			// Whether we are setting (or getting)=0A=
			set =3D value !=3D=3D undefined;=0A=
=0A=
		// Try to normalize/fix the name=0A=
		name =3D notxml && jQuery.props[ name ] || name;=0A=
=0A=
		// Only do all the following if this is a node (faster for style)=0A=
		// IE elem.getAttribute passes even for style=0A=
		if ( elem.tagName ) {=0A=
=0A=
			// These attributes require special treatment=0A=
			var special =3D /href|src|style/.test( name );=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" && elem.parentNode )=0A=
				elem.parentNode.selectedIndex;=0A=
=0A=
			// If applicable, access the attribute via the DOM 0 way=0A=
			if ( name in elem && notxml && !special ) {=0A=
				if ( set ){=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=
					elem[ name ] =3D value;=0A=
				}=0A=
=0A=
				// browsers index elements by id/name on forms, give priority to =
attributes.=0A=
				if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) )=0A=
					return elem.getAttributeNode( name ).nodeValue;=0A=
=0A=
				// elem.tabIndex doesn't always return the correct value when it =
hasn't been explicitly set=0A=
				// =
http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabi=
ndex-values-with-javascript/=0A=
				if ( name =3D=3D "tabIndex" ) {=0A=
					var attributeNode =3D elem.getAttributeNode( "tabIndex" );=0A=
					return attributeNode && attributeNode.specified=0A=
						? attributeNode.value=0A=
						: elem.nodeName.match(/(button|input|object|select|textarea)/i)=0A=
							? 0=0A=
							: elem.nodeName.match(/^(a|area)$/i) && elem.href=0A=
								? 0=0A=
								: undefined;=0A=
				}=0A=
=0A=
				return elem[ name ];=0A=
			}=0A=
=0A=
			if ( !jQuery.support.style && notxml &&  name =3D=3D "style" )=0A=
				return jQuery.attr( elem.style, "cssText", value );=0A=
=0A=
			if ( set )=0A=
				// convert the value to a string (all browsers do this but IE) see =
#1070=0A=
				elem.setAttribute( name, "" + value );=0A=
=0A=
			var attr =3D !jQuery.support.hrefNormalized && notxml && special=0A=
					// Some attributes require a special call on IE=0A=
					? elem.getAttribute( name, 2 )=0A=
					: elem.getAttribute( name );=0A=
=0A=
			// Non-existent attributes return null, we normalize to undefined=0A=
			return attr =3D=3D=3D null ? undefined : attr;=0A=
		}=0A=
=0A=
		// elem is actually elem.style ... set the style=0A=
=0A=
		// IE uses filters for opacity=0A=
		if ( !jQuery.support.opacity && name =3D=3D "opacity" ) {=0A=
			if ( set ) {=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=
					(parseInt( value ) + '' =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) + '':=0A=
				"";=0A=
		}=0A=
=0A=
		name =3D name.replace(/-([a-z])/ig, function(all, letter){=0A=
			return letter.toUpperCase();=0A=
		});=0A=
=0A=
		if ( set )=0A=
			elem[ name ] =3D value;=0A=
=0A=
		return elem[ name ];=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=
		if( array !=3D null ){=0A=
			var i =3D array.length;=0A=
			// The window, strings (and functions) also have 'length'=0A=
			if( i =3D=3D null || typeof array =3D=3D=3D "string" || =
jQuery.isFunction(array) || array.setInterval )=0A=
				ret[0] =3D array;=0A=
			else=0A=
				while( i )=0A=
					ret[--i] =3D array[i];=0A=
		}=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=
		// Use =3D=3D=3D because on IE, window =3D=3D document=0A=
			if ( array[ i ] =3D=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=
		var i =3D 0, elem, pos =3D first.length;=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.support.getAll ) {=0A=
			while ( (elem =3D second[ i++ ]) !=3D null )=0A=
				if ( elem.nodeType !=3D 8 )=0A=
					first[ pos++ ] =3D elem;=0A=
=0A=
		} else=0A=
			while ( (elem =3D second[ i++ ]) !=3D null )=0A=
				first[ pos++ ] =3D elem;=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 !=3D !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 null )=0A=
				ret[ ret.length ] =3D value;=0A=
		}=0A=
=0A=
		return ret.concat.apply( [], ret );=0A=
	}=0A=
});=0A=
=0A=
// Use of jQuery.browser is deprecated.=0A=
// It's included for backwards compatibility and plugins,=0A=
// although they should work to migrate away.=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.]+)/ ) || =
[0,'0'])[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=
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 ), name, selector );=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( selector ) {=0A=
		var ret =3D [], insert =3D jQuery( selector );=0A=
=0A=
		for ( var i =3D 0, l =3D insert.length; i < l; i++ ) {=0A=
			var elems =3D (i > 0 ? this.clone(true) : this).get();=0A=
			jQuery.fn[ original ].apply( jQuery(insert[i]), elems );=0A=
			ret =3D ret.concat( elems );=0A=
		}=0A=
=0A=
		return this.pushStack( ret, name, selector );=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, state ) {=0A=
		if( typeof state !=3D=3D "boolean" )=0A=
			state =3D !jQuery.className.has( this, classNames );=0A=
		jQuery.className[ state ? "add" : "remove" ]( this, classNames );=0A=
	},=0A=
=0A=
	remove: function( selector ) {=0A=
		if ( !selector || jQuery.filter( selector, [ this ] ).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).children().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=
// Helper function used by the dimensions and offset modules=0A=
function num(elem, prop) {=0A=
	return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || =
0;=0A=
}=0A=
var expando =3D "jQuery" + now(), uuid =3D 0, windowData =3D {};=0A=
=0A=
jQuery.extend({=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=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=
	queue: function( elem, type, data ) {=0A=
		if ( elem ){=0A=
	=0A=
			type =3D (type || "fx") + "queue";=0A=
	=0A=
			var q =3D jQuery.data( elem, type );=0A=
	=0A=
			if ( !q || jQuery.isArray(data) )=0A=
				q =3D jQuery.data( elem, type, jQuery.makeArray(data) );=0A=
			else if( data )=0A=
				q.push( data );=0A=
	=0A=
		}=0A=
		return q;=0A=
	},=0A=
=0A=
	dequeue: function( elem, type ){=0A=
		var queue =3D jQuery.queue( elem, type ),=0A=
			fn =3D queue.shift();=0A=
		=0A=
		if( !type || type =3D=3D=3D "fx" )=0A=
			fn =3D queue[0];=0A=
			=0A=
		if( fn !=3D=3D undefined )=0A=
			fn.call(elem);=0A=
	}=0A=
});=0A=
=0A=
jQuery.fn.extend({=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=3D undefined ) {=0A=
			var data =3D this.triggerHandler("getData" + parts[1] + "!", =
[parts[0]]);=0A=
=0A=
			if ( data =3D=3D=3D undefined && this.length )=0A=
				data =3D jQuery.data( this[0], key );=0A=
=0A=
			return data =3D=3D=3D undefined && 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=
	queue: function(type, data){=0A=
		if ( typeof type !=3D=3D "string" ) {=0A=
			data =3D type;=0A=
			type =3D "fx";=0A=
		}=0A=
=0A=
		if ( data =3D=3D=3D undefined )=0A=
			return jQuery.queue( this[0], type );=0A=
=0A=
		return this.each(function(){=0A=
			var queue =3D jQuery.queue( this, type, data );=0A=
			=0A=
			 if( type =3D=3D "fx" && queue.length =3D=3D 1 )=0A=
				queue[0].call(this);=0A=
		});=0A=
	},=0A=
	dequeue: function(type){=0A=
		return this.each(function(){=0A=
			jQuery.dequeue( this, type );=0A=
		});=0A=
	}=0A=
});/*!=0A=
 * Sizzle CSS Selector Engine - v0.9.3=0A=
 *  Copyright 2009, The Dojo Foundation=0A=
 *  Released under the MIT, BSD, and GPL Licenses.=0A=
 *  More information: http://sizzlejs.com/=0A=
 */=0A=
(function(){=0A=
=0A=
var chunker =3D =
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+=
)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,=0A=
	done =3D 0,=0A=
	toString =3D Object.prototype.toString;=0A=
=0A=
var Sizzle =3D function(selector, context, results, seed) {=0A=
	results =3D results || [];=0A=
	context =3D context || document;=0A=
=0A=
	if ( context.nodeType !=3D=3D 1 && context.nodeType !=3D=3D 9 )=0A=
		return [];=0A=
	=0A=
	if ( !selector || typeof selector !=3D=3D "string" ) {=0A=
		return results;=0A=
	}=0A=
=0A=
	var parts =3D [], m, set, checkSet, check, mode, extra, prune =3D true;=0A=
	=0A=
	// Reset the position of the chunker regexp (start from head)=0A=
	chunker.lastIndex =3D 0;=0A=
	=0A=
	while ( (m =3D chunker.exec(selector)) !=3D=3D null ) {=0A=
		parts.push( m[1] );=0A=
		=0A=
		if ( m[2] ) {=0A=
			extra =3D RegExp.rightContext;=0A=
			break;=0A=
		}=0A=
	}=0A=
=0A=
	if ( parts.length > 1 && origPOS.exec( selector ) ) {=0A=
		if ( parts.length =3D=3D=3D 2 && Expr.relative[ parts[0] ] ) {=0A=
			set =3D posProcess( parts[0] + parts[1], context );=0A=
		} else {=0A=
			set =3D Expr.relative[ parts[0] ] ?=0A=
				[ context ] :=0A=
				Sizzle( parts.shift(), context );=0A=
=0A=
			while ( parts.length ) {=0A=
				selector =3D parts.shift();=0A=
=0A=
				if ( Expr.relative[ selector ] )=0A=
					selector +=3D parts.shift();=0A=
=0A=
				set =3D posProcess( selector, set );=0A=
			}=0A=
		}=0A=
	} else {=0A=
		var ret =3D seed ?=0A=
			{ expr: parts.pop(), set: makeArray(seed) } :=0A=
			Sizzle.find( parts.pop(), parts.length =3D=3D=3D 1 && =
context.parentNode ? context.parentNode : context, isXML(context) );=0A=
		set =3D Sizzle.filter( ret.expr, ret.set );=0A=
=0A=
		if ( parts.length > 0 ) {=0A=
			checkSet =3D makeArray(set);=0A=
		} else {=0A=
			prune =3D false;=0A=
		}=0A=
=0A=
		while ( parts.length ) {=0A=
			var cur =3D parts.pop(), pop =3D cur;=0A=
=0A=
			if ( !Expr.relative[ cur ] ) {=0A=
				cur =3D "";=0A=
			} else {=0A=
				pop =3D parts.pop();=0A=
			}=0A=
=0A=
			if ( pop =3D=3D null ) {=0A=
				pop =3D context;=0A=
			}=0A=
=0A=
			Expr.relative[ cur ]( checkSet, pop, isXML(context) );=0A=
		}=0A=
	}=0A=
=0A=
	if ( !checkSet ) {=0A=
		checkSet =3D set;=0A=
	}=0A=
=0A=
	if ( !checkSet ) {=0A=
		throw "Syntax error, unrecognized expression: " + (cur || selector);=0A=
	}=0A=
=0A=
	if ( toString.call(checkSet) =3D=3D=3D "[object Array]" ) {=0A=
		if ( !prune ) {=0A=
			results.push.apply( results, checkSet );=0A=
		} else if ( context.nodeType =3D=3D=3D 1 ) {=0A=
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A=
				if ( checkSet[i] && (checkSet[i] =3D=3D=3D true || =
checkSet[i].nodeType =3D=3D=3D 1 && contains(context, checkSet[i])) ) {=0A=
					results.push( set[i] );=0A=
				}=0A=
			}=0A=
		} else {=0A=
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A=
				if ( checkSet[i] && checkSet[i].nodeType =3D=3D=3D 1 ) {=0A=
					results.push( set[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
	} else {=0A=
		makeArray( checkSet, results );=0A=
	}=0A=
=0A=
	if ( extra ) {=0A=
		Sizzle( extra, context, results, seed );=0A=
=0A=
		if ( sortOrder ) {=0A=
			hasDuplicate =3D false;=0A=
			results.sort(sortOrder);=0A=
=0A=
			if ( hasDuplicate ) {=0A=
				for ( var i =3D 1; i < results.length; i++ ) {=0A=
					if ( results[i] =3D=3D=3D results[i-1] ) {=0A=
						results.splice(i--, 1);=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
Sizzle.matches =3D function(expr, set){=0A=
	return Sizzle(expr, null, null, set);=0A=
};=0A=
=0A=
Sizzle.find =3D function(expr, context, isXML){=0A=
	var set, match;=0A=
=0A=
	if ( !expr ) {=0A=
		return [];=0A=
	}=0A=
=0A=
	for ( var i =3D 0, l =3D Expr.order.length; i < l; i++ ) {=0A=
		var type =3D Expr.order[i], match;=0A=
		=0A=
		if ( (match =3D Expr.match[ type ].exec( expr )) ) {=0A=
			var left =3D RegExp.leftContext;=0A=
=0A=
			if ( left.substr( left.length - 1 ) !=3D=3D "\\" ) {=0A=
				match[1] =3D (match[1] || "").replace(/\\/g, "");=0A=
				set =3D Expr.find[ type ]( match, context, isXML );=0A=
				if ( set !=3D null ) {=0A=
					expr =3D expr.replace( Expr.match[ type ], "" );=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	if ( !set ) {=0A=
		set =3D context.getElementsByTagName("*");=0A=
	}=0A=
=0A=
	return {set: set, expr: expr};=0A=
};=0A=
=0A=
Sizzle.filter =3D function(expr, set, inplace, not){=0A=
	var old =3D expr, result =3D [], curLoop =3D set, match, anyFound,=0A=
		isXMLFilter =3D set && set[0] && isXML(set[0]);=0A=
=0A=
	while ( expr && set.length ) {=0A=
		for ( var type in Expr.filter ) {=0A=
			if ( (match =3D Expr.match[ type ].exec( expr )) !=3D null ) {=0A=
				var filter =3D Expr.filter[ type ], found, item;=0A=
				anyFound =3D false;=0A=
=0A=
				if ( curLoop =3D=3D result ) {=0A=
					result =3D [];=0A=
				}=0A=
=0A=
				if ( Expr.preFilter[ type ] ) {=0A=
					match =3D Expr.preFilter[ type ]( match, curLoop, inplace, result, =
not, isXMLFilter );=0A=
=0A=
					if ( !match ) {=0A=
						anyFound =3D found =3D true;=0A=
					} else if ( match =3D=3D=3D true ) {=0A=
						continue;=0A=
					}=0A=
				}=0A=
=0A=
				if ( match ) {=0A=
					for ( var i =3D 0; (item =3D curLoop[i]) !=3D null; i++ ) {=0A=
						if ( item ) {=0A=
							found =3D filter( item, match, i, curLoop );=0A=
							var pass =3D not ^ !!found;=0A=
=0A=
							if ( inplace && found !=3D null ) {=0A=
								if ( pass ) {=0A=
									anyFound =3D true;=0A=
								} else {=0A=
									curLoop[i] =3D false;=0A=
								}=0A=
							} else if ( pass ) {=0A=
								result.push( item );=0A=
								anyFound =3D true;=0A=
							}=0A=
						}=0A=
					}=0A=
				}=0A=
=0A=
				if ( found !=3D=3D undefined ) {=0A=
					if ( !inplace ) {=0A=
						curLoop =3D result;=0A=
					}=0A=
=0A=
					expr =3D expr.replace( Expr.match[ type ], "" );=0A=
=0A=
					if ( !anyFound ) {=0A=
						return [];=0A=
					}=0A=
=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		// Improper expression=0A=
		if ( expr =3D=3D old ) {=0A=
			if ( anyFound =3D=3D null ) {=0A=
				throw "Syntax error, unrecognized expression: " + expr;=0A=
			} else {=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		old =3D expr;=0A=
	}=0A=
=0A=
	return curLoop;=0A=
};=0A=
=0A=
var Expr =3D Sizzle.selectors =3D {=0A=
	order: [ "ID", "NAME", "TAG" ],=0A=
	match: {=0A=
		ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,=0A=
		CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,=0A=
		NAME: /\[name=3D['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,=0A=
		ATTR: =
/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\=
]/,=0A=
		TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,=0A=
		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,=0A=
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,=0A=
		PSEUDO: =
/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\=
2\))?/=0A=
	},=0A=
	attrMap: {=0A=
		"class": "className",=0A=
		"for": "htmlFor"=0A=
	},=0A=
	attrHandle: {=0A=
		href: function(elem){=0A=
			return elem.getAttribute("href");=0A=
		}=0A=
	},=0A=
	relative: {=0A=
		"+": function(checkSet, part, isXML){=0A=
			var isPartStr =3D typeof part =3D=3D=3D "string",=0A=
				isTag =3D isPartStr && !/\W/.test(part),=0A=
				isPartStrNotTag =3D isPartStr && !isTag;=0A=
=0A=
			if ( isTag && !isXML ) {=0A=
				part =3D part.toUpperCase();=0A=
			}=0A=
=0A=
			for ( var i =3D 0, l =3D checkSet.length, elem; i < l; i++ ) {=0A=
				if ( (elem =3D checkSet[i]) ) {=0A=
					while ( (elem =3D elem.previousSibling) && elem.nodeType !=3D=3D 1 =
) {}=0A=
=0A=
					checkSet[i] =3D isPartStrNotTag || elem && elem.nodeName =3D=3D=3D =
part ?=0A=
						elem || false :=0A=
						elem =3D=3D=3D part;=0A=
				}=0A=
			}=0A=
=0A=
			if ( isPartStrNotTag ) {=0A=
				Sizzle.filter( part, checkSet, true );=0A=
			}=0A=
		},=0A=
		">": function(checkSet, part, isXML){=0A=
			var isPartStr =3D typeof part =3D=3D=3D "string";=0A=
=0A=
			if ( isPartStr && !/\W/.test(part) ) {=0A=
				part =3D isXML ? part : part.toUpperCase();=0A=
=0A=
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
					var elem =3D checkSet[i];=0A=
					if ( elem ) {=0A=
						var parent =3D elem.parentNode;=0A=
						checkSet[i] =3D parent.nodeName =3D=3D=3D part ? parent : false;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
					var elem =3D checkSet[i];=0A=
					if ( elem ) {=0A=
						checkSet[i] =3D isPartStr ?=0A=
							elem.parentNode :=0A=
							elem.parentNode =3D=3D=3D part;=0A=
					}=0A=
				}=0A=
=0A=
				if ( isPartStr ) {=0A=
					Sizzle.filter( part, checkSet, true );=0A=
				}=0A=
			}=0A=
		},=0A=
		"": function(checkSet, part, isXML){=0A=
			var doneName =3D done++, checkFn =3D dirCheck;=0A=
=0A=
			if ( !part.match(/\W/) ) {=0A=
				var nodeCheck =3D part =3D isXML ? part : part.toUpperCase();=0A=
				checkFn =3D dirNodeCheck;=0A=
			}=0A=
=0A=
			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);=0A=
		},=0A=
		"~": function(checkSet, part, isXML){=0A=
			var doneName =3D done++, checkFn =3D dirCheck;=0A=
=0A=
			if ( typeof part =3D=3D=3D "string" && !part.match(/\W/) ) {=0A=
				var nodeCheck =3D part =3D isXML ? part : part.toUpperCase();=0A=
				checkFn =3D dirNodeCheck;=0A=
			}=0A=
=0A=
			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, =
isXML);=0A=
		}=0A=
	},=0A=
	find: {=0A=
		ID: function(match, context, isXML){=0A=
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A=
				var m =3D context.getElementById(match[1]);=0A=
				return m ? [m] : [];=0A=
			}=0A=
		},=0A=
		NAME: function(match, context, isXML){=0A=
			if ( typeof context.getElementsByName !=3D=3D "undefined" ) {=0A=
				var ret =3D [], results =3D context.getElementsByName(match[1]);=0A=
=0A=
				for ( var i =3D 0, l =3D results.length; i < l; i++ ) {=0A=
					if ( results[i].getAttribute("name") =3D=3D=3D match[1] ) {=0A=
						ret.push( results[i] );=0A=
					}=0A=
				}=0A=
=0A=
				return ret.length =3D=3D=3D 0 ? null : ret;=0A=
			}=0A=
		},=0A=
		TAG: function(match, context){=0A=
			return context.getElementsByTagName(match[1]);=0A=
		}=0A=
	},=0A=
	preFilter: {=0A=
		CLASS: function(match, curLoop, inplace, result, not, isXML){=0A=
			match =3D " " + match[1].replace(/\\/g, "") + " ";=0A=
=0A=
			if ( isXML ) {=0A=
				return match;=0A=
			}=0A=
=0A=
			for ( var i =3D 0, elem; (elem =3D curLoop[i]) !=3D null; i++ ) {=0A=
				if ( elem ) {=0A=
					if ( not ^ (elem.className && (" " + elem.className + " =
").indexOf(match) >=3D 0) ) {=0A=
						if ( !inplace )=0A=
							result.push( elem );=0A=
					} else if ( inplace ) {=0A=
						curLoop[i] =3D false;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			return false;=0A=
		},=0A=
		ID: function(match){=0A=
			return match[1].replace(/\\/g, "");=0A=
		},=0A=
		TAG: function(match, curLoop){=0A=
			for ( var i =3D 0; curLoop[i] =3D=3D=3D false; i++ ){}=0A=
			return curLoop[i] && isXML(curLoop[i]) ? match[1] : =
match[1].toUpperCase();=0A=
		},=0A=
		CHILD: function(match){=0A=
			if ( match[1] =3D=3D "nth" ) {=0A=
				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', =
'-n+6'=0A=
				var test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(=0A=
					match[2] =3D=3D "even" && "2n" || match[2] =3D=3D "odd" && "2n+1" ||=0A=
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);=0A=
=0A=
				// calculate the numbers (first)n+(last) including if they are =
negative=0A=
				match[2] =3D (test[1] + (test[2] || 1)) - 0;=0A=
				match[3] =3D test[3] - 0;=0A=
			}=0A=
=0A=
			// TODO: Move to normal caching system=0A=
			match[0] =3D done++;=0A=
=0A=
			return match;=0A=
		},=0A=
		ATTR: function(match, curLoop, inplace, result, not, isXML){=0A=
			var name =3D match[1].replace(/\\/g, "");=0A=
			=0A=
			if ( !isXML && Expr.attrMap[name] ) {=0A=
				match[1] =3D Expr.attrMap[name];=0A=
			}=0A=
=0A=
			if ( match[2] =3D=3D=3D "~=3D" ) {=0A=
				match[4] =3D " " + match[4] + " ";=0A=
			}=0A=
=0A=
			return match;=0A=
		},=0A=
		PSEUDO: function(match, curLoop, inplace, result, not){=0A=
			if ( match[1] =3D=3D=3D "not" ) {=0A=
				// If we're dealing with a complex expression, or a simple one=0A=
				if ( match[3].match(chunker).length > 1 || /^\w/.test(match[3]) ) {=0A=
					match[3] =3D Sizzle(match[3], null, null, curLoop);=0A=
				} else {=0A=
					var ret =3D Sizzle.filter(match[3], curLoop, inplace, true ^ not);=0A=
					if ( !inplace ) {=0A=
						result.push.apply( result, ret );=0A=
					}=0A=
					return false;=0A=
				}=0A=
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( =
match[0] ) ) {=0A=
				return true;=0A=
			}=0A=
			=0A=
			return match;=0A=
		},=0A=
		POS: function(match){=0A=
			match.unshift( true );=0A=
			return match;=0A=
		}=0A=
	},=0A=
	filters: {=0A=
		enabled: function(elem){=0A=
			return elem.disabled =3D=3D=3D false && elem.type !=3D=3D "hidden";=0A=
		},=0A=
		disabled: function(elem){=0A=
			return elem.disabled =3D=3D=3D true;=0A=
		},=0A=
		checked: function(elem){=0A=
			return elem.checked =3D=3D=3D true;=0A=
		},=0A=
		selected: function(elem){=0A=
			// Accessing this property makes selected-by-default=0A=
			// options in Safari work properly=0A=
			elem.parentNode.selectedIndex;=0A=
			return elem.selected =3D=3D=3D true;=0A=
		},=0A=
		parent: function(elem){=0A=
			return !!elem.firstChild;=0A=
		},=0A=
		empty: function(elem){=0A=
			return !elem.firstChild;=0A=
		},=0A=
		has: function(elem, i, match){=0A=
			return !!Sizzle( match[3], elem ).length;=0A=
		},=0A=
		header: function(elem){=0A=
			return /h\d/i.test( elem.nodeName );=0A=
		},=0A=
		text: function(elem){=0A=
			return "text" =3D=3D=3D elem.type;=0A=
		},=0A=
		radio: function(elem){=0A=
			return "radio" =3D=3D=3D elem.type;=0A=
		},=0A=
		checkbox: function(elem){=0A=
			return "checkbox" =3D=3D=3D elem.type;=0A=
		},=0A=
		file: function(elem){=0A=
			return "file" =3D=3D=3D elem.type;=0A=
		},=0A=
		password: function(elem){=0A=
			return "password" =3D=3D=3D elem.type;=0A=
		},=0A=
		submit: function(elem){=0A=
			return "submit" =3D=3D=3D elem.type;=0A=
		},=0A=
		image: function(elem){=0A=
			return "image" =3D=3D=3D elem.type;=0A=
		},=0A=
		reset: function(elem){=0A=
			return "reset" =3D=3D=3D elem.type;=0A=
		},=0A=
		button: function(elem){=0A=
			return "button" =3D=3D=3D elem.type || elem.nodeName.toUpperCase() =
=3D=3D=3D "BUTTON";=0A=
		},=0A=
		input: function(elem){=0A=
			return /input|select|textarea|button/i.test(elem.nodeName);=0A=
		}=0A=
	},=0A=
	setFilters: {=0A=
		first: function(elem, i){=0A=
			return i =3D=3D=3D 0;=0A=
		},=0A=
		last: function(elem, i, match, array){=0A=
			return i =3D=3D=3D array.length - 1;=0A=
		},=0A=
		even: function(elem, i){=0A=
			return i % 2 =3D=3D=3D 0;=0A=
		},=0A=
		odd: function(elem, i){=0A=
			return i % 2 =3D=3D=3D 1;=0A=
		},=0A=
		lt: function(elem, i, match){=0A=
			return i < match[3] - 0;=0A=
		},=0A=
		gt: function(elem, i, match){=0A=
			return i > match[3] - 0;=0A=
		},=0A=
		nth: function(elem, i, match){=0A=
			return match[3] - 0 =3D=3D i;=0A=
		},=0A=
		eq: function(elem, i, match){=0A=
			return match[3] - 0 =3D=3D i;=0A=
		}=0A=
	},=0A=
	filter: {=0A=
		PSEUDO: function(elem, match, i, array){=0A=
			var name =3D match[1], filter =3D Expr.filters[ name ];=0A=
=0A=
			if ( filter ) {=0A=
				return filter( elem, i, match, array );=0A=
			} else if ( name =3D=3D=3D "contains" ) {=0A=
				return (elem.textContent || elem.innerText || "").indexOf(match[3]) =
>=3D 0;=0A=
			} else if ( name =3D=3D=3D "not" ) {=0A=
				var not =3D match[3];=0A=
=0A=
				for ( var i =3D 0, l =3D not.length; i < l; i++ ) {=0A=
					if ( not[i] =3D=3D=3D elem ) {=0A=
						return false;=0A=
					}=0A=
				}=0A=
=0A=
				return true;=0A=
			}=0A=
		},=0A=
		CHILD: function(elem, match){=0A=
			var type =3D match[1], node =3D elem;=0A=
			switch (type) {=0A=
				case 'only':=0A=
				case 'first':=0A=
					while (node =3D node.previousSibling)  {=0A=
						if ( node.nodeType =3D=3D=3D 1 ) return false;=0A=
					}=0A=
					if ( type =3D=3D 'first') return true;=0A=
					node =3D elem;=0A=
				case 'last':=0A=
					while (node =3D node.nextSibling)  {=0A=
						if ( node.nodeType =3D=3D=3D 1 ) return false;=0A=
					}=0A=
					return true;=0A=
				case 'nth':=0A=
					var first =3D match[2], last =3D match[3];=0A=
=0A=
					if ( first =3D=3D 1 && last =3D=3D 0 ) {=0A=
						return true;=0A=
					}=0A=
					=0A=
					var doneName =3D match[0],=0A=
						parent =3D elem.parentNode;=0A=
	=0A=
					if ( parent && (parent.sizcache !=3D=3D doneName || =
!elem.nodeIndex) ) {=0A=
						var count =3D 0;=0A=
						for ( node =3D parent.firstChild; node; node =3D node.nextSibling =
) {=0A=
							if ( node.nodeType =3D=3D=3D 1 ) {=0A=
								node.nodeIndex =3D ++count;=0A=
							}=0A=
						} =0A=
						parent.sizcache =3D doneName;=0A=
					}=0A=
					=0A=
					var diff =3D elem.nodeIndex - last;=0A=
					if ( first =3D=3D 0 ) {=0A=
						return diff =3D=3D 0;=0A=
					} else {=0A=
						return ( diff % first =3D=3D 0 && diff / first >=3D 0 );=0A=
					}=0A=
			}=0A=
		},=0A=
		ID: function(elem, match){=0A=
			return elem.nodeType =3D=3D=3D 1 && elem.getAttribute("id") =3D=3D=3D =
match;=0A=
		},=0A=
		TAG: function(elem, match){=0A=
			return (match =3D=3D=3D "*" && elem.nodeType =3D=3D=3D 1) || =
elem.nodeName =3D=3D=3D match;=0A=
		},=0A=
		CLASS: function(elem, match){=0A=
			return (" " + (elem.className || elem.getAttribute("class")) + " ")=0A=
				.indexOf( match ) > -1;=0A=
		},=0A=
		ATTR: function(elem, match){=0A=
			var name =3D match[1],=0A=
				result =3D Expr.attrHandle[ name ] ?=0A=
					Expr.attrHandle[ name ]( elem ) :=0A=
					elem[ name ] !=3D null ?=0A=
						elem[ name ] :=0A=
						elem.getAttribute( name ),=0A=
				value =3D result + "",=0A=
				type =3D match[2],=0A=
				check =3D match[4];=0A=
=0A=
			return result =3D=3D null ?=0A=
				type =3D=3D=3D "!=3D" :=0A=
				type =3D=3D=3D "=3D" ?=0A=
				value =3D=3D=3D check :=0A=
				type =3D=3D=3D "*=3D" ?=0A=
				value.indexOf(check) >=3D 0 :=0A=
				type =3D=3D=3D "~=3D" ?=0A=
				(" " + value + " ").indexOf(check) >=3D 0 :=0A=
				!check ?=0A=
				value && result !=3D=3D false :=0A=
				type =3D=3D=3D "!=3D" ?=0A=
				value !=3D check :=0A=
				type =3D=3D=3D "^=3D" ?=0A=
				value.indexOf(check) =3D=3D=3D 0 :=0A=
				type =3D=3D=3D "$=3D" ?=0A=
				value.substr(value.length - check.length) =3D=3D=3D check :=0A=
				type =3D=3D=3D "|=3D" ?=0A=
				value =3D=3D=3D check || value.substr(0, check.length + 1) =3D=3D=3D =
check + "-" :=0A=
				false;=0A=
		},=0A=
		POS: function(elem, match, i, array){=0A=
			var name =3D match[2], filter =3D Expr.setFilters[ name ];=0A=
=0A=
			if ( filter ) {=0A=
				return filter( elem, i, match, array );=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
var origPOS =3D Expr.match.POS;=0A=
=0A=
for ( var type in Expr.match ) {=0A=
	Expr.match[ type ] =3D RegExp( Expr.match[ type ].source + =
/(?![^\[]*\])(?![^\(]*\))/.source );=0A=
}=0A=
=0A=
var makeArray =3D function(array, results) {=0A=
	array =3D Array.prototype.slice.call( array );=0A=
=0A=
	if ( results ) {=0A=
		results.push.apply( results, array );=0A=
		return results;=0A=
	}=0A=
	=0A=
	return array;=0A=
};=0A=
=0A=
// Perform a simple check to determine if the browser is capable of=0A=
// converting a NodeList to an array using builtin methods.=0A=
try {=0A=
	Array.prototype.slice.call( document.documentElement.childNodes );=0A=
=0A=
// Provide a fallback method if it does not work=0A=
} catch(e){=0A=
	makeArray =3D function(array, results) {=0A=
		var ret =3D results || [];=0A=
=0A=
		if ( toString.call(array) =3D=3D=3D "[object Array]" ) {=0A=
			Array.prototype.push.apply( ret, array );=0A=
		} else {=0A=
			if ( typeof array.length =3D=3D=3D "number" ) {=0A=
				for ( var i =3D 0, l =3D array.length; i < l; i++ ) {=0A=
					ret.push( array[i] );=0A=
				}=0A=
			} else {=0A=
				for ( var i =3D 0; array[i]; i++ ) {=0A=
					ret.push( array[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	};=0A=
}=0A=
=0A=
var sortOrder;=0A=
=0A=
if ( document.documentElement.compareDocumentPosition ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		var ret =3D a.compareDocumentPosition(b) & 4 ? -1 : a =3D=3D=3D b ? 0 =
: 1;=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
} else if ( "sourceIndex" in document.documentElement ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		var ret =3D a.sourceIndex - b.sourceIndex;=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
} else if ( document.createRange ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		var aRange =3D a.ownerDocument.createRange(), bRange =3D =
b.ownerDocument.createRange();=0A=
		aRange.selectNode(a);=0A=
		aRange.collapse(true);=0A=
		bRange.selectNode(b);=0A=
		bRange.collapse(true);=0A=
		var ret =3D aRange.compareBoundaryPoints(Range.START_TO_END, bRange);=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
}=0A=
=0A=
// Check to see if the browser returns elements by name when=0A=
// querying by getElementById (and provide a workaround)=0A=
(function(){=0A=
	// We're going to inject a fake input element with a specified name=0A=
	var form =3D document.createElement("form"),=0A=
		id =3D "script" + (new Date).getTime();=0A=
	form.innerHTML =3D "<input name=3D'" + id + "'/>";=0A=
=0A=
	// Inject it into the root element, check its status, and remove it =
quickly=0A=
	var root =3D document.documentElement;=0A=
	root.insertBefore( form, root.firstChild );=0A=
=0A=
	// The workaround has to do additional checks after a getElementById=0A=
	// Which slows things down for other browsers (hence the branching)=0A=
	if ( !!document.getElementById( id ) ) {=0A=
		Expr.find.ID =3D function(match, context, isXML){=0A=
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A=
				var m =3D context.getElementById(match[1]);=0A=
				return m ? m.id =3D=3D=3D match[1] || typeof m.getAttributeNode =
!=3D=3D "undefined" && m.getAttributeNode("id").nodeValue =3D=3D=3D =
match[1] ? [m] : undefined : [];=0A=
			}=0A=
		};=0A=
=0A=
		Expr.filter.ID =3D function(elem, match){=0A=
			var node =3D typeof elem.getAttributeNode !=3D=3D "undefined" && =
elem.getAttributeNode("id");=0A=
			return elem.nodeType =3D=3D=3D 1 && node && node.nodeValue =3D=3D=3D =
match;=0A=
		};=0A=
	}=0A=
=0A=
	root.removeChild( form );=0A=
})();=0A=
=0A=
(function(){=0A=
	// Check to see if the browser returns only elements=0A=
	// when doing getElementsByTagName("*")=0A=
=0A=
	// Create a fake element=0A=
	var div =3D document.createElement("div");=0A=
	div.appendChild( document.createComment("") );=0A=
=0A=
	// Make sure no comments are found=0A=
	if ( div.getElementsByTagName("*").length > 0 ) {=0A=
		Expr.find.TAG =3D function(match, context){=0A=
			var results =3D context.getElementsByTagName(match[1]);=0A=
=0A=
			// Filter out possible comments=0A=
			if ( match[1] =3D=3D=3D "*" ) {=0A=
				var tmp =3D [];=0A=
=0A=
				for ( var i =3D 0; results[i]; i++ ) {=0A=
					if ( results[i].nodeType =3D=3D=3D 1 ) {=0A=
						tmp.push( results[i] );=0A=
					}=0A=
				}=0A=
=0A=
				results =3D tmp;=0A=
			}=0A=
=0A=
			return results;=0A=
		};=0A=
	}=0A=
=0A=
	// Check to see if an attribute returns normalized href attributes=0A=
	div.innerHTML =3D "<a href=3D'#'></a>";=0A=
	if ( div.firstChild && typeof div.firstChild.getAttribute !=3D=3D =
"undefined" &&=0A=
			div.firstChild.getAttribute("href") !=3D=3D "#" ) {=0A=
		Expr.attrHandle.href =3D function(elem){=0A=
			return elem.getAttribute("href", 2);=0A=
		};=0A=
	}=0A=
})();=0A=
=0A=
if ( document.querySelectorAll ) (function(){=0A=
	var oldSizzle =3D Sizzle, div =3D document.createElement("div");=0A=
	div.innerHTML =3D "<p class=3D'TEST'></p>";=0A=
=0A=
	// Safari can't handle uppercase or unicode characters when=0A=
	// in quirks mode.=0A=
	if ( div.querySelectorAll && div.querySelectorAll(".TEST").length =
=3D=3D=3D 0 ) {=0A=
		return;=0A=
	}=0A=
	=0A=
	Sizzle =3D function(query, context, extra, seed){=0A=
		context =3D context || document;=0A=
=0A=
		// Only use querySelectorAll on non-XML documents=0A=
		// (ID selectors don't work in non-HTML documents)=0A=
		if ( !seed && context.nodeType =3D=3D=3D 9 && !isXML(context) ) {=0A=
			try {=0A=
				return makeArray( context.querySelectorAll(query), extra );=0A=
			} catch(e){}=0A=
		}=0A=
		=0A=
		return oldSizzle(query, context, extra, seed);=0A=
	};=0A=
=0A=
	Sizzle.find =3D oldSizzle.find;=0A=
	Sizzle.filter =3D oldSizzle.filter;=0A=
	Sizzle.selectors =3D oldSizzle.selectors;=0A=
	Sizzle.matches =3D oldSizzle.matches;=0A=
})();=0A=
=0A=
if ( document.getElementsByClassName && =
document.documentElement.getElementsByClassName ) (function(){=0A=
	var div =3D document.createElement("div");=0A=
	div.innerHTML =3D "<div class=3D'test e'></div><div =
class=3D'test'></div>";=0A=
=0A=
	// Opera can't find a second classname (in 9.6)=0A=
	if ( div.getElementsByClassName("e").length =3D=3D=3D 0 )=0A=
		return;=0A=
=0A=
	// Safari caches class attributes, doesn't catch changes (in 3.2)=0A=
	div.lastChild.className =3D "e";=0A=
=0A=
	if ( div.getElementsByClassName("e").length =3D=3D=3D 1 )=0A=
		return;=0A=
=0A=
	Expr.order.splice(1, 0, "CLASS");=0A=
	Expr.find.CLASS =3D function(match, context, isXML) {=0A=
		if ( typeof context.getElementsByClassName !=3D=3D "undefined" && =
!isXML ) {=0A=
			return context.getElementsByClassName(match[1]);=0A=
		}=0A=
	};=0A=
})();=0A=
=0A=
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A=
	var sibDir =3D dir =3D=3D "previousSibling" && !isXML;=0A=
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
		var elem =3D checkSet[i];=0A=
		if ( elem ) {=0A=
			if ( sibDir && elem.nodeType =3D=3D=3D 1 ){=0A=
				elem.sizcache =3D doneName;=0A=
				elem.sizset =3D i;=0A=
			}=0A=
			elem =3D elem[dir];=0A=
			var match =3D false;=0A=
=0A=
			while ( elem ) {=0A=
				if ( elem.sizcache =3D=3D=3D doneName ) {=0A=
					match =3D checkSet[elem.sizset];=0A=
					break;=0A=
				}=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 && !isXML ){=0A=
					elem.sizcache =3D doneName;=0A=
					elem.sizset =3D i;=0A=
				}=0A=
=0A=
				if ( elem.nodeName =3D=3D=3D cur ) {=0A=
					match =3D elem;=0A=
					break;=0A=
				}=0A=
=0A=
				elem =3D elem[dir];=0A=
			}=0A=
=0A=
			checkSet[i] =3D match;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A=
	var sibDir =3D dir =3D=3D "previousSibling" && !isXML;=0A=
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
		var elem =3D checkSet[i];=0A=
		if ( elem ) {=0A=
			if ( sibDir && elem.nodeType =3D=3D=3D 1 ) {=0A=
				elem.sizcache =3D doneName;=0A=
				elem.sizset =3D i;=0A=
			}=0A=
			elem =3D elem[dir];=0A=
			var match =3D false;=0A=
=0A=
			while ( elem ) {=0A=
				if ( elem.sizcache =3D=3D=3D doneName ) {=0A=
					match =3D checkSet[elem.sizset];=0A=
					break;=0A=
				}=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
					if ( !isXML ) {=0A=
						elem.sizcache =3D doneName;=0A=
						elem.sizset =3D i;=0A=
					}=0A=
					if ( typeof cur !=3D=3D "string" ) {=0A=
						if ( elem =3D=3D=3D cur ) {=0A=
							match =3D true;=0A=
							break;=0A=
						}=0A=
=0A=
					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {=0A=
						match =3D elem;=0A=
						break;=0A=
					}=0A=
				}=0A=
=0A=
				elem =3D elem[dir];=0A=
			}=0A=
=0A=
			checkSet[i] =3D match;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
var contains =3D document.compareDocumentPosition ?  function(a, b){=0A=
	return a.compareDocumentPosition(b) & 16;=0A=
} : function(a, b){=0A=
	return a !=3D=3D b && (a.contains ? a.contains(b) : true);=0A=
};=0A=
=0A=
var isXML =3D function(elem){=0A=
	return elem.nodeType =3D=3D=3D 9 && elem.documentElement.nodeName =
!=3D=3D "HTML" ||=0A=
		!!elem.ownerDocument && isXML( elem.ownerDocument );=0A=
};=0A=
=0A=
var posProcess =3D function(selector, context){=0A=
	var tmpSet =3D [], later =3D "", match,=0A=
		root =3D context.nodeType ? [context] : context;=0A=
=0A=
	// Position selectors must be done after the filter=0A=
	// And so must :not(positional) so we move all PSEUDOs to the end=0A=
	while ( (match =3D Expr.match.PSEUDO.exec( selector )) ) {=0A=
		later +=3D match[0];=0A=
		selector =3D selector.replace( Expr.match.PSEUDO, "" );=0A=
	}=0A=
=0A=
	selector =3D Expr.relative[selector] ? selector + "*" : selector;=0A=
=0A=
	for ( var i =3D 0, l =3D root.length; i < l; i++ ) {=0A=
		Sizzle( selector, root[i], tmpSet );=0A=
	}=0A=
=0A=
	return Sizzle.filter( later, tmpSet );=0A=
};=0A=
=0A=
// EXPOSE=0A=
jQuery.find =3D Sizzle;=0A=
jQuery.filter =3D Sizzle.filter;=0A=
jQuery.expr =3D Sizzle.selectors;=0A=
jQuery.expr[":"] =3D jQuery.expr.filters;=0A=
=0A=
Sizzle.selectors.filters.hidden =3D function(elem){=0A=
	return elem.offsetWidth =3D=3D=3D 0 || elem.offsetHeight =3D=3D=3D 0;=0A=
};=0A=
=0A=
Sizzle.selectors.filters.visible =3D function(elem){=0A=
	return elem.offsetWidth > 0 || elem.offsetHeight > 0;=0A=
};=0A=
=0A=
Sizzle.selectors.filters.animated =3D function(elem){=0A=
	return jQuery.grep(jQuery.timers, function(fn){=0A=
		return elem =3D=3D=3D fn.elem;=0A=
	}).length;=0A=
};=0A=
=0A=
jQuery.multiFilter =3D function( expr, elems, not ) {=0A=
	if ( not ) {=0A=
		expr =3D ":not(" + expr + ")";=0A=
	}=0A=
=0A=
	return Sizzle.matches(expr, elems);=0A=
};=0A=
=0A=
jQuery.dir =3D function( elem, dir ){=0A=
	var matched =3D [], 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=
jQuery.nth =3D 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=
jQuery.sibling =3D function(n, elem){=0A=
	var r =3D [];=0A=
=0A=
	for ( ; n; n =3D n.nextSibling ) {=0A=
		if ( n.nodeType =3D=3D 1 && n !=3D elem )=0A=
			r.push( n );=0A=
	}=0A=
=0A=
	return r;=0A=
};=0A=
=0A=
return;=0A=
=0A=
window.Sizzle =3D Sizzle;=0A=
=0A=
})();=0A=
/*=0A=
 * A number of helper functions used for managing events.=0A=
 * Many of the ideas behind this code originated 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 ( elem.setInterval && elem !=3D window )=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=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 this.proxy( fn );=0A=
=0A=
			// Store data in unique handler=0A=
			handler.data =3D data;=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=
				// Handle the second event of a trigger and when=0A=
				// an event is called after a page has unloaded=0A=
				return typeof jQuery !=3D=3D "undefined" && !jQuery.event.triggered ?=0A=
					jQuery.event.handle.apply(arguments.callee.elem, arguments) :=0A=
					undefined;=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 separated by a space=0A=
		// jQuery(...).bind("mouseover mouseout", fn);=0A=
		jQuery.each(types.split(/\s+/), function(index, type) {=0A=
			// Namespaced event handlers=0A=
			var namespaces =3D type.split(".");=0A=
			type =3D namespaces.shift();=0A=
			handler.type =3D namespaces.slice().sort().join(".");=0A=
=0A=
			// Get the current list of functions bound to this event=0A=
			var handlers =3D events[type];=0A=
			=0A=
			if ( jQuery.event.specialAll[type] )=0A=
				jQuery.event.specialAll[type].setup.call(elem, data, namespaces);=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, data, namespaces) =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=3D undefined || (typeof types =3D=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 namespaces =3D type.split(".");=0A=
					type =3D namespaces.shift();=0A=
					var namespace =3D RegExp("(^|\\.)" + =
namespaces.slice().sort().join(".*\\.") + "(\\.|$)");=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 ( var handle in events[type] )=0A=
								// Handle the removal of namespaced events=0A=
								if ( namespace.test(events[type][handle].type) )=0A=
									delete events[type][handle];=0A=
									=0A=
						if ( jQuery.event.specialAll[type] )=0A=
							jQuery.event.specialAll[type].teardown.call(elem, namespaces);=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, namespaces) =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=
	// bubbling is internal=0A=
	trigger: function( event, data, elem, bubbling ) {=0A=
		// Event object or event type=0A=
		var type =3D event.type || event;=0A=
=0A=
		if( !bubbling ){=0A=
			event =3D typeof event =3D=3D=3D "object" ?=0A=
				// jQuery.Event object=0A=
				event[expando] ? event :=0A=
				// Object literal=0A=
				jQuery.extend( jQuery.Event(type), event ) :=0A=
				// Just the event type (string)=0A=
				jQuery.Event(type);=0A=
=0A=
			if ( type.indexOf("!") >=3D 0 ) {=0A=
				event.type =3D type =3D type.slice(0, -1);=0A=
				event.exclusive =3D true;=0A=
			}=0A=
=0A=
			// Handle a global trigger=0A=
			if ( !elem ) {=0A=
				// Don't bubble custom events when global (to avoid too much =
overhead)=0A=
				event.stopPropagation();=0A=
				// Only trigger if we've ever bound an event for it=0A=
				if ( this.global[type] )=0A=
					jQuery.each( jQuery.cache, function(){=0A=
						if ( this.events && this.events[type] )=0A=
							jQuery.event.trigger( event, data, this.handle.elem );=0A=
					});=0A=
			}=0A=
=0A=
			// Handle triggering a single element=0A=
=0A=
			// don't do events on text and comment nodes=0A=
			if ( !elem || elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )=0A=
				return undefined;=0A=
			=0A=
			// Clean up in case it is reused=0A=
			event.result =3D undefined;=0A=
			event.target =3D elem;=0A=
			=0A=
			// Clone the incoming data, if any=0A=
			data =3D jQuery.makeArray(data);=0A=
			data.unshift( event );=0A=
		}=0A=
=0A=
		event.currentTarget =3D elem;=0A=
=0A=
		// Trigger the event, it is assumed that "handle" is a function=0A=
		var handle =3D jQuery.data(elem, "handle");=0A=
		if ( handle )=0A=
			handle.apply( elem, data );=0A=
=0A=
		// Handle triggering native .onfoo handlers (and on links since we =
don't call .click() for links)=0A=
		if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type =3D=3D =
"click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) =
=3D=3D=3D false )=0A=
			event.result =3D false;=0A=
=0A=
		// Trigger the native events (except for clicks on links)=0A=
		if ( !bubbling && elem[type] && !event.isDefaultPrevented() && =
!(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=
		if ( !event.isPropagationStopped() ) {=0A=
			var parent =3D elem.parentNode || elem.ownerDocument;=0A=
			if ( parent )=0A=
				jQuery.event.trigger(event, data, parent, true);=0A=
		}=0A=
	},=0A=
=0A=
	handle: function(event) {=0A=
		// returned undefined or false=0A=
		var all, handlers;=0A=
=0A=
		event =3D arguments[0] =3D jQuery.event.fix( event || window.event );=0A=
		event.currentTarget =3D this;=0A=
		=0A=
		// Namespaced event handlers=0A=
		var namespaces =3D event.type.split(".");=0A=
		event.type =3D namespaces.shift();=0A=
=0A=
		// Cache this now, all =3D true means, any handler=0A=
		all =3D !namespaces.length && !event.exclusive;=0A=
		=0A=
		var namespace =3D RegExp("(^|\\.)" + =
namespaces.slice().sort().join(".*\\.") + "(\\.|$)");=0A=
=0A=
		handlers =3D ( jQuery.data(this, "events") || {} )[event.type];=0A=
=0A=
		for ( var j in handlers ) {=0A=
			var handler =3D handlers[j];=0A=
=0A=
			// Filter the functions by class=0A=
			if ( all || namespace.test(handler.type) ) {=0A=
				// Pass in a reference to the handler function itself=0A=
				// So that we can later remove it=0A=
				event.handler =3D handler;=0A=
				event.data =3D handler.data;=0A=
=0A=
				var ret =3D handler.apply(this, arguments);=0A=
=0A=
				if( ret !=3D=3D undefined ){=0A=
					event.result =3D ret;=0A=
					if ( ret =3D=3D=3D false ) {=0A=
						event.preventDefault();=0A=
						event.stopPropagation();=0A=
					}=0A=
				}=0A=
=0A=
				if( event.isImmediatePropagationStopped() )=0A=
					break;=0A=
=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	props: "altKey attrChange attrName bubbles button cancelable charCode =
clientX clientY ctrlKey currentTarget data detail eventPhase fromElement =
handler keyCode metaKey newValue originalTarget pageX pageY prevValue =
relatedNode relatedTarget screenX screenY shiftKey srcElement target =
toElement view wheelDelta which".split(" "),=0A=
=0A=
	fix: function(event) {=0A=
		if ( event[expando] )=0A=
			return event;=0A=
=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.Event( originalEvent );=0A=
=0A=
		for ( var i =3D this.props.length, prop; i; ){=0A=
			prop =3D this.props[ --i ];=0A=
			event[ prop ] =3D originalEvent[ prop ];=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 event.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=
	proxy: function( fn, proxy ){=0A=
		proxy =3D proxy || function(){ return fn.apply(this, arguments); };=0A=
		// Set the guid of unique handler to the same of original handler, so =
it can be removed=0A=
		proxy.guid =3D fn.guid =3D fn.guid || proxy.guid || this.guid++;=0A=
		// So proxy can be declared as an argument=0A=
		return proxy;=0A=
	},=0A=
=0A=
	special: {=0A=
		ready: {=0A=
			// Make sure the ready event is setup=0A=
			setup: bindReady,=0A=
			teardown: function() {}=0A=
		}=0A=
	},=0A=
	=0A=
	specialAll: {=0A=
		live: {=0A=
			setup: function( selector, namespaces ){=0A=
				jQuery.event.add( this, namespaces[0], liveHandler );=0A=
			},=0A=
			teardown:  function( namespaces ){=0A=
				if ( namespaces.length ) {=0A=
					var remove =3D 0, name =3D RegExp("(^|\\.)" + namespaces[0] + =
"(\\.|$)");=0A=
					=0A=
					jQuery.each( (jQuery.data(this, "events").live || {}), function(){=0A=
						if ( name.test(this.type) )=0A=
							remove++;=0A=
					});=0A=
					=0A=
					if ( remove < 1 )=0A=
						jQuery.event.remove( this, namespaces[0], liveHandler );=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
jQuery.Event =3D function( src ){=0A=
	// Allow instantiation without the 'new' keyword=0A=
	if( !this.preventDefault )=0A=
		return new jQuery.Event(src);=0A=
	=0A=
	// Event object=0A=
	if( src && src.type ){=0A=
		this.originalEvent =3D src;=0A=
		this.type =3D src.type;=0A=
	// Event type=0A=
	}else=0A=
		this.type =3D src;=0A=
=0A=
	// timeStamp is buggy for some events on Firefox(#3843)=0A=
	// So we won't rely on the native value=0A=
	this.timeStamp =3D now();=0A=
	=0A=
	// Mark it as fixed=0A=
	this[expando] =3D true;=0A=
};=0A=
=0A=
function returnFalse(){=0A=
	return false;=0A=
}=0A=
function returnTrue(){=0A=
	return true;=0A=
}=0A=
=0A=
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript =
Language Binding=0A=
// =
http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-bind=
ing.html=0A=
jQuery.Event.prototype =3D {=0A=
	preventDefault: function() {=0A=
		this.isDefaultPrevented =3D returnTrue;=0A=
=0A=
		var e =3D this.originalEvent;=0A=
		if( !e )=0A=
			return;=0A=
		// if preventDefault exists run it on the original event=0A=
		if (e.preventDefault)=0A=
			e.preventDefault();=0A=
		// otherwise set the returnValue property of the original event to =
false (IE)=0A=
		e.returnValue =3D false;=0A=
	},=0A=
	stopPropagation: function() {=0A=
		this.isPropagationStopped =3D returnTrue;=0A=
=0A=
		var e =3D this.originalEvent;=0A=
		if( !e )=0A=
			return;=0A=
		// if stopPropagation exists run it on the original event=0A=
		if (e.stopPropagation)=0A=
			e.stopPropagation();=0A=
		// otherwise set the cancelBubble property of the original event to =
true (IE)=0A=
		e.cancelBubble =3D true;=0A=
	},=0A=
	stopImmediatePropagation:function(){=0A=
		this.isImmediatePropagationStopped =3D returnTrue;=0A=
		this.stopPropagation();=0A=
	},=0A=
	isDefaultPrevented: returnFalse,=0A=
	isPropagationStopped: returnFalse,=0A=
	isImmediatePropagationStopped: returnFalse=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) {=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 this )=0A=
		try { parent =3D parent.parentNode; }=0A=
		catch(e) { parent =3D this; }=0A=
	=0A=
	if( parent !=3D this ){=0A=
		// set the correct event type=0A=
		event.type =3D event.data;=0A=
		// handle event if we actually just moused on to a non sub-element=0A=
		jQuery.event.handle.apply( this, arguments );=0A=
	}=0A=
};=0A=
	=0A=
jQuery.each({ =0A=
	mouseover: 'mouseenter', =0A=
	mouseout: 'mouseleave'=0A=
}, function( orig, fix ){=0A=
	jQuery.event.special[ fix ] =3D {=0A=
		setup: function(){=0A=
			jQuery.event.add( this, orig, withinElement, fix );=0A=
		},=0A=
		teardown: function(){=0A=
			jQuery.event.remove( this, orig, withinElement );=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=
		var one =3D jQuery.event.proxy( fn || data, function(event) {=0A=
			jQuery(this).unbind(event, one);=0A=
			return (fn || data).apply( this, arguments );=0A=
		});=0A=
		return this.each(function(){=0A=
			jQuery.event.add( this, type, one, 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 ) {=0A=
		return this.each(function(){=0A=
			jQuery.event.trigger( type, data, this );=0A=
		});=0A=
	},=0A=
=0A=
	triggerHandler: function( type, data ) {=0A=
		if( this[0] ){=0A=
			var event =3D jQuery.Event(type);=0A=
			event.preventDefault();=0A=
			event.stopPropagation();=0A=
			jQuery.event.trigger( event, data, this[0] );=0A=
			return event.result;=0A=
		}		=0A=
	},=0A=
=0A=
	toggle: function( fn ) {=0A=
		// Save reference to arguments for access in closure=0A=
		var args =3D arguments, i =3D 1;=0A=
=0A=
		// link all the functions, so any of them can unbind this click handler=0A=
		while( i < args.length )=0A=
			jQuery.event.proxy( fn, args[i++] );=0A=
=0A=
		return this.click( jQuery.event.proxy( fn, function(event) {=0A=
			// Figure out which function to execute=0A=
			this.lastToggle =3D ( this.lastToggle || 0 ) % i;=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.mouseenter(fnOver).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( fn );=0A=
=0A=
		return this;=0A=
	},=0A=
	=0A=
	live: function( type, fn ){=0A=
		var proxy =3D jQuery.event.proxy( fn );=0A=
		proxy.guid +=3D this.selector + type;=0A=
=0A=
		jQuery(document).bind( liveConvert(type, this.selector), =
this.selector, proxy );=0A=
=0A=
		return this;=0A=
	},=0A=
	=0A=
	die: function( type, fn ){=0A=
		jQuery(document).unbind( liveConvert(type, this.selector), fn ? { =
guid: fn.guid + this.selector + type } : null );=0A=
		return this;=0A=
	}=0A=
});=0A=
=0A=
function liveHandler( event ){=0A=
	var check =3D RegExp("(^|\\.)" + event.type + "(\\.|$)"),=0A=
		stop =3D true,=0A=
		elems =3D [];=0A=
=0A=
	jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){=0A=
		if ( check.test(fn.type) ) {=0A=
			var elem =3D jQuery(event.target).closest(fn.data)[0];=0A=
			if ( elem )=0A=
				elems.push({ elem: elem, fn: fn });=0A=
		}=0A=
	});=0A=
=0A=
	elems.sort(function(a,b) {=0A=
		return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, "closest");=0A=
	});=0A=
	=0A=
	jQuery.each(elems, function(){=0A=
		if ( this.fn.call(this.elem, event, this.fn.data) =3D=3D=3D false )=0A=
			return (stop =3D false);=0A=
	});=0A=
=0A=
	return stop;=0A=
}=0A=
=0A=
function liveConvert(type, selector){=0A=
	return ["live", type, selector.replace(/\./g, "`").replace(/ /g, =
"|")].join(".");=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.call( document, jQuery );=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 and webkit nightlies currently support this event=0A=
	if ( document.addEventListener ) {=0A=
		// Use the handy event callback=0A=
		document.addEventListener( "DOMContentLoaded", function(){=0A=
			document.removeEventListener( "DOMContentLoaded", arguments.callee, =
false );=0A=
			jQuery.ready();=0A=
		}, false );=0A=
=0A=
	// If IE event model is used=0A=
	} else if ( document.attachEvent ) {=0A=
		// ensure firing before onload,=0A=
		// maybe late but safe also for iframes=0A=
		document.attachEvent("onreadystatechange", function(){=0A=
			if ( document.readyState =3D=3D=3D "complete" ) {=0A=
				document.detachEvent( "onreadystatechange", arguments.callee );=0A=
				jQuery.ready();=0A=
			}=0A=
		});=0A=
=0A=
		// If IE and not an iframe=0A=
		// continually check to see if the document is ready=0A=
		if ( document.documentElement.doScroll && window =3D=3D window.top ) =
(function(){=0A=
			if ( jQuery.isReady ) return;=0A=
=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=
=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,mouseenter,mouseleave," =
+=0A=
	"change,select,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=
// 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=
	for ( var id in jQuery.cache )=0A=
		// Skip the window=0A=
		if ( id !=3D 1 && jQuery.cache[ id ].handle )=0A=
			jQuery.event.remove( jQuery.cache[ id ].handle.elem );=0A=
}); =0A=
(function(){=0A=
=0A=
	jQuery.support =3D {};=0A=
=0A=
	var root =3D document.documentElement,=0A=
		script =3D document.createElement("script"),=0A=
		div =3D document.createElement("div"),=0A=
		id =3D "script" + (new Date).getTime();=0A=
=0A=
	div.style.display =3D "none";=0A=
	div.innerHTML =3D '   <link/><table></table><a href=3D"/a" =
style=3D"color:red;float:left;opacity:.5;">a</a><select><option>text</opt=
ion></select><object><param/></object>';=0A=
=0A=
	var all =3D div.getElementsByTagName("*"),=0A=
		a =3D div.getElementsByTagName("a")[0];=0A=
=0A=
	// Can't get basic test support=0A=
	if ( !all || !all.length || !a ) {=0A=
		return;=0A=
	}=0A=
=0A=
	jQuery.support =3D {=0A=
		// IE strips leading whitespace when .innerHTML is used=0A=
		leadingWhitespace: div.firstChild.nodeType =3D=3D 3,=0A=
		=0A=
		// Make sure that tbody elements aren't automatically inserted=0A=
		// IE will insert them into empty tables=0A=
		tbody: !div.getElementsByTagName("tbody").length,=0A=
		=0A=
		// Make sure that you can get all elements in an <object> element=0A=
		// IE 7 always returns no results=0A=
		objectAll: !!div.getElementsByTagName("object")[0]=0A=
			.getElementsByTagName("*").length,=0A=
		=0A=
		// Make sure that link elements get serialized correctly by innerHTML=0A=
		// This requires a wrapper element in IE=0A=
		htmlSerialize: !!div.getElementsByTagName("link").length,=0A=
		=0A=
		// Get the style information from getAttribute=0A=
		// (IE uses .cssText insted)=0A=
		style: /red/.test( a.getAttribute("style") ),=0A=
		=0A=
		// Make sure that URLs aren't manipulated=0A=
		// (IE normalizes it by default)=0A=
		hrefNormalized: a.getAttribute("href") =3D=3D=3D "/a",=0A=
		=0A=
		// Make sure that element opacity exists=0A=
		// (IE uses filter instead)=0A=
		opacity: a.style.opacity =3D=3D=3D "0.5",=0A=
		=0A=
		// Verify style float existence=0A=
		// (IE uses styleFloat instead of cssFloat)=0A=
		cssFloat: !!a.style.cssFloat,=0A=
=0A=
		// Will be defined later=0A=
		scriptEval: false,=0A=
		noCloneEvent: true,=0A=
		boxModel: null=0A=
	};=0A=
	=0A=
	script.type =3D "text/javascript";=0A=
	try {=0A=
		script.appendChild( document.createTextNode( "window." + id + "=3D1;" =
) );=0A=
	} catch(e){}=0A=
=0A=
	root.insertBefore( script, root.firstChild );=0A=
	=0A=
	// Make sure that the execution of code works by injecting a script=0A=
	// tag with appendChild/createTextNode=0A=
	// (IE doesn't support this, fails, and uses .text instead)=0A=
	if ( window[ id ] ) {=0A=
		jQuery.support.scriptEval =3D true;=0A=
		delete window[ id ];=0A=
	}=0A=
=0A=
	root.removeChild( script );=0A=
=0A=
	if ( div.attachEvent && div.fireEvent ) {=0A=
		div.attachEvent("onclick", function(){=0A=
			// Cloning a node shouldn't copy over any=0A=
			// bound event handlers (IE does this)=0A=
			jQuery.support.noCloneEvent =3D false;=0A=
			div.detachEvent("onclick", arguments.callee);=0A=
		});=0A=
		div.cloneNode(true).fireEvent("onclick");=0A=
	}=0A=
=0A=
	// Figure out if the W3C box model works as expected=0A=
	// document.body must exist before we can do this=0A=
	jQuery(function(){=0A=
		var div =3D document.createElement("div");=0A=
		div.style.width =3D div.style.paddingLeft =3D "1px";=0A=
=0A=
		document.body.appendChild( div );=0A=
		jQuery.boxModel =3D jQuery.support.boxModel =3D div.offsetWidth =
=3D=3D=3D 2;=0A=
		document.body.removeChild( div ).style.display =3D 'none';=0A=
	});=0A=
})();=0A=
=0A=
var styleFloat =3D jQuery.support.cssFloat ? "cssFloat" : "styleFloat";=0A=
=0A=
jQuery.props =3D {=0A=
	"for": "htmlFor",=0A=
	"class": "className",=0A=
	"float": styleFloat,=0A=
	cssFloat: styleFloat,=0A=
	styleFloat: styleFloat,=0A=
	readonly: "readOnly",=0A=
	maxlength: "maxLength",=0A=
	cellspacing: "cellSpacing",=0A=
	rowspan: "rowSpan",=0A=
	tabindex: "tabIndex"=0A=
};=0A=
jQuery.fn.extend({=0A=
	// Keep a copy of the old load=0A=
	_load: jQuery.fn.load,=0A=
=0A=
	load: function( url, params, callback ) {=0A=
		if ( typeof url !=3D=3D "string" )=0A=
			return this._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=
		// 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 if( typeof params =3D=3D=3D "object" ) {=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=
				if( callback )=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 this.elements ? 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|search/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=
				jQuery.isArray(val) ?=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 now();=0A=
=0A=
jQuery.extend({=0A=
  =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=
		url: location.href,=0A=
		global: true,=0A=
		type: "GET",=0A=
		contentType: "application/x-www-form-urlencoded",=0A=
		processData: true,=0A=
		async: true,=0A=
		/*=0A=
		timeout: 0,=0A=
		data: null,=0A=
		username: null,=0A=
		password: null,=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=
		// This function can be overriden by calling jQuery.ajaxSetup=0A=
		xhr:function(){=0A=
			return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") =
: new XMLHttpRequest();=0A=
		},=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=
		// 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=
		var jsonp, jsre =3D /=3D\?(&|$)/g, status, data,=0A=
			type =3D s.type.toUpperCase();=0A=
=0A=
		// convert data if not already a string=0A=
		if ( s.data && s.processData && typeof s.data !=3D=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 ( type =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 && type =3D=3D "GET" ) {=0A=
			var ts =3D now();=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 && type =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=
		// Matches an absolute URL, and saves the domain=0A=
		var parts =3D /^(\w+:)?\/\/([^\/?#]+)/.exec( s.url );=0A=
=0A=
		// If we're requesting a remote document=0A=
		// and trying to load JSON or Script with a GET=0A=
		if ( s.dataType =3D=3D "script" && type =3D=3D "GET" && parts=0A=
			&& ( parts[1] && parts[1] !=3D location.protocol || parts[2] !=3D =
location.host )){=0A=
=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=
=0A=
						// Handle memory leak in IE=0A=
						script.onload =3D script.onreadystatechange =3D null;=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=0A=
		var xhr =3D s.xhr();=0A=
=0A=
		// Open the socket=0A=
		// Passing null username, generates a login popup on Opera (#2865)=0A=
		if( s.username )=0A=
			xhr.open(type, s.url, s.async, s.username, s.password);=0A=
		else=0A=
			xhr.open(type, s.url, s.async);=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=
				xhr.setRequestHeader("Content-Type", s.contentType);=0A=
=0A=
			// Set the If-Modified-Since header, if ifModified mode.=0A=
			if ( s.ifModified )=0A=
				xhr.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=
			xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");=0A=
=0A=
			// Set the Accepts header for the server, depending on the dataType=0A=
			xhr.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 and early abort=0A=
		if ( s.beforeSend && s.beforeSend(xhr, s) =3D=3D=3D false ) {=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active )=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
			// close opended socket=0A=
			xhr.abort();=0A=
			return false;=0A=
		}=0A=
=0A=
		if ( s.global )=0A=
			jQuery.event.trigger("ajaxSend", [xhr, s]);=0A=
=0A=
		// Wait for a response to come back=0A=
		var onreadystatechange =3D function(isTimeout){=0A=
			// The request was aborted, clear the interval and decrement =
jQuery.active=0A=
			if (xhr.readyState =3D=3D 0) {=0A=
				if (ival) {=0A=
					// clear poll interval=0A=
					clearInterval(ival);=0A=
					ival =3D null;=0A=
					// Handle the global AJAX counter=0A=
					if ( s.global && ! --jQuery.active )=0A=
						jQuery.event.trigger( "ajaxStop" );=0A=
				}=0A=
			// The transfer is complete and the data is available, or the request =
timed out=0A=
			} else if ( !requestDone && xhr && (xhr.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( xhr ) ? "error" :=0A=
					s.ifModified && jQuery.httpNotModified( xhr, 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( xhr, s.dataType, s );=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 xhr.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, xhr, status);=0A=
=0A=
				// Fire the complete handlers=0A=
				complete();=0A=
=0A=
				if ( isTimeout )=0A=
					xhr.abort();=0A=
=0A=
				// Stop memory leaks=0A=
				if ( s.async )=0A=
					xhr =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 ( xhr && !requestDone )=0A=
						onreadystatechange( "timeout" );=0A=
				}, s.timeout);=0A=
		}=0A=
=0A=
		// Send the data=0A=
		try {=0A=
			xhr.send(s.data);=0A=
		} catch(e) {=0A=
			jQuery.handleError(s, xhr, 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", [xhr, s] );=0A=
		}=0A=
=0A=
		function complete(){=0A=
			// Process result=0A=
			if ( s.complete )=0A=
				s.complete(xhr, status);=0A=
=0A=
			// The request was completed=0A=
			if ( s.global )=0A=
				jQuery.event.trigger( "ajaxComplete", [xhr, 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 xhr;=0A=
	},=0A=
=0A=
	handleError: function( s, xhr, status, e ) {=0A=
		// If a local callback was specified, fire it=0A=
		if ( s.error ) s.error( xhr, status, e );=0A=
=0A=
		// Fire the global callback=0A=
		if ( s.global )=0A=
			jQuery.event.trigger( "ajaxError", [xhr, 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( xhr ) {=0A=
		try {=0A=
			// IE error sometimes returns 1223 when it should be 204 so treat it =
as success, see #1450=0A=
			return !xhr.status && location.protocol =3D=3D "file:" ||=0A=
				( xhr.status >=3D 200 && xhr.status < 300 ) || xhr.status =3D=3D 304 =
|| xhr.status =3D=3D 1223;=0A=
		} catch(e){}=0A=
		return false;=0A=
	},=0A=
=0A=
	// Determines if an XMLHttpRequest returns NotModified=0A=
	httpNotModified: function( xhr, url ) {=0A=
		try {=0A=
			var xhrRes =3D xhr.getResponseHeader("Last-Modified");=0A=
=0A=
			// Firefox always returns 200. check Last-Modified date=0A=
			return xhr.status =3D=3D 304 || xhrRes =3D=3D =
jQuery.lastModified[url];=0A=
		} catch(e){}=0A=
		return false;=0A=
	},=0A=
=0A=
	httpData: function( xhr, type, s ) {=0A=
		var ct =3D xhr.getResponseHeader("content-type"),=0A=
			xml =3D type =3D=3D "xml" || !type && ct && ct.indexOf("xml") >=3D 0,=0A=
			data =3D xml ? xhr.responseXML : xhr.responseText;=0A=
=0A=
		if ( xml && data.documentElement.tagName =3D=3D "parsererror" )=0A=
			throw "parsererror";=0A=
			=0A=
		// Allow a pre-filtering function to sanitize the response=0A=
		// s !=3D null is checked to keep backwards compatibility=0A=
		if( s && s.dataFilter )=0A=
			data =3D s.dataFilter( data, type );=0A=
=0A=
		// The filter can actually parse the response=0A=
		if( typeof data =3D=3D=3D "string" ){=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 window["eval"]("(" + data + ")");=0A=
		}=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=
		function add( key, value ){=0A=
			s[ s.length ] =3D encodeURIComponent(key) + '=3D' + =
encodeURIComponent(value);=0A=
		};=0A=
=0A=
		// If an array was passed in, assume that it is an array=0A=
		// of form elements=0A=
		if ( jQuery.isArray(a) || a.jquery )=0A=
			// Serialize the form elements=0A=
			jQuery.each( a, function(){=0A=
				add( this.name, 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 ( jQuery.isArray(a[j]) )=0A=
					jQuery.each( a[j], function(){=0A=
						add( j, this );=0A=
					});=0A=
				else=0A=
					add( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] );=0A=
=0A=
		// Return the resulting serialization=0A=
		return s.join("&").replace(/%20/g, "+");=0A=
	}=0A=
=0A=
});=0A=
var elemdisplay =3D {},=0A=
	timerId,=0A=
	fxAttrs =3D [=0A=
		// height animations=0A=
		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" =
],=0A=
		// width animations=0A=
		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" =
],=0A=
		// opacity animations=0A=
		[ "opacity" ]=0A=
	];=0A=
=0A=
function genFx( type, num ){=0A=
	var obj =3D {};=0A=
	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function(){=0A=
		obj[ this ] =3D type;=0A=
	});=0A=
	return obj;=0A=
}=0A=
=0A=
jQuery.fn.extend({=0A=
	show: function(speed,callback){=0A=
		if ( speed ) {=0A=
			return this.animate( genFx("show", 3), speed, callback);=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ){=0A=
				var old =3D jQuery.data(this[i], "olddisplay");=0A=
				=0A=
				this[i].style.display =3D old || "";=0A=
				=0A=
				if ( jQuery.css(this[i], "display") =3D=3D=3D "none" ) {=0A=
					var tagName =3D this[i].tagName, display;=0A=
					=0A=
					if ( elemdisplay[ tagName ] ) {=0A=
						display =3D elemdisplay[ tagName ];=0A=
					} else {=0A=
						var elem =3D jQuery("<" + tagName + " />").appendTo("body");=0A=
						=0A=
						display =3D elem.css("display");=0A=
						if ( display =3D=3D=3D "none" )=0A=
							display =3D "block";=0A=
						=0A=
						elem.remove();=0A=
						=0A=
						elemdisplay[ tagName ] =3D display;=0A=
					}=0A=
					=0A=
					jQuery.data(this[i], "olddisplay", display);=0A=
				}=0A=
			}=0A=
=0A=
			// Set the display of the elements in a second loop=0A=
			// to avoid the constant reflow=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ){=0A=
				this[i].style.display =3D jQuery.data(this[i], "olddisplay") || "";=0A=
			}=0A=
			=0A=
			return this;=0A=
		}=0A=
	},=0A=
=0A=
	hide: function(speed,callback){=0A=
		if ( speed ) {=0A=
			return this.animate( genFx("hide", 3), speed, callback);=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ){=0A=
				var old =3D jQuery.data(this[i], "olddisplay");=0A=
				if ( !old && old !=3D=3D "none" )=0A=
					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));=0A=
			}=0A=
=0A=
			// Set the display of the elements in a second loop=0A=
			// to avoid the constant reflow=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ){=0A=
				this[i].style.display =3D "none";=0A=
			}=0A=
=0A=
			return this;=0A=
		}=0A=
	},=0A=
=0A=
	// Save the old toggle function=0A=
	_toggle: jQuery.fn.toggle,=0A=
=0A=
	toggle: function( fn, fn2 ){=0A=
		var bool =3D typeof fn =3D=3D=3D "boolean";=0A=
=0A=
		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?=0A=
			this._toggle.apply( this, arguments ) :=0A=
			fn =3D=3D null || bool ?=0A=
				this.each(function(){=0A=
					var state =3D bool ? fn : jQuery(this).is(":hidden");=0A=
					jQuery(this)[ state ? "show" : "hide" ]();=0A=
				}) :=0A=
				this.animate(genFx("toggle", 3), fn, fn2);=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=
		=0A=
			var opt =3D jQuery.extend({}, optall), p,=0A=
				hidden =3D this.nodeType =3D=3D 1 && jQuery(this).is(":hidden"),=0A=
				self =3D this;=0A=
	=0A=
			for ( p in prop ) {=0A=
				if ( prop[p] =3D=3D "hide" && hidden || prop[p] =3D=3D "show" && =
!hidden )=0A=
					return opt.complete.call(this);=0A=
=0A=
				if ( ( p =3D=3D "height" || p =3D=3D "width" ) && this.style ) {=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=
	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=
// Generate shortcuts for custom animations=0A=
jQuery.each({=0A=
	slideDown: genFx("show", 1),=0A=
	slideUp: genFx("hide", 1),=0A=
	slideToggle: genFx("toggle", 1),=0A=
	fadeIn: { opacity: "show" },=0A=
	fadeOut: { opacity: "hide" }=0A=
}, function( name, props ){=0A=
	jQuery.fn[ name ] =3D function( speed, callback ){=0A=
		return this.animate( props, speed, callback );=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
=0A=
	speed: function(speed, easing, fn) {=0A=
		var opt =3D typeof speed =3D=3D=3D "object" ? speed : {=0A=
			complete: fn || !fn && easing ||=0A=
				jQuery.isFunction( speed ) && speed,=0A=
			duration: speed,=0A=
			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing=0A=
		};=0A=
=0A=
		opt.duration =3D jQuery.fx.off ? 0 : typeof opt.duration =3D=3D=3D =
"number" ? opt.duration :=0A=
			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;=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.call( 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=
=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.call( 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" ) && =
this.elem.style )=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.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 now();=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=
=0A=
		var self =3D this;=0A=
		function t(gotoEnd){=0A=
			return self.step(gotoEnd);=0A=
		}=0A=
=0A=
		t.elem =3D this.elem;=0A=
=0A=
		if ( t() && jQuery.timers.push(t) && !timerId ) {=0A=
			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( timerId );=0A=
					timerId =3D undefined;=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=
		// Make sure that we start at a small width/height to avoid any=0A=
		// flash of content=0A=
		this.custom(this.prop =3D=3D "width" || this.prop =3D=3D "height" ? 1 =
: 0, this.cur());=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 now();=0A=
=0A=
		if ( gotoEnd || t >=3D 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=
					jQuery(this.elem).hide();=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=
				// Execute the complete function=0A=
				this.options.complete.call( this.elem );=0A=
			}=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.extend( jQuery.fx, {=0A=
	speeds:{=0A=
		slow: 600,=0A=
 		fast: 200,=0A=
 		// Default speed=0A=
 		_default: 400=0A=
	},=0A=
	step: {=0A=
=0A=
		opacity: function(fx){=0A=
			jQuery.attr(fx.elem.style, "opacity", fx.now);=0A=
		},=0A=
=0A=
		_default: function(fx){=0A=
			if ( fx.elem.style && fx.elem.style[ fx.prop ] !=3D null )=0A=
				fx.elem.style[ fx.prop ] =3D fx.now + fx.unit;=0A=
			else=0A=
				fx.elem[ fx.prop ] =3D fx.now;=0A=
		}=0A=
	}=0A=
});=0A=
if ( document.documentElement["getBoundingClientRect"] )=0A=
	jQuery.fn.offset =3D function() {=0A=
		if ( !this[0] ) return { top: 0, left: 0 };=0A=
		if ( this[0] =3D=3D=3D this[0].ownerDocument.body ) return =
jQuery.offset.bodyOffset( this[0] );=0A=
		var box  =3D this[0].getBoundingClientRect(), doc =3D =
this[0].ownerDocument, body =3D doc.body, docElem =3D =
doc.documentElement,=0A=
			clientTop =3D docElem.clientTop || body.clientTop || 0, clientLeft =
=3D docElem.clientLeft || body.clientLeft || 0,=0A=
			top  =3D box.top  + (self.pageYOffset || jQuery.boxModel && =
docElem.scrollTop  || body.scrollTop ) - clientTop,=0A=
			left =3D box.left + (self.pageXOffset || jQuery.boxModel && =
docElem.scrollLeft || body.scrollLeft) - clientLeft;=0A=
		return { top: top, left: left };=0A=
	};=0A=
else =0A=
	jQuery.fn.offset =3D function() {=0A=
		if ( !this[0] ) return { top: 0, left: 0 };=0A=
		if ( this[0] =3D=3D=3D this[0].ownerDocument.body ) return =
jQuery.offset.bodyOffset( this[0] );=0A=
		jQuery.offset.initialized || jQuery.offset.initialize();=0A=
=0A=
		var elem =3D this[0], offsetParent =3D elem.offsetParent, =
prevOffsetParent =3D elem,=0A=
			doc =3D elem.ownerDocument, computedStyle, docElem =3D =
doc.documentElement,=0A=
			body =3D doc.body, defaultView =3D doc.defaultView,=0A=
			prevComputedStyle =3D defaultView.getComputedStyle(elem, null),=0A=
			top =3D elem.offsetTop, left =3D elem.offsetLeft;=0A=
=0A=
		while ( (elem =3D elem.parentNode) && elem !=3D=3D body && elem =
!=3D=3D docElem ) {=0A=
			computedStyle =3D defaultView.getComputedStyle(elem, null);=0A=
			top -=3D elem.scrollTop, left -=3D elem.scrollLeft;=0A=
			if ( elem =3D=3D=3D offsetParent ) {=0A=
				top +=3D elem.offsetTop, left +=3D elem.offsetLeft;=0A=
				if ( jQuery.offset.doesNotAddBorder && =
!(jQuery.offset.doesAddBorderForTableAndCells && =
/^t(able|d|h)$/i.test(elem.tagName)) )=0A=
					top  +=3D parseInt( computedStyle.borderTopWidth,  10) || 0,=0A=
					left +=3D parseInt( computedStyle.borderLeftWidth, 10) || 0;=0A=
				prevOffsetParent =3D offsetParent, offsetParent =3D =
elem.offsetParent;=0A=
			}=0A=
			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && =
computedStyle.overflow !=3D=3D "visible" )=0A=
				top  +=3D parseInt( computedStyle.borderTopWidth,  10) || 0,=0A=
				left +=3D parseInt( computedStyle.borderLeftWidth, 10) || 0;=0A=
			prevComputedStyle =3D computedStyle;=0A=
		}=0A=
=0A=
		if ( prevComputedStyle.position =3D=3D=3D "relative" || =
prevComputedStyle.position =3D=3D=3D "static" )=0A=
			top  +=3D body.offsetTop,=0A=
			left +=3D body.offsetLeft;=0A=
=0A=
		if ( prevComputedStyle.position =3D=3D=3D "fixed" )=0A=
			top  +=3D Math.max(docElem.scrollTop, body.scrollTop),=0A=
			left +=3D Math.max(docElem.scrollLeft, body.scrollLeft);=0A=
=0A=
		return { top: top, left: left };=0A=
	};=0A=
=0A=
jQuery.offset =3D {=0A=
	initialize: function() {=0A=
		if ( this.initialized ) return;=0A=
		var body =3D document.body, container =3D =
document.createElement('div'), innerDiv, checkDiv, table, td, rules, =
prop, bodyMarginTop =3D body.style.marginTop,=0A=
			html =3D '<div =
style=3D"position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;"><div></div></div><table =
style=3D"position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;" cellpadding=3D"0" =
cellspacing=3D"0"><tr><td></td></tr></table>';=0A=
=0A=
		rules =3D { position: 'absolute', top: 0, left: 0, margin: 0, border: =
0, width: '1px', height: '1px', visibility: 'hidden' };=0A=
		for ( prop in rules ) container.style[prop] =3D rules[prop];=0A=
=0A=
		container.innerHTML =3D html;=0A=
		body.insertBefore(container, body.firstChild);=0A=
		innerDiv =3D container.firstChild, checkDiv =3D innerDiv.firstChild, =
td =3D innerDiv.nextSibling.firstChild.firstChild;=0A=
=0A=
		this.doesNotAddBorder =3D (checkDiv.offsetTop !=3D=3D 5);=0A=
		this.doesAddBorderForTableAndCells =3D (td.offsetTop =3D=3D=3D 5);=0A=
=0A=
		innerDiv.style.overflow =3D 'hidden', innerDiv.style.position =3D =
'relative';=0A=
		this.subtractsBorderForOverflowNotVisible =3D (checkDiv.offsetTop =
=3D=3D=3D -5);=0A=
=0A=
		body.style.marginTop =3D '1px';=0A=
		this.doesNotIncludeMarginInBodyOffset =3D (body.offsetTop =3D=3D=3D 0);=0A=
		body.style.marginTop =3D bodyMarginTop;=0A=
=0A=
		body.removeChild(container);=0A=
		this.initialized =3D true;=0A=
	},=0A=
=0A=
	bodyOffset: function(body) {=0A=
		jQuery.offset.initialized || jQuery.offset.initialize();=0A=
		var top =3D body.offsetTop, left =3D body.offsetLeft;=0A=
		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset )=0A=
			top  +=3D parseInt( jQuery.curCSS(body, 'marginTop',  true), 10 ) || =
0,=0A=
			left +=3D parseInt( jQuery.curCSS(body, 'marginLeft', true), 10 ) || =
0;=0A=
		return { top: top, left: left };=0A=
	}=0A=
};=0A=
=0A=
=0A=
jQuery.fn.extend({=0A=
	position: function() {=0A=
		var left =3D 0, top =3D 0, results;=0A=
=0A=
		if ( this[0] ) {=0A=
			// Get *real* offsetParent=0A=
			var offsetParent =3D this.offsetParent(),=0A=
=0A=
			// Get correct offsets=0A=
			offset       =3D this.offset(),=0A=
			parentOffset =3D /^body|html$/i.test(offsetParent[0].tagName) ? { =
top: 0, left: 0 } : offsetParent.offset();=0A=
=0A=
			// Subtract element margins=0A=
			// note: when an element has margin: auto the offsetLeft and =
marginLeft =0A=
			// are the same in Safari causing offset.left to incorrectly be 0=0A=
			offset.top  -=3D num( this, 'marginTop'  );=0A=
			offset.left -=3D num( this, 'marginLeft' );=0A=
=0A=
			// Add offsetParent borders=0A=
			parentOffset.top  +=3D num( offsetParent, 'borderTopWidth'  );=0A=
			parentOffset.left +=3D num( offsetParent, 'borderLeftWidth' );=0A=
=0A=
			// Subtract the two offsets=0A=
			results =3D {=0A=
				top:  offset.top  - parentOffset.top,=0A=
				left: offset.left - parentOffset.left=0A=
			};=0A=
		}=0A=
=0A=
		return results;=0A=
	},=0A=
=0A=
	offsetParent: function() {=0A=
		var offsetParent =3D this[0].offsetParent || document.body;=0A=
		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && =
jQuery.css(offsetParent, 'position') =3D=3D 'static') )=0A=
			offsetParent =3D offsetParent.offsetParent;=0A=
		return jQuery(offsetParent);=0A=
	}=0A=
});=0A=
=0A=
=0A=
// Create scrollLeft and scrollTop methods=0A=
jQuery.each( ['Left', 'Top'], function(i, name) {=0A=
	var method =3D 'scroll' + name;=0A=
	=0A=
	jQuery.fn[ method ] =3D function(val) {=0A=
		if (!this[0]) return null;=0A=
=0A=
		return val !=3D=3D undefined ?=0A=
=0A=
			// Set the scroll offset=0A=
			this.each(function() {=0A=
				this =3D=3D window || this =3D=3D document ?=0A=
					window.scrollTo(=0A=
						!i ? val : jQuery(window).scrollLeft(),=0A=
						 i ? val : jQuery(window).scrollTop()=0A=
					) :=0A=
					this[ method ] =3D val;=0A=
			}) :=0A=
=0A=
			// Return the scroll offset=0A=
			this[0] =3D=3D window || this[0] =3D=3D document ?=0A=
				self[ i ? 'pageYOffset' : 'pageXOffset' ] ||=0A=
					jQuery.boxModel && document.documentElement[ method ] ||=0A=
					document.body[ method ] :=0A=
				this[0][ method ];=0A=
	};=0A=
});=0A=
// Create innerHeight, innerWidth, outerHeight and outerWidth methods=0A=
jQuery.each([ "Height", "Width" ], function(i, name){=0A=
=0A=
	var tl =3D i ? "Left"  : "Top",  // top or left=0A=
		br =3D i ? "Right" : "Bottom", // bottom or right=0A=
		lower =3D name.toLowerCase();=0A=
=0A=
	// innerHeight and innerWidth=0A=
	jQuery.fn["inner" + name] =3D function(){=0A=
		return this[0] ?=0A=
			jQuery.css( this[0], lower, false, "padding" ) :=0A=
			null;=0A=
	};=0A=
=0A=
	// outerHeight and outerWidth=0A=
	jQuery.fn["outer" + name] =3D function(margin) {=0A=
		return this[0] ?=0A=
			jQuery.css( this[0], lower, false, margin ? "margin" : "border" ) :=0A=
			null;=0A=
	};=0A=
	=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=
			// Everyone else use document.documentElement or document.body =
depending on Quirks vs Standards mode=0A=
			document.compatMode =3D=3D "CSS1Compat" && document.documentElement[ =
"client" + name ] ||=0A=
			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=
					document.documentElement["client" + name],=0A=
					document.body["scroll" + name], document.documentElement["scroll" + =
name],=0A=
					document.body["offset" + name], document.documentElement["offset" + =
name]=0A=
				) :=0A=
=0A=
				// Get or set width or height on the element=0A=
				size =3D=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, typeof size =3D=3D=3D "string" ? size : size + "px" =
);=0A=
	};=0A=
=0A=
});=0A=
})();=0A=

------=_NextPart_000_0164_01CBAD8C.D1AA80B0--

