From: "Saved by Windows Internet Explorer 8"
Subject: 
Date: Wed, 11 Apr 2012 09:06:29 -0700
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CD17C2.61CCD300"
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.17609

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.librarything.com/catalog_bottom.php?&printable=1

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<META content=3DNO-CACHE http-equiv=3DCACHE-CONTROL>
<META name=3DROBOTS content=3DNOINDEX,FOLLOW>
<META content=3DIE=3DEmulateIE8 http-equiv=3DX-UA-Compatible>
<META name=3Ddescription=20
content=3D"LibraryThing is a cataloging and social networking site for =
booklovers">
<META name=3Dkeywords=20
content=3D"librarything, library, thing, catalog your books, catalogue =
your books, book cataloging, library, free book catalog, catalogue">
<META name=3Dlanguage content=3Den><LINK rel=3Dicon type=3Dimage/x-icon=20
href=3D"/favicon.ico"><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.librarything.com/minified/css/01113dabbcf52d5b2f95ba51=
b0492785.css">
<SCRIPT language=3DJavascript type=3Dtext/javascript>=0A=
=0A=
var usernum =3D 835714;=0A=
=0A=
var collectionPick =3D -1;=0A=
var collectionPickOthers =3D 1;=0A=
	var viewmode =3D 'printable';=0A=
	var tagpage =3D '0';=0A=
	var inPrintable =3D '1';=0A=
	var trans_edit =3D 'edit';=0A=
	var trans_tagpage =3D "tag page";=0A=
	static_pics =3D 'http://static.librarything.com/';=0A=
		=0A=
	function mds(num)=0A=
		{=0A=
		var url =3D 'catalog_bottom.php?ddc=3D' + num + '&view=3DWHCLLibrary';=0A=
		window.location =3D url;=0A=
		return false;=0A=
		}=0A=
=0A=
	function tl(id)=0A=
		{=0A=
		var url =3D '/link.php?t=3Dc&u=3D835714&v=3D' + id;=0A=
		gotoaURL(url);=0A=
		}=0A=
	=0A=
	function ti(id, tagname, istag)=0A=
	{=0A=
	if(istag) { var torc =3D 't'; } else { var torc =3D 'c'; }=0A=
		=0A=
		clearTimeout();=0A=
		closetagbox();=0A=
		openword =3D torc + id;=0A=
		var tid =3D torc + id;=0A=
		=0A=
		if ($(tid).chromeAdded =3D=3D undefined)=0A=
			{=0A=
			$(tid).chromeAdded =3D true;=0A=
			var chrome =3D document.createElement('div');=0A=
			chrome.className =3D 'chrome';=0A=
			chrome.id =3D torc+'e'+id;=0A=
			$(tid).appendChild(chrome);=0A=
			if (id =3D=3D 0)=0A=
				{=0A=
				var chromeS =3D 'no editing';=0A=
				}=0A=
			else=0A=
				{=0A=
				var chromeS =3D '<a =
href=3D"javascript:tedit('+id+')">'+trans_edit+'</a> | <a =
href=3D"/link.php?t=3Dt&v=3D'+id+'" =
target=3D"_top">'+trans_tagpage+'</a> | <a rel=3D"nofollow" =
target=3D"_top" =
href=3D"/rss/yourtags/'+tagname+'&user=3DWHCLLibrary">RSS</a>';=0A=
				}=0A=
			chrome.innerHTML =3D chromeS; =0A=
			}=0A=
		$(tid).className =3D 'tag open';=0A=
	}=0A=
	=0A=
/* SPECIAL PAGES FUNCTIONS */=0A=
=0A=
var openspid =3D -1;=0A=
	=0A=
function spi(id)=0A=
	{=0A=
	closesp();=0A=
	var spid =3D 'sp'+id;=0A=
	$(spid).addClassName('open');=0A=
	openspid =3D id;=0A=
	}=0A=
=0A=
function closesp()=0A=
	{=0A=
	if (openspid !=3D=3D -1)=0A=
		{=0A=
		var spid =3D 'sp'+openspid;=0A=
		$(spid).removeClassName('open');=0A=
		}=0A=
	}=0A=
	=0A=
/* SPECIAL PAGES FUNCTIONS */=0A=
=0A=
	=0A=
function addtocollections(number)=0A=
{=0A=
url =3D '/ajax_collections_edit.php?tag=3D' + number;=0A=
LibraryThing.lightbox.ajax(url);=0A=
}=0A=
=0A=
function changerow(row, onoff)=0A=
{=0A=
//alert(onoff);=0A=
}=0A=
=0A=
function sortlightbox()=0A=
{=0A=
url =3D '/ajax_setsort.php?tag=3D1&sortURL=3D' + encodeURI(sortURL);=0A=
var params =3D {=0A=
	v: 1.0,=0A=
	height: 250,=0A=
	modal: false=0A=
	};=0A=
LibraryThing.lightbox.ajax(url, params);=0A=
}=0A=
=0A=
function loadmemberitems(whattype,reload,whatchanging,change)=0A=
	{=0A=
	if(whattype =3D=3D 1)=0A=
		{=0A=
		var url =3D "/ajax_page_memberauthors.php?viewnum=3D" + usernum;=0A=
		}=0A=
	if(whattype =3D=3D 2)=0A=
		{=0A=
		var url =3D "/ajax_page_memberseries.php?viewnum=3D" + usernum;=0A=
		}=0A=
		=0A=
	if(whatchanging =3D=3D 1)=0A=
		{=0A=
		var on =3D change;=0A=
		if(on =3D=3D 0) { var off =3D 1; } else { var off =3D 0; }=0A=
		$('memberitems_order_' + on).addClassName('ltbtn-selected');=0A=
		$('memberitems_order_' + off).removeClassName('ltbtn-selected');=0A=
		url =3D url + "&sort=3D" + change;=0A=
		}=0A=
	if(whatchanging =3D=3D 2)=0A=
		{=0A=
		var on =3D change;=0A=
		if(on =3D=3D 0) { var off =3D 1; } else { var off =3D 0; }=0A=
		$('memberitems_variants_' + on).addClassName('ltbtn-selected');=0A=
		$('memberitems_variants_' + off).removeClassName('ltbtn-selected');=0A=
		url =3D url + "&variants=3D" + change;=0A=
		}=0A=
	if(whatchanging =3D=3D 3)=0A=
		{=0A=
		var on =3D change;=0A=
		if(on =3D=3D 0) { var off =3D 1; } else { var off =3D 0; }=0A=
		$('memberitems_lastfirst_' + on).addClassName('ltbtn-selected');=0A=
		$('memberitems_lastfirst_' + off).removeClassName('ltbtn-selected');=0A=
		url =3D url + "&lastfirst=3D" + change;=0A=
		}=0A=
	if(whatchanging =3D=3D 4)=0A=
		{=0A=
		$('memberitems_columns_span').innerHTML =3D change;=0A=
		url =3D url + "&columns=3D" + change;=0A=
		}=0A=
	if(whatchanging =3D=3D 5)=0A=
		{=0A=
		var on =3D change;=0A=
		if(on =3D=3D 0) { var off =3D 1; } else { var off =3D 0; }=0A=
		$('memberitems_language_' + on).addClassName('ltbtn-selected');=0A=
		$('memberitems_language_' + off).removeClassName('ltbtn-selected');=0A=
		url =3D url + "&language=3D" + change;=0A=
		}=0A=
	if(reload)=0A=
		{=0A=
		fancy_ajax_updater(url, "", "memberitems");	=0A=
		}=0A=
	else=0A=
		{=0A=
		basic_ajax_updater(url, "", "memberitems");	=0A=
		}=0A=
	}=0A=
	=0A=
function LT_editData(e, tag) =0A=
	{=0A=
	setTimeout('',500);=0A=
	var cssh, cssw, w;=0A=
	var url =3D 'ajax_modifyData.php';=0A=
	var obj =3D eventTrigger(e); // Find what object triggered the event=0A=
	var found =3D 0;=0A=
	while (!found)=0A=
		{=0A=
		if (((obj.className =3D=3D 'ipe') || (obj.className =3D=3D =
'ipeHover')) && (obj.tagName =3D=3D 'TD') )=0A=
			{=0A=
			found =3D 1; =0A=
			}=0A=
		else =0A=
			{=0A=
			obj =3D obj.parentNode;=0A=
			}=0A=
		}=0A=
		=0A=
	var id =3D obj.id;=0A=
	var tagsArray =3D LT_findObjectsByClass(tag, id);	// Get all of the =
tags that are children of the triggered object=0A=
=0A=
	editObjects[id] =3D new cloneObject(obj);			// Clone the pre-edited =
table cell object so that we can fall back on a 'cancel'=0A=
	obj.onclick =3D nilEvent;							// change this so that further clicks =
don't set off this handler=0A=
	obj.ondblclick =3D nilEvent;=0A=
	obj.onmouseover =3D nilEvent;=0A=
	obj.onmouseout =3D nilEvent;=0A=
	obj.className =3D 'ipeActive';					// Change the class so that it looks =
different while editing.=0A=
	var i;=0A=
	var tagText =3D'';								// Now we have to build the comma delineated =
tag data for the form from the HTML data=0A=
	=0A=
	if (tagsArray.length > 0)=0A=
		{=0A=
		for (i=3D0; i< tagsArray.length; i++) =0A=
			{=0A=
			tagText +=3D tagsArray[i];=0A=
			if (i < tagsArray.length - 1)=0A=
				tagText +=3D ', ';=0A=
			}=0A=
		}=0A=
=0A=
	if (obj.clientHeight <=3D 30)=0A=
		cssh =3D 30;=0A=
	else=0A=
		cssh =3D obj.clientHeight;// - 15;  //put this back in when Safari =
gets with the party about forms.=0A=
		=0A=
	if (obj.clientWidth <=3D 135)=0A=
		cssw =3D 135;=0A=
	else=0A=
		cssw =3D obj.clientWidth - 12;=0A=
	=0A=
	// Main entry area=0A=
	var regex=3D/^\D+/i;=0A=
	var regex2=3D/\d+/;=0A=
	var tdType =3D regex.exec(obj.id);=0A=
	tdType =3D tdType[0];=0A=
	var bookID =3D regex2.exec(obj.id);=0A=
	var formHTML =3D '<form class=3D"editForm" id=3D"form'+id+'" =
name=3D"form'+id+'" style=3D"margin:0">';=0A=
	var cursorPlacement =3D 2;  // 0=3Dstart, 1=3Dend, 2=3Dhighlighted at =
end=0A=
	=0A=
	// Check for returns in the form to submit it...but not for the verbose =
cells such as....=0A=
	if 	(	(tdType =3D=3D 'comments') =0A=
		|| 	(tdType =3D=3D 'reviewtext') =0A=
		|| (tdType =3D=3D 'summary') =0A=
		)=0A=
		var keyPressCheck =3D '';=0A=
	else=0A=
		var keyPressCheck =3D =
'onKeyPress=3D\"checkForEnterKey(event,\''+id+'\',\''+url+'\',\''+tag+'\'=
);"';=0A=
	=0A=
	if ((tdType =3D=3D=3D 'crstarted') || (tdType =3D=3D=3D 'crfinished'))=0A=
		{=0A=
		var cancelit =3D function (bookID) =0A=
			{=0A=
			cancelEdit(obj.id);=0A=
			};=0A=
		var happyending =3D function(bookid) =0A=
			{=0A=
			cancelEdit(obj.id);=0A=
			};=0A=
		var crparams =3D { callbackFailure: cancelEdit(obj.id), =0A=
						callbackSuccess: cancelEdit(obj.id)=0A=
						};=0A=
		LibraryThing.collections.currentlyReading.openCRLightbox(bookID, =
crparams);=0A=
		=0A=
		/*=0A=
		var crbuttonid =3D 'currentlyReadingButton'+bookID;=0A=
		LibraryThing.lightbox.ajax('/ajax_cr_details.php', {=0A=
															callbackFailure: cancelit, =0A=
															callbackSuccess: happyending, =0A=
															ajaxparams: {=0A=
																bookid:bookID, =0A=
																buttonid:crbuttonid, =0A=
																lightboxed:true=0A=
															}=0A=
														});=0A=
		*/=0A=
		return;=0A=
		}=0A=
	else if (tdType =3D=3D 'bcid')=0A=
		{=0A=
		var bcidArray =3D tagText.split("-");=0A=
		if (bcidArray[1] =3D=3D null) { bcidArray[0] =3D ''; bcidArray[1] =3D =
''; }=0A=
		formHTML +=3D '<div class=3D"bcidIPEbox"><input id=3D"editArea" =
name=3D"bcid1" type=3D"text" size=3D"3" maxlength=3D"3" =
value=3D"'+bcidArray[0]+'"> &ndash; ';=0A=
		formHTML +=3D '<input name=3D"bcid2" type=3D"text" size=3D"7" =
maxlength=3D"10" value=3D"'+bcidArray[1]+'"></div>';=0A=
		cursorPlacement =3D 2;=0A=
		}=0A=
	else if (tdType =3D=3D 'author')=0A=
		{=0A=
		var hiddenAuthor =3D LT_findObj('hiddenAuthor'+bookID);=0A=
		var hiddenData =3D hiddenAuthor.innerHTML;=0A=
		var ai;=0A=
		var areg =3D/\s\s+/;=0A=
		var authT =3D tagText.replace(areg,'');=0A=
		var aaa =3D authT.split(' ');=0A=
		tagText =3D '';=0A=
		for (ai=3D0; ai < aaa.length - 1; ai++)=0A=
   			{=0A=
			tagText +=3D " ";=0A=
			tagText +=3D aaa[ai];=0A=
    		}=0A=
		tagText =3D aaa[(aaa.length-1)] + ", " + tagText;=0A=
		formHTML +=3D '<textarea class=3D"editArea" name=3D"editArea" =
cols=3D"'+obj.clientWidth/2+'" rows=3D"5" =
style=3D"width:'+cssw+'px;height:'+cssh+'px;" =
'+keyPressCheck+'>'+hiddenData+'</textarea> ';=0A=
		cursorPlacement =3D 2;=0A=
		}=0A=
	else =0A=
		{=0A=
		var regexBR=3D/\<br\>/gi;=0A=
		tagText =3D tagText.replace(regexBR,"\n");=0A=
		formHTML +=3D '<textarea class=3D"editArea" name=3D"editArea" =
cols=3D"'+obj.clientWidth/2+'" rows=3D"5" =
style=3D"width:'+cssw+'px;height:'+cssh+'px;" =
'+keyPressCheck+'>'+tagText+'</textarea> ';=0A=
		}=0A=
	=0A=
	// Input hints (bottom of form)=0A=
	// _______________________________=0A=
	=0A=
	if (tdType =3D=3D 'authorunflip')=0A=
		{=0A=
		formHTML +=3D '<div class=3D"ipeInputHint">format: Last, First</div>';=0A=
		}=0A=
	else if (tdType =3D=3D 'author')=0A=
		formHTML +=3D '<div class=3D"ipeInputHint">format: <span =
style=3D"color:#c00;">Last, First</span></div>';=0A=
	else if (tdType =3D=3D 'otherauthors')=0A=
		formHTML +=3D '<div class=3D"ipeInputHint">format: First Last, First =
Last, &hellip;</div>';=0A=
	=0A=
	formHTML +=3D '<div class=3D"formButtons">';=0A=
	=0A=
	=0A=
	formHTML +=3D '<div class=3D"cancelButton">';	=0A=
	if(tdType =3D=3D 'reviewtext')=0A=
		{=0A=
		formHTML +=3D '<input onclick=3D"return =
submitEdit(\''+id+'\',\''+url+'\',\''+tag+'\'); return false;" =
type=3D"button" value=3D"Save review">';=0A=
		}=0A=
	else=0A=
		{	=0A=
		formHTML +=3D '<input onclick=3D"return =
submitEdit(\''+id+'\',\''+url+'\',\''+tag+'\'); return false;" =
type=3D"button" value=3D"Save">';=0A=
		}	=0A=
	formHTML +=3D '<input onclick=3D"return cancelEdit(\''+id+'\'); return =
false;" type=3D"button" value=3D"Cancel"> \=0A=
			</div></div>';=0A=
			=0A=
		=0A=
			=0A=
	formHTML +=3D '</form>';=0A=
			=0A=
	// <img src=3D"/pics/cancel-0.gif" alt=3D"Cancel">=0A=
	// <img src=3D"/pics/save-0.gif" alt=3D"Save">=0A=
			=0A=
	obj.innerHTML =3D '';=0A=
	obj.innerHTML =3D formHTML;=0A=
	=0A=
	var eformname =3D 'form'+id;=0A=
	var eform =3D LT_findObj(eformname);=0A=
	eform.editArea.focus();=0A=
	//eform.editArea.selectionStart =3D 0;=0A=
	if (cursorPlacement =3D=3D 1)=0A=
		{=0A=
		eform.editArea.selectionStart =3D eform.editArea.textLength;=0A=
		}=0A=
	else=0A=
		{=0A=
		eform.editArea.selectionStart =3D 0;=0A=
		eform.editArea.selectionEnd =3D eform.editArea.textLength;=0A=
		}=0A=
	}=0A=
=0A=
</SCRIPT>

<SCRIPT language=3DJavascript type=3Dtext/javascript=20
src=3D"http://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.j=
s"></SCRIPT>

<SCRIPT language=3DJavascript type=3Dtext/javascript=20
src=3D"http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/effects.j=
s"></SCRIPT>

<SCRIPT language=3DJavascript type=3Dtext/javascript=20
src=3D"http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/dragdrop.=
js"></SCRIPT>

<SCRIPT language=3DJavascript type=3Dtext/javascript=20
src=3D"http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/controls.=
js"></SCRIPT>

<SCRIPT language=3DJavascript type=3Dtext/javascript=20
src=3D"http://www.librarything.com/minified/js/6305e494954e1793341fe99158=
fb674b.js"></SCRIPT>

<SCRIPT language=3DJavascript type=3Dtext/javascript=20
src=3D"http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/slider.js=
"></SCRIPT>

<SCRIPT language=3DJavascript type=3Dtext/javascript=20
src=3D"http://www.librarything.com/minified/js/9685b3a1cc70d3d46a8cce10f8=
7516a2.js"></SCRIPT>

<STYLE type=3Dtext/css media=3Dall>IMG.selected {
	BORDER-BOTTOM: green 3px solid; FILTER: alpha(opacity=3D70); =
BORDER-LEFT: green 3px solid; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; BORDER-TOP: green 3px solid; BORDER-RIGHT: green 3px =
solid; PADDING-TOP: 2px; -moz-opacity: 0.7; opacity: .70
}
.showmore_show .showmore_showlink {
	DISPLAY: none !important
}
.showmore .showmore_hide {
	DISPLAY: none !important
}
DIV.content {
	MARGIN: 0px; WIDTH: 100% !important
}
TABLE#lt_catalog_list {
	MARGIN: 0px; WIDTH: 100% !important
}
BODY {
	MARGIN: 0px 10px
}
TABLE#lt_catalog_list {
	TABLE-LAYOUT: auto !important
}
DIV.content {
	PADDING-BOTTOM: 0px !important; MARGIN: 0px; PADDING-LEFT: 0px =
!important; PADDING-RIGHT: 0px !important; PADDING-TOP: 0px !important
}
* HTML {
	PADDING-BOTTOM: 0px !important; MARGIN: 0px; PADDING-LEFT: 0px =
!important; PADDING-RIGHT: 0px !important; PADDING-TOP: 0px !important
}
.words {
	PADDING-BOTTOM: 7px; PADDING-LEFT: 17px; PADDING-RIGHT: 7px; =
FONT-FAMILY: Georgia; COLOR: #e8edb2 !important; FONT-SIZE: 9px; CURSOR: =
pointer; PADDING-TOP: 21px
}
</STYLE>

<META name=3DGENERATOR content=3D"MSHTML 8.00.7601.17744"></HEAD>
<BODY class=3Dprintable viewmode=3D"printable"><A name=3Dtop></A>
<DIV id=3Dcontent class=3Dcontent>
<DIV id=3DtopBarThing class=3DtopBarThing>
<DIV id=3DtopBarGrad></DIV><IMG id=3Dgifcom=20
src=3D"http://www.librarything.com/spaceball.gif" width=3D1 =
height=3D1></DIV>
<DIV style=3D"MARGIN-TOP: 55px !important" id=3DbreadcrumbContainer=20
class=3D"breadcrumbContainer showmore"></DIV>
<DIV class=3Dprintable>
<DIV id=3DprintableNotice><IMG id=3Dlticon alt=3DLT=20
src=3D"http://www.librarything.com/favicon.ico"> This is your catalog in =
printable=20
form. Simply print this page using your browser's print command. </DIV>
<TABLE id=3Dlt_catalog_list class=3Dcatalog border=3D0 cellSpacing=3D0 =
cellPadding=3D0>
  <THEAD>
  <TR class=3Dtablehead>
    <TD id=3Dhead_title><A onclick=3D"setSort('title')"=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?">Title</A></TD>
    <TD id=3Dhead_author><A onclick=3D"setSort('authorunflip')"=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?">Author</A></TD>
    <TD id=3Dhead_date><A onclick=3D"setSort('date')"=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?">Date</A></TD>
    <TD id=3Dhead_tags><A onclick=3D"setSort('tags')"=20
      href=3D"http://www.librarything.com/catalog_bottom.php?">Tags<IMG =
hspace=3D6=20
      src=3D"http://static.librarything.com/pics/sort-down.gif" =
width=3D9=20
      height=3D5></A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    <TD id=3Dhead_comments><A onclick=3D"setSort('comments')"=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?">Comments</A></TD=
>
    <TD id=3Dhead_toolpad>&nbsp;</TD></TR></THEAD>
  <TFOOT>
  <TR>
    <TD id=3DprintableFooter colSpan=3D100><IMG id=3Dlticon alt=3DLT=20
      src=3D"http://www.librarything.com/favicon.ico"> This report was =
generated=20
      by LibraryThing.com using the following catalog URL: <SPAN=20
      =
id=3DprintableStampURL>http://www.librarything.com/catalog/WHCLLibrary</S=
PAN></TD></TR>
  <TR>
    <TD class=3DworkdataExp colSpan=3D100>* Green text is "calculated" =
text.=20
      Calculated text is provided when your own data are absent, and is =
either=20
      based on other columns in your catalog (eg., the "summary" field) =
or from=20
      books in other members' libraries (eg., Dewey, LCC and=20
  subjects).</TD></TR></TFOOT>
  <TBODY>
  <TR id=3Dcatrow_83822294 class=3Dodd>
    <TD><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/656379/book/83822294"=20
      target=3D_top>Introduction to Criminal Justice</A></TD>
    <TD><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83822294"=20
      rel=3Dnofollow target=3D_top>Robert Bohm</A>
      <DIV id=3DhiddenAuthor83822294 class=3Dhidden>Bohm, =
Robert</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+1&amp;vi=
ew=3Dwhcllibrary">AOJ=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>7th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50447450 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2552879/book/50447450"=20
      target=3D_top>Criminal Procedure for the Criminal Justice=20
Professional</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50447450"=20
      rel=3Dnofollow target=3D_top>John N. Ferdico</A>
      <DIV id=3DhiddenAuthor50447450 class=3Dhidden>Ferdico, John =
N.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+10&amp;v=
iew=3Dwhcllibrary">AOJ=20
      10</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Tenth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50447740 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8921076/book/50447740"=20
      target=3D_top>For the Record: Report Writing in Law Enforcement, =
Sixth=20
      Edition.</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50447740"=20
      rel=3Dnofollow target=3D_top>Karen M. Hess</A>
      <DIV id=3DhiddenAuthor50447740 class=3Dhidden>Hess, Karen =
M.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+12&amp;v=
iew=3Dwhcllibrary">AOJ=20
      12</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Sixth Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50447682 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8921069/book/50447682"=20
      target=3D_top>Community Relations Concepts</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50447682"=20
      rel=3Dnofollow target=3D_top>Denny F. Pace</A>
      <DIV id=3DhiddenAuthor50447682 class=3Dhidden>Pace, Denny =
F.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2002</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+16&amp;v=
iew=3Dwhcllibrary">AOJ=20
      16</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Fourth Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_78108726 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/10537307/book/78108726"=20
      target=3D_top>Counseling Criminal Justice Offenders</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D78108726"=20
      rel=3Dnofollow target=3D_top>Ruth E. Masters</A>
      <DIV id=3DhiddenAuthor78108726 class=3Dhidden>Masters, Ruth =
E.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2003</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+16&amp;v=
iew=3Dwhcllibrary">AOJ=20
      16</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Second=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50447940 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/810647/book/50447940"=20
      target=3D_top>Criminal Law</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50447940"=20
      rel=3Dnofollow target=3D_top>Thomas J. Gardner</A>
      <DIV id=3DhiddenAuthor50447940 class=3Dhidden>Gardner, Thomas =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+20&amp;v=
iew=3Dwhcllibrary">AOJ=20
      20</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Ninth Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50448006 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/463088/book/50448006"=20
      target=3D_top>Criminal Evidence: Principles and Cases</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50448006"=20
      rel=3Dnofollow target=3D_top>Thomas J. Gardner</A>
      <DIV id=3DhiddenAuthor50448006 class=3Dhidden>Gardner, Thomas =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+22&amp;v=
iew=3Dwhcllibrary">AOJ=20
      22</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Sixth Edition<BR>Two=20
    Copies</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50448448 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2707800/book/50448448"=20
      target=3D_top>California Penal Code 2007</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50448448"=20
      rel=3Dnofollow target=3D_top>West</A>
      <DIV id=3DhiddenAuthor50448448 class=3Dhidden>West</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+22&amp;v=
iew=3Dwhcllibrary">AOJ=20
      22</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>2007 Desktop =
Edition<BR>One=20
      Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_55569264 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/4045540/book/55569264"=20
      target=3D_top>Criminal Investigation</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D55569264"=20
      rel=3Dnofollow target=3D_top>K=C3=A4ren M. Hess</A>
      <DIV id=3DhiddenAuthor55569264 class=3Dhidden>Hess, K=C3=A4ren =
M.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+24&amp;v=
iew=3Dwhcllibrary">AOJ=20
      24</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Ninth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50448282 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/252678/book/50448282"=20
      target=3D_top>Criminology (with CD-ROM and InfoTrac )</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50448282"=20
      rel=3Dnofollow target=3D_top>Larry J. Siegel</A>
      <DIV id=3DhiddenAuthor50448282 class=3Dhidden>Siegel, Larry =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+29&amp;v=
iew=3Dwhcllibrary">AOJ=20
      29</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Tenth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50446930 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/4177452/book/50446930"=20
      target=3D_top>Corrections in the 21st Century</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50446930"=20
      rel=3Dnofollow target=3D_top>Frank Schmalleger</A>
      <DIV id=3DhiddenAuthor50446930 class=3Dhidden>Schmalleger, =
Frank</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+3&amp;vi=
ew=3Dwhcllibrary">AOJ=20
      3</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Fouth Edition<BR>Two=20
    Copies</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50448123 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3228199/book/50448123"=20
      target=3D_top>Study Guide for Siegel/Welsh/Senna's Juvenile =
Delinquency:=20
      Theory, Practice, and Law, 9th</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50448123"=20
      rel=3Dnofollow target=3D_top>Larry J. Siegel</A>
      <DIV id=3DhiddenAuthor50448123 class=3Dhidden>Siegel, Larry =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+32&amp;v=
iew=3Dwhcllibrary">AOJ=20
      32</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Ninth Edition<BR>One=20
      Copy<BR>Bootleg Cover</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50447522 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8129048/book/50447522"=20
      target=3D_top>Law and Contemporary Corrections</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50447522"=20
      rel=3Dnofollow target=3D_top>Christopher E. Smith</A>
      <DIV id=3DhiddenAuthor50447522 class=3Dhidden>Smith, Christopher =
E.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1999</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DAOJ+7&amp;vi=
ew=3Dwhcllibrary">AOJ=20
      7</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50448896 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/6087635/book/50448896"=20
      target=3D_top>Gardner's Art through the Ages: A Global History, =
Volume I=20
      (with ArtStudy Printed Access Card and Timeline)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50448896"=20
      rel=3Dnofollow target=3D_top>Fred S. Kleiner</A>
      <DIV id=3DhiddenAuthor50448896 class=3Dhidden>Kleiner, Fred =
S.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DArt+16A&amp;=
view=3Dwhcllibrary">Art=20
      16A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Thirteenth =
Edition<BR>Volume=20
      1<BR>One Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50449285 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/251085/book/50449285"=20
      target=3D_top>Writing About Art</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50449285"=20
      rel=3Dnofollow target=3D_top>Henry M. Sayre</A>
      <DIV id=3DhiddenAuthor50449285 class=3Dhidden>Sayre, Henry =
M.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DArt+16A&amp;=
view=3Dwhcllibrary">Art=20
      16A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Fifth Edition<BR>Three=20
      Copies</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50449154 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/6088147/book/50449154"=20
      target=3D_top>Gardner's Art through the Ages: A Global History, =
Volume II=20
      (with ArtStudy Printed Access Card and Timeline)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50449154"=20
      rel=3Dnofollow target=3D_top>Fred S. Kleiner</A>
      <DIV id=3DhiddenAuthor50449154 class=3Dhidden>Kleiner, Fred =
S.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DArt+16B&amp;=
view=3Dwhcllibrary">Art=20
      16B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two =
Copies<BR>Thirteenth=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_63913401 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/524773/book/63913401"=20
      target=3D_top>Prebles' Artforms (9th Edition) (MyArtKit =
Series)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D63913401"=20
      rel=3Dnofollow target=3D_top>Patrick L. Frank</A>
      <DIV id=3DhiddenAuthor63913401 class=3Dhidden>Frank, Patrick =
L.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DART+42&amp;v=
iew=3Dwhcllibrary">ART=20
      42</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Ninth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50449376 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8921282/book/50449376"=20
      target=3D_top>Launching the Imagination 3D</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50449376"=20
      rel=3Dnofollow target=3D_top>Mary Stewart</A>
      <DIV id=3DhiddenAuthor50449376 class=3Dhidden>Stewart, =
Mary</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DArt+6A&amp;v=
iew=3Dwhcllibrary">Art=20
      6A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Third Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_64112418 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/9424665/book/64112418"=20
      target=3D_top>Biology: Concepts and Connections with =
mybiology"</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D64112418"=20
      rel=3Dnofollow target=3D_top>Neil A. Campbell</A>
      <DIV id=3DhiddenAuthor64112418 class=3Dhidden>Campbell, Neil =
A.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+10&amp;v=
iew=3Dwhcllibrary">BIO=20
      10</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Seventh Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50450636 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/796737/book/50450636" =
target=3D_top>A=20
      Brief Atlas of the Human Body</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50450636"=20
      rel=3Dnofollow target=3D_top>Matt Hutchinson</A>
      <DIV id=3DhiddenAuthor50450636 class=3Dhidden>Hutchinson, =
Matt</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+32&amp;v=
iew=3Dwhcllibrary">BIO=20
      32</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Second Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83821815 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3943613/book/83821815"=20
      target=3D_top>Human Anatomy Laboratory Manual with Cat Dissections =
(6th=20
      Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83821815"=20
      rel=3Dnofollow target=3D_top>Elaine N. Marieb</A>
      <DIV id=3DhiddenAuthor83821815 class=3Dhidden>Marieb, Elaine =
N.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+32&amp;v=
iew=3Dwhcllibrary">BIO=20
      32</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84064289 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/479777/book/84064289"=20
      target=3D_top>Human Anatomy &amp; Physiology (Mastering Package =
Component=20
      Item)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84064289"=20
      rel=3Dnofollow target=3D_top>Elaine N. Marieb</A>
      <DIV id=3DhiddenAuthor84064289 class=3Dhidden>Marieb, Elaine =
N.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+32+%26+3=
5&amp;view=3Dwhcllibrary">BIO=20
      32 &amp; 35</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>8th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50450726 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/479777/book/50450726"=20
      target=3D_top>Human Anatomy &amp; Physiology</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50450726"=20
      rel=3Dnofollow target=3D_top>Elaine Nicpon Marieb</A>
      <DIV id=3DhiddenAuthor50450726 class=3Dhidden>Marieb, Elaine =
Nicpon</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+32%2F35&=
amp;view=3Dwhcllibrary">BIO=20
      32/35</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy<BR></SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50450777 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8921451/book/50450777"=20
      target=3D_top>Physioex 8.0 for A&amp;p: Laboratory Simulations in=20
      Physiology</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50450777"=20
      rel=3Dnofollow target=3D_top>Peter Z. Zao</A>
      <DIV id=3DhiddenAuthor50450777 class=3Dhidden>Zao, Peter =
Z.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+35&amp;v=
iew=3Dwhcllibrary">BIO=20
      35</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>PhysioEx 8.0<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_77824194 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/7672046/book/77824194"=20
      target=3D_top>Interactive Physiology 10-System Suite</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D77824194"=20
      rel=3Dnofollow target=3D_top>Benjamin Cummings</A>
      <DIV id=3DhiddenAuthor77824194 class=3Dhidden>Cummings, =
Benjamin</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+35&amp;v=
iew=3Dwhcllibrary">BIO=20
      35</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50449578 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/193053/book/50449578"=20
      target=3D_top>Microbiology: An Introduction (10th =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50449578"=20
      rel=3Dnofollow target=3D_top>Gerard J. Tortora</A>
      <DIV id=3DhiddenAuthor50449578 class=3Dhidden>Tortora, Gerard =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+38&amp;v=
iew=3Dwhcllibrary">BIO=20
      38</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Tenth Edition<BR>One=20
    copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50449791 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/6978949/book/50449791"=20
      target=3D_top>Laboratory Experiments in Microbiology (9th =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50449791"=20
      rel=3Dnofollow target=3D_top>Ted R. Johnson</A>
      <DIV id=3DhiddenAuthor50449791 class=3Dhidden>Johnson, Ted =
R.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBIO+38&amp;v=
iew=3Dwhcllibrary">BIO=20
      38</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Ninth Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50477723 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2492444/book/50477723"=20
      target=3D_top>Essentials of Business Law and the Legal =
Environment</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50477723"=20
      rel=3Dnofollow target=3D_top>Richard A. Mann</A>
      <DIV id=3DhiddenAuthor50477723 class=3Dhidden>Mann, Richard =
A.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+18&amp;v=
iew=3Dwhcllibrary">BUS=20
      18</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Ninth Edition <BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83821409 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/5267486/book/83821409"=20
      target=3D_top>Financial &amp; Managerial Accounting</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83821409"=20
      rel=3Dnofollow target=3D_top>Carl S. Warren</A>
      <DIV id=3DhiddenAuthor83821409 class=3Dhidden>Warren, Carl =
S.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+1A%2F1B&=
amp;view=3Dwhcllibrary">BUS=20
      1A/1B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy <BR>11th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84064386 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/333371/book/84064386"=20
      target=3D_top>Business</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84064386"=20
      rel=3Dnofollow target=3D_top>William M. Pride</A>
      <DIV id=3DhiddenAuthor84064386 class=3Dhidden>Pride, William =
M.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+20&amp;v=
iew=3Dwhcllibrary">BUS=20
      20</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>11th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_75589638 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/9778030/book/75589638"=20
      target=3D_top>Contemporary Business Mathematics for Colleges (with =

      CD-ROM)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D75589638"=20
      rel=3Dnofollow target=3D_top>James E. Deitz</A>
      <DIV id=3DhiddenAuthor75589638 class=3Dhidden>Deitz, James =
E.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+24&amp;v=
iew=3Dwhcllibrary">BUS=20
      24</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>15 Th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83822409 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1532731/book/83822409"=20
      target=3D_top>Business Communication Today (11th Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83822409"=20
      rel=3Dnofollow target=3D_top>Courtland Bovee</A>
      <DIV id=3DhiddenAuthor83822409 class=3Dhidden>Bovee, =
Courtland</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+28&amp;v=
iew=3Dwhcllibrary">BUS=20
      28</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>11th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_55608136 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/153861/book/55608136"=20
      target=3D_top>Small Business Management: Launching and Growing=20
      Entrepreneurial Ventures (with Printed Access Card)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D55608136"=20
      rel=3Dnofollow target=3D_top>Justin G. Longenecker</A>
      <DIV id=3DhiddenAuthor55608136 class=3Dhidden>Longenecker, Justin =
G.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+32&amp;v=
iew=3Dwhcllibrary">BUS=20
      32</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fiftenth=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_75589458 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/222026/book/75589458"=20
      target=3D_top>Managing Human Resources</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D75589458"=20
      rel=3Dnofollow target=3D_top>George W. Bohlander</A>
      <DIV id=3DhiddenAuthor75589458 class=3Dhidden>Bohlander, George =
W.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+35&amp;v=
iew=3Dwhcllibrary">BUS=20
      35</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>15 Th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50478638 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2991637/book/50478638"=20
      target=3D_top>Business English at Work</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50478638"=20
      rel=3Dnofollow target=3D_top>Susan Jaderstrom</A>
      <DIV id=3DhiddenAuthor50478638 class=3Dhidden>Jaderstrom, =
Susan</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+59&amp;v=
iew=3Dwhcllibrary">BUS=20
      59</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Third Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50478542 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3330356/book/50478542"=20
      target=3D_top>Professional Office Procedures (4th =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50478542"=20
      rel=3Dnofollow target=3D_top>Susan H. Cooperman</A>
      <DIV id=3DhiddenAuthor50478542 class=3Dhidden>Cooperman, Susan =
H.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+69&amp;v=
iew=3Dwhcllibrary">BUS=20
      69</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Fourth Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84287983 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/689149/book/84287983"=20
      target=3D_top>Entrepreneurship: Starting and Operating a Small =
Business (2nd=20
      Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84287983"=20
      rel=3Dnofollow target=3D_top>Steve Mariotti</A>
      <DIV id=3DhiddenAuthor84287983 class=3Dhidden>Mariotti, =
Steve</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+7&amp;vi=
ew=3Dwhcllibrary">BUS=20
      7</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy <BR>2=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50478137 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/4779704/book/50478137"=20
      target=3D_top>Keyboarding &amp; Word Processing, Lessons 1-60: =
Certified=20
      Approach (College Keyboarding)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50478137"=20
      rel=3Dnofollow target=3D_top>Susie H. VanHuss</A>
      <DIV id=3DhiddenAuthor50478137 class=3Dhidden>VanHuss, Susie =
H.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DBUS+80A&amp;=
view=3Dwhcllibrary">BUS=20
      80A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>17 Th Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83820825 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1894538/book/83820825"=20
      target=3D_top>Creative Arts for Young Children Professional =
Enhancement=20
      Supplement</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83820825"=20
      rel=3Dnofollow target=3D_top>Mary Mayesky</A>
      <DIV id=3DhiddenAuthor83820825 class=3Dhidden>Mayesky, =
Mary</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCD+16&amp;vi=
ew=3Dwhcllibrary">CD=20
      16</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy<BR></SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83821698 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1942726/book/83821698"=20
      target=3D_top>Creative Activities for Young Children</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83821698"=20
      rel=3Dnofollow target=3D_top>Mary Mayesky</A>
      <DIV id=3DhiddenAuthor83821698 class=3Dhidden>Mayesky, =
Mary</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCD+16&amp;vi=
ew=3Dwhcllibrary">CD=20
      16</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Tenth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_69433612 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3364969/book/69433612"=20
      target=3D_top>Supervision in Early Childhood Education: A =
Developmental=20
      Perspective (Early Childhood Education Series (Teachers College =
Pr))=20
      (Early Childhood Education (Teacher's College Pr))</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D69433612"=20
      rel=3Dnofollow target=3D_top>Joseph J. Caruso</A>
      <DIV id=3DhiddenAuthor69433612 class=3Dhidden>Caruso, Joseph =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCD+22&amp;vi=
ew=3Dwhcllibrary">CD=20
      22</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Third=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50675859 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/32468/book/50675859"=20
      target=3D_top>Becoming the Parent You Want To Be: A Sourcebook of =
Strategies=20
      for the First Five Years</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50675859"=20
      rel=3Dnofollow target=3D_top>Laura Davis</A>
      <DIV id=3DhiddenAuthor50675859 class=3Dhidden>Davis, =
Laura</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1997</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCD+4&amp;vie=
w=3Dwhcllibrary">CD=20
      4</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    1</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50675815 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1598174/book/50675815"=20
      target=3D_top>Children</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50675815"=20
      rel=3Dnofollow target=3D_top>John Santrock</A>
      <DIV id=3DhiddenAuthor50675815 class=3Dhidden>Santrock, =
John</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCD+5&amp;vie=
w=3Dwhcllibrary">CD=20
      5</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eleventh=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50677030 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/5044304/book/50677030"=20
      target=3D_top>Early Childhood Special Education: Birth to Age =
Eight</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50677030"=20
      rel=3Dnofollow target=3D_top>Frank G. Bowe</A>
      <DIV id=3DhiddenAuthor50677030 class=3Dhidden>Bowe, Frank =
G.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2003</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCD+7&amp;vie=
w=3Dwhcllibrary">CD=20
      7</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50675142 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/9082548/book/50675142"=20
      target=3D_top>Chemistry: The Molecular Nature Of Matter And =
Change</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50675142"=20
      rel=3Dnofollow target=3D_top>Martin Silberberg</A>
      <DIV id=3DhiddenAuthor50675142 class=3Dhidden>Silberberg, =
Martin</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCHEM+1A&amp;=
view=3Dwhcllibrary">CHEM=20
      1A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83821626 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1179543/book/83821626"=20
      target=3D_top>Introductory Chemistry: An Active Learning =
Approach</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83821626"=20
      rel=3Dnofollow target=3D_top>Mark S. Cracolice</A>
      <DIV id=3DhiddenAuthor83821626 class=3Dhidden>Cracolice, Mark =
S.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCHEM+2A&amp;=
view=3Dwhcllibrary">CHEM=20
      2A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>4th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50706628 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/6279179/book/50706628"=20
      target=3D_top>Advances in Universal Web Design and Evaluation: =
Research,=20
      Trends and Opportunities</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50706628"=20
      rel=3Dnofollow target=3D_top>Sri Kurniawan</A>
      <DIV id=3DhiddenAuthor50706628 class=3Dhidden>Kurniawan, =
Sri</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCIS+16&amp;v=
iew=3Dwhcllibrary">CIS=20
      16</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    One</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50706655 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8854868/book/50706655"=20
      target=3D_top>Advances in Computer-Supported Learning</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50706655"=20
      rel=3Dnofollow target=3D_top>Francisco Milton Mendes Neto</A>
      <DIV id=3DhiddenAuthor50706655 class=3Dhidden>Neto, Francisco =
Milton=20
      Mendes</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCIS+16&amp;v=
iew=3Dwhcllibrary">CIS=20
      16</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    One</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83822497 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/12028308/book/83822497"=20
      target=3D_top>E-Commerce 2012 (8th Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83822497"=20
      rel=3Dnofollow target=3D_top>Kenneth Laudon</A>
      <DIV id=3DhiddenAuthor83822497 class=3Dhidden>Laudon, =
Kenneth</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCIS+2G&amp;v=
iew=3Dwhcllibrary">CIS=20
      2G</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>8th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_79752469 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3004273/book/79752469"=20
      target=3D_top>Microsoft Office 2007: Introductory Concepts and =
Techniques,=20
      Premium Video Edition (Shelly Cashman)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D79752469"=20
      rel=3Dnofollow target=3D_top>Gary B. Shelly</A>
      <DIV id=3DhiddenAuthor79752469 class=3Dhidden>Shelly, Gary =
B.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCIS+7&amp;vi=
ew=3Dwhcllibrary">CIS=20
      7</A></TD>
    <TD class=3DnoEdit><SPAN =
class=3Dlt-comments>&nbsp;</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83226219 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3004273/book/83226219"=20
      target=3D_top>Microsoft Office 2007: Introductory Concepts and =
Techniques,=20
      Premium Video Edition (Shelly Cashman)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83226219"=20
      rel=3Dnofollow target=3D_top>Gary B. Shelly</A>
      <DIV id=3DhiddenAuthor83226219 class=3Dhidden>Shelly, Gary =
B.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCIS+7&amp;vi=
ew=3Dwhcllibrary">CIS=20
      7</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84064462 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/7555413/book/84064462"=20
      target=3D_top>Cengage Advantage Books: Essentials of Public =
Speaking</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84064462"=20
      rel=3Dnofollow target=3D_top>Cheryl Hamilton</A>
      <DIV id=3DhiddenAuthor84064462 class=3Dhidden>Hamilton, =
Cheryl</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCOM+1&amp;vi=
ew=3Dwhcllibrary">COM=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>5th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50707132 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2689168/book/50707132"=20
      target=3D_top>Arguments and Arguing: The Products and Process of =
Human=20
      Decision Making, Second Edition</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50707132"=20
      rel=3Dnofollow target=3D_top>Thomas A. Hollihan</A>
      <DIV id=3DhiddenAuthor50707132 class=3Dhidden>Hollihan, Thomas =
A.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCOM+3&amp;vi=
ew=3Dwhcllibrary">COM=20
      3</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Second=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84064536 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2185027/book/84064536"=20
      target=3D_top>Communicating in Groups: Applications and =
Skills</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84064536"=20
      rel=3Dnofollow target=3D_top>Katherine Adams</A>
      <DIV id=3DhiddenAuthor84064536 class=3Dhidden>Adams, =
Katherine</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCOM+4&amp;vi=
ew=3Dwhcllibrary">COM=20
      4</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>8th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50706943 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/922382/book/50706943"=20
      target=3D_top>Interplay: The Process of Interpersonal =
Communication</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50706943"=20
      rel=3Dnofollow target=3D_top>Ronald B. Adler</A>
      <DIV id=3DhiddenAuthor50706943 class=3Dhidden>Adler, Ronald =
B.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCOM+5&amp;vi=
ew=3Dwhcllibrary">COM=20
      5</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eleventh=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50707562 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1273731/book/50707562"=20
      target=3D_top>Servsafe Essentials</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50707562"=20
      rel=3Dnofollow target=3D_top>Educational Foundation</A>
      <DIV id=3DhiddenAuthor50707562 class=3Dhidden>Foundation, =
Educational</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCUL+50&amp;v=
iew=3Dwhcllibrary">CUL=20
      50</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Third=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_53460417 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8060236/book/53460417"=20
      target=3D_top>Servsafe Coursebook</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D53460417"=20
      rel=3Dnofollow target=3D_top>Educational Foundation</A>
      <DIV id=3DhiddenAuthor53460417 class=3Dhidden>Foundation, =
Educational</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCUL+50&amp;v=
iew=3Dwhcllibrary">CUL=20
      50</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Third Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50707611 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3198598/book/50707611"=20
      target=3D_top>Culinary Fundamentals</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50707611"=20
      rel=3Dnofollow target=3D_top>Culinary Fed American Culinary =
Federation The</A>
      <DIV id=3DhiddenAuthor50707611 class=3Dhidden>The, Culinary Fed =
American=20
      Culinary Federation</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCUL+55&amp;v=
iew=3Dwhcllibrary">CUL=20
      55</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    One</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50707447 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3333286/book/50707447"=20
      target=3D_top>Dining Room and Banquet Management</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50707447"=20
      rel=3Dnofollow target=3D_top>Anthony J. Strianese</A>
      <DIV id=3DhiddenAuthor50707447 class=3Dhidden>Strianese, Anthony =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DCUL+58&amp;v=
iew=3Dwhcllibrary">CUL=20
      58</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83821525 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/12777/book/83821525"=20
      target=3D_top>Principles of Economics</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83821525"=20
      rel=3Dnofollow target=3D_top>N. Gregory Mankiw</A>
      <DIV id=3DhiddenAuthor83821525 class=3Dhidden>Mankiw, N. =
Gregory</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DECON+1A%2F1B=
&amp;view=3Dwhcllibrary">ECON=20
      1A/1B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth =
Edition<BR>One=20
      Copy<BR>Fifth Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50707865 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/222968/book/50707865"=20
      target=3D_top>Those Who Can, Teach</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50707865"=20
      rel=3Dnofollow target=3D_top>Kevin Ryan</A>
      <DIV id=3DhiddenAuthor50707865 class=3Dhidden>Ryan, =
Kevin</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DEDUC+1&amp;v=
iew=3Dwhcllibrary">EDUC=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>11Th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50708187 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2095280/book/50708187"=20
      target=3D_top>Thinking Well: An Introduction to Critical =
Thinking</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50708187"=20
      rel=3Dnofollow target=3D_top>Stewart Kelly</A>
      <DIV id=3DhiddenAuthor50708187 class=3Dhidden>Kelly, =
Stewart</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2000</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DEDUC+5&amp;v=
iew=3Dwhcllibrary">EDUC=20
      5</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Edition=20
    One</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83226117 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/10576578/book/83226117"=20
      target=3D_top>Kaleidoscope: Contemporary and Classic Readings in =
Education=20
      (What's New in Early Childhood)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83226117"=20
      rel=3Dnofollow target=3D_top>Kevin Ryan</A>
      <DIV id=3DhiddenAuthor83226117 class=3Dhidden>Ryan, =
Kevin</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DEDUC+5&amp;v=
iew=3Dwhcllibrary">EDUC=20
      5</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Twelfth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50707909 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3417126/book/50707909"=20
      target=3D_top>When Tutor Meets Student</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50707909"=20
      rel=3Dnofollow target=3D_top>Martha Maxwell</A>
      <DIV id=3DhiddenAuthor50707909 class=3Dhidden>Maxwell, =
Martha</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1994</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DEDUC+55&amp;=
view=3Dwhcllibrary">EDUC=20
      55</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Second=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50708312 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1812962/book/50708312"=20
      target=3D_top>Emergency, Care and Transportation of the Sick and=20
    Injured</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50708312"=20
      rel=3Dnofollow target=3D_top>American Academy of Orhtopaedic =
Surgeons</A>
      <DIV id=3DhiddenAuthor50708312 class=3Dhidden>Surgeons, American =
Academy of=20
      Orhtopaedic</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DEMT+1&amp;vi=
ew=3Dwhcllibrary">EMT=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy<BR>Workbook<BR>Ninth=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50708374 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2127344/book/50708374"=20
      target=3D_top>Emergency Care and Transportation of the Sick and =
Injured,=20
      Ninth Edition</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50708374"=20
      rel=3Dnofollow target=3D_top>American Academy of Orthopaedic =
Surgeons</A>
      <DIV id=3DhiddenAuthor50708374 class=3Dhidden>Surgeons, American =
Academy of=20
      Orthopaedic</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DEMT+1&amp;vi=
ew=3Dwhcllibrary">EMT=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Ninth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_53460380 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2360328/book/53460380"=20
      target=3D_top>Emergency Care Workbook</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D53460380"=20
      rel=3Dnofollow target=3D_top>Robert Elling</A>
      <DIV id=3DhiddenAuthor53460380 class=3Dhidden>Elling, =
Robert</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DEMT+1&amp;vi=
ew=3Dwhcllibrary">EMT=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Tenth Edition<BR>One=20
    copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_63550243 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/4979986/book/63550243"=20
      target=3D_top>The Hunger Games</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D63550243"=20
      rel=3Dnofollow target=3D_top>Suzanne Collins</A>
      <DIV id=3DhiddenAuthor63550243 class=3Dhidden>Collins, =
Suzanne</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+101A&amp=
;view=3Dwhcllibrary">ENG=20
      101A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Three =
Copies</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_56126551 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/987225/book/56126551"=20
      target=3D_top>Buried Onions</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D56126551"=20
      rel=3Dnofollow target=3D_top>Gary Soto</A>
      <DIV id=3DhiddenAuthor56126551 class=3Dhidden>Soto, =
Gary</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+101B&amp=
;view=3Dwhcllibrary">ENG=20
      101B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One=20
  Copy<BR>Novel</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84064637 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/801244/book/84064637"=20
      target=3D_top>Chew On This: Everything You Don't Want to Know =
About Fast=20
      Food</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84064637"=20
      rel=3Dnofollow target=3D_top>Charles Wilson</A>
      <DIV id=3DhiddenAuthor84064637 class=3Dhidden>Wilson, =
Charles</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+101B&amp=
;view=3Dwhcllibrary">ENG=20
      101B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>4 Copies Shehorn =
Students=20
      Only</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_77050813 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/544813/book/77050813"=20
      target=3D_top>English Brushup (Reprint)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D77050813"=20
      rel=3Dnofollow target=3D_top>John Langan</A>
      <DIV id=3DhiddenAuthor77050813 class=3Dhidden>Langan, =
John</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+105+A&am=
p;view=3Dwhcllibrary">ENG=20
      105 A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Four Copies<BR>Fifth=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_78959538 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/6031842/book/78959538"=20
      target=3D_top>Exploring writing : paragraphs and essays</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D78959538"=20
      rel=3Dnofollow target=3D_top>John Langan</A>
      <DIV id=3DhiddenAuthor78959538 class=3Dhidden>Langan, =
John</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+105B&amp=
;view=3Dwhcllibrary">ENG=20
      105B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Second=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84064662 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/76519/book/84064662"=20
      target=3D_top>Always Running: La Vida Loca: Gang Days in =
L.A.</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84064662"=20
      rel=3Dnofollow target=3D_top>Luis J. Rodriguez</A>
      <DIV id=3DhiddenAuthor84064662 class=3Dhidden>Rodriguez, Luis =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+105B&amp=
;view=3Dwhcllibrary">ENG=20
      105B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50891536 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/700057/book/50891536"=20
      target=3D_top>The Norton Field Guide to Writing, With =
Readings</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50891536"=20
      rel=3Dnofollow target=3D_top>Richard Bullock</A>
      <DIV id=3DhiddenAuthor50891536 class=3Dhidden>Bullock, =
Richard</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+1A&amp;v=
iew=3Dwhcllibrary">ENG=20
      1A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Three =
Copies</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892244 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/117071/book/50892244"=20
      target=3D_top>Blood Brothers</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892244"=20
      rel=3Dnofollow target=3D_top>Elias Chacour</A>
      <DIV id=3DhiddenAuthor50892244 class=3Dhidden>Chacour, =
Elias</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2003</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+1A&amp;v=
iew=3Dwhcllibrary">ENG=20
      1A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892289 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8966807/book/50892289"=20
      target=3D_top>2008 EDITION: A GUIDE TO THE NORTON READER (TWELFTH =
EDITION=20
      AND SHORTE TWELFTH EDITION)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892289"=20
      rel=3Dnofollow target=3D_top>MELISSA GOLDTHWAITE FERNALD, CHARLES =
HOOD=20
ANNE</A>
      <DIV id=3DhiddenAuthor50892289 class=3Dhidden>FERNALD, MELISSA =
GOLDTHWAITE,=20
      CHARLES HOOD ANNE</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+1A&amp;v=
iew=3Dwhcllibrary">ENG=20
      1A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Twelfth=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50891331 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/74761/book/50891331"=20
      target=3D_top>The Heath Introduction to Literature</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50891331"=20
      rel=3Dnofollow target=3D_top>Alice Landy</A>
      <DIV id=3DhiddenAuthor50891331 class=3Dhidden>Landy, =
Alice</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1999</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+1B&amp;v=
iew=3Dwhcllibrary">ENG=20
      1B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50891450 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1067356/book/50891450"=20
      target=3D_top>From Critical Thinking to Argument: A Portable =
Guide</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50891450"=20
      rel=3Dnofollow target=3D_top>Sylvan Barnet</A>
      <DIV id=3DhiddenAuthor50891450 class=3Dhidden>Barnet, =
Sylvan</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+1B&amp;v=
iew=3Dwhcllibrary">ENG=20
      1B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Edition =
One<BR>One=20
      Copy<BR>Second Edition<BR>One Copy<BR>Third =
Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892093 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1032438/book/50892093"=20
      target=3D_top>Thinking for Yourself: Developing Critical Thinking =
Skills=20
      Through Reading and Writing</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892093"=20
      rel=3Dnofollow target=3D_top>Marlys Mayfield</A>
      <DIV id=3DhiddenAuthor50892093 class=3Dhidden>Mayfield, =
Marlys</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+1B&amp;v=
iew=3Dwhcllibrary">ENG=20
      1B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eighth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892164 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2816035/book/50892164"=20
      target=3D_top>Making Arguments About Literature: A Compact Guide =
and=20
      Anthology</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892164"=20
      rel=3Dnofollow target=3D_top>John Schilb</A>
      <DIV id=3DhiddenAuthor50892164 class=3Dhidden>Schilb, =
John</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+1B&amp;v=
iew=3Dwhcllibrary">ENG=20
      1B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two =
Copies</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892507 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3064/book/50892507" =
target=3D_top>The=20
      Things They Carried</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892507"=20
      rel=3Dnofollow target=3D_top>Tim O'Brien</A>
      <DIV id=3DhiddenAuthor50892507 class=3Dhidden>O'Brien, =
Tim</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1998</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+21&amp;v=
iew=3Dwhcllibrary">ENG=20
      21</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892562 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/469303/book/50892562"=20
      target=3D_top>Literature: A Pocket Anthology (Penguin =
Academics)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892562"=20
      rel=3Dnofollow target=3D_top>R. S. Gwynn</A>
      <DIV id=3DhiddenAuthor50892562 class=3Dhidden>Gwynn, R. =
S.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+21&amp;v=
iew=3Dwhcllibrary">ENG=20
      21</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Second=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892751 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2249/book/50892751" =
target=3D_top>The=20
      House on Mango Street</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892751"=20
      rel=3Dnofollow target=3D_top>Sandra Cisneros</A>
      <DIV id=3DhiddenAuthor50892751 class=3Dhidden>Cisneros, =
Sandra</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1991</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+21&amp;v=
iew=3Dwhcllibrary">ENG=20
      21</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892604 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/24983/book/50892604"=20
      target=3D_top>The Practical Writer: From Inspiration to =
Publication</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892604"=20
      rel=3Dnofollow target=3D_top>Therese Eiben</A>
      <DIV id=3DhiddenAuthor50892604 class=3Dhidden>Eiben, =
Therese</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+25&amp;v=
iew=3Dwhcllibrary">ENG=20
      25</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50892652 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/414095/book/50892652"=20
      target=3D_top>The Pen Commandments: A Guide for the Beginning =
Writer</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50892652"=20
      rel=3Dnofollow target=3D_top>Steven Frank</A>
      <DIV id=3DhiddenAuthor50892652 class=3Dhidden>Frank, =
Steven</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2003</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+25&amp;v=
iew=3Dwhcllibrary">ENG=20
      25</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_60429418 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1904684/book/60429418"=20
      target=3D_top>The Student Writer: Editor and Critic</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D60429418"=20
      rel=3Dnofollow target=3D_top>Barbara Fine Clouse</A>
      <DIV id=3DhiddenAuthor60429418 class=3Dhidden>Clouse, Barbara =
Fine</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+51A+%26+=
Eng+1A&amp;view=3Dwhcllibrary">ENG=20
      51A &amp; Eng 1A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Eight=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50893131 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/85547/book/50893131"=20
      target=3D_top>Patterns for A Purpose: A Rhetorical Reader (book=20
alone)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50893131"=20
      rel=3Dnofollow target=3D_top>Barbara Fine Clouse</A>
      <DIV id=3DhiddenAuthor50893131 class=3Dhidden>Clouse, Barbara =
Fine</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+51B&amp;=
view=3Dwhcllibrary">ENG=20
      51B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_56126032 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/522063/book/56126032"=20
      target=3D_top>Water For Elephants - A Novel</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D56126032"=20
      rel=3Dnofollow target=3D_top>Sara Gruen</A>
      <DIV id=3DhiddenAuthor56126032 class=3Dhidden>Gruen, =
Sara</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG+51B&amp;=
view=3Dwhcllibrary">ENG=20
      51B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One=20
  Copy<BR>Novel</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_63858143 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/10334196/book/63858143"=20
      target=3D_top>Entryways into College Reading and Learning</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D63858143"=20
      rel=3Dnofollow target=3D_top>Janet Elder</A>
      <DIV id=3DhiddenAuthor63858143 class=3Dhidden>Elder, =
Janet</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENG101A&amp;=
view=3Dwhcllibrary">ENG101A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Edition=20
    One</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50709015 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/4565472/book/50709015"=20
      target=3D_top>Engineering your future : a comprehensive =
introduction to=20
      engineering</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50709015"=20
      rel=3Dnofollow target=3D_top>William C. Oakes</A>
      <DIV id=3DhiddenAuthor50709015 class=3Dhidden>Oakes, William =
C.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENGR+10&amp;=
view=3Dwhcllibrary">ENGR=20
      10</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth=20
    Editiom</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50708904 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/6031856/book/50708904"=20
      target=3D_top>Technical Graphics Communcatns</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50708904"=20
      rel=3Dnofollow target=3D_top>Gary R. Bertoline</A>
      <DIV id=3DhiddenAuthor50708904 class=3Dhidden>Bertoline, Gary =
R.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DENGR+20&amp;=
view=3Dwhcllibrary">ENGR=20
      20</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50715515 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/172799/book/50715515"=20
      target=3D_top>Vox Compact Spanish and English Dictionary</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50715515"=20
      rel=3Dnofollow target=3D_top>Vox</A>
      <DIV id=3DhiddenAuthor50715515 class=3Dhidden>Vox</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1994</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DFLSPN+1&amp;=
view=3Dwhcllibrary">FLSPN=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Second=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_77050357 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/5620629/book/77050357"=20
      target=3D_top>Vistas Introduccion a La Lengua Espanola 4e Fourth, =
a teacher=20
      Copy;</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D77050357"=20
      rel=3Dnofollow target=3D_top>Blanco; Dellinger; Donley; Garcia</A>
      <DIV id=3DhiddenAuthor77050357 class=3Dhidden>Garcia, Blanco; =
Dellinger;=20
      Donley;</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2012</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DFLSPN+1&amp;=
view=3Dwhcllibrary">FLSPN=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50713463 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8947967/book/50713463"=20
      target=3D_top>Espa=C3=B1ol escrito: Curso para hispanohablantes =
biling=C3=BCes (6th=20
      Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50713463"=20
      rel=3Dnofollow target=3D_top>Guadalupe Vald=C3=A9s</A>
      <DIV id=3DhiddenAuthor50713463 class=3Dhidden>Vald=C3=A9s, =
Guadalupe</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DFLSPN+12&amp=
;view=3Dwhcllibrary">FLSPN=20
      12</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50713612 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8947988/book/50713612"=20
      target=3D_top>Cuaderno de Actividades (Workbook) for Espa=C3=B1ol =
escrito: Curso=20
      para hispanohablantes biling=C3=BCes</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50713612"=20
      rel=3Dnofollow target=3D_top>Richard V. Teschner</A>
      <DIV id=3DhiddenAuthor50713612 class=3Dhidden>Teschner, Richard =
V.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DFLSPN+12&amp=
;view=3Dwhcllibrary">FLSPN=20
      12</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50715279 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/5621278/book/50715279"=20
      target=3D_top>Pasajes: Lengua Student Edition with OLC Bind-in =
Card</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50715279"=20
      rel=3Dnofollow target=3D_top>Mary Lee Bretz</A>
      <DIV id=3DhiddenAuthor50715279 class=3Dhidden>Bretz, Mary =
Lee</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DFLSPN+3&amp;=
view=3Dwhcllibrary">FLSPN=20
      3</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50715692 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1586997/book/50715692"=20
      target=3D_top>Basic Spanish</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50715692"=20
      rel=3Dnofollow target=3D_top>Ana C. Jarvis</A>
      <DIV id=3DhiddenAuthor50715692 class=3Dhidden>Jarvis, Ana =
C.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DFLSPN+51&amp=
;view=3Dwhcllibrary">FLSPN=20
      51</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    One</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50709497 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8947519/book/50709497"=20
      target=3D_top>California</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50709497"=20
      rel=3Dnofollow target=3D_top>Gary L. Peters</A>
      <DIV id=3DhiddenAuthor50709497 class=3Dhidden>Peters, Gary =
L.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DGEOG+18&amp;=
view=3Dwhcllibrary">GEOG=20
      18</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fifth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84061139 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/370438/book/84061139"=20
      target=3D_top>Geography: Realms, Regions and Concepts</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84061139"=20
      rel=3Dnofollow target=3D_top>H.J. de Blij</A>
      <DIV id=3DhiddenAuthor84061139 class=3Dhidden>Blij, H.J. =
de</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DGEOG+2A%2F2B=
&amp;view=3Dwhcllibrary">GEOG=20
      2A/2B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>14th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50709380 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/412440/book/50709380"=20
      target=3D_top>Rand McNally Atlas of World Geography</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50709380"=20
      rel=3Dnofollow target=3D_top>Bret R. Gover</A>
      <DIV id=3DhiddenAuthor50709380 class=3Dhidden>Gover, Bret =
R.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DGEOG+3&amp;v=
iew=3Dwhcllibrary">GEOG=20
      3</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    1</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83226923 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/300877/book/83226923"=20
      target=3D_top>The Human Mosaic</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83226923"=20
      rel=3Dnofollow target=3D_top>Mona Domosh</A>
      <DIV id=3DhiddenAuthor83226923 class=3Dhidden>Domosh, =
Mona</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DGEOG+3&amp;v=
iew=3Dwhcllibrary">GEOG=20
      3</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy <BR>Eleventh=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50709584 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/24168/book/50709584"=20
      target=3D_top>Earth: An Introduction to Physical Geology (9th=20
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50709584"=20
      rel=3Dnofollow target=3D_top>Edward J. Tarbuck</A>
      <DIV id=3DhiddenAuthor50709584 class=3Dhidden>Tarbuck, Edward =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DGEOL+1&amp;v=
iew=3Dwhcllibrary">GEOL=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Ninth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84062227 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/66432/book/84062227"=20
      target=3D_top>Geosystems: An Introduction to Physical Geography =
(8th=20
      Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84062227"=20
      rel=3Dnofollow target=3D_top>Robert W. Christopherson</A>
      <DIV id=3DhiddenAuthor84062227 class=3Dhidden>Christopherson, =
Robert=20
    W.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DGEOL+1&amp;v=
iew=3Dwhcllibrary">GEOL=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eighth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50709650 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/110014/book/50709650"=20
      target=3D_top>Core Concepts in Health Update</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50709650"=20
      rel=3Dnofollow target=3D_top>Paul Insel</A>
      <DIV id=3DhiddenAuthor50709650 class=3Dhidden>Insel, =
Paul</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHE+35&amp;vi=
ew=3Dwhcllibrary">HE=20
      35</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Twelfth=20
      Edition<BR>Two Copies<BR>Eleventh Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50887395 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3802237/book/50887395"=20
      target=3D_top>The Brief American Pageant: Volume I - To =
1877</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50887395"=20
      rel=3Dnofollow target=3D_top>David M. Kennedy</A>
      <DIV id=3DhiddenAuthor50887395 class=3Dhidden>Kennedy, David =
M.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+17A&amp=
;view=3Dwhcllibrary">HIST=20
      17A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eighth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890351 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3802237/book/50890351"=20
      target=3D_top>The Brief American Pageant: Volume 1: To 1877 =
(Student=20
      Text)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890351"=20
      rel=3Dnofollow target=3D_top>David M. Kennedy</A>
      <DIV id=3DhiddenAuthor50890351 class=3Dhidden>Kennedy, David =
M.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2003</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+17A&amp=
;view=3Dwhcllibrary">HIST=20
      17A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Three Copies<BR>Sixth=20
      Edition<BR>3 Week Checkout</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50887358 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3802247/book/50887358"=20
      target=3D_top>The Brief American Pageant: Volume II - Since =
1865</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50887358"=20
      rel=3Dnofollow target=3D_top>David M. Kennedy</A>
      <DIV id=3DhiddenAuthor50887358 class=3Dhidden>Kennedy, David =
M.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+17B&amp=
;view=3Dwhcllibrary">HIST=20
      17B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eighth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890183 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/5219681/book/50890183"=20
      target=3D_top>World History, Before 1600: The Development of Early =

      Civilizations, Volume I (with Migrations CD-ROM and =
InfoTrac=C2=AE)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890183"=20
      rel=3Dnofollow target=3D_top>Jiu-Hwa Upshur</A>
      <DIV id=3DhiddenAuthor50890183 class=3Dhidden>Upshur, =
Jiu-Hwa</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2001</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+20&amp;=
view=3Dwhcllibrary">HIST=20
      20</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth =
Edition<BR>3=20
      Week Checkout</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84064839 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2651257/book/84064839"=20
      target=3D_top>Cengage Advantage Books: World History: Before 1600: =
The=20
      Development of Early Civilization, Volume I</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84064839"=20
      rel=3Dnofollow target=3D_top>Jiu-Hwa L. Upshur</A>
      <DIV id=3DhiddenAuthor84064839 class=3Dhidden>Upshur, Jiu-Hwa =
L.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+20&amp;=
view=3Dwhcllibrary">HIST=20
      20</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fifth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890475 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1069862/book/50890475"=20
      target=3D_top>Occupied America: A History of Chicanos (6th =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890475"=20
      rel=3Dnofollow target=3D_top>Rodolfo Acuna</A>
      <DIV id=3DhiddenAuthor50890475 class=3Dhidden>Acuna, =
Rodolfo</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+32&amp;=
view=3Dwhcllibrary">HIST=20
      32</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890505 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1152197/book/50890505"=20
      target=3D_top>Chicano Folklore: A Guide to the Folktales, =
Traditions,=20
      Rituals and Religious Practices of Mexican Americans</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890505"=20
      rel=3Dnofollow target=3D_top>Rafaela G. Castro</A>
      <DIV id=3DhiddenAuthor50890505 class=3Dhidden>Castro, Rafaela =
G.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2001</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+32&amp;=
view=3Dwhcllibrary">HIST=20
      32</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890549 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2560581/book/50890549"=20
      target=3D_top>Mexicanos: A History of Mexicans in the United =
States</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890549"=20
      rel=3Dnofollow target=3D_top>Manuel G. Gonzales</A>
      <DIV id=3DhiddenAuthor50890549 class=3Dhidden>Gonzales, Manuel =
G.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2000</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+32&amp;=
view=3Dwhcllibrary">HIST=20
      32</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>3 Week=20
    Checkout</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890442 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/979676/book/50890442"=20
      target=3D_top>Introduction to Black Studies</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890442"=20
      rel=3Dnofollow target=3D_top>Maulana Karenga</A>
      <DIV id=3DhiddenAuthor50890442 class=3Dhidden>Karenga, =
Maulana</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2002</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+34&amp;=
view=3Dwhcllibrary">HIST=20
      34</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy <BR>Third=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890634 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3535526/book/50890634"=20
      target=3D_top>Inventing the American Woman: An Inclusive History : =
Since=20
      1877</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890634"=20
      rel=3Dnofollow target=3D_top>Glenda Riley</A>
      <DIV id=3DhiddenAuthor50890634 class=3Dhidden>Riley, =
Glenda</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+44&amp;=
view=3Dwhcllibrary">HIST=20
      44</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth =
Edition=20
      <BR>Vol. 2</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890675 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3535527/book/50890675"=20
      target=3D_top>Inventing the American Woman: An Inclusive History : =
To=20
      1877</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890675"=20
      rel=3Dnofollow target=3D_top>Glenda Riley</A>
      <DIV id=3DhiddenAuthor50890675 class=3Dhidden>Riley, =
Glenda</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+44&amp;=
view=3Dwhcllibrary">HIST=20
      44</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth=20
      Edition<BR>Vol. 1</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890724 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3535527/book/50890724"=20
      target=3D_top>Inventing the American Woman: An Inclusive History : =
To=20
      1877</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890724"=20
      rel=3Dnofollow target=3D_top>Glenda Riley</A>
      <DIV id=3DhiddenAuthor50890724 class=3Dhidden>Riley, =
Glenda</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2001</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+44&amp;=
view=3Dwhcllibrary">HIST=20
      44</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Third=20
      Edition<BR>Vol. 1<BR>3 Week Checkout</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890777 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3535526/book/50890777"=20
      target=3D_top>Inventing the American Woman: An Inclusive History : =
Since=20
      1877</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890777"=20
      rel=3Dnofollow target=3D_top>Glenda Riley</A>
      <DIV id=3DhiddenAuthor50890777 class=3Dhidden>Riley, =
Glenda</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2001</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+44&amp;=
view=3Dwhcllibrary">HIST=20
      44</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Third=20
      Edition<BR>Vol. 2<BR>3 Week Checkout</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50887203 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/973899/book/50887203"=20
      target=3D_top>Western Civilization: The Continuing Experiment, =
Dolphin=20
      Edition, Volume 1: To 1715 (v. 1)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50887203"=20
      rel=3Dnofollow target=3D_top>Thomas F. X. Noble</A>
      <DIV id=3DhiddenAuthor50887203 class=3Dhidden>Noble, Thomas F. =
X.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+4A&amp;=
view=3Dwhcllibrary">HIST=20
      4A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Dolphin=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50890282 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/729643/book/50890282"=20
      target=3D_top>Civilization in the West, Vol. 1: Chapters 1-16, =
Fifth=20
      Edition</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50890282"=20
      rel=3Dnofollow target=3D_top>Mark Kishlansky</A>
      <DIV id=3DhiddenAuthor50890282 class=3Dhidden>Kishlansky, =
Mark</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2002</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+4A&amp;=
view=3Dwhcllibrary">HIST=20
      4A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fifth =
Edition<BR>3=20
      Week Checkout</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84064955 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2928992/book/84064955"=20
      target=3D_top>Western Civilization: Beyond Boundaries, Dolphin =
Edition,=20
      Volume II</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84064955"=20
      rel=3Dnofollow target=3D_top>Thomas F. X. Noble</A>
      <DIV id=3DhiddenAuthor84064955 class=3Dhidden>Noble, Thomas F. =
X.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHIST+4B&amp;=
view=3Dwhcllibrary">HIST=20
      4B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Three Copies Dolphin=20
      <BR>Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_71497469 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/166761/book/71497469"=20
      target=3D_top>Medical Terminology for Health Professions (Medical=20
      Terminology for Health Professions (Ehrlich))</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D71497469"=20
      rel=3Dnofollow target=3D_top>Ann (Ann Ehrlich) Ehrlich</A>
      <DIV id=3DhiddenAuthor71497469 class=3Dhidden>Ehrlich, Ann (Ann=20
    Ehrlich)</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHS+5&amp;vie=
w=3Dwhcllibrary">HS=20
      5</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50710214 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/776826/book/50710214"=20
      target=3D_top>Reality Through the Arts (6th Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50710214"=20
      rel=3Dnofollow target=3D_top>Dennis J. Sporre</A>
      <DIV id=3DhiddenAuthor50710214 class=3Dhidden>Sporre, Dennis =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHUM+1&amp;vi=
ew=3Dwhcllibrary">HUM=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84059851 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1161910/book/84059851"=20
      target=3D_top>Adventures in the Human Spirit (6th =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84059851"=20
      rel=3Dnofollow target=3D_top>Philip E. Bishop</A>
      <DIV id=3DhiddenAuthor84059851 class=3Dhidden>Bishop, Philip =
E.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHUM+1&amp;vi=
ew=3Dwhcllibrary">HUM=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Sixth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50710162 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/7546878/book/50710162"=20
      target=3D_top>The Illustrated World's Religions: A Guide to Our =
Wisdom=20
      Traditions</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50710162"=20
      rel=3Dnofollow target=3D_top>Huston Smith</A>
      <DIV id=3DhiddenAuthor50710162 class=3Dhidden>Smith, =
Huston</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1995</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DHUM+22&amp;v=
iew=3Dwhcllibrary">HUM=20
      22</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    One</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50710563 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8947629/book/50710563"=20
      target=3D_top>PH Planner for Student Success (7th =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50710563"=20
      rel=3Dnofollow target=3D_top>Prentice Hall SSCD</A>
      <DIV id=3DhiddenAuthor50710563 class=3Dhidden>SSCD, Prentice =
Hall</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DIS+1&amp;vie=
w=3Dwhcllibrary">IS=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Seventh=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_55569045 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/9458593/book/55569045"=20
      target=3D_top>Foundations of Kinesiology: Studying Human Movement =
and=20
      Health</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D55569045"=20
      rel=3Dnofollow target=3D_top>Peter Klavora</A>
      <DIV id=3DhiddenAuthor55569045 class=3Dhidden>Klavora, =
Peter</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DKINES+1&amp;=
view=3Dwhcllibrary">KINES=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    1</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50710902 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1919760/book/50710902"=20
      target=3D_top>Relevant Linguistics, Second Edition, Revised and =
Expanded: An=20
      Introduction to the Structure and Use of English for Teachers =
(Center for=20
      the Study of Language and Information - Lecture Notes)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50710902"=20
      rel=3Dnofollow target=3D_top>Paul W. Justice</A>
      <DIV id=3DhiddenAuthor50710902 class=3Dhidden>Justice, Paul =
W.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DLING+11&amp;=
view=3Dwhcllibrary">LING=20
      11</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Second=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50719177 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2599871/book/50719177"=20
      target=3D_top>Maple 8 Introductory Programming Guide</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50719177"=20
      rel=3Dnofollow target=3D_top>K.O. Geddes Monagan, K.M. Heal, G. =
Labahn, S.M.=20
      Vorkoetter, J. McCarron, P. DeMarco M.B.</A>
      <DIV id=3DhiddenAuthor50719177 class=3Dhidden>Monagan, K.O. =
Geddes, K.M. Heal,=20
      G. Labahn, S.M. Vorkoetter, J. McCarron, P. DeMarco =
M.B.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2002</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH&amp;vie=
w=3Dwhcllibrary">MATH</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_51256243 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/194726/book/51256243"=20
      target=3D_top>Problem Solving Approach to Mathematics for =
Elementary School=20
      Teachers, A (10th Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D51256243"=20
      rel=3Dnofollow target=3D_top>Rick Billstein</A>
      <DIV id=3DhiddenAuthor51256243 class=3Dhidden>Billstein, =
Rick</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+10+A%2F=
B&amp;view=3Dwhcllibrary">MATH=20
      10 A/B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Tenth Edition<BR>One=20
    Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50717613 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/970776/book/50717613"=20
      target=3D_top>Basic College Mathematics (3rd Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50717613"=20
      rel=3Dnofollow target=3D_top>Elayn Martin-Gay</A>
      <DIV id=3DhiddenAuthor50717613 class=3Dhidden>Martin-Gay, =
Elayn</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+101&amp=
;view=3Dwhcllibrary">MATH=20
      101</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Third=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50718516 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/573042/book/50718516"=20
      target=3D_top>Managing the Mean Math Blues</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50718516"=20
      rel=3Dnofollow target=3D_top>Cheryl Ooten</A>
      <DIV id=3DhiddenAuthor50718516 class=3Dhidden>Ooten, =
Cheryl</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2002</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+101&amp=
;view=3Dwhcllibrary">MATH=20
      101</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50718381 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/933038/book/50718381"=20
      target=3D_top>How to Teach Mathematics</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50718381"=20
      rel=3Dnofollow target=3D_top>Steven G. Krantz</A>
      <DIV id=3DhiddenAuthor50718381 class=3Dhidden>Krantz, Steven =
G.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>1999</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+10A&amp=
;view=3Dwhcllibrary">MATH=20
      10A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Second=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50717382 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1136324/book/50717382"=20
      target=3D_top>Precalculus Essentials: Enhanced with Graphing =
Utilities (4th=20
      Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50717382"=20
      rel=3Dnofollow target=3D_top>Michael Sullivan</A>
      <DIV id=3DhiddenAuthor50717382 class=3Dhidden>Sullivan, =
Michael</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+15&amp;=
view=3Dwhcllibrary">MATH=20
      15</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Fourth=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50717996 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/952143/book/50717996"=20
      target=3D_top>Algebra Review</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50717996"=20
      rel=3Dnofollow target=3D_top>Michael Sullivan</A>
      <DIV id=3DhiddenAuthor50717996 class=3Dhidden>Sullivan, =
Michael</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+15&amp;=
view=3Dwhcllibrary">MATH=20
      15</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Third=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50719356 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1136324/book/50719356"=20
      target=3D_top>Precalculus Enhanced with Graphing Utilities, =
Student=20
      Solutions Manual</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50719356"=20
      rel=3Dnofollow target=3D_top>Michael Sullivan</A>
      <DIV id=3DhiddenAuthor50719356 class=3Dhidden>Sullivan, =
Michael</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+15&amp;=
view=3Dwhcllibrary">MATH=20
      15</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fourth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50717415 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1065003/book/50717415"=20
      target=3D_top>Thomas' Calculus, Early Transcendentals, Media =
Upgrade (11th=20
      Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50717415"=20
      rel=3Dnofollow target=3D_top>George B. Thomas</A>
      <DIV id=3DhiddenAuthor50717415 class=3Dhidden>Thomas, George =
B.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+1A&amp;=
view=3Dwhcllibrary">MATH=20
      1A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Eleventh=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_51256324 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/110050/book/51256324"=20
      target=3D_top>Elementary Statistics (11th Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D51256324"=20
      rel=3Dnofollow target=3D_top>Mario F. Triola</A>
      <DIV id=3DhiddenAuthor51256324 class=3Dhidden>Triola, Mario =
F.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+25&amp;=
view=3Dwhcllibrary">MATH=20
      25</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Eleventh Edition<BR>One =

      Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50717556 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8948472/book/50717556"=20
      target=3D_top>Student's Solutions Manual for Fundamentals of =
Differential=20
      Equations and Fundamentals of Differential Equations with Boundary =
Value=20
      Problems</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50717556"=20
      rel=3Dnofollow target=3D_top>R. Kent Nagle</A>
      <DIV id=3DhiddenAuthor50717556 class=3Dhidden>Nagle, R. =
Kent</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+2B&amp;=
view=3Dwhcllibrary">MATH=20
      2B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy<BR>Fifth/Seventh=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50719304 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/14636/book/50719304"=20
      target=3D_top>Mathematics: The New Golden Age</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50719304"=20
      rel=3Dnofollow target=3D_top>Keith Devlin</A>
      <DIV id=3DhiddenAuthor50719304 class=3Dhidden>Devlin, =
Keith</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2001</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+2B&amp;=
view=3Dwhcllibrary">MATH=20
      2B</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50719268 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/2482668/book/50719268"=20
      target=3D_top>Study Guide to Linear Algebra and Its Applications, =
3rd=20
      Edition</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50719268"=20
      rel=3Dnofollow target=3D_top>David C. Lay</A>
      <DIV id=3DhiddenAuthor50719268 class=3Dhidden>Lay, David =
C.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+3A&amp;=
view=3Dwhcllibrary">MATH=20
      3A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Third=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50717308 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3074559/book/50717308"=20
      target=3D_top>Algebra A Combined Approach (Hardcover) (3rd =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50717308"=20
      rel=3Dnofollow target=3D_top>Elayn Martin-Gay</A>
      <DIV id=3DhiddenAuthor50717308 class=3Dhidden>Martin-Gay, =
Elayn</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+61%2F63=
%2F64&amp;view=3Dwhcllibrary">MATH=20
      61/63/64</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Third=20
      Edition<BR>Fourth Edition<BR>One Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50717683 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/5107972/book/50717683"=20
      target=3D_top>College Mathematics (7th Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50717683"=20
      rel=3Dnofollow target=3D_top>Cheryl Cleaves</A>
      <DIV id=3DhiddenAuthor50717683 class=3Dhidden>Cleaves, =
Cheryl</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMATH+87&amp;=
view=3Dwhcllibrary">MATH=20
      87</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Seventh=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50891043 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/12771/book/50891043"=20
      target=3D_top>Music: An Appreciation</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50891043"=20
      rel=3Dnofollow target=3D_top>Roger Kamien</A>
      <DIV id=3DhiddenAuthor50891043 class=3Dhidden>Kamien, =
Roger</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DMUS+42&amp;v=
iew=3Dwhcllibrary">MUS=20
      42</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Tenth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50710953 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8947675/book/50710953"=20
      target=3D_top>Study Guide to accompany The Sciences: An Integrated =

      Approach</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50710953"=20
      rel=3Dnofollow target=3D_top>Anthony J. Gaudin</A>
      <DIV id=3DhiddenAuthor50710953 class=3Dhidden>Gaudin, Anthony =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DNAT+SCI+1&am=
p;view=3Dwhcllibrary">NAT=20
      SCI 1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fifth=20
      Edition<BR>Study Guide</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50711079 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/967007/book/50711079"=20
      target=3D_top>The Sciences: An Integrated Approach</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50711079"=20
      rel=3Dnofollow target=3D_top>James Trefil</A>
      <DIV id=3DhiddenAuthor50711079 class=3Dhidden>Trefil, =
James</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DNAT+SCI+1&am=
p;view=3Dwhcllibrary">NAT=20
      SCI 1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fifth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84065047 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/100463/book/84065047"=20
      target=3D_top>Nutrition: Concepts and Controversies</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84065047"=20
      rel=3Dnofollow target=3D_top>Frances Sizer</A>
      <DIV id=3DhiddenAuthor84065047 class=3Dhidden>Sizer, =
Frances</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DNUT+1&amp;vi=
ew=3Dwhcllibrary">NUT=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>12th=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_69469816 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/419054/book/69469816"=20
      target=3D_top>In Pursuit of Excellence - 4th Edition</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D69469816"=20
      rel=3Dnofollow target=3D_top>Terry Orlick</A>
      <DIV id=3DhiddenAuthor69469816 class=3Dhidden>Orlick, =
Terry</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPE+29&amp;vi=
ew=3Dwhcllibrary">PE=20
      29</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84091718 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/11674124/book/84091718"=20
      target=3D_top>Introduction to Teaching Physical Education With =
Online=20
      Student Resource: Principles and Strategies</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84091718"=20
      rel=3Dnofollow target=3D_top>Jane Shimon</A>
      <DIV id=3DhiddenAuthor84091718 class=3Dhidden>Shimon, =
Jane</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPE+40&amp;vi=
ew=3Dwhcllibrary">PE=20
      40</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_55568784 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/9458567/book/55568784"=20
      target=3D_top>Coaching: A Realistic Perspective</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D55568784"=20
      rel=3Dnofollow target=3D_top>Ralph J. Sabock</A>
      <DIV id=3DhiddenAuthor55568784 class=3Dhidden>Sabock, Ralph =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPE+45&amp;vi=
ew=3Dwhcllibrary">PE=20
      45</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Ninth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50711507 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3700112/book/50711507"=20
      target=3D_top>Arnheim's Principles Of Athletic Training: A =
Competency-based=20
      Approach</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50711507"=20
      rel=3Dnofollow target=3D_top>William E. Prentice</A>
      <DIV id=3DhiddenAuthor50711507 class=3Dhidden>Prentice, William =
E.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPE+46&amp;vi=
ew=3Dwhcllibrary">PE=20
      46</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Twelfth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_65852667 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/29150/book/65852667"=20
      target=3D_top>Archetypes of wisdom : an introduction to =
philosophy</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D65852667"=20
      rel=3Dnofollow target=3D_top>Douglas J. Soccio</A>
      <DIV id=3DhiddenAuthor65852667 class=3Dhidden>Soccio, Douglas =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPHIL+1&amp;v=
iew=3Dwhcllibrary">PHIL=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Seventh=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50893626 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1622708/book/50893626"=20
      target=3D_top>IE Applying Ethics 8e</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50893626"=20
      rel=3Dnofollow target=3D_top>VANCAMP</A>
      <DIV id=3DhiddenAuthor50893626 class=3Dhidden>VANCAMP</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2004</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPHIL+3&amp;v=
iew=3Dwhcllibrary">PHIL=20
      3</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eighth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50711957 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8947805/book/50711957"=20
      target=3D_top>Introduction to Physical Sciences</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50711957"=20
      rel=3Dnofollow target=3D_top>James Shipman</A>
      <DIV id=3DhiddenAuthor50711957 class=3Dhidden>Shipman, =
James</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPHYSCI+1&amp=
;view=3Dwhcllibrary">PHYSCI=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Twelfth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50711738 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/196923/book/50711738"=20
      target=3D_top>Physics</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50711738"=20
      rel=3Dnofollow target=3D_top>John D. Cutnell</A>
      <DIV id=3DhiddenAuthor50711738 class=3Dhidden>Cutnell, John =
D.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPHYSICS+2&am=
p;view=3Dwhcllibrary">PHYSICS=20
      2</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Seventh=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_51665033 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8394641/book/51665033"=20
      target=3D_top>Physics, Chapters 1-17 (Volume 1)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D51665033"=20
      rel=3Dnofollow target=3D_top>John D. Cutnell</A>
      <DIV id=3DhiddenAuthor51665033 class=3Dhidden>Cutnell, John =
D.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPHYSICS+2A&a=
mp;view=3Dwhcllibrary">PHYSICS=20
      2A</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eighth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_82401033 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/12216556/book/82401033"=20
      target=3D_top>GOVT3, California Edition (with Political Science =
CourseMate=20
      with eBook Printed Access Card)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D82401033"=20
      rel=3Dnofollow target=3D_top>Edward I. Sidlow</A>
      <DIV id=3DhiddenAuthor82401033 class=3Dhidden>Sidlow, Edward =
I.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPOLSCI+1&amp=
;view=3Dwhcllibrary">POLSCI=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Thrid=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_83821218 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/9441169/book/83821218"=20
      target=3D_top>Applying Ethics: A Text with Readings</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D83821218"=20
      rel=3Dnofollow target=3D_top>Julie C. Van Camp</A>
      <DIV id=3DhiddenAuthor83821218 class=3Dhidden>Camp, Julie C. =
Van</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPOLSCI+1&amp=
;view=3Dwhcllibrary">POLSCI=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy <BR>Tenth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50712801 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/4582047/book/50712801"=20
      target=3D_top>A Brief History of India (Brief History Of... =
(Checkmark=20
      Books))</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50712801"=20
      rel=3Dnofollow target=3D_top>Judith E. Walsh</A>
      <DIV id=3DhiddenAuthor50712801 class=3Dhidden>Walsh, Judith =
E.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2007</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPOLSCI+4&amp=
;view=3Dwhcllibrary">POLSCI=20
      4</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    One</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50712863 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/97422/book/50712863"=20
      target=3D_top>India</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50712863"=20
      rel=3Dnofollow target=3D_top>Stanley Wolpert</A>
      <DIV id=3DhiddenAuthor50712863 class=3Dhidden>Wolpert, =
Stanley</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPOLSCI+4&amp=
;view=3Dwhcllibrary">POLSCI=20
      4</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Third=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50886955 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/716106/book/50886955"=20
      target=3D_top>Understanding Psychology</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50886955"=20
      rel=3Dnofollow target=3D_top>Robert Feldman</A>
      <DIV id=3DhiddenAuthor50886955 class=3Dhidden>Feldman, =
Robert</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPSYCH+1&amp;=
view=3Dwhcllibrary">PSYCH=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Tenth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50886695 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1706138/book/50886695"=20
      target=3D_top>Case Studies in Abnormal Psychology</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50886695"=20
      rel=3Dnofollow target=3D_top>Ethan E. Gorenstein</A>
      <DIV id=3DhiddenAuthor50886695 class=3Dhidden>Gorenstein, Ethan =
E.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2001</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPSYCH+2&amp;=
view=3Dwhcllibrary">PSYCH=20
      2</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Edition=20
    4</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50886755 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/278107/book/50886755"=20
      target=3D_top>Abnormal Psychology</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50886755"=20
      rel=3Dnofollow target=3D_top>Ronald J. Comer</A>
      <DIV id=3DhiddenAuthor50886755 class=3Dhidden>Comer, Ronald =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPSYCH+2&amp;=
view=3Dwhcllibrary">PSYCH=20
      2</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Seventh=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50886887 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1934178/book/50886887"=20
      target=3D_top>Development Across the Life Span (4th =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50886887"=20
      rel=3Dnofollow target=3D_top>Robert S. Feldman</A>
      <DIV id=3DhiddenAuthor50886887 class=3Dhidden>Feldman, Robert =
S.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2005</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPSYCH+3&amp;=
view=3Dwhcllibrary">PSYCH=20
      3</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Fifth =
Edition<BR>One=20
      Copy<BR>Sixth Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50886795 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/851160/book/50886795"=20
      target=3D_top>Psychology Applied to Modern Life: Adjustment in the =
21st=20
      Century</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50886795"=20
      rel=3Dnofollow target=3D_top>Wayne Weiten</A>
      <DIV id=3DhiddenAuthor50886795 class=3Dhidden>Weiten, =
Wayne</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPSYCH+4&amp;=
view=3Dwhcllibrary">PSYCH=20
      4</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Ninth =
Edition<BR>One=20
      Copy<BR>Tenth Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50886411 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/3262894/book/50886411"=20
      target=3D_top>Identical Strangers: A Memoir of Twins Separated and =

      Reunited</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50886411"=20
      rel=3Dnofollow target=3D_top>Elyse Schein</A>
      <DIV id=3DhiddenAuthor50886411 class=3Dhidden>Schein, =
Elyse</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPSYCH+5&amp;=
view=3Dwhcllibrary">PSYCH=20
      5</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_55568856 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/4997/book/55568856"=20
      target=3D_top>Biological Psychology</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D55568856"=20
      rel=3Dnofollow target=3D_top>James W. Kalat</A>
      <DIV id=3DhiddenAuthor55568856 class=3Dhidden>Kalat, James =
W.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DPSYCH+5&amp;=
view=3Dwhcllibrary">PSYCH=20
      5</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Tenth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_50717034 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/1203885/book/50717034"=20
      target=3D_top>The Culture Struggle</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D50717034"=20
      rel=3Dnofollow target=3D_top>Michael Parenti</A>
      <DIV id=3DhiddenAuthor50717034 class=3Dhidden>Parenti, =
Michael</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2006</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DSOC+1&amp;vi=
ew=3Dwhcllibrary">SOC=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_78108751 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/7013638/book/78108751"=20
      target=3D_top>More than Just Race: Being Black and Poor in the =
Inner City=20
      (Issues of Our Time)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D78108751"=20
      rel=3Dnofollow target=3D_top>William Julius Wilson</A>
      <DIV id=3DhiddenAuthor78108751 class=3Dhidden>Wilson, William =
Julius</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DSOC+1&amp;vi=
ew=3Dwhcllibrary">SOC=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One =
Copy</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_84091936 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/4558990/book/84091936"=20
      target=3D_top>Essentials of Sociology, A Down-to-Earth Approach =
(9th=20
      Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D84091936"=20
      rel=3Dnofollow target=3D_top>James M. Henslin</A>
      <DIV id=3DhiddenAuthor84091936 class=3Dhidden>Henslin, James =
M.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DSOC+1&amp;vi=
ew=3Dwhcllibrary">SOC=20
      1</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Ninth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_77824242 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/340271/book/77824242"=20
      target=3D_top>Introduction to Social Problems (9th =
Edition)</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D77824242"=20
      rel=3Dnofollow target=3D_top>Thomas J. Sullivan</A>
      <DIV id=3DhiddenAuthor77824242 class=3Dhidden>Sullivan, Thomas =
J.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2011</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DSOC+2&amp;vi=
ew=3Dwhcllibrary">SOC=20
      2</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Ninth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_56126612 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/155930/book/56126612"=20
      target=3D_top>Choices in Relationships: An Introduction to =
Marriage and the=20
      Family</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D56126612"=20
      rel=3Dnofollow target=3D_top>David Knox</A>
      <DIV id=3DhiddenAuthor56126612 class=3Dhidden>Knox, =
David</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2009</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DSOC+3&amp;vi=
ew=3Dwhcllibrary">SOC=20
      3</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Tenth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_63858004 class=3Deven>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/8040122/book/63858004"=20
      target=3D_top>Drugs, Society, and Human Behavior</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D63858004"=20
      rel=3Dnofollow target=3D_top>Carl Hart</A>
      <DIV id=3DhiddenAuthor63858004 class=3Dhidden>Hart, =
Carl</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DSOC6&amp;vie=
w=3Dwhcllibrary">SOC6</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Thirteenth=20
      Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_68945230 class=3Dodd>
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/569803/book/68945230"=20
      target=3D_top>Essential Interviewing: A Programmed Approach to =
Effective=20
      Communication</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D68945230"=20
      rel=3Dnofollow target=3D_top>David R. Evans</A>
      <DIV id=3DhiddenAuthor68945230 class=3Dhidden>Evans, David =
R.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2010</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DSW+21&amp;vi=
ew=3Dwhcllibrary">SW=20
      21</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>One Copy<BR>Eighth=20
    Edition</SPAN></TD></TD></TR>
  <TR id=3Dcatrow_51965939 class=3D"even last">
    <TD class=3Dright><A class=3Dlt-title=20
      href=3D"http://www.librarything.com/work/965006/book/51965939"=20
      target=3D_top>Job Savvy: How to Be a Success at Work</A></TD>
    <TD class=3Dright><A class=3Dlt-author=20
      =
href=3D"http://www.librarything.com/authorlink.php?book=3D51965939"=20
      rel=3Dnofollow target=3D_top>Laverne L. Ludden</A>
      <DIV id=3DhiddenAuthor51965939 class=3Dhidden>Ludden, Laverne =
L.</DIV></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-date>2008</SPAN></TD>
    <TD class=3Dright><A class=3Dlt-tag=20
      =
href=3D"http://www.librarything.com/catalog_bottom.php?tag=3DWE+15&amp;vi=
ew=3Dwhcllibrary">WE=20
      15</A></TD>
    <TD class=3DnoEdit><SPAN class=3Dlt-comments>Two Copies<BR>Fourth=20
      Edition</SPAN></TD></TD></TR></TBODY></TABLE><!-- catalog table =
--></DIV><!-- printable -->
<SCRIPT language=3DJavascript type=3Dtext/javascript>=0A=
=0A=
var selectedBooks =3D {"83822294" : 0,"50447450" : 0,"50447740" : =
0,"50447682" : 0,"78108726" : 0,"50447940" : 0,"50448006" : 0,"50448448" =
: 0,"55569264" : 0,"50448282" : 0,"50446930" : 0,"50448123" : =
0,"50447522" : 0,"50448896" : 0,"50449285" : 0,"50449154" : 0,"63913401" =
: 0,"50449376" : 0,"64112418" : 0,"50450636" : 0,"83821815" : =
0,"84064289" : 0,"50450726" : 0,"50450777" : 0,"77824194" : 0,"50449578" =
: 0,"50449791" : 0,"50477723" : 0,"83821409" : 0,"84064386" : =
0,"75589638" : 0,"83822409" : 0,"55608136" : 0,"75589458" : 0,"50478638" =
: 0,"50478542" : 0,"84287983" : 0,"50478137" : 0,"83820825" : =
0,"83821698" : 0,"69433612" : 0,"50675859" : 0,"50675815" : 0,"50677030" =
: 0,"50675142" : 0,"83821626" : 0,"50706628" : 0,"50706655" : =
0,"83822497" : 0,"79752469" : 0,"83226219" : 0,"84064462" : 0,"50707132" =
: 0,"84064536" : 0,"50706943" : 0,"50707562" : 0,"53460417" : =
0,"50707611" : 0,"50707447" : 0,"83821525" : 0,"50707865" : 0,"50708187" =
: 0,"83226117" : 0,"50707909" : 0,"50708312" : 0,"50708374" : =
0,"53460380" : 0,"63550243" : 0,"56126551" : 0,"84064637" : 0,"77050813" =
: 0,"78959538" : 0,"84064662" : 0,"50891536" : 0,"50892244" : =
0,"50892289" : 0,"50891331" : 0,"50891450" : 0,"50892093" : 0,"50892164" =
: 0,"50892507" : 0,"50892562" : 0,"50892751" : 0,"50892604" : =
0,"50892652" : 0,"60429418" : 0,"50893131" : 0,"56126032" : 0,"63858143" =
: 0,"50709015" : 0,"50708904" : 0,"50715515" : 0,"77050357" : =
0,"50713463" : 0,"50713612" : 0,"50715279" : 0,"50715692" : 0,"50709497" =
: 0,"84061139" : 0,"50709380" : 0,"83226923" : 0,"50709584" : =
0,"84062227" : 0,"50709650" : 0,"50887395" : 0,"50890351" : 0,"50887358" =
: 0,"50890183" : 0,"84064839" : 0,"50890475" : 0,"50890505" : =
0,"50890549" : 0,"50890442" : 0,"50890634" : 0,"50890675" : 0,"50890724" =
: 0,"50890777" : 0,"50887203" : 0,"50890282" : 0,"84064955" : =
0,"71497469" : 0,"50710214" : 0,"84059851" : 0,"50710162" : 0,"50710563" =
: 0,"55569045" : 0,"50710902" : 0,"50719177" : 0,"51256243" : =
0,"50717613" : 0,"50718516" : 0,"50718381" : 0,"50717382" : 0,"50717996" =
: 0,"50719356" : 0,"50717415" : 0,"51256324" : 0,"50717556" : =
0,"50719304" : 0,"50719268" : 0,"50717308" : 0,"50717683" : 0,"50891043" =
: 0,"50710953" : 0,"50711079" : 0,"84065047" : 0,"69469816" : =
0,"84091718" : 0,"55568784" : 0,"50711507" : 0,"65852667" : 0,"50893626" =
: 0,"50711957" : 0,"50711738" : 0,"51665033" : 0,"82401033" : =
0,"83821218" : 0,"50712801" : 0,"50712863" : 0,"50886955" : 0,"50886695" =
: 0,"50886755" : 0,"50886887" : 0,"50886795" : 0,"50886411" : =
0,"55568856" : 0,"50717034" : 0,"78108751" : 0,"84091936" : 0,"77824242" =
: 0,"56126612" : 0,"63858004" : 0,"68945230" : 0,"51965939" : 0};=0A=
var BooksSelected =3D BooksSelected || 0;=0A=
</SCRIPT>
</DIV><!-- content div -->
<DIV id=3DcatalogPermalink class=3Dpermalink><A class=3Dpermalink=20
href=3D"http://www.librarything.com/catalog.php?printable=3D1&amp;view=3D=
WHCLLibrary&amp;collection=3D-1&amp;shelf=3Dprintable&amp;sort=3Dtags"=20
target=3D_top><IMG border=3D0=20
src=3D"http://static.librarything.com/pics/permalink.gif" width=3D16 =
height=3D7>=20
permanent link</A></DIV><!-- multimenu -->
<SCRIPT type=3Dtext/javascript>=0A=
			var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");=0A=
			document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' type=3D'text/javascript'%3E%3C/script%3E"));=0A=
			</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
			try {=0A=
			var pageTracker =3D _gat._getTracker("UA-1192086-1");=0A=
			pageTracker._trackPageview();=0A=
			} catch(err) {}</SCRIPT>

<SCRIPT type=3Dtext/javascript>pageTracker._setVar('LTMember');</SCRIPT>
</BODY></HTML>

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.librarything.com/spaceball.gif

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: image/x-icon
Content-Transfer-Encoding: base64
Content-Location: http://www.librarything.com/favicon.ico

Qk04AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAAAAAASCwAAEgsAAAAAAAAAAAAAXonQ
XonQXonQXonQXonQXonQXonQXonQXonQXonQXonQXonQXonQXonQXonQXonQXonQu8/vu8/vu8/v
u8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vXonQXonQu8/vUVpoLjM7LjM7LjM7LjM7
LjM7LjM7LjM7LjM7LjM7pLXRu8/vu8/vXonQXonQu8/vu8/vaXSGAAAAAAAACwwOaXSGjJuzdYGV
CwwOAAAAgI6ku8/vu8/vXonQXonQu8/vu8/vu8/vAAAAAAAAUVpou8/vu8/vu8/vmKjCCwwORk1Z
u8/vu8/vXonQXonQu8/vu8/vu8/vAAAAAAAAgI6ku8/vu8/vu8/vu8/vdYGVFxkdu8/vu8/vXonQ
XonQu8/vu8/vu8/vAAAAAAAAXWd3u8/vu8/vu8/vu8/vu8/vmKjCu8/vu8/vXonQXonQu8/vu8/v
u8/vAAAAAAAAXWd3u8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vXonQXonQu8/vu8/vu8/vAAAAAAAA
XWd3u8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vXonQXonQu8/vu8/vu8/vAAAAAAAAdYGVu8/vu8/v
u8/vu8/vu8/vu8/vu8/vu8/vXonQXonQu8/vu8/vu8/vAAAAAAAAXWd3u8/vu8/vu8/vu8/vu8/v
u8/vu8/vu8/vXonQXonQu8/vu8/vu8/vAAAAAAAAXWd3u8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/v
XonQXonQu8/vpLXRUVpoAAAAAAAAUVpomKjCu8/vu8/vu8/vu8/vu8/vu8/vu8/vXonQXonQu8/v
aXSGLjM7Rk1ZLjM7LjM7OkBKu8/vu8/vu8/vu8/vu8/vu8/vu8/vXonQXonQu8/vu8/vu8/vu8/v
u8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vu8/vXonQXonQXonQXonQXonQXonQXonQXonQXonQ
XonQXonQXonQXonQXonQXonQXonQXonQAAA=

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://static.librarything.com/pics/sort-down.gif

R0lGODlhCQAFAIABAAAA/////yH5BAEAAAEALAAAAAAJAAUAAAIKhH+BGYoNGWxgFgA7

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://static.librarything.com/pics/permalink.gif

R0lGODlhEAAHALMAALW10vr/huPoeLe3015mt/v/hrW20l5lt1xlt/////f7g11ltwAAAAAAAAAA
AAAAACH5BAAAAAAALAAAAAAQAAcAAAQ4MJl1FlopLbqHREWgjAhYjMoCLCdSlfA1bgWhBecoYIRS
zZfS5rKYTVCKycKAPBgkFU6GsyAAEhEAOw==

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.librarything.com/minified/css/01113dabbcf52d5b2f95ba51b0492785.css

*.hebrewleft {
	TEXT-ALIGN: right !important
}
BODY {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; PADDING-TOP: =
0px; xfont-family: "lucida grande", tahoma
}
TD {
	FONT-SIZE: inherit
}
A {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium; =
TEXT-DECORATION: none
}
FORM {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H1 {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; MARGIN-BOTTOM: =
15px; COLOR: black; FONT-SIZE: 16px; xfont-family: "lucida grande", =
tahoma
}
H2 {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 100%; MARGIN: 15px 0px 10px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-SIZE: 115%; PADDING-TOP: 0px
}
H3 {
	PADDING-BOTTOM: 0px; MARGIN: 15px 0px 10px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 115%; PADDING-TOP: 0px
}
IMG {
	BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: =
none; BORDER-LEFT-STYLE: none
}
.bold {
	FONT-WEIGHT: bold
}
DIV.topnav_outside {
	BACKGROUND-COLOR: #dec0a8 !important
}
.topnav {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/logo_tapir_01.gif) =
!important; BORDER-BOTTOM: #bdaaa2 1px solid; MIN-WIDTH: 850px; =
BACKGROUND-COLOR: #dec0a8 !important; MARGIN-TOP: 0px !important; =
BORDER-TOP-COLOR: #cccccc; BACKGROUND-REPEAT: no-repeat !important; =
BACKGROUND-POSITION: 3px 0px; BORDER-RIGHT-COLOR: #cccccc; FONT-SIZE: =
12px; BORDER-LEFT-COLOR: #cccccc
}
BODY.ie6 DIV.topnav_outside {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/logo_tapir_01.gif) =
!important; BORDER-BOTTOM: #bdaaa2 1px solid; BACKGROUND-COLOR: #dec0a8 =
!important; BACKGROUND-REPEAT: no-repeat !important; =
BACKGROUND-POSITION: 3px 0px
}
BODY.ie6 DIV.topnav {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
TD#mainlogo {
	HEIGHT: 53px
}
#languagechoice {
	Z-INDEX: 1000; POSITION: absolute; TOP: 5px; RIGHT: 5px
}
#languagechoice {
	PADDING-BOTTOM: 0px !important; LIST-STYLE-TYPE: none; MARGIN: 0px; =
PADDING-LEFT: 0px !important; PADDING-RIGHT: 0px !important; =
PADDING-TOP: 0px !important
}
#languagechoice LI {
	PADDING-BOTTOM: 0px !important; LIST-STYLE-TYPE: none; MARGIN: 0px; =
PADDING-LEFT: 0px !important; PADDING-RIGHT: 0px !important; =
PADDING-TOP: 0px !important
}
#languagechoice LI A {
	BORDER-BOTTOM: #b8a985 1px solid; BORDER-LEFT: #b8a985 1px solid; =
PADDING-BOTTOM: 3px; PADDING-LEFT: 12px; WIDTH: 120px; PADDING-RIGHT: =
12px; DISPLAY: block; BACKGROUND: #fff5e1; COLOR: blue !important; =
BORDER-TOP: 0px; FONT-WEIGHT: normal; BORDER-RIGHT: #b8a985 1px solid; =
PADDING-TOP: 3px
}
#languagechoice LI:hover {
	BACKGROUND: white
}
UL#maintabs {
	LIST-STYLE: none none outside; PADDING-BOTTOM: 0px; MARGIN: 0px 5px 0px =
9px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
UL#maintabs LI {
	Z-INDEX: 10; BORDER-BOTTOM: #cecece 1px solid; POSITION: relative; =
BORDER-LEFT: #dcb9a4 1px solid; PADDING-BOTTOM: 1px; BACKGROUND-COLOR: =
#fff5e1; MARGIN: 0px 2px 0px 0px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; =
FLOAT: left; BORDER-TOP: #dcb9a4 1px solid; TOP: 1px; BORDER-RIGHT: =
#dcb9a4 1px solid; PADDING-TOP: 2px; -moz-border-radius-topLeft: 5px; =
-moz-border-radius-topRight: 5px; -webkit-border-top-right-radius: 5px; =
-webkit-border-top-left-radius: 5px
}
UL#maintabs LI#thisone {
	BORDER-BOTTOM: white 1px solid; POSITION: relative; PADDING-BOTTOM: =
1px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BACKGROUND: white 0% 50%; =
PADDING-TOP: 2px
}
UL#maintabs LI#thisone A {
	COLOR: black !important
}
UL#maintabs LI > DIV {
	DISPLAY: inline-block
}
UL#maintabs LI.maintabs_rt {
	FLOAT: right
}
UL#maintabs LI A {
	COLOR: blue
}
UL#maintabs LI A:hover {
	TEXT-DECORATION: underline
}
UL#maintabs LI:hover {
	BACKGROUND: white
}
UL#maintabs LI.spacer {
	MARGIN-RIGHT: 15px !important
}
DIV.content {
	MARGIN: 10px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; =
FONT-SIZE: 11px; xfont-family: "lucida grande", tahoma
}
DIV.zeitgeist {
	MARGIN: 17px
}
TABLE#edittable TD {
	TEXT-ALIGN: left; PADDING-BOTTOM: 12px; PADDING-LEFT: 15px; =
PADDING-RIGHT: 0px; VERTICAL-ALIGN: top; PADDING-TOP: 0px
}
TD.leftcol {
	TEXT-ALIGN: right; PADDING-LEFT: 0px; VERTICAL-ALIGN: top; FONT-WEIGHT: =
bold
}
TABLE.subactions {
	BORDER-BOTTOM: #8f8f8f 1px solid; BORDER-LEFT: #8f8f8f 1px; =
PADDING-BOTTOM: 3px; MARGIN-BOTTOM: 10px; FONT-SIZE: 12px !important; =
BORDER-TOP: #8f8f8f 1px; FONT-WEIGHT: bold; BORDER-RIGHT: #8f8f8f 1px
}
DIV#finddiv {
	DISPLAY: none
}
DIV#finddiv0 {
	DISPLAY: none
}
DIV#finddiv1 {
	DISPLAY: none
}
TABLE.find {
	BACKGROUND-COLOR: #cacbf8; MARGIN-TOP: 0px; BORDER-TOP-STYLE: none
}
DIV.tagcloud A:link {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
DIV.tagcloud A:active {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
DIV.tagcloud A:visited {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
DIV.tagcloud A:hover {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
DIV.tagcloud A:hover {
	TEXT-DECORATION: underline !important
}
P.tagcloud {
	TEXT-ALIGN: right; LINE-HEIGHT: 100%; MARGIN: -5px 0px 15px; =
FONT-WEIGHT: bold
}
DIV.globalalert {
	BORDER-BOTTOM: gray 1px solid; POSITION: absolute; TEXT-ALIGN: right; =
BORDER-LEFT: gray 1px solid; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: =
yellow; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; FONT-FAMILY: sans-serif; =
FONT-SIZE: 11px; BORDER-TOP: gray 1px; TOP: 0px; RIGHT: 0px; =
BORDER-RIGHT: gray 1px; PADDING-TOP: 2px
}
DIV.alert {
	MARGIN-BOTTOM: 5px; COLOR: orange; FONT-WEIGHT: bold
}
DIV.alert B {
	COLOR: black
}
.userpad {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/userpad_bg.gif); =
POSITION: absolute; TEXT-ALIGN: right; PADDING-BOTTOM: 9px; =
PADDING-LEFT: 12px; PADDING-RIGHT: 10px; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: left top; HEIGHT: 17px; COLOR: #c9ad96; FONT-SIZE: =
10px !important; TOP: 0px; RIGHT: 0px; FONT-WEIGHT: bold; PADDING-TOP: =
5px
}
.userpad SPAN.pipe {
	MARGIN: 0px 4px; COLOR: #c9ad96 !important; FONT-WEIGHT: bold
}
.userpad IMG {
	VERTICAL-ALIGN: middle
}
.userpad IMG.silk {
	FILTER: alpha(opacity=3D60); MARGIN: -1px 4px 0px 0px; WIDTH: 16px; =
HEIGHT: 16px; -moz-opacity: 0.6; opacity: .60
}
.userpad A:link {
	COLOR: #7272ae; TEXT-DECORATION: none
}
.userpad A:active {
	COLOR: #7272ae; TEXT-DECORATION: none
}
.userpad A:visited {
	COLOR: #7272ae; TEXT-DECORATION: none
}
.userpad A:hover {
	COLOR: #232323; TEXT-DECORATION: underline
}
.navmessage {
	PADDING-BOTTOM: 1px; MARGIN: 3px 0px 0px; PADDING-LEFT: 1px; =
PADDING-RIGHT: 1px; PADDING-TOP: 1px
}
.navmessage A {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fffa77; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; PADDING-TOP: 0px
}
.navmessage * {
	COLOR: #414141 !important
}
.promotional {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 100%; PADDING-LEFT: 0px; =
PADDING-RIGHT: 5px; FONT-FAMILY: georgia; FLOAT: right; COLOR: black; =
FONT-SIZE: 12px; FONT-WEIGHT: bold; PADDING-TOP: 3px
}
DIV.msm {
	BORDER-BOTTOM: #aaaaaa 1px solid; BORDER-LEFT: #aaaaaa 1px solid; =
PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
BORDER-TOP: #aaaaaa 1px solid; BORDER-RIGHT: #aaaaaa 1px solid; =
PADDING-TOP: 10px
}
P.tinygray {
	COLOR: gray; FONT-SIZE: 10px
}
DIV.tinygray {
	COLOR: gray; FONT-SIZE: 10px
}
SPAN.tinygray {
	COLOR: gray; FONT-SIZE: 10px
}
TABLE.usertagnav2 {
	BORDER-BOTTOM: #b0b0b0 1px solid; BORDER-LEFT: #b0b0b0 1px solid; =
BACKGROUND-COLOR: #dae1f6; BORDER-TOP: #b0b0b0 1px solid; FONT-WEIGHT: =
bold; BORDER-RIGHT: #b0b0b0 1px solid
}
TABLE.usertagnav2 TD {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; FONT-SIZE: =
12px !important; PADDING-TOP: 4px
}
SPAN.untrans {
	BACKGROUND-COLOR: yellow
}
DIV.translatebar {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px; =
PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #eeeeee; MARGIN-TOP: 50px; =
PADDING-LEFT: 6px; PADDING-RIGHT: 6px; COLOR: #232323; CLEAR: both; =
FONT-SIZE: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc =
1px; PADDING-TOP: 6px
}
DIV.morespace {
	TEXT-ALIGN: right; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 0px; COLOR: gray; FONT-SIZE: 9px; PADDING-TOP: 2px
}
IMG.rssicon {
	PADDING-RIGHT: 5px; VERTICAL-ALIGN: middle; TEXT-DECORATION: none =
!important
}
SPAN.n A {
	VERTICAL-ALIGN: middle; TEXT-DECORATION: none !important
}
SPAN.p0 {
	BACKGROUND-COLOR: #bdbdfe
}
SPAN.p1 {
	BACKGROUND-COLOR: #bddefe
}
SPAN.p2 {
	BACKGROUND-COLOR: #beeeff
}
SPAN.p3 {
	BACKGROUND-COLOR: #bffedf
}
SPAN.p4 {
	BACKGROUND-COLOR: #d0fdbf
}
SPAN.p5 {
	BACKGROUND-COLOR: #f6ffbd
}
SPAN.p6 {
	BACKGROUND-COLOR: #ffffbd
}
SPAN.p7 {
	BACKGROUND-COLOR: #ffeebe
}
SPAN.p8 {
	BACKGROUND-COLOR: #ffdebd
}
SPAN.p9 {
	BACKGROUND-COLOR: #ffbdd0
}
SPAN.p10 {
	BACKGROUND-COLOR: #ffbdd0
}
SPAN.n {
	CURSOR: pointer
}
SPAN.n {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 9px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; MARGIN-LEFT: 3px; FONT-SIZE: 9px; FONT-WEIGHT: bold; =
TEXT-DECORATION: none !important; PADDING-TOP: 0px
}
SPAN.n_example {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 9px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; MARGIN-LEFT: 3px; FONT-SIZE: 9px; FONT-WEIGHT: bold; =
TEXT-DECORATION: none !important; PADDING-TOP: 0px
}
SPAN.p0 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p1 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p2 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p3 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p4 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p5 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p6 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p7 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p8 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p9 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
SPAN.p10 {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
COLOR: #232323; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px =
solid
}
DIV.tt INPUT {
	VERTICAL-ALIGN: text-bottom
}
DIV#ap_message P {
	MARGIN: 5px
}
SPAN.ap_on {
	BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: =
#fff; COLOR: blue; FONT-SIZE: 10px; BORDER-TOP: #ddd 1px solid; =
BORDER-RIGHT: #ddd 1px solid; PADDING-TOP: 2px
}
SPAN.ngray {
	BORDER-BOTTOM-STYLE: none !important; BORDER-RIGHT-STYLE: none =
!important; BACKGROUND-COLOR: inherit !important; BORDER-TOP-STYLE: none =
!important; COLOR: #454545; BORDER-LEFT-STYLE: none !important; =
FONT-WEIGHT: bold
}
SPAN.circle {
	COLOR: #2f69c1
}
SPAN.nsquare {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
FONT-WEIGHT: bold; PADDING-TOP: 0px
}
DIV.tt {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BACKGROUND: =
white; FONT-SIZE: 10px; BORDER-TOP: black 1px solid; BORDER-RIGHT: black =
1px solid; PADDING-TOP: 5px
}
SPAN * {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
SPAN.userControlObject {
	BORDER-BOTTOM: #eee 1px solid; TEXT-ALIGN: left; BORDER-LEFT: #eee 1px =
solid; PADDING-BOTTOM: 1px; LINE-HEIGHT: normal; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; WHITE-SPACE: nowrap; BORDER-TOP: #eee 1px solid; =
CURSOR: pointer; FONT-WEIGHT: normal; MARGIN-RIGHT: 5px; BORDER-RIGHT: =
#eee 1px solid; TEXT-DECORATION: none; PADDING-TOP: 2px
}
SPAN.userControlObject:hover {
	BORDER-BOTTOM: #bbb 1px solid; BORDER-LEFT: #bbb 1px solid; =
BACKGROUND-COLOR: #eee; BORDER-TOP: #bbb 1px solid; BORDER-RIGHT: #bbb =
1px solid
}
.userControlHover {
	BORDER-BOTTOM: #bbb 1px solid; BORDER-LEFT: #bbb 1px solid; =
BACKGROUND-COLOR: #eee; BORDER-TOP: #bbb 1px solid; BORDER-RIGHT: #bbb =
1px solid
}
.userControlHover {
	BORDER-BOTTOM: #bbb 1px solid; BORDER-LEFT: #bbb 1px solid; =
BACKGROUND-COLOR: #eee; BORDER-TOP: #bbb 1px solid; BORDER-RIGHT: #bbb =
1px solid
}
SPAN.ucoArrow {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; COLOR: =
#eee; FONT-SIZE: 70%; BORDER-RIGHT: #eee 1px solid; PADDING-TOP: 5px
}
SPAN.userControlObject:hover .ucoArrow {
	BORDER-BOTTOM-COLOR: #bbb; BACKGROUND-COLOR: #aaa; BORDER-TOP-COLOR: =
#bbb; COLOR: #ccc; BORDER-RIGHT-COLOR: #bbb; BORDER-LEFT-COLOR: #bbb
}
SPAN.userControlObject:hover .ucoArrow:hover {
	BACKGROUND-COLOR: #888; COLOR: #fff
}
.ucoArrowOn {
	BACKGROUND-COLOR: #888; COLOR: #fff
}
SPAN.ucoName {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; COLOR: =
blue; PADDING-TOP: 0px
}
SPAN.ucoAff {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
MARGIN-LEFT: 0px; PADDING-TOP: 0px
}
SPAN.ucoAffp {
	FONT-SIZE: 80%; VERTICAL-ALIGN: 3px
}
.ucoMenu {
	Z-INDEX: 50; BORDER-BOTTOM: #999 0px solid; POSITION: relative; =
BORDER-LEFT: #999 0px solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: =
#eee; PADDING-LEFT: 0px; WIDTH: 160px; PADDING-RIGHT: 0px; DISPLAY: =
none; FONT-SIZE: 12px; OVERFLOW: visible; BORDER-TOP: #999 0px solid; =
CURSOR: pointer; BORDER-RIGHT: #999 0px solid; PADDING-TOP: 0px
}
.ucoMainMenu {
	TOP: 4px; LEFT: -1px
}
.userControlObject:hover .ucoMainMenu {
	DISPLAY: block
}
.ucoMenuItem {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 3px; PADDING-RIGHT: 5px; FLOAT: =
none; HEIGHT: 13px; PADDING-TOP: 3px
}
.ucoMenuItem:hover {
	BACKGROUND-COLOR: white
}
.ucoDisabled {
	BACKGROUND-COLOR: #eee; COLOR: #999
}
.ucoDisabled:hover {
	BACKGROUND-COLOR: #eee; COLOR: #999
}
.ucoMenuIcon {
	TEXT-ALIGN: center; WIDTH: 12px; FLOAT: left
}
.ucoMenuItemText {
	PADDING-LEFT: 4px
}
.ucoMenuDivider {
	BACKGROUND-COLOR: #ddd; MARGIN-TOP: 2px; MARGIN-BOTTOM: 3px; HEIGHT: =
1px
}
.ucoMenuItemArrow {
	POSITION: relative; FLOAT: right; FONT-SIZE: 90%; TOP: 2px
}
.ucoMenuItem:hover .ucoSubMenu {
	DISPLAY: block
}
.ucoSubMenu {
	DISPLAY: block; TOP: -15px; LEFT: 157px
}
.collections {
	BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; =
PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; DISPLAY: =
block; BORDER-TOP: #ddd 1px solid; BORDER-RIGHT: #ddd 1px solid; =
PADDING-TOP: 10px
}
#collectionAddPopup {
	BORDER-BOTTOM: #eea 1px solid; BORDER-LEFT: #eea 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #ffb; PADDING-LEFT: 22px; =
PADDING-RIGHT: 10px; DISPLAY: none; BORDER-TOP: #eea 1px solid; =
BORDER-RIGHT: #eea 1px solid; PADDING-TOP: 3px
}
#collectionAddButtons {
	TEXT-ALIGN: right
}
.c_footnote {
	FONT-STYLE: italic; MARGIN-TOP: 5px; PADDING-LEFT: 23px; FONT-SIZE: 90%
}
.fadeBox {
	Z-INDEX: 100; POSITION: absolute; FILTER: alpha(opacity=3D80); =
BACKGROUND-COLOR: #000; WIDTH: 100%; HEIGHT: 100%; TOP: 0px; LEFT: 0px; =
-moz-opacity: 0.8; opacity: .80
}
DIV.bottombar {
	TEXT-ALIGN: center; MARGIN: 100px 20px 0px; COLOR: gray; CLEAR: both; =
FONT-SIZE: 10px
}
DIV.bottombar DIV.copyright {
	MARGIN: 10px 0px
}
.text90 {
	FONT-SIZE: 90%
}
.text80 {
	FONT-SIZE: 80%
}
#LT_LB_overlay {
	Z-INDEX: 5000 !important; POSITION: absolute; FILTER: =
alpha(opacity=3D40); BACKGROUND-COLOR: #000; WIDTH: 100%; BOTTOM: 0px; =
DISPLAY: none; HEIGHT: 100%; TOP: 0px; RIGHT: 0px; LEFT: 0px; =
-moz-opacity: 0.4; opacity: .40
}
.LT_LB_overlay_white {
	FILTER: alpha(opacity=3D60) !important; BACKGROUND-COLOR: #fff =
!important; -moz-opacity: 0.6; opacity: .60
}
[id]#LT_LB_overlay {
	POSITION: fixed
}
#LT_LB {
	Z-INDEX: 5001 !important; BORDER-BOTTOM: #4a3b30 3px solid; POSITION: =
fixed; BORDER-LEFT: #4a3b30 3px solid; OVERFLOW-X: hidden; OVERFLOW-Y: =
auto; BACKGROUND-COLOR: white; WIDTH: 600px; DISPLAY: none; HEIGHT: =
auto; FONT-SIZE: 12px; OVERFLOW: auto; BORDER-TOP: #4a3b30 3px solid; =
TOP: 50%; BORDER-RIGHT: #4a3b30 3px solid; LEFT: 50%; =
-webkit-box-shadow: 0px 3px 10px #000; -moz-box-shadow: 0px 3px 10px =
#000
}
#LT_LB UL {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#LT_LB P {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#LT_LB UL {
	LIST-STYLE-TYPE: none
}
#LT_LB LI {
	MARGIN: 10px 0px 5px
}
#LT_LB_loading {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 15px; PADDING-RIGHT: 15px; =
PADDING-TOP: 15px
}
DIV.lightbox * {
	Z-INDEX: 500 !important
}
.LT_LB_content {
	PADDING-BOTTOM: 20px !important; PADDING-LEFT: 20px !important; =
PADDING-RIGHT: 20px !important; PADDING-TOP: 20px !important
}
#LT_LB_content .sectionTitle {
	MARGIN-TOP: 10px
}
.LT_LB_rounded {
	-moz-border-radius: 15px; -webkit-border-radius: 15px
}
A.alwaysblue:link {
	COLOR: blue
}
A.alwaysblue:visited {
	COLOR: blue
}
A.alwaysblue:active {
	COLOR: blue
}
A.alwaysblue:hover {
	COLOR: blue
}
.alwaysblue A:link {
	COLOR: blue
}
.alwaysblue A:visited {
	COLOR: blue
}
.alwaysblue A:active {
	COLOR: blue
}
.alwaysblue A:hover {
	COLOR: blue
}
A.alwaysgrey:link {
	COLOR: grey
}
A.alwaysgrey:visited {
	COLOR: grey
}
A.alwaysgrey:active {
	COLOR: grey
}
A.alwaysgrey:hover {
	COLOR: grey
}
.alwaysgrey {
	COLOR: grey
}
.alwaysgrey A:link {
	COLOR: grey
}
.alwaysgrey A:visited {
	COLOR: grey
}
.alwaysgrey A:active {
	COLOR: grey
}
.alwaysgrey A:hover {
	COLOR: grey
}
A.alwaysblack:link {
	COLOR: black
}
A.alwaysblack:visited {
	COLOR: black
}
A.alwaysblack:active {
	COLOR: black
}
A.alwaysblack:hover {
	COLOR: black
}
.alwaysblack A:link {
	COLOR: black
}
.alwaysblack A:visited {
	COLOR: black
}
.alwaysblack A:active {
	COLOR: black
}
.alwaysblack A:hover {
	COLOR: black
}
.alwayswhite A:link {
	COLOR: white !important
}
.alwayswhite A:visited {
	COLOR: white !important
}
.alwayswhite A:active {
	COLOR: white !important
}
.alwayswhite A:hover {
	COLOR: white !important
}
.nolinkcolor A {
	COLOR: inherit !important
}
.nolinkcolor:link {
	COLOR: inherit !important
}
.nolinkcolor:visited {
	COLOR: inherit !important
}
.nolinkcolor:active {
	COLOR: inherit !important
}
.nolinkcolor:hover {
	COLOR: inherit !important
}
DIV.have {
	PADDING-LEFT: 0px; MARGIN-LEFT: 0px
}
IMG.have {
	MARGIN-TOP: 3px; WIDTH: 13px; HEIGHT: 13px; VERTICAL-ALIGN: top; =
MARGIN-RIGHT: 7px
}
.donthave {
	PADDING-LEFT: 20px !important
}
.divet {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 12px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 1px; COLOR: blue !important; FONT-SIZE: 14px; CURSOR: =
pointer; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
.pad {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/m.gif); =
PADDING-BOTTOM: 0px; LINE-HEIGHT: 22px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Verdana, sans-serif; COLOR: =
#2a2928 !important; FONT-SIZE: 11px; VERTICAL-ALIGN: middle; =
FONT-WEIGHT: bold; PADDING-TOP: 0px; xfont-family: "lucida grande", =
tahoma
}
.newDivot {
	WIDTH: 7px; BACKGROUND: url(//www.librarything.com/pics/newdivot.png) =
no-repeat -36px 50%; HEIGHT: 6px; MARGIN-LEFT: 3px; FONT-SIZE: 0px; =
VERTICAL-ALIGN: middle
}
.edition TD {
	VERTICAL-ALIGN: top
}
.collectionManagerCloseLink {
	FLOAT: right; COLOR: white !important; FONT-SIZE: 10px; FONT-WEIGHT: =
normal; text-shadow: none
}
.collectionManagerCloseLink A {
	FLOAT: right; COLOR: white !important; FONT-SIZE: 10px; FONT-WEIGHT: =
normal; text-shadow: none
}
.workpagetageditbox {
	BORDER-BOTTOM: #dd9 1px solid; BORDER-LEFT: #dd9 1px solid; =
PADDING-BOTTOM: 0.3em; PADDING-LEFT: 0.3em; WIDTH: 100%; PADDING-RIGHT: =
0.3em; FONT-FAMILY: Arial; BACKGROUND: #ffc; HEIGHT: 100px; FONT-SIZE: =
13px; BORDER-TOP: #dd9 1px solid; MARGIN-RIGHT: 10px; BORDER-RIGHT: #dd9 =
1px solid; PADDING-TOP: 0.3em
}
#crprevTableContainer {
=09
}
#crprevTable {
	BORDER-LEFT: #ccc 1px solid; WIDTH: 100%; COLOR: black; FONT-SIZE: =
10px; BORDER-TOP: #ccc 1px solid; xborder: 1px solid #eee
}
#crprevTable TD {
	BORDER-BOTTOM: #ddd 1px solid; TEXT-ALIGN: left; PADDING-BOTTOM: 2px; =
BACKGROUND-COLOR: #fff; PADDING-LEFT: 3px; WIDTH: 50%; PADDING-RIGHT: =
3px; BORDER-RIGHT: #ddd 1px solid; PADDING-TOP: 2px
}
#crprevHeadTable {
	WIDTH: 100%
}
#crprevHeadTable TD {
	BORDER-BOTTOM: medium none; TEXT-ALIGN: left; BORDER-LEFT: medium none; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: transparent; WIDTH: 50%; COLOR: =
#999; BORDER-TOP: medium none; FONT-WEIGHT: bold; BORDER-RIGHT: medium =
none
}
.collections_checksWarningMsg {
	BORDER-BOTTOM: #f00 1px solid; BORDER-LEFT: #f00 1px solid; =
PADDING-BOTTOM: 2px; MARGIN-TOP: 10px; PADDING-LEFT: 5px; PADDING-RIGHT: =
5px; BACKGROUND: #fdd; COLOR: red; FONT-SIZE: 10px; BORDER-TOP: #f00 1px =
solid; BORDER-RIGHT: #f00 1px solid; PADDING-TOP: 2px
}
IMG#mainlogo {
	MARGIN: 0px 0px 0px 12px
}
.userpad {
	BACKGROUND-IMAGE: none !important; BORDER-BOTTOM: #c9ad96 1px solid; =
BORDER-LEFT: #c9ad96 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: =
#ecd7cb; PADDING-LEFT: 12px; PADDING-RIGHT: 10px; BACKGROUND-POSITION: =
left top; BORDER-TOP: #c9ad96 1px; BORDER-RIGHT: #c9ad96 1px; =
PADDING-TOP: 4px; -moz-border-radius-bottomleft: 6px; =
-webkit-border-bottom-left-radius: 6px
}
.userpad A:link {
=09
}
.userpad A:visited {
=09
}
.userpad A:active {
=09
}
.userpad A:hover {
=09
}
.topnav .userpad SPAN.pipe {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; COLOR: =
#b2957e !important; PADDING-TOP: 0px
}
UL#maintabs {
	LIST-STYLE: none none outside; MIN-WIDTH: 650px; PADDING-BOTTOM: 0px; =
MARGIN: 0px 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: =
0px
}
UL#maintabs LI {
	BORDER-BOTTOM: #c1bab1 0px solid; BORDER-LEFT: #bdaaa2 2px solid; =
PADDING-BOTTOM: 1px !important; MARGIN: 0px 2px 0pt 0pt; FLOAT: left; =
FONT-SIZE: 12px; BORDER-TOP: #bdaaa2 2px solid; BORDER-RIGHT: #bdaaa2 =
2px solid
}
UL#maintabs LI A:link {
	COLOR: blue
}
UL#maintabs LI A:visited {
	COLOR: blue
}
UL#maintabs LI A:active {
	COLOR: blue
}
UL#maintabs LI A:hover {
	COLOR: blue
}
UL#maintabs LI.disabled A:link {
	COLOR: #444444 !important
}
UL#maintabs LI.disabled A:visited {
	COLOR: #444444 !important
}
UL#maintabs LI.disabled A:active {
	COLOR: #444444 !important
}
UL#maintabs LI.disabled A:hover {
	COLOR: #444444 !important
}
UL#maintabs LI.maintabs_rt {
	FLOAT: right
}
UL#maintabs LI {
	BORDER-BOTTOM: #bdaaa2 1px solid; BORDER-LEFT: #bdaaa2 1px solid; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fff5e1; PADDING-LEFT: 8px; =
PADDING-RIGHT: 8px; DISPLAY: block; COLOR: black !important; BORDER-TOP: =
#bdaaa2 1px solid; BORDER-RIGHT: #bdaaa2 1px solid; TEXT-DECORATION: =
none; PADDING-TOP: 2px
}
UL#maintabs LI:hover {
	BACKGROUND: #fff; COLOR: blue; TEXT-DECORATION: underline
}
UL#maintabs A:visited {
=09
}
UL#maintabs #thisone {
	BORDER-BOTTOM: white 1px solid; POSITION: relative; BORDER-TOP-COLOR: =
#9f897f !important; BACKGROUND: #fff; BORDER-RIGHT-COLOR: #9f897f =
!important; BORDER-LEFT-COLOR: #9f897f !important
}
DIV.sbar {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/sbar_159.png); =
POSITION: absolute; WIDTH: 159px; BACKGROUND-REPEAT: no-repeat; HEIGHT: =
24px; TOP: 35px; RIGHT: 9px
}
DIV.sbar INPUT#stxt {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
BACKGROUND-COLOR: transparent; MARGIN-TOP: 5px; PADDING-LEFT: 8px; =
WIDTH: 145px; PADDING-RIGHT: 0px; COLOR: #232323; FONT-SIZE: 11px; =
VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
DIV.sbar INPUT:focus {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium
}
DIV.sbar IMG.mgnfr {
	POSITION: absolute; TOP: 6px; CURSOR: pointer; RIGHT: 7px
}
.loadingPage {
	FILTER: alpha(opacity=3D40); -moz-opacity: .40; opacity: .40
}
.simpleajaxloading {
	FILTER: alpha(opacity=3D40); BACKGROUND-COLOR: #feffc6; -moz-opacity: =
.40; opacity: .40
}
IMG.icon {
	WIDTH: 16px; HEIGHT: 16px; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 5px
}
IMG.icon21 {
	WIDTH: 21px; HEIGHT: 21px; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 6px
}
IMG.icon12 {
	WIDTH: 12px; HEIGHT: 12px; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 4px
}
IMG.navicon12 {
	WIDTH: 12px; HEIGHT: 12px; VERTICAL-ALIGN: middle
}
#LB_top {
	WIDTH: 100%
}
#LB_top TD {
	PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; BACKGROUND-COLOR: #665141; =
PADDING-LEFT: 4px; PADDING-RIGHT: 4px; COLOR: white; FONT-SIZE: 11px; =
CURSOR: pointer; FONT-WEIGHT: bold; PADDING-TOP: 2px
}
DIV#filterby P {
	LINE-HEIGHT: 150%; TEXT-INDENT: -20px; PADDING-LEFT: 20px; =
MARGIN-BOTTOM: 10px; COLOR: gray
}
DIV#filterby P B {
	COLOR: black
}
DIV#filterby P A {
	WHITE-SPACE: nowrap
}
* {
=09
}
BODY {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: =
11px; PADDING-TOP: 0px
}
FORM {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
IMG {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
H1 {
	MARGIN-BOTTOM: 15px; COLOR: black; FONT-SIZE: 150%
}
H2 {
	LINE-HEIGHT: 100%; FONT-SIZE: 115%
}
.content {
	POSITION: absolute; MARGIN: 25px
}
.alert {
	MARGIN-BOTTOM: 5px; COLOR: orange; MARGIN-LEFT: 10px; FONT-WEIGHT: bold
}
.alert B {
	COLOR: black
}
.sl {
	BORDER-BOTTOM: #4c4c4c 1px solid; BORDER-LEFT: #8f8f8f 1px solid; =
BACKGROUND-COLOR: #fffec9; WIDTH: 100%; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; FONT-SIZE: 11px; BORDER-TOP: #8f8f8f 1px solid; =
FONT-WEIGHT: bold; BORDER-RIGHT: #4c4c4c 1px solid
}
.sl TD {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
PADDING-TOP: 5px
}
.lb TD {
	BORDER-BOTTOM: #ebebdd 1px solid; BORDER-LEFT: #ebebdd 1px; =
BACKGROUND-COLOR: #ebebdd; BORDER-TOP: #ebebdd 1px; BORDER-RIGHT: =
#ebebdd 1px
}
.sl A:link {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
.sl A:active {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
.sl A:visited {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
.sl A:hover {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
.catalog {
	BORDER-BOTTOM: #cecece 1px; POSITION: relative; BORDER-LEFT: #cecece =
1px; MARGIN-TOP: 10px; WIDTH: 100%; FONT-SIZE: inherit; BORDER-TOP: =
#cecece 1px; BORDER-RIGHT: #cecece 1px
}
.catalog TR {
	PAGE-BREAK-INSIDE: avoid
}
.catalog TR.even {
	BACKGROUND-COLOR: #f5f5f5
}
.catalog .duplicate {
	BACKGROUND-COLOR: #f7ffa2
}
.catalog TD {
	TEXT-ALIGN: center; WIDTH: auto; VERTICAL-ALIGN: top
}
.catalog TR.last TD {
	BORDER-BOTTOM: #f2e8e5 1px solid
}
.leftline {
	BORDER-LEFT-STYLE: solid !important
}
.catalog PRE {
	PADDING-LEFT: 10px; FONT-SIZE: 10px
}
.tablehead TD {
	BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; FONT-WEIGHT: bold
}
.catalog P {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.tablehead A:link {
	COLOR: blue !important
}
.tablehead A:hover {
	COLOR: blue !important
}
.tablehead A:visited {
	COLOR: blue !important
}
.tablehead A:active {
	COLOR: blue !important
}
.tablehead TD {
	WHITE-SPACE: nowrap
}
.printable A:link {
	COLOR: black !important; TEXT-DECORATION: none !important
}
.printable A:hover {
	COLOR: black !important; TEXT-DECORATION: none !important
}
.printable A:visited {
	COLOR: black !important; TEXT-DECORATION: none !important
}
.printable A:active {
	COLOR: black !important; TEXT-DECORATION: none !important
}
.usertagnav {
	BORDER-BOTTOM: #e6d6cc 1px solid; BORDER-LEFT: #e6d6cc 1px solid; =
PADDING-BOTTOM: 6px; BACKGROUND-COLOR: #fffdcc; PADDING-LEFT: 6px; =
WIDTH: 100%; PADDING-RIGHT: 6px; MARGIN-BOTTOM: 5px; BORDER-TOP: #e6d6cc =
1px solid; FONT-WEIGHT: normal; BORDER-RIGHT: #e6d6cc 1px solid; =
PADDING-TOP: 6px
}
.utnt {
	FONT-WEIGHT: bold
}
#powerdiv0 {
	BACKGROUND-IMAGE: url(../tints/red-10.png); DISPLAY: none; =
BACKGROUND-REPEAT: repeat
}
#powerdiv1 {
	BACKGROUND-IMAGE: url(../tints/red-10.png); DISPLAY: none; =
BACKGROUND-REPEAT: repeat
}
.power {
	BACKGROUND-COLOR: #ebebde; MARGIN-TOP: 0px; BORDER-TOP-STYLE: none
}
.subject P {
	PADDING-BOTTOM: 0px; TEXT-INDENT: -1.5em; MARGIN: 0px 0px 0px 1.5em; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.commentalert {
	MARGIN-TOP: -4px; MARGIN-BOTTOM: 8px; FONT-WEIGHT: bold
}
.yellow {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #f6ff00; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; PADDING-TOP: 2px
}
.graphicalShelf .cover {
	BORDER-BOTTOM: #f4f4f4 2px solid; BORDER-LEFT: #f4f4f4 2px solid; =
PADDING-BOTTOM: 0px; MARGIN: 10px 2px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; BORDER-TOP: #f4f4f4 2px solid; BORDER-RIGHT: #f4f4f4 2px solid; =
PADDING-TOP: 0px
}
.blurb {
	TEXT-ALIGN: center; MARGIN-TOP: -15px; DISPLAY: none; MARGIN-LEFT: =
-15px
}
.words {
	PADDING-BOTTOM: 6px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; FONT-SIZE: =
10px; PADDING-TOP: 6px
}
.rollover {
	BORDER-BOTTOM: black 2px solid; TEXT-ALIGN: center; BORDER-LEFT: black =
2px solid; LINE-HEIGHT: 140%; BACKGROUND-COLOR: #bfd0ff; MARGIN-TOP: =
-15px; DISPLAY: none; MARGIN-LEFT: -15px; BORDER-TOP: black 2px solid; =
FONT-WEIGHT: bold; BORDER-RIGHT: black 2px solid
}
HR {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.rollover A:link {
	TEXT-DECORATION: none
}
.rollover A:active {
	TEXT-DECORATION: none
}
.rollover A:visited {
	TEXT-DECORATION: none
}
.rollover A:hover {
	TEXT-DECORATION: underline
}
.miniusername {
	MARGIN-TOP: 7px; FONT-SIZE: 9px
}
.poweredit TD {
	BORDER-BOTTOM: #bbbbbb 1px solid; BORDER-LEFT: #bbbbbb 1px; FONT-SIZE: =
11px; BORDER-TOP: #bbbbbb 1px; BORDER-RIGHT: #bbbbbb 1px
}
.poweredit TD.right {
	BORDER-RIGHT-STYLE: solid
}
.poweredit TD.right {
	BORDER-RIGHT-STYLE: solid
}
.poweredit TD.topline {
	BORDER-BOTTOM: #bbbbbb 1px solid; BORDER-LEFT: #bbbbbb 1px; =
LINE-HEIGHT: 18px; BACKGROUND-COLOR: #bbbbbb; BORDER-TOP: #bbbbbb 1px; =
FONT-WEIGHT: bold; BORDER-RIGHT: #bbbbbb 1px
}
TR.lit {
	BACKGROUND-COLOR: #b7ffb2
}
TR.notlit:hover {
	BACKGROUND-COLOR: #d9d9d9 !important
}
TR.lit:hover {
	BACKGROUND-COLOR: #9cd997 !important
}
.yellowbox TABLE {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; =
PADDING-TOP: 10px
}
.yellowbox TABLE TD {
	PADDING-BOTTOM: 10px; LINE-HEIGHT: 16px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 10px; FONT-SIZE: 11px; VERTICAL-ALIGN: middle; =
FONT-WEIGHT: normal; PADDING-TOP: 0px
}
.yellowbox TABLE TR.thin TD {
	PADDING-BOTTOM: 5px
}
.hidden {
	DISPLAY: none
}
.yellowbox {
	Z-INDEX: 400; POSITION: relative; PADDING-BOTTOM: 5px; =
BACKGROUND-COLOR: #e2e2e2; MARGIN-TOP: 3px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; FONT-WEIGHT: bold; PADDING-TOP: 5px
}
#checkall {
	MARGIN: 0px 10px 10px; COLOR: gray; FONT-WEIGHT: normal
}
.optionbar {
	Z-INDEX: -100; MARGIN: 15px 0px 1px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; FONT-SIZE: 11px; PADDING-TOP: 10px
}
.optionbar A {
	Z-INDEX: -100; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #cccccc; =
PADDING-LEFT: 0.6em; PADDING-RIGHT: 0.6em; TEXT-DECORATION: none; =
PADDING-TOP: 3px
}
.optionbar A:link {
	COLOR: blue
}
.optionbar A:visited {
	COLOR: blue
}
.optionbar A:hover {
	BACKGROUND-COLOR: #aaaaaa; COLOR: black; TEXT-DECORATION: underline
}
A.thisone {
	BORDER-BOTTOM-COLOR: #e3e7f9 !important; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #e2e2e2 !important; PADDING-LEFT: 1.1em; =
PADDING-RIGHT: 1.1em; COLOR: black !important; FONT-WEIGHT: bold; =
PADDING-TOP: 3px
}
A.notthisone {
	BORDER-BOTTOM-COLOR: #f0d7c3 !important; BACKGROUND-COLOR: #fff5e1 =
!important
}
.alignright {
	DISPLAY: inline; FLOAT: right
}
A.alwaysblue:link {
	COLOR: blue
}
A.alwaysblue:visited {
	COLOR: blue
}
A.alwaysblue:active {
	COLOR: blue
}
A.alwaysblue:hover {
	COLOR: blue
}
A.nonunderlined:link {
	TEXT-DECORATION: none
}
A.nonunderlined:visited {
	TEXT-DECORATION: none
}
A.nonunderlined:active {
	TEXT-DECORATION: none
}
A.nonunderlined:hover {
	TEXT-DECORATION: none
}
.permalink {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; CLEAR: =
both; PADDING-TOP: 10px
}
A.permalink:link {
	COLOR: #8398ca; TEXT-DECORATION: none
}
A.permalink:visited {
	COLOR: #8398ca; TEXT-DECORATION: none
}
A.permalink:active {
	COLOR: #8398ca; TEXT-DECORATION: none
}
A.permalink:hover {
	TEXT-DECORATION: underline
}
*.workdata {
	COLOR: green !important
}
*.workdata A:link {
	COLOR: green !important
}
*.workdata A:visited {
	COLOR: green !important
}
*.workdata A:active {
	COLOR: green !important
}
*.workdata A:hover {
	COLOR: green !important
}
.middlebox {
	Z-INDEX: 2; BORDER-BOTTOM: black 2px solid; POSITION: absolute; =
BORDER-LEFT: black 2px solid; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: =
white; PADDING-LEFT: 2px; WIDTH: 60%; PADDING-RIGHT: 2px; DISPLAY: none; =
BORDER-TOP: black 2px solid; TOP: 45%; BORDER-RIGHT: black 2px solid; =
PADDING-TOP: 2px; LEFT: 20%
}
.innerbox {
	PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fffdcc; PADDING-LEFT: 10px; =
PADDING-RIGHT: 10px; PADDING-TOP: 10px
}
.middlebox P {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.middlebox INPUT {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.pages SPAN.hide {
	DISPLAY: none
}
.pages SPAN.show {
	DISPLAY: inline
}
.showall SPAN {
	DISPLAY: inline !important
}
.showall SPAN.elipsis {
	DISPLAY: none !important
}
#extranav {
	MARGIN-TOP: 5px; DISPLAY: none
}
.isbnduplicates {
	MARGIN: 10px 2px 3px
}
.copydiv {
	TEXT-ALIGN: center; MARGIN-LEFT: 0px; FONT-SIZE: 95%; FONT-WEIGHT: bold
}
.copydiv {
	TEXT-ALIGN: center; WIDTH: 30px; COLOR: #666; MARGIN-LEFT: 0px; =
FONT-SIZE: 95%; FONT-WEIGHT: bold
}
.copydiv A {
	COLOR: #666
}
SPAN.untrans {
	BACKGROUND-COLOR: #ffff80
}
SPAN.Xtrans {
	BACKGROUND-COLOR: #c3c4ef
}
DIV.bottombar {
	TEXT-ALIGN: center; MARGIN: 100px 20px 20px; COLOR: gray; CLEAR: both; =
FONT-SIZE: 10px
}
DIV.bottombar DIV.copyright {
	MARGIN: 10px 0px
}
DIV.cklist {
	MARGIN-BOTTOM: 6px
}
TABLE.pad TD {
	BACKGROUND-IMAGE: url(/pics/m.gif); PADDING-BOTTOM: 0px; LINE-HEIGHT: =
22px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, =
Verdana, sans-serif; COLOR: #2a2928 !important; FONT-SIZE: 11px; =
VERTICAL-ALIGN: middle; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
TABLE.pad TD A:link {
	COLOR: #2a2928
}
TABLE.pad TD A:hover {
	COLOR: #2a2928
}
TABLE.pad TD A:visited {
	COLOR: #2a2928
}
TABLE.pad TD A:active {
	COLOR: #2a2928
}
TABLE.pad TD.lit {
	BACKGROUND-IMAGE: url(/pics/m-l.gif)
}
TABLE.pad TD.blue {
	BACKGROUND-IMAGE: url(/pics/m-b.gif)
}
TABLE.pad TD.padrl {
	BORDER-BOTTOM: #8f8f8f 1px; BORDER-LEFT: #8f8f8f 1px; PADDING-RIGHT: =
7px; BORDER-TOP: #8f8f8f 1px; BORDER-RIGHT: #8f8f8f 1px solid
}
TABLE.pad TD.styles {
	TEXT-ALIGN: center; PADDING-BOTTOM: 0px; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; PADDING-TOP: 0px
}
TR.pad IMG.i {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 4px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 1px
}
TD.rightline {
	PADDING-RIGHT: 7px !important
}
.displayBar .left {
	PADDING-BOTTOM: 5px !important; PADDING-LEFT: 2px !important; =
PADDING-RIGHT: 2px !important; VERTICAL-ALIGN: top; PADDING-TOP: 5px =
!important
}
.displayBar .leftpad {
	PADDING-LEFT: 7px !important
}
.displayBar .rightpad {
	PADDING-RIGHT: 7px !important; BORDER-RIGHT: #dddddd 1px solid
}
* HTML TABLE.displayBar TD.left {
	PADDING-BOTTOM: 5px !important; PADDING-LEFT: 4px !important; =
PADDING-RIGHT: 0px !important; PADDING-TOP: 5px !important
}
.ltbtn-button-base-selected .ltbtn-button-base-content {
	COLOR: black; FONT-WEIGHT: normal
}
DIV.ajax_setsort_submit P {
	MARGIN: 0px 0px 12px
}
DIV.ajax_setsort_submit P.buttons {
	MARGIN: 20px 0px 30px
}
TR.last TD {
=09
}
TD.swap {
	WHITE-SPACE: nowrap; COLOR: gray
}
TABLE.specialpage {
=09
}
TABLE.memberitems TD {
	PADDING-RIGHT: 5px; FONT-SIZE: 12px
}
TABLE#specialpage .open {
	BORDER-BOTTOM: #dddddd 2px solid; BORDER-LEFT: #dddddd 2px solid; =
BORDER-TOP: #dddddd 2px solid; BORDER-RIGHT: #dddddd 2px solid
}
TABLE#specialpage .open DIV.itemDetail {
	DISPLAY: block
}
TABLE#specialpage DIV.itemDetail {
	DISPLAY: none
}
DIV.sp {
	BORDER-BOTTOM: white 2px solid; BORDER-LEFT: white 2px solid; =
PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
MARGIN-BOTTOM: 0px; COLOR: gray; BORDER-TOP: white 2px solid; =
BORDER-RIGHT: white 2px solid; PADDING-TOP: 5px
}
DIV.sp DIV.itemDetail {
	MARGIN-TOP: 5px; COLOR: black; FONT-SIZE: 10px
}
TABLE.memberitems H2 {
	PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #eeeeee; MARGIN: 0px; =
PADDING-LEFT: 6px; PADDING-RIGHT: 10px; FONT-FAMILY: Verdana; COLOR: =
#5555ff; FONT-SIZE: 12px; PADDING-TOP: 6px
}
IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
.hidden {
	DISPLAY: none
}
.content {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN-TOP: 10px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; MARGIN-LEFT: 12px; MARGIN-RIGHT: =
12px; PADDING-TOP: 0px
}
#lt_catalog_list {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 10px
}
* HTML #lt_catalog_list {
	BORDER-LEFT: white 10px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; =
PADDING-RIGHT: 10px; MARGIN-RIGHT: 20px; BORDER-RIGHT: white 10px solid; =
PADDING-TOP: 0px
}
TBODY {
	DISPLAY: table-row-group
}
.tablehead TD {
	BACKGROUND-IMAGE: none; BORDER-BOTTOM-STYLE: none !important; =
BORDER-RIGHT-STYLE: none !important; BACKGROUND-COLOR: #fff; =
WHITE-SPACE: nowrap; BORDER-TOP-STYLE: none !important; =
BORDER-LEFT-STYLE: none !important; FONT-WEIGHT: bold
}
.catalog TR.even {
	BACKGROUND-COLOR: #f5f6fa
}
.catalog TR.even TD.noEdit:hover {
	BACKGROUND-COLOR: #f5f6fa
}
.catalog TR.even TD.stars:hover {
	BACKGROUND-COLOR: #f5f6fa
}
.catalog TD {
	MIN-WIDTH: 20px; TEXT-ALIGN: left; BORDER-LEFT: #f0f0f0 1px solid; =
PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; HEIGHT: =
auto; VERTICAL-ALIGN: top; BORDER-TOP: #f2e8e5 1px solid; PADDING-TOP: =
5px
}
.catalog TD PRE {
	WORD-WRAP: break-word; WHITE-SPACE: pre-wrap
}
.catalog TD A {
	TEXT-DECORATION: none
}
.tablehead TD {
	BORDER-BOTTOM: #dfe4e9 1px solid; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
.tablehead TD DIV {
	PADDING-BOTTOM: 0px
}
.ratingCell {
	WHITE-SPACE: nowrap
}
.sharedCell {
	WIDTH: 110px; WHITE-SPACE: nowrap; VERTICAL-ALIGN: top; BORDER-RIGHT: =
#f2e8e5 1px solid
}
.smallerSharedCell {
	WIDTH: 90px
}
.sharedCell * {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.powerEditCheck {
	BORDER-RIGHT: #f2e8e5 1px solid
}
.printable .right {
	BORDER-RIGHT: #f2e8e5 1px solid
}
.ipe {
	BACKGROUND-IMAGE: url(/pics/x.gif); TEXT-ALIGN: right; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: right bottom; =
VERTICAL-ALIGN: middle
}
.stars {
	BACKGROUND-IMAGE: url(/pics/x.gif); TEXT-ALIGN: right; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: right bottom; =
VERTICAL-ALIGN: middle
}
.ipe:hover {
	BACKGROUND-IMAGE: url(/pics/editBG-2click.gif); BACKGROUND-COLOR: =
#fffbd3 !important; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
right bottom
}
.ipeHover {
	BACKGROUND-IMAGE: url(/pics/editBG-2click.gif); BACKGROUND-COLOR: =
#fffbd3 !important; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
right bottom
}
.ipe {
	CURSOR: default
}
.ipeActive {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #fffbd3
}
.ipeSaving {
	BACKGROUND-IMAGE: url(/pics/savingBG.gif); BACKGROUND-COLOR: #fce38e; =
BACKGROUND-REPEAT: repeat; CURSOR: wait
}
.noEdit:hover {
	BACKGROUND-IMAGE: url(/pics/x.gif); BACKGROUND-COLOR: inherit
}
.stars:hover {
	BACKGROUND-IMAGE: url(/pics/x.gif); BACKGROUND-COLOR: inherit
}
.stars:hover {
	BACKGROUND-IMAGE: url(/pics/editBG-stars.gif); BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: right bottom
}
.tablehead TD:hover {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #fff
}
.catalog .lt-author {
	TEXT-DECORATION: none
}
.catalog .lt-authorunflip {
	TEXT-DECORATION: none
}
.ipeInputHint {
	TEXT-ALIGN: left; PADDING-BOTTOM: 5px; FONT-STYLE: italic; WIDTH: 100%; =
WHITE-SPACE: nowrap; COLOR: #666; FONT-SIZE: 90%; PADDING-TOP: 5px
}
.ipeInputHint A {
	TEXT-DECORATION: none
}
.bcidIPEbox {
	TEXT-ALIGN: center; WIDTH: 125px; WHITE-SPACE: nowrap
}
#IPElanguagelist {
	TEXT-ALIGN: left; WIDTH: 250px
}
.languageMenu {
	PADDING-TOP: 0px
}
.smallerText {
	FONT-SIZE: 85%
}
.catalog TD.cover {
	TEXT-ALIGN: center; WIDTH: 1%
}
.coverImage {
	MIN-HEIGHT: 40px; WIDTH: 70px; FLOAT: left
}
.coverControl {
	BORDER-BOTTOM: #999 1px solid; TEXT-ALIGN: left; BORDER-LEFT: #999 1px =
solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #faf5f1; PADDING-LEFT: =
8px; PADDING-RIGHT: 8px; DISPLAY: none; BACKGROUND-REPEAT: repeat-x; =
BACKGROUND-POSITION: left top; VISIBILITY: hidden; COLOR: #000; =
BORDER-TOP: #999 1px solid; BORDER-RIGHT: #999 1px solid; PADDING-TOP: =
4px
}
.ccDetail {
	PADDING-LEFT: 3px; WHITE-SPACE: nowrap; FONT-SIZE: 90%; =
TEXT-DECORATION: none
}
.ccDetail A {
	LINE-HEIGHT: 170%; TEXT-DECORATION: none
}
.editForm {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: inline; PADDING-TOP: 0px
}
.formButtons {
	PADDING-TOP: 8px
}
.cancelButton {
	WHITE-SPACE: nowrap; FLOAT: left
}
.submitButton {
	WHITE-SPACE: nowrap; FLOAT: right
}
.submitForm {
	PADDING-BOTTOM: 6px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; CLEAR: =
both; PADDING-TOP: 6px
}
.editForm .editArea {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-FAMILY: Arial, sans-serif; FONT-SIZE: 11px; =
PADDING-TOP: 0px
}
.ajaxErrorText {
	TEXT-ALIGN: center; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: red; =
MARGIN-TOP: 4px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; COLOR: white; =
PADDING-TOP: 2px
}
.lt-cancelText {
	DISPLAY: none
}
.debug {
	BORDER-BOTTOM: black 2px solid; BORDER-LEFT: black 2px solid; =
PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #990000; MARGIN: 10px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; COLOR: #fff; BORDER-TOP: black =
2px solid; BORDER-RIGHT: black 2px solid; PADDING-TOP: 5px
}
.displayBar {
	BORDER-BOTTOM: #bbbbbb 1px solid; BORDER-LEFT: #bbbbbb 1px; =
BACKGROUND-COLOR: #eeeefa; MARGIN: 0px; WIDTH: 100%; BORDER-TOP: #bbbbbb =
1px solid; BORDER-RIGHT: #bbbbbb 1px; PADDING-TOP: 2px
}
* HTML TABLE.displayBar {
	BORDER-LEFT: #bbbbbb 1px solid; BORDER-RIGHT: #bbbbbb 1px solid
}
.pageBar {
	BACKGROUND-COLOR: #eeeeee !important
}
TABLE.pageBarLoading.pageBar {
	BACKGROUND-COLOR: #ffffff !important
}
#catalogCoversGridLoading {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 5px
}
* HTML .pageBar {
	BORDER-LEFT: #ddd 1px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
BORDER-RIGHT: #ddd 1px solid
}
.displayBar A {
	TEXT-DECORATION: none
}
.displayBar TD {
	WHITE-SPACE: nowrap
}
IMG#b_list {
	MARGIN-LEFT: 4px
}
TD.dbCircle {
	PADDING-RIGHT: 2px
}
TD.dbEditStyle {
	PADDING-LEFT: 2px; FONT-SIZE: 9px
}
IMG#pebutton {
	MARGIN-LEFT: 6px
}
TD.dbSearch {
	PADDING-RIGHT: 5px
}
TD.dmListView {
	PADDING-LEFT: 5px; WIDTH: 58px; PADDING-TOP: 1px; LEFT: 68px
}
TD.dscf {
	FONT-SIZE: 9px
}
.circleIcon {
	PADDING-LEFT: 0px; WIDTH: 25px; PADDING-RIGHT: 4px; HEIGHT: 26px
}
DIV.printableIcon {
	BORDER-RIGHT: medium none; LEFT: 317px
}
.peIcon {
	LEFT: 347px
}
TD.dsSearch {
	MIN-WIDTH: 280px; TEXT-ALIGN: right; PADDING-RIGHT: 10px; WHITE-SPACE: =
nowrap; RIGHT: 3px; BORDER-RIGHT: medium none
}
#quickSearchbox {
	WIDTH: 120px
}
.quickSearch {
	MARGIN-RIGHT: 7px
}
#qsSearchModeMenu {
	WIDTH: 85px; MARGIN-RIGHT: 7px
}
.pageBar {
	BORDER-BOTTOM: #e6d6cc 1px; TEXT-ALIGN: left; BORDER-LEFT: #e6d6cc 1px; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fff5e1; MARGIN: 0px; =
PADDING-LEFT: 10px; WIDTH: 100%; PADDING-RIGHT: 10px; FONT-SIZE: =
inherit; BORDER-TOP: #e6d6cc 1px; BORDER-RIGHT: #e6d6cc 1px; =
PADDING-TOP: 0px
}
.pageBar TD {
	VERTICAL-ALIGN: bottom
}
* HTML .pageBar {
	BORDER-BOTTOM: #f0d7c3 1px solid; BORDER-LEFT: #fff5e1 10px solid; =
BORDER-RIGHT: #fff5e1 10px solid
}
TABLE.pageBar2 {
	BORDER-TOP-STYLE: solid !important
}
TABLE.pageBar2 {
=09
}
* HTML TABLE.pageBar2 {
	DISPLAY: block
}
.pageBar A {
	TEXT-DECORATION: none
}
TABLE.lonely {
	MARGIN-TOP: 10px; BORDER-TOP: #e1d7d4 1px solid
}
.pbGroup {
	WIDTH: 250px
}
.pbStepper {
	TEXT-ALIGN: center; WHITE-SPACE: nowrap; MARGIN-LEFT: 40%
}
.pageShuttleButton {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 2px
}
.pageShuttleButton A:hover {
	BACKGROUND-COLOR: #ffcc00
}
.pbNav {
	TEXT-ALIGN: right
}
.pages {
	MIN-WIDTH: 250px; TEXT-ALIGN: right !important
}
.showall {
	MIN-WIDTH: 250px; TEXT-ALIGN: right !important
}
.searchTitle {
	COLOR: #bbb; FONT-WEIGHT: bold
}
.blurb {
	TEXT-ALIGN: center; MARGIN-TOP: 15px; DISPLAY: none; MARGIN-LEFT: 0px
}
.words {
	PADDING-BOTTOM: 6px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; FONT-SIZE: =
10px; PADDING-TOP: 6px
}
.rollover {
	BORDER-BOTTOM: black 2px solid; TEXT-ALIGN: center; BORDER-LEFT: black =
2px solid; LINE-HEIGHT: 140%; BACKGROUND-COLOR: #bfd0ff; MARGIN-TOP: =
0px; DISPLAY: none; MARGIN-LEFT: 0px; BORDER-TOP: black 2px solid; =
FONT-WEIGHT: bold; BORDER-RIGHT: black 2px solid
}
.workdataExp {
	COLOR: green
}
.socialCell {
	WIDTH: 200px
}
.socialCell TD {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
.socialInfoMiniIcon {
	PADDING-RIGHT: 5px; VERTICAL-ALIGN: bottom
}
.socialInfoItem {
	PADDING-BOTTOM: 2px; COLOR: #000; FONT-SIZE: 11.5px
}
.infoItemCount {
	FONT-WEIGHT: bold
}
.socialInfoLabel {
	DISPLAY: none; COLOR: #aaa; FONT-SIZE: 9px
}
IMG.viewpad {
	MARGIN: 5px 0px
}
DIV.breadcrumb {
	PADDING-LEFT: 10px; PADDING-RIGHT: 10px; MARGIN-BOTTOM: 0.3em; =
FONT-WEIGHT: bold
}
TABLE.breadcrumb TD {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-SIZE: 12px; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
TABLE.breadcrumb A:link {
	COLOR: blue
}
TABLE.breadcrumb A:hover {
	COLOR: blue
}
TABLE.breadcrumb A:active {
	COLOR: blue
}
TABLE.breadcrumb A:visited {
	COLOR: blue
}
TABLE.breadcrumb TD IMG {
	VERTICAL-ALIGN: middle
}
DIV.breadcrumbexplanatory {
	BACKGROUND-COLOR: #fff; COLOR: gray
}
DIV.breadcrumbexplanatory P {
	PADDING-BOTTOM: 7px; LINE-HEIGHT: 16px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 7px
}
SPAN.translate {
	PADDING-BOTTOM: 6px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; FLOAT: =
right; COLOR: gray; FONT-SIZE: 9px; PADDING-TOP: 6px
}
IMG.coverchrome {
	MARGIN: 0px 3px; VERTICAL-ALIGN: middle; CURSOR: pointer
}
.content {
	PADDING-TOP: 0px !important
}
.displayBar {
	PADDING-TOP: 0px !important
}
.rollover {
	BORDER-BOTTOM-STYLE: none; FILTER: alpha(opacity=3D80); =
BORDER-RIGHT-STYLE: none; MARGIN: 20px 0px 0px 12px; BORDER-TOP-STYLE: =
none; BORDER-LEFT-STYLE: none; opacity: .8
}
.rollover .first {
	MARGIN-TOP: 12px
}
.rollover P {
	MARGIN: 3px 0px
}
IMG.gifcom {
	POSITION: absolute; BOTTOM: 0px; RIGHT: 0px
}
IMG.cover {
	BORDER-BOTTOM: #d2d2d2 1px solid; BORDER-LEFT: #d2d2d2 1px; =
PADDING-BOTTOM: 0px !important; MARGIN: 10px 10px 10px 0px; =
PADDING-LEFT: 0px !important; PADDING-RIGHT: 0px !important; BORDER-TOP: =
#d2d2d2 1px; CURSOR: pointer; BORDER-RIGHT: #d2d2d2 1px solid; =
PADDING-TOP: 0px !important
}
DIV.blurb {
	PADDING-BOTTOM: 0px; MARGIN: 5px 0px 0px -2px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
DIV.content {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
BODY {
	PADDING-BOTTOM: 0px !important; MARGIN: 0px; PADDING-LEFT: 0px =
!important; PADDING-RIGHT: 0px !important; PADDING-TOP: 0px !important
}
DIV.catalogprofile {
	BORDER-BOTTOM: #eeeeee 2px solid; BORDER-LEFT: #eeeeee 2px solid; =
PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #f8f8f8; PADDING-LEFT: 8px; =
PADDING-RIGHT: 15px; MARGIN-BOTTOM: 10px; BORDER-TOP: #eeeeee 2px solid; =
BORDER-RIGHT: #eeeeee 2px solid; PADDING-TOP: 8px
}
H2 {
	MARGIN-TOP: 0px; COLOR: #0e214d; FONT-SIZE: 13px; PADDING-TOP: 0px
}
.menuBuilderMenu TD {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
TD#head_toolpad {
	WIDTH: 5%
}
DIV.workinfo {
	WHITE-SPACE: nowrap; MARGIN-BOTTOM: 3px
}
DIV.content {
	PADDING-BOTTOM: 0px !important; MARGIN: 0px; PADDING-LEFT: 10px =
!important; PADDING-RIGHT: 10px !important; PADDING-TOP: 10px !important
}
TABLE.tagtable TD {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; =
PADDING-TOP: 6px
}
TABLE.tagtable H2 {
	PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #eeeeee; MARGIN: 0px; =
PADDING-LEFT: 6px; PADDING-RIGHT: 10px; FONT-FAMILY: Verdana; COLOR: =
#5555ff; FONT-SIZE: 12px; PADDING-TOP: 6px
}
DIV#navigation {
	BACKGROUND-COLOR: #dfc7b4; MARGIN-TOP: -15px; COLOR: #ffffff; =
MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
.catalog TD {
	BORDER-TOP-COLOR: #e8e8e8; BORDER-LEFT-COLOR: #e8e8e8
}
#lt_catalog_list TR.even TD {
	BACKGROUND-COLOR: #f6f7fa
}
#lt_catalog_list TR.odd TD {
	BACKGROUND-COLOR: white
}
#lt_catalog_list {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
TD.pbGroup {
	WIDTH: 33%
}
TD.pbStepper {
	PADDING-LEFT: 30px; WIDTH: 33%; PADDING-RIGHT: 30px
}
DIV.content {
=09
}
DIV.graphicalShelf_new {
	PADDING-BOTTOM: 0px !important; MARGIN: 0px; PADDING-LEFT: 0px =
!important; PADDING-RIGHT: 0px !important; BACKGROUND: =
url(/pics/shelf-rossol-bg-2.gif) repeat-x 0px 143px; HEIGHT: 1000px; =
PADDING-TOP: 0px !important
}
SPAN.active#booksselected_div {
	COLOR: black; FONT-WEIGHT: bold
}
TABLE.collectionsbar {
	BORDER-BOTTOM: #c5b4a9 1px; BORDER-LEFT: #c5b4a9 1px; MARGIN-BOTTOM: =
12px; BORDER-TOP: #c5b4a9 1px; BORDER-RIGHT: #c5b4a9 1px; =
xborder-top-style: solid; xborder-bottom-style: solid
}
TABLE.collectionsbar TD {
	BACKGROUND-COLOR: #f0f0f0 !important
}
DIV.collectionlist {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
FONT-FAMILY: Arial, Verdana, sans-serif; COLOR: #897d73 !important; =
FONT-SIZE: 11px; FONT-WEIGHT: bold; PADDING-TOP: 6px
}
DIV.collectionlist A:link {
	COLOR: #888888 !important
}
DIV.collectionlist A:hover {
	COLOR: #888888 !important
}
DIV.collectionlist A:active {
	COLOR: #888888 !important
}
DIV.collectionlist A:visited {
	COLOR: #888888 !important
}
DIV.collectionlist A:hover {
	TEXT-DECORATION: underline
}
DIV.collectionlist A.picked:link {
	COLOR: #2a2928 !important
}
DIV.collectionlist A.picked:hover {
	COLOR: #2a2928 !important
}
DIV.collectionlist A.picked:active {
	COLOR: #2a2928 !important
}
DIV.collectionlist A.picked:visited {
	COLOR: #2a2928 !important
}
DIV.collectionlist SPAN.d {
	MARGIN: 0px 5px; COLOR: #cea287
}
TABLE.displayBar TD {
	xbackground-color: #f7ece3
}
TABLE.collectionsbar TD {
	BACKGROUND-COLOR: white !important
}
DIV.collectionlist {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
DIV.collectionlist SPAN.d {
	MARGIN: 0px 3px
}
#collNavMenuContainer {
	CURSOR: pointer; FONT-WEIGHT: bold
}
#collNavMenuContainer:hover #collNavMenu {
	xdisplay: block
}
.over#collNavMenuContainer #collNavMenu {
	xdisplay: block
}
#collNavMenu {
	LIST-STYLE: none none inside; BORDER-BOTTOM: #979797 1px solid; =
POSITION: absolute; BORDER-LEFT: #979797 1px solid; PADDING-BOTTOM: 0px; =
BACKGROUND-COLOR: #fff; MARGIN: -1px 0px 0px -9px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FLOAT: left; BORDER-TOP: #979797 1px solid; =
FONT-WEIGHT: normal; BORDER-RIGHT: #979797 1px solid; PADDING-TOP: 0px; =
-webkit-box-shadow: 0px 3px 3px #999; -moz-box-shadow: 0px 3px 3px #999; =
-webkit-border-bottom-left-radius: 7px; xbackground-color: rgba(255, =
255, 255, 0.9); xdisplay: none; -webkit-border-bottom-right-radius: 7px; =
-moz-border-radius-bottomRight: 7px; -moz-border-radius-bottomLeft: 7px
}
.collNavMenuItem {
	LIST-STYLE-POSITION: inside; Z-INDEX: 101; PADDING-BOTTOM: 4px; =
LINE-HEIGHT: 15px; LIST-STYLE-TYPE: none; PADDING-LEFT: 2.5em; =
PADDING-RIGHT: 2.5em; CURSOR: pointer; PADDING-TOP: 4px; xborder-top: =
1px solid #fcf8f5
}
.collNavMenuItem:first-child {
	BORDER-TOP: medium none
}
.collNavMenuItem:hover {
	BACKGROUND-COLOR: #f7eda5
}
.over.collNavMenuItem {
	BACKGROUND-COLOR: #f7eda5
}
.collNavMenuSelected {
	BACKGROUND-COLOR: #eee; FONT-WEIGHT: bold
}
.menuSeparator {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ddd; LIST-STYLE-TYPE: none; =
MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; HEIGHT: =
1px; PADDING-TOP: 0px
}
.menuSeparator:hover {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ddd; LIST-STYLE-TYPE: none; =
MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; HEIGHT: =
1px; PADDING-TOP: 0px
}
#ltcoll_overlay {
	Z-INDEX: 5000 !important; POSITION: absolute; FILTER: =
alpha(opacity=3D100); BACKGROUND-COLOR: #000; WIDTH: 100%; BOTTOM: 0px; =
DISPLAY: none; HEIGHT: 100%; TOP: 0px; RIGHT: 0px; LEFT: 0px; =
-moz-opacity: 0.4; opacity: 100
}
.topBarThing {
	Z-INDEX: 600; BORDER-BOTTOM: 0px; POSITION: fixed; BACKGROUND-COLOR: =
#fff; MARGIN-TOP: 0px; WIDTH: 100%; TOP: 0px; PADDING-TOP: 7px; LEFT: =
0px
}
* HTML .topBarThing {
	POSITION: relative; MARGIN-TOP: -10px
}
#topBarGrad {
	BACKGROUND-COLOR: white; WIDTH: 100%; DISPLAY: block; HEIGHT: 5px
}
DIV#coverViewContent #topBarGrad {
	BACKGROUND-COLOR: #f7f2e3
}
* HTML #topBarGrad {
	DISPLAY: none; BACKGROUND: white; HEIGHT: 5px
}
DIV.subsubnav {
	PADDING-BOTTOM: 7px; BACKGROUND-COLOR: #eff5fc; MARGIN-TOP: 0px; =
PADDING-LEFT: 15px; PADDING-RIGHT: 10px; MARGIN-BOTTOM: 100px; =
PADDING-TOP: 7px
}
DIV.subnav A:link {
	TEXT-DECORATION: none
}
DIV.subnav A:active {
	TEXT-DECORATION: none
}
DIV.subnav A:visited {
	TEXT-DECORATION: none
}
DIV.subnav A:hover {
	TEXT-DECORATION: underline
}
DIV.subnav DIV.right {
	FLOAT: right; COLOR: gray; RIGHT: 10px
}
DIV.subnav DIV.right A {
	MARGIN: 0px 3px
}
A.subnav_selected:link {
	COLOR: black !important; FONT-WEIGHT: bold !important
}
A.subnav_selected:active {
	COLOR: black !important; FONT-WEIGHT: bold !important
}
A.subnav_selected:hover {
	COLOR: black !important; FONT-WEIGHT: bold !important
}
A.subnav_selected:visited {
	COLOR: black !important; FONT-WEIGHT: bold !important
}
SPAN.pipe {
	MARGIN: 0px 3px; COLOR: gray; FONT-WEIGHT: normal
}
DIV.subnav A {
	FONT-WEIGHT: bold
}
A.subnav_selected:link {
	COLOR: black
}
A.subnav_selected:active {
	COLOR: black
}
A.subnav_selected:visited {
	COLOR: black
}
A.subnav_selected:hover {
	COLOR: black
}
DIV.content {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.breadcrumbContainer {
	MARGIN-TOP: 63px
}
* HTML .breadcrumbContainer {
	MARGIN-TOP: 0px !important; DISPLAY: block
}
.searchPieces {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #f2f2f2; MARGIN: 8px 0px 5px; =
PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; =
BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px
}
DIV.searchPieces B {
	COLOR: #555555
}
DIV.subnav {
	MARGIN-TOP: 2px
}
BODY {
	MARGIN: 0px
}
DIV.explanation {
	BACKGROUND-COLOR: #fdfce3; PADDING-LEFT: 6px
}
DIV.searchPieces IMG {
	VERTICAL-ALIGN: middle
}
.sp16 DIV.ltbtn-body {
	MARGIN-LEFT: 17px; MARGIN-RIGHT: -4px
}
.sp_c {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/c.png?12); POSITION: =
absolute; WIDTH: 16px; HEIGHT: 16px; MARGIN-LEFT: -19px
}
.thin DIV.ltbtn-body {
	MARGIN-LEFT: 16px
}
.thin .sp_c {
	MARGIN-LEFT: -18px
}
.ltbtn-size-mini .sp_c {
	MARGIN-TOP: -1px; MARGIN-LEFT: -18px
}
.ltbtn-webkit .ltbtn-size-mini .sp_c {
	MARGIN-TOP: -1px; xmargin-left: -16px
}
.sp16 DIV.ltbtn-content {
	x_height: 17px
}
.sp_c {
	x_margin-top: 0px; x_margin-bottom: -1px
}
.sp16 .ltbtn-body {
	x_padding-top: 2px; x_padding-bottom: 2px
}
TABLE.pageBar {
	BORDER-BOTTOM: #dddddd 1px solid; BORDER-LEFT: #dddddd 1px; =
BACKGROUND-COLOR: #fdf4e3 !important; BORDER-TOP: #dddddd 1px; =
BORDER-RIGHT: #dddddd 1px
}
IMG.sp_c20 {
	BACKGROUND-REPEAT: no-repeat
}
IMG.sp_c13 {
	BACKGROUND-REPEAT: no-repeat
}
IMG.sp_c20 {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/c.png?12); WIDTH: =
20px; HEIGHT: 20px; MARGIN-RIGHT: 6px
}
IMG.sp_c13 {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/c.png?12); WIDTH: =
13px; HEIGHT: 13px; MARGIN-RIGHT: 4px
}
IMG.sp_c16 {
	BACKGROUND-IMAGE: url(//www.librarything.com/pics/c.png?12); WIDTH: =
16px; HEIGHT: 16px; MARGIN-RIGHT: 4px
}
IMG.sp_c20:hover {
=09
}
IMG.right {
	MARGIN-RIGHT: 0px !important
}
DIV.sharing {
	MARGIN-TOP: 5px; COLOR: gray; FONT-SIZE: 9px
}
DIV.sharing P {
	MARGIN: 0px 0px 3px
}
IMG.sp_c20 {
	_background-image: url(//www.librarything.com/pics/c.gif?7)
}
IMG.sp_c16 {
	_background-image: url(//www.librarything.com/pics/c.gif?7)
}
IMG.sp_c13 {
	_background-image: url(//www.librarything.com/pics/c.gif?7)
}
.sp_c {
	_background-image: url(//www.librarything.com/pics/c.gif?7)
}
TD.toolpad {
	BORDER-BOTTOM-STYLE: none !important; PADDING-BOTTOM: 0px; =
BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white !important; =
PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BORDER-TOP-STYLE: none; =
BORDER-LEFT-STYLE: solid; PADDING-TOP: 0px
}
DIV.toolpad {
	BORDER-BOTTOM: #eeeeee 2px solid; BORDER-LEFT: #eeeeee 2px solid; =
BACKGROUND-COLOR: #f6f7fa; MARGIN: 0px 5px 4px 0px; BORDER-TOP: #eeeeee =
2px solid; BORDER-RIGHT: #eeeeee 2px solid; -moz-border-radius: 5px; =
-webkit-border-radius: 5px
}
DIV.toolpad DIV.tools {
	BORDER-BOTTOM: #dddddd 1px solid; PADDING-BOTTOM: 5px; =
BACKGROUND-COLOR: #fff8eb; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
PADDING-TOP: 5px
}
DIV.WorkStats {
	POSITION: relative; PADDING-BOTTOM: 1px; LINE-HEIGHT: 10px; MARGIN: 2px =
0px 3px 2px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; COLOR: gray; =
FONT-SIZE: 9px; PADDING-TOP: 1px
}
DIV.WorkStats IMG {
	VERTICAL-ALIGN: middle
}
DIV.WorkStats_authorized A.ws1 {
	POSITION: absolute; LEFT: 4px
}
DIV.WorkStats_authorized A.ws2 {
	POSITION: absolute; LEFT: 65px
}
DIV.WorkStats_notauthorized A {
	MARGIN: 0px; DISPLAY: block
}
DIV.WorkStats_notauthorized {
	PADDING-BOTTOM: 0px; MARGIN: 2px 0px 0px 2px
}
* HTML DIV.WorkStats {
	POSITION: static
}
* HTML DIV.WorkStats A {
	POSITION: static !important
}
BODY .printable {
	FONT-FAMILY: Georgia, "Times New Roman", Times, serif; FONT-SIZE: 10pt
}
.printable .breadcrumbContainer {
	DISPLAY: none
}
.printable .translate {
	DISPLAY: none
}
.printable .permalink {
	DISPLAY: none
}
.printable #lt_catalog_list {
	PADDING-BOTTOM: 0px; MARGIN-TOP: 1em; PADDING-LEFT: 1em; PADDING-RIGHT: =
1em; PADDING-TOP: 0px
}
#printableNotice {
	BORDER-BOTTOM: #dbd4ae 1px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#dbd4ae 1px solid; PADDING-BOTTOM: 0.5em; BACKGROUND-COLOR: #f9f1c6; =
TEXT-INDENT: 0px; MARGIN: 1em; PADDING-LEFT: 1em; PADDING-RIGHT: 1em; =
FONT-FAMILY: Georgia, "Times New Roman", Times, serif; FONT-SIZE: 10pt; =
BORDER-TOP: #dbd4ae 1px solid; BORDER-RIGHT: #dbd4ae 1px solid; =
PADDING-TOP: 0.5em
}
#printableStamp {
	BORDER-BOTTOM: #dbd4ae 1px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#dbd4ae 1px solid; PADDING-BOTTOM: 0.5em; BACKGROUND-COLOR: #f9f1c6; =
TEXT-INDENT: 0px; MARGIN: 1em; PADDING-LEFT: 1em; PADDING-RIGHT: 1em; =
FONT-FAMILY: Georgia, "Times New Roman", Times, serif; FONT-SIZE: 10pt; =
BORDER-TOP: #dbd4ae 1px solid; BORDER-RIGHT: #dbd4ae 1px solid; =
PADDING-TOP: 0.5em
}
.printable #printableStamp {
=09
}
.printable #printableStampURL {
	FONT-WEIGHT: bold
}
.printable #lticon {
	PADDING-RIGHT: 1em; VERTICAL-ALIGN: top; xfloat: left
}
.printable THEAD {
	BACKGROUND-COLOR: #ddd; FONT-WEIGHT: bold
}
.printable THEAD TD {
	BACKGROUND-COLOR: #ddd; FONT-WEIGHT: bold
}
.printable TFOOT TD {
	BORDER-BOTTOM: #dbd4ae 1px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#dbd4ae 1px solid; PADDING-BOTTOM: 0.5em; BACKGROUND-COLOR: #f9f1c6; =
TEXT-INDENT: 0px; MARGIN: 1em; PADDING-LEFT: 1em; PADDING-RIGHT: 1em; =
FONT-FAMILY: Georgia, "Times New Roman", Times, serif; FONT-SIZE: 10pt; =
BORDER-TOP: #dbd4ae 1px solid; BORDER-RIGHT: #dbd4ae 1px solid; =
PADDING-TOP: 0.5em; xdisplay: table-footer-group
}
.printable A {
	COLOR: black !important
}
.printable A:link {
	COLOR: black !important
}
.printable A:visited {
	COLOR: black !important
}
.printable A:hover {
	COLOR: black !important
}
.printable A:active {
	COLOR: black !important
}
.printable .workdataExp {
	BORDER-BOTTOM: #d8e4da 1px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#d8e4da 1px solid; PADDING-BOTTOM: 0.4em; BACKGROUND-COLOR: #eaf7ed; =
TEXT-INDENT: -0.8em; MARGIN: 1em; PADDING-LEFT: 2em; PADDING-RIGHT: 2em; =
FONT: 10pt/15pt Georgia, "Times New Roman", Times, serif; BORDER-TOP: =
#d8e4da 1px solid; BORDER-RIGHT: #d8e4da 1px solid; PADDING-TOP: 0.4em
}
.printable .workdata {
	PADDING-BOTTOM: 0.1em; BACKGROUND-COLOR: #eaf7ed; OUTLINE-STYLE: solid; =
OUTLINE-COLOR: #d8e4da; PADDING-LEFT: 0.5em; OUTLINE-WIDTH: 1px; =
PADDING-RIGHT: 0.5em; COLOR: #70b070 !important; PADDING-TOP: 0.1em
}

@media Print   =20
{
#printableNotice {
	DISPLAY: none
}
#lt_catalog_list {
	MARGIN-TOP: 0px
}
BODY {
	PADDING-TOP: 25px !important
}
TD {
	PAGE-BREAK-INSIDE: avoid
}
    }
DIV.simpleslider .track {
	Z-INDEX: 0; POSITION: relative; BACKGROUND-COLOR: #bbbbbb; WIDTH: =
200px; HEIGHT: 5px; CURSOR: pointer
}
DIV.simpleslider .handle {
	Z-INDEX: 2; BORDER-BOTTOM: #232323 1px solid; POSITION: absolute; =
BORDER-LEFT: #232323 1px solid; BACKGROUND-COLOR: #81ce89; WIDTH: 5px; =
HEIGHT: 13px; BORDER-TOP: #232323 1px solid; TOP: -5px; CURSOR: move; =
BORDER-RIGHT: #232323 1px solid; -moz-border-radius: 2px; =
-webkit-border-radius: 2px
}
DIV.simpleslider #changed {
	DISPLAY: none
}
DIV.simpleslider TABLE TD {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 10px
}
DIV.simpleslider DIV.control {
	MARGIN-BOTTOM: 10px
}
DIV.content {
	MARGIN: 18px 14px 18px 18px
}
TABLE.wrapper {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.wrapper TD {
	VERTICAL-ALIGN: top
}
.wrapper TD.cover {
	WIDTH: 120px
}
.wrapper TD.left {
	WIDTH: 160px
}
.wrapper TD.right {
	WIDTH: 210px
}
UL.worknav {
	LIST-STYLE-POSITION: inside; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
none; MARGIN: 0px 0px 25px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
COLOR: #ddd; PADDING-TOP: 0px
}
UL.worknav LI IMG {
	MARGIN-RIGHT: 7px
}
UL.worknav LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 7px 4px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
UL.worknav0 {
	MARGIN-TOP: 15px; FONT-SIZE: 12px
}
UL.worknav1 {
	FONT-SIZE: 12px
}
UL.worknav LI A:link {
	COLOR: blue
}
UL.worknav LI A:hover {
	COLOR: blue
}
UL.worknav LI A:visited {
	COLOR: blue
}
UL.worknav LI A:active {
	COLOR: blue
}
TD.middle {
=09
}
TD.middle P {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
TABLE.yourcopiesedit {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
PADDING-TOP: 2px
}
TABLE.yourcopies TD.chrome {
	TEXT-ALIGN: center; WIDTH: 48px
}
TABLE.yourcopies IMG {
	MARGIN: 0px 1px; VERTICAL-ALIGN: middle
}
TABLE.yourcopies TD.selected {
	FONT-WEIGHT: bold
}
TABLE.yourcopies TR.selectedyellow {
	BACKGROUND-COLOR: #ffffe6
}
TD.middle H1 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; COLOR: black; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
TD.middle H2 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; COLOR: black; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
TD.middle H1 {
	LINE-HEIGHT: 26px; MARGIN-BOTTOM: 10px; FONT-SIZE: 20px
}
TD.middle H2 {
	MARGIN-BOTTOM: 15px; FONT-SIZE: 14px
}
TD.middle H3 {
	FONT-SIZE: 12px; FONT-WEIGHT: normal
}
H3.yourlibrary {
	MARGIN-TOP: 15px !important
}
DIV.popularcovers IMG {
	BORDER-BOTTOM: #d6ded5 1px solid; BORDER-LEFT: #d6ded5 1px solid; =
MARGIN: 2px; BORDER-TOP: #d6ded5 1px solid; BORDER-RIGHT: #d6ded5 1px =
solid
}
DIV.allcovers {
	TEXT-ALIGN: center; MARGIN: 5px 0px 0px
}
DIV.addbutton {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; FLOAT: left; BORDER-TOP: #cccccc 1px solid; =
MARGIN-RIGHT: 5px; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px
}
IMG.fav {
	VERTICAL-ALIGN: middle !important
}
OL LI {
	PADDING-LEFT: 5px
}
DIV#loader {
	MARGIN-TOP: 6px
}
TABLE.stats {
=09
}
TABLE.stats TD {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-SIZE: =
10px; PADDING-TOP: 0px
}
TABLE.stats TD.l {
	PADDING-BOTTOM: 0px !important; PADDING-LEFT: 0px !important; WIDTH: =
50px; PADDING-RIGHT: 10px !important; PADDING-TOP: 0px !important
}
TABLE.stats TD.r {
	FONT-WEIGHT: bold
}
TD.right {
=09
}
TD.right DIV.greenbox {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
FONT-SIZE: 11px; PADDING-TOP: 10px
}
DIV.greenbox IMG.logo {
	MARGIN: 0px 0px 7px 7px; FLOAT: right
}
P.last {
	PADDING-BOTTOM: 0px; MARGIN-BOTTOM: 0px
}
DIV.tags {
=09
}
DIV.tagsNOT {
	BORDER-BOTTOM: #f1dbcd 1px solid; BORDER-LEFT: #f1dbcd 1px solid; =
PADDING-BOTTOM: 7px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: =
#f1dbcd 1px solid; BORDER-RIGHT: #f1dbcd 1px solid; PADDING-TOP: 7px
}
SPAN.count {
	COLOR: gray; FONT-SIZE: 9px
}
DIV.relatedtagsarea SPAN.count {
	DISPLAY: none
}
DIV.showcount SPAN.count {
	DISPLAY: inline !important
}
DIV#tagchrome {
	COLOR: gray; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
H3 DIV.right {
	MARGIN-BOTTOM: 10px; FLOAT: right; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
TABLE.recommendations TD {
	WIDTH: 50%
}
TABLE.recommendations TD.lft {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 20px; =
PADDING-TOP: 0px
}
TD.lft UL {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 15px 18px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; LIST-STYLE-IMAGE: =
url(//www.librarything.com/pics/browndot.gif); PADDING-TOP: 0px
}
TD.lft UL LI {
	MARGIN-BOTTOM: 4px
}
DIV.recommendations P {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 15px; MARGIN: 8px 0px 10px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
TABLE.greenbar {
	PADDING-BOTTOM: 4px; MARGIN: 7px 0px 0px; PADDING-LEFT: 4px; WIDTH: =
100%; PADDING-RIGHT: 4px; PADDING-TOP: 4px; -moz-border-radius: 10px; =
-webkit-border-radius: 10px
}
TABLE.greenbar TD {
	PADDING-BOTTOM: 2px; LINE-HEIGHT: 9px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; FONT-SIZE: 9px; PADDING-TOP: 2px
}
TABLE.greenbar TD.gbl {
	TEXT-ALIGN: right; COLOR: #7f9b7b; FONT-WEIGHT: bold
}
TABLE.greenbar TD.gbr {
=09
}
P.statline {
	MARGIN: 30px 0px 0px
}
P.memberlistline {
	MARGIN: 0px 0px 5px
}
P.memberlistline B {
	COLOR: #232323
}
TD.leftNOT {
	BORDER-BOTTOM: #f1dbcd 2px; BORDER-LEFT: #f1dbcd 2px; BORDER-TOP: =
#f1dbcd 2px; BORDER-RIGHT: #f1dbcd 2px solid
}
TD.middle {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 15px; =
PADDING-TOP: 0px
}
TD.middle HR {
	DISPLAY: none
}
DIV.comment {
	BORDER-BOTTOM: #c1c1c1 1px solid; BORDER-LEFT: #c1c1c1 1px solid; =
PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #ffffff; MARGIN: 10px 0px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: #c1c1c1 1px solid; =
BORDER-RIGHT: #c1c1c1 1px solid; PADDING-TOP: 5px
}
DIV.private {
	BACKGROUND-COLOR: #ffdada
}
P.postinfo {
	TEXT-ALIGN: right; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-LEFT: =
15px; PADDING-RIGHT: 5px; FONT-SIZE: 10px; FONT-WEIGHT: bold; =
PADDING-TOP: 10px
}
P.postinfo A:link {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
P.postinfo A:active {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
P.postinfo A:visited {
	COLOR: blue !important; TEXT-DECORATION: none !important
}
P.postinfo A:hover {
	TEXT-DECORATION: underline !important
}
IMG.icon {
	VERTICAL-ALIGN: middle
}
SPAN.tinygray {
	COLOR: #444444; FONT-SIZE: 10px
}
TABLE.recommendationtable TD {
	VERTICAL-ALIGN: top
}
TABLE.recommendationtable H4 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; COLOR: gray; FONT-SIZE: 12px; PADDING-TOP: 0px
}
TABLE.recommendationtable LI {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 135%; MARGIN: 3px 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
TABLE.recommendationtable OL {
	PADDING-BOTTOM: 0px; MARGIN-TOP: 10px; MARGIN-BOTTOM: 5px; PADDING-TOP: =
0px
}
TABLE.recommendationtable {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
TABLE.recommendationtable SPAN.copies {
	COLOR: gray; FONT-SIZE: 9px
}
TD SPAN.copies {
	COLOR: gray; FONT-SIZE: 9px
}
DIV#editions SPAN.copies {
	COLOR: gray
}
DIV.reviewnav {
	MARGIN-TOP: 5px; CLEAR: both; FONT-SIZE: 80%
}
DIV.bookReview {
	BORDER-BOTTOM: #f2e9e3 1px solid; BORDER-LEFT: #f2e9e3 1px solid; =
MARGIN: 0px 15px 5px; BORDER-TOP: #f2e9e3 1px solid; BORDER-RIGHT: =
#f2e9e3 1px solid
}
.commentText {
	BORDER-BOTTOM: medium none; TEXT-ALIGN: left; BORDER-LEFT: medium none; =
PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 5px; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; PADDING-TOP: 3px
}
.commentFooter {
	PADDING-BOTTOM: 8px
}
DIV.right {
	FLOAT: right
}
DIV.reviewnav {
	FONT-SIZE: 10px
}
P.amazonaccess {
	MARGIN-TOP: 7px; FLOAT: right; COLOR: gray; FONT-SIZE: 10px
}
P.seealldescriptions {
	PADDING-BOTTOM: 0px !important; PADDING-LEFT: 15px !important; =
PADDING-RIGHT: 15px !important; PADDING-TOP: 0px !important
}
UL.worknav SPAN.gray {
	COLOR: gray; FONT-SIZE: 10px; FONT-WEIGHT: bold
}
LI.lit {
	LIST-STYLE-POSITION: inside; COLOR: #6a5546; FONT-WEIGHT: bold
}
TABLE.swaptable {
	FONT-SIZE: 10px
}
TABLE.swaptable TD {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 0px; PADDING-RIGHT: 4px; =
VERTICAL-ALIGN: top; PADDING-TOP: 4px
}
TABLE.swaptable TR {
	BORDER-BOTTOM: gray 1px; BORDER-LEFT: solid; BORDER-TOP: gray 1px; =
BORDER-RIGHT: solid
}
TR.header TD {
	BORDER-BOTTOM: #cccccc 2px solid; BORDER-LEFT: #cccccc 2px; BORDER-TOP: =
#cccccc 2px; FONT-WEIGHT: bold; BORDER-RIGHT: #cccccc 2px
}
TR.odd TD {
	BACKGROUND-COLOR: #f7f7f7
}
SPAN.unknown {
	COLOR: gray
}
DIV.swapexplanation {
	PADDING-BOTTOM: 6px; BACKGROUND-COLOR: #e0f7e2; MARGIN-TOP: 15px; =
PADDING-LEFT: 6px; PADDING-RIGHT: 6px; FONT-SIZE: 10px; PADDING-TOP: 6px
}
TABLE.swaptable {
	MARGIN-TOP: 5px
}
TABLE.swaptable H2 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
TABLE.recommended TR TD {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; =
FONT-SIZE: 12px; PADDING-TOP: 10px
}
TABLE.recommended {
	MARGIN: 15px 0px 20px
}
SPAN#swapspan {
	COLOR: gray
}
TABLE.big TD {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; =
PADDING-TOP: 4px
}
TABLE TR.topictablehead {
	FONT-WEIGHT: bold
}
SPAN.count {
	COLOR: gray; FONT-SIZE: 9px
}
DIV.forumcontent IFRAME {
	HEIGHT: 500px
}
DIV#relatedtagsarea SPAN.count {
	DISPLAY: none
}
DIV.showcount SPAN.count {
	DISPLAY: inline !important
}
DIV#shownums {
	MARGIN: 5px 0px 0px 15px; COLOR: gray; FONT-SIZE: 10px; FONT-WEIGHT: =
normal
}
DIV.quotehead {
	BORDER-BOTTOM: #dddddd 1px solid; BORDER-LEFT: #dddddd 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #f5f6fa; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; FONT-SIZE: 11px; BORDER-TOP: #dddddd 1px solid; =
BORDER-RIGHT: #dddddd 1px solid; PADDING-TOP: 3px
}
H2 {
	PADDING-BOTTOM: 5px; MARGIN-TOP: 25px; MARGIN-BOTTOM: 0px; COLOR: =
black; FONT-SIZE: 14px
}
P.talkquote {
	LINE-HEIGHT: 16px; COLOR: black; FONT-SIZE: 11px
}
P.talkquote A:link {
	COLOR: inherit; TEXT-DECORATION: none
}
P.talkquote A:active {
	COLOR: inherit; TEXT-DECORATION: none
}
P.talkquote A:visited {
	COLOR: inherit; TEXT-DECORATION: none
}
P.talkquote A:hover {
	COLOR: blue; TEXT-DECORATION: underline
}
DIV#loading {
	Z-INDEX: 2; PADDING-BOTTOM: 4px; LINE-HEIGHT: 10px; BACKGROUND-COLOR: =
red; MARGIN-TOP: 15px; PADDING-LEFT: 4px; WIDTH: auto; PADDING-RIGHT: =
4px; DISPLAY: none; FLOAT: right; COLOR: white; FONT-SIZE: 10px; =
FONT-WEIGHT: bold; PADDING-TOP: 4px
}
TABLE#bigTable {
	MARGIN-TOP: -10px
}
TABLE.content TD {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; =
PADDING-TOP: 0px
}
IMG.suggestionthumbnail {
	MARGIN: 0px 0px 10px 10px; FLOAT: right
}
FORM.unsuggestr {
	MARGIN-TOP: 20px
}
DIV.bottomnotes {
	MARGIN-TOP: 15px
}
DIV.description H4 {
	COLOR: gray
}
TABLE.bookstats TD.left {
	TEXT-ALIGN: right; PADDING-RIGHT: 10px; COLOR: gray
}
TABLE.bookform TD.left {
	TEXT-ALIGN: right; WIDTH: 125px; FONT-WEIGHT: bold
}
P.smalltext {
	COLOR: gray; FONT-SIZE: 10px
}
H3 {
	MARGIN: 20px 0px 0px
}
DIV.coverlist {
	MARGIN: 15px 0px 10px
}
DIV.coverlist IMG {
	MARGIN: 0px 5px 14px 0px
}
DIV.hidelimited SPAN.limited {
	DISPLAY: none
}
DIV.showall P.limitedlink {
	DISPLAY: none !important
}
P.limitedlink {
	PADDING-LEFT: 15px !important; CLEAR: both
}
.wp_customRemoveImage {
	PADDING-LEFT: 15px
}
.wp_customChoicesContainer {
	LINE-HEIGHT: 20px; FONT-SIZE: 9px
}
.wp_customChoicesContainer A {
	TEXT-DECORATION: none
}
.wp_customChoicesContainer A:hover {
	TEXT-DECORATION: none
}
.wp_restoreC {
	PADDING-TOP: 10px
}
.wp_customChoicesStatus {
	TEXT-ALIGN: center; WIDTH: 100%
}
.wpmi {
	MARGIN-BOTTOM: -3px
}
.work_statline_container {
	TEXT-ALIGN: center; MARGIN-TOP: 15px
}
.work_statline {
	BORDER-BOTTOM: #ccbfb0 1px solid; BORDER-LEFT: #ccbfb0 1px solid; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; =
PADDING-RIGHT: 0px; BORDER-TOP: #ccbfb0 1px solid; RIGHT: auto; =
BORDER-RIGHT: #ccbfb0 1px solid; PADDING-TOP: 0px; LEFT: auto; =
-moz-border-radius: 12px; -webkit-border-radius: 12px
}
.work_statline_header {
	BORDER-BOTTOM: #efe7e0 1px solid
}
.work_statline_tdhead {
	BORDER-BOTTOM: #ccbfb0 1px solid; PADDING-BOTTOM: 1px; =
BACKGROUND-COLOR: #eae4d9; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
FONT-FAMILY: inherit; COLOR: #6a5546; FONT-SIZE: 11px; FONT-WEIGHT: =
bold; PADDING-TOP: 1px
}
.work_statline TD {
	TEXT-ALIGN: center; BORDER-LEFT: #ccbfb0 1px solid; PADDING-BOTTOM: =
1px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; VERTICAL-ALIGN: middle; =
PADDING-TOP: 1px
}
.work_statline TD:first-child {
	BORDER-LEFT: medium none; -moz-border-radius-topLeft: 12px; =
-webkit-border-top-left-radius: 12px
}
.work_statline_header .firstchild {
	BORDER-LEFT: medium none; -moz-border-radius-topLeft: 12px; =
-webkit-border-top-left-radius: 12px
}
.work_statline_header .lastchild {
	-moz-border-radius-topRight: 12px; -webkit-border-top-right-radius: =
12px
}
.work_statline_td {
	FONT-WEIGHT: normal; PADDING-TOP: 2px
}
.work_hint {
	COLOR: grey; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
#book_bookBitContent {
	MIN-WIDTH: 600px
}
.hidden {
	DISPLAY: none
}
.visible {
=09
}
.book_editTabContainer {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 20px; PADDING-RIGHT: =
20px; PADDING-TOP: 0px
}
.book_bitItem {
	WIDTH: 7em; WHITE-SPACE: nowrap; CURSOR: pointer; opacity: 1.0
}
.book_bitItem:hover {
	opacity: 0.9
}
.book_bitItemDisabled {
	CURSOR: normal; opacity: 0.3
}
.book_bitItem2 {
	opacity: 0.75
}
.book_editTab {
	Z-INDEX: 10; BORDER-BOTTOM: #ccbfb0 1px solid; POSITION: relative; =
TEXT-ALIGN: center; BORDER-LEFT: #ccbfb0 1px solid; PADDING-BOTTOM: 5px; =
BACKGROUND-COLOR: #eae4d9; LIST-STYLE-TYPE: none; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; DISPLAY: inline; MARGIN-BOTTOM: 0px; FLOAT: left; =
HEIGHT: 13px; COLOR: #6a5546; MARGIN-LEFT: 5px; VERTICAL-ALIGN: middle; =
BORDER-TOP: #ccbfb0 1px solid; CURSOR: pointer; RIGHT: 0px; =
MARGIN-RIGHT: 0px; BORDER-RIGHT: #ccbfb0 1px solid; PADDING-TOP: 5px; =
-moz-border-radius-topLeft: 11px; -moz-border-radius-topRight: 11px; =
-webkit-border-top-right-radius: 11px; -webkit-border-top-left-radius: =
11px
}
.book_editTab:first-child {
	MARGIN-LEFT: 0px
}
.book_selectedTab {
	Z-INDEX: 10; BORDER-BOTTOM: white 1px solid; POSITION: relative; =
BACKGROUND-COLOR: #fff; CURSOR: default
}
.book_editForm {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.book_editTabText {
	PADDING-LEFT: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.book_bit {
	Z-INDEX: 5; BORDER-BOTTOM: #ccbfb0 1px solid; BORDER-LEFT: #ccbfb0 1px =
solid; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 0px; =
WIDTH: 100%; PADDING-RIGHT: 0px; BORDER-TOP: #ccbfb0 1px solid; =
BORDER-RIGHT: #ccbfb0 1px solid; PADDING-TOP: 0px; -moz-border-radius: =
15px; -webkit-border-radius: 15px
}
.book_bit IMG {
	VERTICAL-ALIGN: top
}
.book_bitHead {
	BORDER-BOTTOM: #dbcfc1 1px solid; BACKGROUND-COLOR: #fff; WIDTH: 100%; =
FONT-FAMILY: Arial, Helvetica, sans-serif; -moz-border-radius-topLeft: =
15px; -moz-border-radius-topRight: 15px; =
-webkit-border-top-right-radius: 15px; -webkit-border-top-left-radius: =
15px
}
.book_bitHeadContent {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; COLOR: =
#6a5546; FONT-SIZE: 11px; FONT-WEIGHT: normal; PADDING-TOP: 5px
}
.book_bitHeadContent A {
	COLOR: #6a5546 !important; FONT-WEIGHT: bold
}
.book_bitFooter {
	BACKGROUND-COLOR: #fff; WIDTH: 100%; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BORDER-TOP: #dbcfc1 1px solid; =
-webkit-border-bottom-left-radius: 15px; =
-webkit-border-bottom-right-radius: 15px; =
-moz-border-radius-bottomRight: 15px; -moz-border-radius-bottomLeft: =
15px
}
.book_bitFooterContent {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; COLOR: =
#6a5546; FONT-SIZE: 11px; FONT-WEIGHT: normal; PADDING-TOP: 5px
}
.book_bitFooterContent A {
	COLOR: #6a5546 !important; FONT-WEIGHT: bold
}
.book_bitTable {
	WIDTH: 100%
}
.book_bitTable TD {
	TEXT-ALIGN: center
}
#book_bookInformationSection {
	MIN-WIDTH: 380px
}
#book_bookInformationTable {
	MARGIN: 15px 0px; WIDTH: 100%
}
#book_bookInformationTable TD {
=09
}
.bookeditfield {
	PADDING-BOTTOM: 10px; PADDING-RIGHT: 10px
}
.bookNonEditField {
	PADDING-BOTTOM: 10px; PADDING-RIGHT: 10px
}
.workstats TD {
	PADDING-BOTTOM: 10px; PADDING-RIGHT: 10px
}
#form_title {
	FONT-WEIGHT: bold
}
.bookTableDuringEdit {
=09
}
.bookEditInput {
	BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #fffbd3; PADDING-LEFT: 3px; =
WIDTH: 95%; PADDING-RIGHT: 3px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; FONT-SIZE: 12px; BORDER-TOP: #ddd 1px solid; BORDER-RIGHT: =
#ddd 1px solid; PADDING-TOP: 3px
}
.bookEditInputFree {
	WIDTH: auto
}
.bookEditdisabled {
	BORDER-BOTTOM: gray 1px solid; BORDER-LEFT: gray 1px solid; =
BACKGROUND-COLOR: #eeeeee; COLOR: black; BORDER-TOP: gray 1px solid; =
BORDER-RIGHT: gray 1px solid
}
.bookButton {
	BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: center; BORDER-LEFT: #ccc =
1px solid; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #eee; PADDING-LEFT: =
3px; WIDTH: 4em; PADDING-RIGHT: 3px; MARGIN-BOTTOM: 10px; FLOAT: right; =
COLOR: #555; MARGIN-LEFT: 5px; FONT-SIZE: 85%; BORDER-TOP: #ccc 1px =
solid; CURSOR: pointer; BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 2px
}
.bookButton :hover {
	BACKGROUND-COLOR: #fff; COLOR: red
}
#book_editControls_buttons {
	TEXT-ALIGN: right
}
#book_editControls_buttons INPUT {
	MARGIN-LEFT: 10px
}
.bookEditHint {
	MARGIN-TOP: 3px; COLOR: grey; FONT-SIZE: 10px
}
.bookEditWarning {
	COLOR: red; FONT-SIZE: 10px
}
.bookRowSpacer {
	HEIGHT: 20px
}
.bookRowSpacer TD {
	BORDER-TOP: #ddd 1px solid
}
.autogeneratedText {
	COLOR: green !important
}
.autogeneratedText A {
	COLOR: green !important
}
.book_itemBottomControl {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 120%; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 5px; FONT-SIZE: 9px; PADDING-TOP: 0px
}
.grey {
	COLOR: grey !important; FONT-SIZE: 90%
}
.dark_hint {
	FONT-SIZE: 90%
}
.ajaxLoading {
	TEXT-ALIGN: center; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 100%; PADDING-RIGHT: 0px; HEIGHT: 10em; VERTICAL-ALIGN: =
middle; PADDING-TOP: 0px
}
.workEditExpanderText {
	TEXT-ALIGN: right; MARGIN-TOP: -5px; PADDING-RIGHT: 10px; FONT-SIZE: =
9px
}
.book_langLabel {
	COLOR: #6a5546; FONT-SIZE: 11px; FONT-WEIGHT: bold
}
DIV.bookstores {
	MARGIN-TOP: 2px
}
DIV.bookstores P {
	PADDING-BOTTOM: 0px; MARGIN: 8px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
DIV.bookstores H2 {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 120%; MARGIN: 6px 0px 2px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
#book_bookInformationTable .left {
	PADDING-LEFT: 10px; WIDTH: 140px; PADDING-RIGHT: 10px; COLOR: grey =
!important; FONT-WEIGHT: bold
}
#book_bookInformationTable TD.short {
	xwidth: 75px
}
.bookTableDuringEdit#book_bookInformationTable .left {
	LINE-HEIGHT: 21px
}
.bookTableDuringEdit#book_bookInformationTable .left#collectionstdtitle =
{
	LINE-HEIGHT: 18px
}
#book_bookInformationTable .left#ratingstdtitle {
	LINE-HEIGHT: 13px
}
#book_bookInformationTable .subitemtitle.left {
	PADDING-LEFT: 10px; WIDTH: 100px
}
#book_bookInformationTable .subitemright {
	FLOAT: right
}
#book_bookInformationTable .workdata {
	COLOR: green !important
}
#book_bookInformationTable TD {
	VERTICAL-ALIGN: top
}
.workCoverImage {
	OUTLINE-STYLE: solid; OUTLINE-COLOR: #ddd; OUTLINE-WIDTH: 1px; =
-webkit-box-shadow: 0px 6px 6px #6A5546; -webkit-transition: 0.1s all =
ease-out
}
BODY.webkit .workCoverImage {
	BORDER-BOTTOM: #fff 4px solid; BORDER-LEFT: #fff 4px solid; BORDER-TOP: =
#fff 4px solid; BORDER-RIGHT: #fff 4px solid
}
.workCoverImage:hover {
	-webkit-box-shadow: 0px 12px 15px #BAAB9A; -webkit-transform: =
scale(1.1)
}
.workPopCover {
	Z-INDEX: 10; BORDER-BOTTOM: #c5e2c7 2px solid; FILTER: =
alpha(opacity=3D80); BORDER-LEFT: #c5e2c7 2px solid; BORDER-TOP: #c5e2c7 =
2px solid; BORDER-RIGHT: #c5e2c7 2px solid; -moz-opacity: .80; opacity: =
.80; -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8); =
-webkit-transition: 0.1s all linear
}
.workPopCover:hover {
	Z-INDEX: 20; BORDER-BOTTOM: #7c9678 2px solid; FILTER: =
alpha(opacity=3D100); BORDER-LEFT: #7c9678 2px solid; COLOR: #6ea367; =
BORDER-TOP: #7c9678 2px solid; BORDER-RIGHT: #7c9678 2px solid; =
-moz-opacity: 1; opacity: 1; -webkit-box-shadow: 0px 5px 10px rgba(0, 0, =
0, 0.8); -webkit-transform: scale(1.25)
}
.addBookManualPageContainer {
	FONT-SIZE: 11px
}
.addBookManualContainer {
	WIDTH: 85%; MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
TABLE.startedfinished TD {
	PADDING-RIGHT: 5px
}
DIV.more {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
PADDING-TOP: 3px
}
TR.hidden {
	DISPLAY: none
}
DIV#gbss {
	Z-INDEX: 1000 !important; BORDER-BOTTOM: black 2px solid; POSITION: =
fixed; BORDER-LEFT: black 2px solid; PADDING-BOTTOM: 20px !important; =
BACKGROUND-COLOR: white; MARGIN: -250px 0pt 0pt -375px; PADDING-LEFT: =
20px !important; WIDTH: 750px; PADDING-RIGHT: 20px !important; DISPLAY: =
none; FONT-SIZE: 12px; BORDER-TOP: black 2px solid; TOP: 50%; =
BORDER-RIGHT: black 2px solid; PADDING-TOP: 20px !important; LEFT: 50%
}
DIV.gbss * {
	Z-INDEX: 1000 !important
}
DIV#gbss H1 {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 15px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 16px; PADDING-TOP: 0px
}
DIV#gbss H2 {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 15px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 16px; PADDING-TOP: 0px
}
DIV#gbss H2 {
	FONT-SIZE: 14px
}
DIV#gbss .right {
	FONT-SIZE: 12px
}
DIV#gbss IMG {
	BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; MARGIN: 0px =
10px 10px 0px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid
}
element.style {
	DISPLAY: block
}
[id]#XXoverlay {
	POSITION: fixed
}
#XXoverlay {
	Z-INDEX: 100; POSITION: absolute; FILTER: alpha(opacity=3D20); =
BACKGROUND-COLOR: #000; WIDTH: 100%; DISPLAY: none; HEIGHT: 100%; TOP: =
0pt; LEFT: 0pt; -moz-opacity: 0.2; opacity: .20
}
DIV#gbss {
	HEIGHT: 500px; OVERFLOW: auto
}
DIV#memberuploaded IMG {
=09
}
H2.isH {
	BORDER-BOTTOM: gray 1px solid; PADDING-BOTTOM: 5px !important; MARGIN: =
30px 0px 25px; COLOR: #6a5546 !important; FONT-SIZE: 12px !important
}
DIV.cover {
	POSITION: relative; MARGIN: 0px 5px 15px 0px; DISPLAY: inline; FLOAT: =
left
}
TABLE.sectionTitle {
	CLEAR: left
}
DIV.cover DIV.coversize {
	BORDER-BOTTOM: black 1px solid; POSITION: absolute; TEXT-ALIGN: right; =
FILTER: alpha(opacity=3D70); BORDER-LEFT: black 1px solid; =
PADDING-BOTTOM: 2px; LINE-HEIGHT: 9px; BACKGROUND-COLOR: gray; =
PADDING-LEFT: 2px; BOTTOM: 2px; PADDING-RIGHT: 2px; FONT-SIZE: 9px; =
BORDER-TOP: black 1px solid; RIGHT: 2px; BORDER-RIGHT: black 1px solid; =
PADDING-TOP: 2px; -moz-opacity: 0.7; opacity: .70
}
DIV.coverlist DIV.cover IMG {
	MARGIN: 0px
}
DIV#lbloading {
	POSITION: absolute; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: red; =
PADDING-LEFT: 4px; PADDING-RIGHT: 4px; DISPLAY: none; COLOR: white; =
FONT-SIZE: 9px; TOP: 1px; RIGHT: 1px; FONT-WEIGHT: bold; PADDING-TOP: =
2px
}
SPAN.closed {
	DISPLAY: none
}
DIV.recommendations {
	XXXmargin: 15px 0px 0px 5px
}
DIV.recommendations H2 {
	MARGIN: 8px 0px; COLOR: #232323; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
DIV.recommendations DIV.greenbox H2 {
	MARGIN: 0px 0px 8px; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
TD.lft OL {
	PADDING-BOTTOM: 0px; MARGIN: 5px 0px 0px 35px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
DIV#memberrecommendations OL {
	PADDING-BOTTOM: 0px; MARGIN: 5px 0px 0px 35px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
DIV#memberrecommendations OL {
	CLEAR: both
}
DIV#memberrecommendations SPAN.by {
	COLOR: gray; FONT-SIZE: 10px
}
DIV#memberrecommendations DIV.agreebar {
	MARGIN: 10px 0px 15px; COLOR: gray; FONT-SIZE: 9px; FONT-WEIGHT: bold
}
DIV.agreebar IMG {
	MARGIN: 0px 5px 0px 0px
}
DIV#memberrecommendations IMG.thumbdown {
	MARGIN: 0px 5px -2px
}
DIV#memberrecommendations OL LI {
	MARGIN: 5px 0px 12px
}
DIV#memberrecommendations {
=09
}
DIV#memberrecommendations SPAN.main {
=09
}
DIV#memberrecommendations SPAN.main IMG {
	MARGIN-LEFT: 6px; VERTICAL-ALIGN: top; MARGIN-RIGHT: 4px
}
DIV#memberrecommendations DIV.thumbvoter {
	FLOAT: right; FONT-SIZE: 9px; MARGIN-RIGHT: 10px
}
DIV#memberrecommendations OL LI:hover {
	BACKGROUND-COLOR: #feffc6
}
#memberrecommendations P {
	MARGIN-LEFT: 15px
}
DIV#memberrecommendations BLOCKQUOTE {
	PADDING-BOTTOM: 0px; MARGIN: 8px 0px 12px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 10px; PADDING-TOP: 0px
}
DIV#memberrecommendations DIV.edit {
	MARGIN: 0px 0px 12px; FONT-SIZE: 10px; FONT-WEIGHT: bold
}
DIV.pickrecommendations H2 {
	MARGIN: 15px 0px 10px
}
DIV.pickrecommendations H3 {
	MARGIN: 20px 0px 15px; FONT-SIZE: 12px
}
DIV.pickrecommendations P {
	MARGIN: 0px 0px 10px
}
DIV.memberrecommendations IMG.edit {
	VERTICAL-ALIGN: bottom; MARGIN-RIGHT: 5px
}
DIV.osc {
	POSITION: relative; PADDING-BOTTOM: 15px; PADDING-LEFT: 15px; =
PADDING-RIGHT: 15px; MARGIN-BOTTOM: 10px; PADDING-TOP: 15px
}
TABLE.osc {
	BORDER-BOTTOM: #555555 1px; BORDER-LEFT: #555555 1px solid; COLOR: =
#555555; BORDER-TOP: #555555 1px solid; FONT-WEIGHT: bold; BORDER-RIGHT: =
#555555 1px
}
TABLE.osc_disabled {
	FILTER: alpha(opacity=3D50); -moz-opacity: .50; opacity: .50
}
TABLE.osc_choose TD:hover {
	BACKGROUND-COLOR: #fff5b5; COLOR: black
}
TABLE.osc TD {
	BORDER-BOTTOM: #555555 1px solid; BORDER-LEFT: #555555 1px; BORDER-TOP: =
#555555 1px; BORDER-RIGHT: #555555 1px solid
}
TABLE.osc TD.dummy {
	BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none
}
DIV#oscconfirm {
	Z-INDEX: 2; BORDER-BOTTOM: #232323 3px solid; POSITION: absolute; =
BORDER-LEFT: #232323 3px solid; PADDING-BOTTOM: 20px; BACKGROUND-COLOR: =
#eeeeee; PADDING-LEFT: 20px; WIDTH: 60%; PADDING-RIGHT: 20px; DISPLAY: =
none; BORDER-TOP: #232323 3px solid; TOP: 80px; FONT-WEIGHT: bold; =
BORDER-RIGHT: #232323 3px solid; PADDING-TOP: 20px; LEFT: 20%; =
-moz-border-radius: 15px; -webkit-border-radius: 15px
}
TABLE.osc P {
	PADDING-BOTTOM: 0px; MARGIN: 4px 0px 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 9px; FONT-WEIGHT: normal !important; =
PADDING-TOP: 0px
}
TABLE.osc TD.picked {
	BACKGROUND-COLOR: yellow; COLOR: black
}
DIV.ltauthor {
	PADDING-BOTTOM: 0px !important; PADDING-LEFT: 0px !important; =
PADDING-RIGHT: 0px !important; PADDING-TOP: 0px !important
}
DIV.ltauthor DIV.inside {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 10px
}
.quickedit {
	BORDER-BOTTOM: #ccbfb0 1px solid; MIN-WIDTH: 560px; BORDER-LEFT: =
#ccbfb0 1px solid; MARGIN: 0px; FONT-SIZE: 10px; BORDER-TOP: #ccbfb0 1px =
solid; BORDER-RIGHT: #ccbfb0 1px solid; xbackground-color: #F6F6F6
}
.quickedit .nav {
	BORDER-BOTTOM: #ccbfb0 1px solid; BORDER-LEFT: #ccbfb0 1px; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #f1ece4 !important; MARGIN: 1px =
0px 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 8px; FONT-SIZE: 10px; =
BORDER-TOP: #ccbfb0 1px; FONT-WEIGHT: bold; BORDER-RIGHT: #ccbfb0 1px; =
PADDING-TOP: 3px
}
.simplenav {
	BORDER-BOTTOM: #ccbfb0 1px solid; BORDER-LEFT: #ccbfb0 1px; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #f1ece4 !important; MARGIN: 1px =
0px 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 8px; FONT-SIZE: 10px; =
BORDER-TOP: #ccbfb0 1px; FONT-WEIGHT: bold; BORDER-RIGHT: #ccbfb0 1px; =
PADDING-TOP: 3px
}
.simplenav {
	PADDING-LEFT: 10px
}
.addBar {
	MARGIN: 5px 0px 15px
}
.wstable {
	PADDING-BOTTOM: 5px; MARGIN-TOP: 5px; PADDING-LEFT: 5px; WIDTH: 100%; =
PADDING-RIGHT: 5px; MARGIN-BOTTOM: 10px; PADDING-TOP: 5px
}
.wstable TD {
	PADDING-BOTTOM: 4px
}
.wstable TD.label {
	TEXT-ALIGN: right; WIDTH: 19px; WHITE-SPACE: nowrap; COLOR: #6a5546; =
FONT-WEIGHT: bold; MARGIN-RIGHT: 10px
}
.wstable TD.left {
	PADDING-LEFT: 10px; WIDTH: 99%; PADDING-RIGHT: 20px
}
.memberlistvalue {
	PADDING-LEFT: 10px; PADDING-RIGHT: 20px
}
.wstable TD.right {
	WIDTH: 40%
}
.wstable TD.wide {
	WIDTH: 100%
}
* HTML .wstable TD.wide {
	WIDTH: 100%
}
* HTML .memberlistlabel {
	TEXT-ALIGN: right
}
.recSubtitle {
	MARGIN: 4px 0px 10px 15px; PADDING-LEFT: 0px; COLOR: #6a5546; =
FONT-SIZE: 11px; FONT-WEIGHT: bold !important
}
.recSection {
	MARGIN-BOTTOM: 2em
}
.recMessage {
	MARGIN-TOP: 0.5em; MARGIN-LEFT: 15px; CLEAR: both; FONT-SIZE: 12px; =
FONT-WEIGHT: normal
}
.addRecommendation {
	MARGIN: 10px 0px 15px 10px; CLEAR: both; FONT-SIZE: 12px; FONT-WEIGHT: =
normal
}
#quickEditTagControls {
	MARGIN-TOP: 3px; WIDTH: 100%; FLOAT: right
}
#navInfoBook {
	MARGIN-TOP: -2px; COLOR: #6a5546
}
.navInfoTitle {
	COLOR: #6a5546
}
.tagcloudContainer .count {
	DISPLAY: none
}
.showCounts .count {
	DISPLAY: inline
}
#workAreaTitle {
	BORDER-BOTTOM: #6a5546 1px solid; COLOR: #6a5546; FONT-SIZE: 14px
}
.light.quickedit {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
.light.quickedit .nav {
	BORDER-BOTTOM: #ccbfb0 1px solid; BORDER-LEFT: #ccbfb0 1px solid; =
BACKGROUND-COLOR: #eae4d9; BORDER-TOP: #ccbfb0 1px solid; BORDER-RIGHT: =
#ccbfb0 1px solid; -moz-border-radius: 3px; -webkit-border-Radius: 3px
}
.simplenav {
	BORDER-BOTTOM: #ccbfb0 1px solid; BORDER-LEFT: #ccbfb0 1px solid; =
BACKGROUND-COLOR: #eae4d9; BORDER-TOP: #ccbfb0 1px solid; BORDER-RIGHT: =
#ccbfb0 1px solid; -moz-border-radius: 3px; -webkit-border-Radius: 3px
}
.light.quickedit .navInfoTitle {
	COLOR: #6a5546
}
.qelcontent {
	BORDER-BOTTOM: #eee 1px; BORDER-LEFT: #eee 1px; PADDING-BOTTOM: 16px; =
BACKGROUND-COLOR: white; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
FONT-SIZE: 12px; BORDER-TOP: medium none; BORDER-RIGHT: #eee 1px; =
PADDING-TOP: 10px
}
.qetable {
	PADDING-BOTTOM: 1em; PADDING-LEFT: 1em; PADDING-RIGHT: 1em; =
PADDING-TOP: 0.5em
}
.qelcontent .description {
	PADDING-LEFT: 15px; PADDING-RIGHT: 15px
}
.wslcontainer {
	TEXT-ALIGN: center; MARGIN-TOP: 0px; MARGIN-BOTTOM: 12px
}
.wsltable {
	WIDTH: 100%
}
.wslheader TD {
	BORDER-BOTTOM: #ccbfb0 1px solid; BORDER-LEFT: #ccbfb0 1px solid; =
PADDING-BOTTOM: 0.3em; BACKGROUND-COLOR: #eae4d9; PADDING-LEFT: 0.3em; =
PADDING-RIGHT: 0.3em; COLOR: #6a5546; FONT-SIZE: 11px; BORDER-TOP: =
#ccbfb0 1px solid; FONT-WEIGHT: bold; BORDER-RIGHT: medium none; =
PADDING-TOP: 0.3em
}
.wslheader .firstchild {
	-webkit-border-top-left-radius: 3px; -moz-border-radius-topleft: 3px
}
.wslheader .lastchild {
	BORDER-RIGHT: #ccbfb0 1px solid; -webkit-border-top-right-radius: 3px; =
-moz-border-radius-topright: 3px
}
.wslcontent TD {
	BORDER-BOTTOM: #eee 1px solid; BORDER-LEFT: #eee 1px solid; =
PADDING-BOTTOM: 0.3em; PADDING-LEFT: 0.3em; PADDING-RIGHT: 0.3em; =
BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0.3em
}
.wslcontent .lastchild {
	BORDER-RIGHT: #eee 1px solid
}
.divotBig {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0.5em; WIDTH: 1em; PADDING-RIGHT: =
0.5em; DISPLAY: inline; FONT-SIZE: 130%; CURSOR: pointer; FONT-WEIGHT: =
bold; PADDING-TOP: 0px
}
.sortable .nav {
	CURSOR: move
}
DIV.editreviewarea P {
	MARGIN: 5px 0px 12px
}
DIV.editreviewarea {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 15px; PADDING-RIGHT: 0px; =
PADDING-TOP: 20px
}
DIV.editreviewarea B {
	COLOR: gray
}
DIV.editreviewarea IMG {
	VERTICAL-ALIGN: top
}
SPAN#reviewstatus {
	COLOR: green; MARGIN-LEFT: 7px; FONT-WEIGHT: bold
}
DIV.score {
	POSITION: relative; MARGIN: 15px 0px 0px
}
DIV.score SPAN {
	POSITION: absolute; MARGIN: 0px 0px 0px 14px; COLOR: gray; FONT-SIZE: =
9px
}
DIV.lit SPAN {
	COLOR: #232323
}
IMG.arrow {
	Z-INDEX: 1; POSITION: absolute; TOP: -11px
}
DIV.sp_c_icon {
	POSITION: relative; LINE-HEIGHT: 17px; MARGIN-BOTTOM: 6px; MARGIN-LEFT: =
23px
}
DIV.sp_c_icon SPAN.sp_c {
	BORDER-BOTTOM: grey 1px solid; BORDER-LEFT: grey 1px solid; BORDER-TOP: =
grey 1px solid; BORDER-RIGHT: grey 1px solid; LEFT: -3px
}
DIV.score P.text {
	MARGIN-TOP: 27px
}
DIV#lbloading {
	text-height: 10px
}
TD.middle P {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 3px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
TABLE.bookinformation {
	MARGIN: 6px 0px 10px; WIDTH: 100%
}
TABLE.bookinformation TD {
	VERTICAL-ALIGN: top
}
TABLE.bookinformation TD.bibliographicinfo {
	PADDING-BOTTOM: 10px
}
TABLE.bookinformation TR.memberinfo TD {
	WIDTH: 50%; PADDING-TOP: 5px
}
TABLE.bookinformation TR.memberinfo TD.left {
	TEXT-ALIGN: right; WIDTH: 5%; PADDING-RIGHT: 0.75em; WHITE-SPACE: =
nowrap; COLOR: #6a5546; FONT-WEIGHT: bold
}
DIV#gbss_content {
	MARGIN-TOP: 15px
}
DIV.LT_LB_content H1 {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 25px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 16px; PADDING-TOP: 0px
}
DIV.LT_LB_content H2 {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 15px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; COLOR: #444444; FONT-SIZE: 14px; PADDING-TOP: 0px
}
DIV.ajax_choose_reviewlanguage {
	DISPLAY: inline; MARGIN-RIGHT: 10px
}
DIV.ajax_choose_reviewlanguage DIV {
	DISPLAY: inline; MARGIN-RIGHT: 10px
}
.cks_item {
=09
}
.cks_itemlabel {
	TEXT-ALIGN: right; WIDTH: 12em; PADDING-RIGHT: 5px; WHITE-SPACE: =
nowrap; COLOR: grey; VERTICAL-ALIGN: top; FONT-WEIGHT: bold
}
.cks_itemdata {
	VERTICAL-ALIGN: top
}
#ql_editLink {
	FONT-SIZE: 10px; FONT-WEIGHT: normal
}
#ql_editLink:hover {
=09
}
#getthisbooklinks {
=09
}
#buyborrowswapbox H2 {
	MARGIN-BOTTOM: 8px
}
.quicklinks_in_greenbox {
	MARGIN-BOTTOM: -5px
}
.ql_printdisplay_line {
	MARGIN-BOTTOM: 5px
}
.ql_iconthing {
	WIDTH: 16px; PADDING-RIGHT: 6px; HEIGHT: 16px; VERTICAL-ALIGN: top
}
A .ql_iconthing {
	TEXT-DECORATION: none
}
A .ql_iconthing:hover {
	TEXT-DECORATION: none
}
#ql_amazonnote {
	MARGIN-TOP: 20px; MARGIN-BOTTOM: 0px; FONT-SIZE: 10px
}
#amazonAster {
	FONT-SIZE: 110%; CURSOR: pointer
}
DIV.ebooksummary {
	PADDING-BOTTOM: 7px !important; PADDING-LEFT: 4px !important; =
PADDING-RIGHT: 4px !important; FONT-SIZE: 11px; PADDING-TOP: 7px =
!important
}
DIV.blunttop {
	BACKGROUND-IMAGE: none !important; BORDER-TOP-COLOR: #cdf0d1; =
BORDER-TOP-STYLE: none; -webkit-border-top-right-radius: 0px; =
-webkit-border-top-left-radius: 0px; -moz-border-radius-topleft: 0px; =
-moz-border-radius-topright: 0px
}
DIV.bluntbottom {
	BORDER-BOTTOM-COLOR: #cdf0d1; MARGIN-BOTTOM: 1px; =
-moz-border-radius-bottomleft: 0px; -webkit-border-bottom-left-radius: =
0px; -webkit-border-bottom-right-radius: 0px; =
-moz-border-radius-bottomright: 0px
}
TABLE.ebooksummary {
	WIDTH: 100%; COLOR: gray
}
TABLE.ebooksummary TR.h TD {
	PADDING-BOTTOM: 2px; WIDTH: 33%; COLOR: gray; FONT-SIZE: 10px; =
FONT-WEIGHT: bold
}
DIV.qelcontent H2 {
	MARGIN-TOP: 15px; COLOR: #6a5546; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
DIV.references {
	MARGIN: 10px
}
DIV.references TABLE.autotable P {
	MARGIN-BOTTOM: 6px
}
DIV.references IMG.icon {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
WIDTH: 16px; HEIGHT: 16px; VERTICAL-ALIGN: middle; BORDER-TOP: #999999 =
1px solid; MARGIN-RIGHT: 8px; BORDER-RIGHT: #999999 1px solid
}
TABLE.autotable {
	WIDTH: 100%
}
TABLE.autotable TD {
	PADDING-RIGHT: 8px
}
DIV.bookinfo {
	BORDER-BOTTOM: #dddddd 2px solid; BORDER-LEFT: #dddddd 2px solid; =
PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #fff9ec; MARGIN: 5px 0px 15px; =
PADDING-LEFT: 13px; PADDING-RIGHT: 13px; BORDER-TOP: #dddddd 2px solid; =
BORDER-RIGHT: #dddddd 2px solid; PADDING-TOP: 5px; -moz-border-radius: =
6px; -webkit-border-radius: 6px
}
DIV.greenbox IMG.colophon {
	MARGIN: 0px 0px 10px 10px; FLOAT: right
}
DIV.headsummary {
	MARGIN-LEFT: 2px
}
DIV.headsummary H3 {
	MARGIN: 0px 0px 5px; FONT-SIZE: 12px
}
DIV.headsummary DIV.authorsandseries {
	MARGIN: 30px 0px 25px
}
DIV.navunowned {
	BORDER-BOTTOM: #e5dbc8 2px; BORDER-LEFT: #e5dbc8 2px; PADDING-BOTTOM: =
0px !important; MARGIN-TOP: 0px; PADDING-LEFT: 0px !important; =
PADDING-RIGHT: 0px !important; BACKGROUND: none transparent scroll =
repeat 0% 0%; BORDER-TOP: #e5dbc8 2px; BORDER-RIGHT: #e5dbc8 2px; =
PADDING-TOP: 0px !important
}
DIV#pickrelationship P.chrome {
	BORDER-BOTTOM: #dddddd 2px solid; PADDING-BOTTOM: 10px; MARGIN-TOP: =
20px !important; MARGIN-BOTTOM: 20px !important
}
DIV.state0 A#pickrelationshipsmenu0 {
	COLOR: black !important; FONT-WEIGHT: bold
}
DIV.state1 A#pickrelationshipsmenu1 {
	COLOR: black !important; FONT-WEIGHT: bold
}
DIV.state2 A#pickrelationshipsmenu2 {
	COLOR: black !important; FONT-WEIGHT: bold
}
DIV#pickrelationship DIV.relationshiparea {
	DISPLAY: none
}
DIV.state0 DIV#relationshiparea0 {
	DISPLAY: block !important
}
DIV.state1 DIV#relationshiparea1 {
	DISPLAY: block !important
}
DIV.state2 DIV#relationshiparea2 {
	DISPLAY: block !important
}
DIV.state3 DIV#relationshiparea3 {
	DISPLAY: block !important
}
DIV.state4 DIV#relationshiparea4 {
	DISPLAY: block !important
}
DIV.state5 DIV#relationshiparea5 {
	DISPLAY: block !important
}
DIV.state6 DIV#relationshiparea6 {
	DISPLAY: block !important
}
TABLE.otherauthor {
	BORDER-LEFT: #dddddd 2px solid; MARGIN-TOP: 6px; WIDTH: 100%; =
BORDER-TOP: #dddddd 2px solid
}
TABLE.otherauthor TR.head TD {
	BACKGROUND-COLOR: #eeeeee; FONT-WEIGHT: bold
}
TABLE.otherauthor TD {
	BORDER-BOTTOM: #dddddd 2px solid; PADDING-BOTTOM: 4px; PADDING-LEFT: =
4px; PADDING-RIGHT: 4px; VERTICAL-ALIGN: top; BORDER-RIGHT: #dddddd 2px =
solid; PADDING-TOP: 4px
}
TABLE.otherauthor TD.chrome {
	WHITE-SPACE: nowrap
}
#book_bookInformationTable TD.plusMinus {
	VERTICAL-ALIGN: middle
}
A.rowPlusMinus {
	BORDER-BOTTOM: #bbb 1px solid; BORDER-LEFT: #ccc 1px solid; =
PADDING-BOTTOM: 1px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; BACKGROUND: =
#eee 0px 0px; COLOR: #333; MARGIN-LEFT: 10px; VERTICAL-ALIGN: middle; =
BORDER-TOP: #d9d9d9 1px solid; FONT-WEIGHT: bold; BORDER-RIGHT: #ccc 1px =
solid; TEXT-DECORATION: none !important; PADDING-TOP: 1px; =
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); -moz-border-radius: 4px; =
-webkit-border-radius: 4px; border-radius: 4px; box-shadow: 0 1px 2px =
rgba(0, 0, 0, 0.2)
}
A.last.rowPlusMinus {
	MARGIN-LEFT: 5px
}
FIELDSET {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
PADDING-LEFT: 0px; OUTLINE-WIDTH: medium; PADDING-RIGHT: 0px; =
BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0px
}
DIV.social P {
	MARGIN: 0px 0px 15px
}
DIV.social IMG {
	MARGIN: 0px 10px 0px 0px; VERTICAL-ALIGN: middle !important
}
.bookeditfield FIELDSET {
	MARGIN-BOTTOM: 5px
}
.spacebefore {
	PADDING-LEFT: 20px
}
.editSeparatorPre {
	HEIGHT: 10px
}
.editSeparator {
	HEIGHT: 20px; BORDER-TOP: #eee9e3 1px solid
}
#detritusFieldsBar {
	PADDING-BOTTOM: 5px; MARGIN: -10px 0px 0px; PADDING-LEFT: 155px; COLOR: =
#555; FONT-SIZE: 14px; CURSOR: pointer
}
#detritusFieldsTitle {
	FONT-SIZE: 10px
}
#detritusFields {
=09
}
DIV.workleftnav UL {
	LIST-STYLE-POSITION: inside; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
none; MARGIN: 10px 0px 25px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
COLOR: black; PADDING-TOP: 0px
}
DIV.workleftnav UL LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 7px 4px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
DIV.workleftnav UL LI SPAN.count {
	COLOR: #555555; FONT-WEIGHT: bold
}
DIV.workleftnav UL LI.gap {
	MARGIN-TOP: 20px
}
DIV.workleftnav UL LI.slect {
	COLOR: black; FONT-WEIGHT: bold
}
DIV.countbox {
	PADDING-BOTTOM: 3px; LINE-HEIGHT: 9px; BACKGROUND-COLOR: #aaaaaa; =
MARGIN-TOP: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; FLOAT: right; =
COLOR: white; CLEAR: right; FONT-SIZE: 9px; FONT-WEIGHT: bold; =
MARGIN-RIGHT: 10px; PADDING-TOP: 2px; -moz-border-radius: 4px; =
-webkit-border-radius: 4px
}
LI.subitem DIV.countbox {
	BACKGROUND-COLOR: #cccccc
}
LI.subitem DIV.broken {
	BACKGROUND-COLOR: orange
}
TABLE.workstats TR.gap TD {
	PADDING-TOP: 25px
}
DIV#ddcdisplay P {
	MARGIN-BOTTOM: 10px
}
DIV.splitworkdiv {
	MARGIN: 5px 0px 20px
}
TABLE.editotherauthorstable TD {
	PADDING-BOTTOM: 10px !important; PADDING-LEFT: 0px !important; =
PADDING-RIGHT: 10px !important; VERTICAL-ALIGN: top; PADDING-TOP: 0px =
!important
}
TABLE.editotherauthorstable TD.l {
	TEXT-ALIGN: right; WHITE-SPACE: nowrap; COLOR: gray; FONT-WEIGHT: bold
}
TABLE.editotherauthorstable TD P {
	MARGIN: 5px 0px
}
DIV.gtb_st TABLE.gtb_sh TR.yourswapsite TD {
	FONT-WEIGHT: bold !important
}
.location {
	MARGIN-TOP: 3px
}
TABLE.ddc TD {
	TEXT-ALIGN: center; PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #e4e8fe; =
PADDING-LEFT: 1px; WIDTH: 10%; PADDING-RIGHT: 1px; FONT-SIZE: 9px; =
VERTICAL-ALIGN: top; PADDING-TOP: 3px
}
TABLE.ddc TD:hover {
	BACKGROUND-COLOR: #bec8ff
}
TABLE.ddc TD.chosen {
	BACKGROUND-COLOR: #fefee4; FONT-WEIGHT: bold
}
TABLE.ddc TD.chosen:hover {
	BACKGROUND-COLOR: #fffe83
}
TABLE.ddc TD.empty {
	BACKGROUND-COLOR: white; COLOR: white
}
TABLE.ddc {
	MARGIN: 5px 0px 12px
}
DIV.num {
	COLOR: gray; FONT-SIZE: 9px
}
DIV.word {
	LINE-HEIGHT: 10px; MARGIN-TOP: 1px; MARGIN-BOTTOM: 4px; FONT-SIZE: 9px
}
.removed {
	BACKGROUND-COLOR: #eeeeee
}
TABLE.yourfeed TD U {
	FONT-STYLE: italic; TEXT-DECORATION: none
}
TABLE.yourfeed TD {
	PADDING-BOTTOM: 25px; LINE-HEIGHT: 17px; FONT-SIZE: 12px; xfont-family: =
"lucida grande", tahoma, verdana
}
TABLE.yourfeed TD BLOCKQUOTE {
	PADDING-BOTTOM: 0px; MARGIN: 10px 0px 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
TABLE.yourfeed TD.f_i IMG {
	BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; =
BACKGROUND-COLOR: #eee; MARGIN: 2px 10px 5px 0px; FLOAT: left; =
BORDER-TOP: #ddd 1px solid; BORDER-RIGHT: #ddd 1px solid
}
TABLE.yourfeed TD.f_i {
	WIDTH: 55px
}
TABLE.yourfeed TD.f_f .star {
	VERTICAL-ALIGN: text-top
}
TABLE.yourfeed TD.f_f {
	LINE-HEIGHT: 18px; xfont-size: 11px
}
Xdiv.f_c {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
PADDING-TOP: 3px
}
DIV.f_c {
	PADDING-BOTTOM: 6px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px; xborder: 1px #d1d1d1 dashed; xbackground-color: =
#F0F0F0; xpadding: 6px
}
DIV.share {
	LINE-HEIGHT: 16px; MARGIN: 0px; COLOR: #aaaaaa; FONT-SIZE: 11px
}
DIV.share A:link {
	COLOR: #6c6cf5
}
DIV.share A:visited {
	COLOR: #6c6cf5
}
DIV.share A:active {
	COLOR: #6c6cf5
}
.f_n A:link {
	COLOR: #6c6cf5
}
.f_n A:visited {
	COLOR: #6c6cf5
}
DIV.f_n A:active {
	COLOR: #6c6cf5
}
DIV.share A:hover {
	COLOR: blue
}
.f_n A:hover {
	COLOR: blue
}
UL.ulplain LI {
	MARGIN-BOTTOM: 10px
}
#blastedit {
=09
}
#blastedit .area {
	DISPLAY: none
}
.blastareas {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 18px; CLEAR: =
both; MARGIN-RIGHT: 10px; PADDING-TOP: 5px
}
.area0 #area0 {
	DISPLAY: block
}
.area1 #area1 {
	DISPLAY: block
}
.f_n {
	LINE-HEIGHT: 11px; MARGIN: 0px 0px 10px; FONT-SIZE: 11px; FONT-WEIGHT: =
bold
}
#blast_title {
	FONT-WEIGHT: bold
}
#blast_title {
	PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; PADDING-LEFT: 4px; WIDTH: 100%; =
PADDING-RIGHT: 4px; FONT-FAMILY: Verdana, Arial; MARGIN-BOTTOM: 10px; =
FONT-SIZE: 12px; PADDING-TOP: 4px
}
#blastedittextarea2 {
	PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; PADDING-LEFT: 4px; WIDTH: 100%; =
PADDING-RIGHT: 4px; FONT-FAMILY: Verdana, Arial; MARGIN-BOTTOM: 10px; =
FONT-SIZE: 12px; PADDING-TOP: 4px
}
#blastedittextarea {
	PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; PADDING-LEFT: 4px; WIDTH: 100%; =
PADDING-RIGHT: 4px; FONT-FAMILY: Verdana, Arial; MARGIN-BOTTOM: 10px; =
FONT-SIZE: 12px; PADDING-TOP: 4px
}
#blastedittextarea2 {
	HEIGHT: 65px
}
#blastedittextarea {
	HEIGHT: 65px
}
.blastedittable {
	MARGIN: 0px 0px 15px
}
#charsLeft {
	BORDER-BOTTOM: #ccc 2px solid; TEXT-ALIGN: center; BORDER-LEFT: #ccc =
2px solid; PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: =
1px; WIDTH: 3em; PADDING-RIGHT: 1px; FLOAT: right; COLOR: #232323; =
FONT-SIZE: 11px; BORDER-TOP: #ccc 2px solid; FONT-WEIGHT: bold; =
BORDER-RIGHT: #ccc 2px solid; PADDING-TOP: 1px; -moz-border-radius: 4px; =
-webkit-border-radius: 4px
}
.overChar#charsLeft {
	COLOR: red !important
}
.blastedittable {
	WIDTH: 100%
}
.blastedittable TD {
	VERTICAL-ALIGN: middle
}
.alwaysblack {
=09
}
TABLE.yourfeed TR .f_r {
	PADDING-LEFT: 5px; WIDTH: 30px
}
.f_r IMG {
	DISPLAY: none
}
TABLE.yourfeed TR:hover .f_r IMG {
	DISPLAY: block
}
IMG.show {
	DISPLAY: block
}
.share IMG {
	MARGIN: -1px 2px 0px 0px; VERTICAL-ALIGN: text-top
}
.aftertext P {
	MARGIN: 15px 0px 0px
}
.LT_LB_blast {
=09
}
.blastchrome {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ddd; MARGIN: 0px; PADDING-LEFT: =
15px; WIDTH: 100%; PADDING-RIGHT: 5px; PADDING-TOP: 6px
}
.blastchrome TR {
	BACKGROUND-COLOR: #ddd
}
.blastchrome TD {
	BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; =
PADDING-BOTTOM: 6px !important; BACKGROUND-COLOR: #ddd; PADDING-LEFT: =
12px !important; PADDING-RIGHT: 12px !important; WHITE-SPACE: nowrap; =
COLOR: #444; BORDER-TOP: #ddd 1px solid; CURSOR: pointer; FONT-WEIGHT: =
bold; BORDER-RIGHT: #ddd 1px solid; PADDING-TOP: 6px !important
}
.blastchrome LI DIV {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FLOAT: =
left; PADDING-TOP: 10px
}
.blastchrome TD.selected {
	BORDER-BOTTOM: #ccc 1px; BORDER-LEFT: #ccc 1px solid; BACKGROUND-COLOR: =
white; COLOR: black; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px =
solid
}
.blastchrome {
	MARGIN-BOTTOM: 15px
}
.blastchrome SPAN {
	MARGIN: 0px 5px
}
.end {
	LINE-HEIGHT: 16px; COLOR: gray; FONT-SIZE: 11px
}
IMG {
	BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: =
none; BORDER-LEFT-STYLE: none; BEHAVIOR: url(/js2/pngbehavior.js)
}
IMG.helpIcon {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
MARGIN-BOTTOM: -2px; PADDING-TOP: 0px
}
.sectionContainer {
	PADDING-BOTTOM: 20px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px
}
.sectionContent {
	PADDING-LEFT: 20px; PADDING-RIGHT: 20px; PADDING-TOP: 5px
}
.sectionTitle {
	BORDER-BOTTOM: #ccbfb0 1px solid; MIN-WIDTH: 300px; TEXT-ALIGN: left; =
BORDER-LEFT: #ccbfb0 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 100%; =
BACKGROUND-COLOR: #eae4d9; MARGIN: 30px 0px 0px; PADDING-LEFT: 15px; =
BORDER-SPACING: 0px; WIDTH: 100%; PADDING-RIGHT: 15px; FONT-FAMILY: =
inherit; WHITE-SPACE: nowrap; HEIGHT: 24px; COLOR: #6a5546; FONT-SIZE: =
11px; BORDER-TOP: #ccbfb0 1px solid; BORDER-RIGHT: #ccbfb0 1px solid; =
PADDING-TOP: 0px; -moz-border-radius: 12px; -webkit-border-radius: 12px
}
.anothertry {
	BORDER-BOTTOM: #343434 2px solid; BORDER-LEFT: #f0e3cd 1px; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: white; MARGIN-TOP: 25px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Georgia; =
MARGIN-BOTTOM: 10px; COLOR: black; FONT-SIZE: 20px; BORDER-TOP: #f0e3cd =
1px; BORDER-RIGHT: #f0e3cd 1px; PADDING-TOP: 0px; -moz-border-radius: =
3px; -webkit-border-radius: 3px; xborder: 1px solid #ccbfb0
}
.sectionTitle TD {
	VERTICAL-ALIGN: top
}
.sectionTitleLI {
	BACKGROUND-IMAGE: url(/pics/sectionHead_01.png); WIDTH: 15px; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left top
}
.sectionTitleRI {
	BACKGROUND-IMAGE: url(/pics/sectionHead_03.png); WIDTH: 15px; =
BACKGROUND-REPEAT: no-repeat; WHITE-SPACE: nowrap; BACKGROUND-POSITION: =
right top
}
IMG.sectionTitleES {
	WIDTH: 10px; HEIGHT: 25px
}
.sectionTitleC {
	BACKGROUND-REPEAT: repeat-x; WHITE-SPACE: nowrap; BACKGROUND-POSITION: =
left top; VERTICAL-ALIGN: middle; PADDING-TOP: 5px
}
.sectionTitleH3 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; FONT-SIZE: 100%; PADDING-TOP: 0px
}
.sectionTitleST {
	PADDING-LEFT: 10px; WHITE-SPACE: nowrap; COLOR: #928077; FONT-SIZE: =
80%; FONT-WEIGHT: normal
}
.sectionTitleRC {
	TEXT-ALIGN: right; PADDING-LEFT: 10px; WHITE-SPACE: nowrap; FONT-SIZE: =
9px; FONT-WEIGHT: normal
}
.sectionTitleRC IMG {
	PADDING-LEFT: 5px; MARGIN-BOTTOM: 3px; VERTICAL-ALIGN: middle
}
.sectionTitleLC {
	TEXT-ALIGN: left; FONT-WEIGHT: bold
}
.sectionTitleHelp {
	PADDING-LEFT: 3px
}
.simpleSection {
	MARGIN: 10px 3px 20px
}
TABLE.workSimpleHead {
	BORDER-BOTTOM: #ccbfb0 1px solid; BORDER-LEFT: #ccbfb0 1px solid; =
MARGIN: 1px 0px 0px; WIDTH: 100%; BORDER-TOP: #ccbfb0 1px solid; =
BORDER-RIGHT: #ccbfb0 1px solid; -moz-border-radius: 3px; =
-webkit-border-Radius: 3px
}
TABLE.workSimpleHead TD {
	PADDING-BOTTOM: 6px !important; LINE-HEIGHT: 100%; BACKGROUND-COLOR: =
#f1ece4 !important; PADDING-LEFT: 8px !important; PADDING-RIGHT: 7px =
!important; COLOR: #6a5546; FONT-SIZE: 10px; VERTICAL-ALIGN: middle; =
PADDING-TOP: 6px !important
}
TABLE.workSimpleHead TD.l {
	FONT-WEIGHT: bold
}
TABLE.workSimpleHead TD.r {
	TEXT-ALIGN: right; WIDTH: 33%; VERTICAL-ALIGN: middle !important
}
TABLE.workSimpleHead TD.r DIV.ltbtn-outer-box {
	MARGIN-TOP: -2px
}
IMG {
	BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: =
none; BORDER-LEFT-STYLE: none; BEHAVIOR: url(/js2/pngbehavior.js)
}
.fwikiContainerTable {
	WIDTH: 100%; PADDING-RIGHT: 20px; FONT-SIZE: 12px; PADDING-TOP: 10px
}
.fwikiLabel {
	TEXT-ALIGN: right; WIDTH: 150px; VERTICAL-ALIGN: top; FONT-WEIGHT: =
normal; MARGIN-RIGHT: 10px; PADDING-TOP: 4px
}
.fwikiField {
	WIDTH: 100%; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 10px
}
.fwikiGroup {
	WIDTH: 100%
}
.fwikiField A {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium; =
TEXT-DECORATION: none
}
.fwikiGroup:hover .fwikiItem {
	BACKGROUND-COLOR: #ffd
}
.fwikiGroup:hover .fwikiItemText {
=09
}
.fwikiItem {
	BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; =
PADDING-RIGHT: 9px; MARGIN-BOTTOM: 5px
}
.fwikiGroup .fwikiItem {
=09
}
.fwikiItemText {
	PADDING-BOTTOM: 3px; MIN-HEIGHT: 1.3em; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; VERTICAL-ALIGN: top; PADDING-TOP: 3px
}
.fwikiFormInputItem {
	PADDING-BOTTOM: 3px; MIN-HEIGHT: 1.3em; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; VERTICAL-ALIGN: top; PADDING-TOP: 3px
}
.fwikiItemTextLong {
=09
}
.fwikiSubnavSplitter {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; COLOR: #bbb
}
.fwikiSubnavBreadcrumbItem {
	FONT-WEIGHT: bold
}
.fwikiSubnavBreadcrumbItem A {
	COLOR: blue !important
}
.fwikiItemControls {
	TEXT-ALIGN: left; WIDTH: 20px; VERTICAL-ALIGN: top; PADDING-TOP: 5px
}
.fwikiFormInputItem {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; OVERFLOW-Y: =
scroll; BACKGROUND-COLOR: #ffc; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: =
100%; PADDING-RIGHT: 4px; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; WHITE-SPACE: nowrap; HEIGHT: 1.2em; FONT-SIZE: 100%; =
BORDER-TOP: #f7f7c6 1px solid; BORDER-RIGHT: #f7f7c6 1px solid
}
.fwikiFormInputItemLong {
	OVERFLOW-X: hidden; OVERFLOW-Y: scroll; PADDING-RIGHT: 0px; =
WHITE-SPACE: normal; HEIGHT: 10em; VERTICAL-ALIGN: top
}
.fwikiRadio {
	WIDTH: auto; MARGIN-BOTTOM: 3px; HEIGHT: auto; OVERFLOW: hidden; =
MARGIN-RIGHT: 5px
}
.fwikiEditItem {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.fwikiBottomControls {
	TEXT-ALIGN: center; WIDTH: 100%
}
.fwikiHint {
	TEXT-ALIGN: left; PADDING-BOTTOM: 5px; FONT-STYLE: normal; MARGIN-TOP: =
-3px; COLOR: #999; FONT-SIZE: 80%
}
.fwikiTopHint {
	BORDER-BOTTOM: #ddd 1px solid; PADDING-BOTTOM: 3px; MARGIN: -7px 20px =
5px
}
.fwikiBottomHint {
	MARGIN: 20px 20px 0px 160px; BORDER-TOP: #ddd 1px solid
}
.fwikiWarningHint {
	MARGIN-TOP: 0px; COLOR: #f77
}
.fwikiButton {
	BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: center; BORDER-LEFT: #ccc =
1px solid; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #eee; PADDING-LEFT: =
3px; WIDTH: 4em; PADDING-RIGHT: 3px; MARGIN-BOTTOM: 10px; FLOAT: right; =
COLOR: #555; MARGIN-LEFT: 5px; FONT-SIZE: 85%; BORDER-TOP: #ccc 1px =
solid; CURSOR: pointer; BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 2px
}
.fwikiButton :hover {
	BACKGROUND-COLOR: #fff; COLOR: red
}
.fwikiPlusButton {
	WIDTH: 7em; FLOAT: left; MARGIN-LEFT: 0px
}
.fwikiHistory BUTTON {
	FLOAT: left; MARGIN-LEFT: 0px; MARGIN-RIGHT: 10px
}
.fwikiCancelButton {
	FLOAT: right
}
.fwikiAutoMenu {
	Z-INDEX: 1000; BORDER-BOTTOM: #999 1px solid; POSITION: fixed; =
BORDER-LEFT: #999 1px solid; BACKGROUND-COLOR: #f6f6f6; COLOR: black; =
FONT-SIZE: 90%; BORDER-TOP: #999 1px solid; TOP: 10px; BORDER-RIGHT: =
#999 1px solid; LEFT: 10px
}
.fwikiAutoMenuItem {
	BORDER-BOTTOM: #ddd 1px solid; PADDING-BOTTOM: 1px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; CURSOR: pointer; PADDING-TOP: 1px
}
.fwikiAutoMenuItem:hover {
	BORDER-BOTTOM: #9cf 1px solid; BACKGROUND-COLOR: #9cf
}
.fwikiAutoMenuItemselected {
	BORDER-BOTTOM: #9cf 1px solid; BACKGROUND-COLOR: #9cf
}
.fwikiForm {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
PADDING-TOP: 2px
}
.fwikiRanks {
	PADDING-LEFT: 10px
}
.fwikiRankline {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; WIDTH: 3px; =
PADDING-RIGHT: 0px; HEIGHT: 12px; BORDER-TOP: medium none; BORDER-RIGHT: =
medium none; PADDING-TOP: 0px
}
.disambigNoticeTitle {
	MARGIN-TOP: 5px; COLOR: grey; FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.disambiguationText {
	MARGIN-BOTTOM: 5px
}
.fwikiDisambigOtherLang {
	FONT-STYLE: italic
}
.disambigTextIndented {
	PADDING-BOTTOM: 10px !important; LINE-HEIGHT: 1.2em !important; =
FONT-SIZE: 11px !important
}
.fwikiBrowseContainer {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 30px; WIDTH: 95%; PADDING-RIGHT: =
30px; FONT-SIZE: 80%; PADDING-TOP: 5px
}
.fwikiBrowseHeader {
	BORDER-BOTTOM: #ddd 1px solid; MARGIN-TOP: 20px; MARGIN-BOTTOM: 5px; =
COLOR: grey; FONT-WEIGHT: bold
}
.fwikiBrowseContainer A {
	TEXT-DECORATION: none
}
.fwikiBrowseContainer A:hover {
	TEXT-DECORATION: underline
}
.fwikiBrowseSectionTitle {
	BORDER-BOTTOM: #ccc 1px solid; MARGIN-TOP: 20px; FONT-SIZE: 110%; =
FONT-WEIGHT: bold
}
.fwikiBrowseFieldTitle {
	BORDER-BOTTOM: #ddd 1px solid; MARGIN-TOP: 10px; MARGIN-BOTTOM: 5px; =
MARGIN-LEFT: 10px; FONT-WEIGHT: bold
}
.fwikiBrowseRow {
	MARGIN-LEFT: 20px; VERTICAL-ALIGN: top
}
.ckvalue {
	MARGIN-BOTTOM: 5px
}
.ckvalue A {
	COLOR: #b95e27
}
.fwikiBrowseTinyText {
	FONT-SIZE: 80%
}
.fwikiBrowseDetailText {
	COLOR: #999
}
.fwikiAutoLinks A {
	COLOR: #630 !important
}
.fwikiAutoLink {
	WHITE-SPACE: nowrap; FONT-SIZE: 90%
}
.fwikiAutoLink A {
	COLOR: #630 !important
}
.fwikiBrowseTable {
	BORDER-BOTTOM: #ddd 1px solid; TEXT-ALIGN: left; BORDER-LEFT: #ddd 1px =
solid; MARGIN: 15px 0px; WIDTH: 100%; BORDER-COLLAPSE: collapse; =
BORDER-TOP: #ddd 1px solid; BORDER-RIGHT: #ddd 1px solid
}
.fwikiBrowseTable TR {
	MARGIN: 0px
}
.fwikiBrowseTable TD {
	PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: =
5px; PADDING-TOP: 4px
}
TR.fwikiBrowseTableTitles {
	BACKGROUND-COLOR: #ccc
}
TR.fwikiBrowseRowArchived {
=09
}
.fwikiOddRow {
	BACKGROUND-COLOR: #edf8fe
}
.fwikiFirstRow {
	BORDER-TOP: #ccc 1px solid
}
.fwikiBrowseTableTitles {
	BACKGROUND-COLOR: #ccc8b9; FONT-WEIGHT: bold
}
.fwikiBrowseTableTitles A {
	COLOR: black
}
.fwikiOA {
	FONT-SIZE: 80%
}
.fwikiBrowseUser {
	WHITE-SPACE: nowrap
}
.fwikiBrowseCWhat {
=09
}
.fwikiBrowseCModifiers {
	WHITE-SPACE: nowrap
}
.fwikiBrowseCWhen {
	WHITE-SPACE: nowrap; COLOR: #000; FONT-SIZE: 90%
}
.fwikiBrowseCFieldType {
	TEXT-ALIGN: right; WHITE-SPACE: nowrap; COLOR: #000
}
.fwikiBrowseCLanguage {
	TEXT-ALIGN: center; WIDTH: 5em
}
.fwikiBrowseCChange {
=09
}
.fwikiBrowseCChangeType {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
PADDING-TOP: 0px
}
.fwikiBrowseCAction {
	TEXT-ALIGN: center; PADDING-LEFT: 10px; WHITE-SPACE: nowrap
}
.fwikiSubnavTableRight {
	PADDING-BOTTOM: 0px; MARGIN: -8px 0px 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.fwikiSubnavItem {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px
}
.fwikiGraphText {
	TEXT-ALIGN: right; LINE-HEIGHT: 10px; PADDING-RIGHT: 2px; FONT-FAMILY: =
Arial, Helvetica, sans-serif; FONT-SIZE: 9px
}
#ltcksearchbox {
	PADDING-LEFT: 2px; WIDTH: 12em; FONT-SIZE: 10px
}
#ltckSearchModeMenu {
	PADDING-LEFT: 2px; WIDTH: 12em; FONT-SIZE: 10px
}
#ltckSearchModeMenu {
	WIDTH: 8em
}
.fwikiSearchNav {
	TEXT-ALIGN: left; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #eee; =
PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 5px
}
.fwikiMapInfo {
	FONT-SIZE: 10px
}
.fwikiMapInfoSource {
	MARGIN-TOP: 10px
}
DIV.itemnumberoverflow {
	MARGIN: 10px
}
DIV.currentlyFrom {
	MARGIN: 0px 0px 3px; COLOR: gray; FONT-SIZE: 9px
}
.cksectionhead {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: =
#666; FONT-SIZE: 14px; FONT-WEIGHT: bold; PADDING-TOP: 5px
}
.editSeparator.ck {
	HEIGHT: 1px
}
.menuBuilderContainer {
	CURSOR: pointer; FONT-WEIGHT: bold
}
.menuBuilderMenu {
	LIST-STYLE: none none inside; BORDER-BOTTOM: #979797 1px solid; =
POSITION: absolute; MIN-WIDTH: 10em; BORDER-LEFT: #979797 1px solid; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #f9f9f9; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-SIZE: 10px; BORDER-TOP: =
#979797 1px solid; FONT-WEIGHT: normal; BORDER-RIGHT: #979797 1px solid; =
PADDING-TOP: 0px; opacity: 0.95; -webkit-box-shadow: 0px 3px 3px rgba(0, =
0, 0, 0.45); -moz-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.45); =
-webkit-border-bottom-left-radius: 7px; =
-webkit-border-bottom-right-radius: 7px; -moz-border-radius-bottomRight: =
7px; -moz-border-radius-bottomLeft: 7px
}
.menuBuilderUpMenu {
	-moz-border-radius-topLeft: 7px; -moz-border-radius-topRight: 7px; =
-webkit-border-top-right-radius: 7px; -webkit-border-top-left-radius: =
7px; -webkit-border-bottom-left-radius: 0px; =
-webkit-border-bottom-right-radius: 0px; -moz-border-radius-bottomRight: =
0px; -moz-border-radius-bottomLeft: 0px
}
.menuBuilderScrollableMenu {
	OVERFLOW-X: hidden; OVERFLOW-Y: scroll; =
-webkit-border-bottom-right-radius: 0px; -moz-border-radius-bottomRight: =
0px
}
.menuBuilderMenu A {
	TEXT-DECORATION: none !important
}
.menuBuilderMenu A:hover {
	TEXT-DECORATION: none !important
}
A.menuBuilderMenuItem {
	LIST-STYLE-POSITION: inside; Z-INDEX: 101; PADDING-BOTTOM: 4px; =
LINE-HEIGHT: 1.3em; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
2em; PADDING-RIGHT: 2em; DISPLAY: block; WHITE-SPACE: nowrap; COLOR: =
black !important; CURSOR: pointer; PADDING-TOP: 4px
}
.menuBuilderMenuItem {
	LIST-STYLE-POSITION: inside; Z-INDEX: 101; PADDING-BOTTOM: 4px; =
LINE-HEIGHT: 1.3em; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
2em; PADDING-RIGHT: 2em; DISPLAY: block; WHITE-SPACE: nowrap; COLOR: =
black !important; CURSOR: pointer; PADDING-TOP: 4px
}
.menuBuilderMenuItemSelected {
	BACKGROUND-COLOR: #b9d5f5; FONT-WEIGHT: bold
}
.menuBuilderMenuItem:hover {
	BACKGROUND-COLOR: #f7eda5
}
.over.collNavMenuItem {
	BACKGROUND-COLOR: #f7eda5
}
.menuBuilderMenuItem:first-child {
	BORDER-TOP: medium none
}
.menuBuilderUpMenu:first-child {
	-moz-border-radius-topLeft: 5px; -moz-border-radius-topRight: 5px; =
-webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: =
5px
}
.upMenuFirstChild {
	-moz-border-radius-topLeft: 5px; -moz-border-radius-topRight: 5px; =
-webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: =
5px
}
.menuBuilderMenuItemDisabled {
	BACKGROUND-COLOR: #eeeeee; COLOR: #bbbbbb; CURSOR: default; =
xbackground-color: #fff
}
.menuBuilderMenuItemDisabled:hover {
	BACKGROUND-COLOR: #eeeeee; COLOR: #bbbbbb; CURSOR: default; =
xbackground-color: #fff
}
.menuBuilderMenuItemDisabled.menuBuilderMenuItemSelected {
	BACKGROUND-COLOR: #b9d5f5
}
.menuBuilderMenuItemSeparator {
	PADDING-BOTTOM: 0px !important; LINE-HEIGHT: 0px !important; =
LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px !important; WIDTH: =
100% !important; PADDING-RIGHT: 0px !important; HEIGHT: 0px !important; =
BORDER-TOP: #ddd 2px solid; PADDING-TOP: 0px !important
}
.menuBuilderMenuItemSeparator:hover {
	PADDING-BOTTOM: 0px !important; LINE-HEIGHT: 0px !important; =
LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px !important; WIDTH: =
100% !important; PADDING-RIGHT: 0px !important; HEIGHT: 0px !important; =
BORDER-TOP: #ddd 2px solid; PADDING-TOP: 0px !important
}
.menuBuilderIcon {
	BACKGROUND-COLOR: transparent; FLOAT: left; MARGIN-LEFT: -1.5em; =
FONT-WEIGHT: bold
}
.menuBuilderSubmenu {
	POSITION: absolute
}
.menuBuilderSubmenu {
	DISPLAY: none
}
.menuBuilderMenuItem:hover .menuBuilderSubmenu {
	DISPLAY: inline-block
}
.menuBuilderSubmenu:hover {
	DISPLAY: inline-block
}
.mainNavWithMenu {
	FLOAT: left; MARGIN-RIGHT: 2px
}
.menuDivot {
	BORDER-LEFT: #d7d1ce 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 1px; COLOR: #b9a497; MARGIN-LEFT: 4px; PADDING-TOP: 0px; =
xfloat: right
}
.menuBuilder_subview {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #f9f9f9; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
san-serif; PADDING-TOP: 0px; -webkit-border-bottom-left-radius: 5px; =
-webkit-border-bottom-right-radius: 5px; -moz-border-radius-bottomRight: =
5px; -moz-border-radius-bottomLeft: 5px
}
.ltbtn {
	LIST-STYLE: none none outside; BORDER-BOTTOM: 0px; TEXT-ALIGN: center; =
BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: none; =
TEXT-INDENT: 0px; MARGIN: 0px 1px; OUTLINE-STYLE: none; PADDING-LEFT: =
0px; OUTLINE-WIDTH: medium; PADDING-RIGHT: 0px; BORDER-COLLAPSE: =
collapse; FONT-FAMILY: Verdana, arial, sans-serif; WHITE-SPACE: nowrap; =
LETTER-SPACING: -0.03em; COLOR: black; FONT-SIZE: 10px; VERTICAL-ALIGN: =
middle; BORDER-TOP: 0px; CURSOR: pointer; BORDER-RIGHT: 0px; =
WORD-SPACING: normal; TEXT-DECORATION: none; PADDING-TOP: 0px; =
-moz-user-select: none
}
.ltbtn A {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert =
!important; PADDING-LEFT: 0px; OUTLINE-WIDTH: medium !important; =
PADDING-RIGHT: 0px; COLOR: #000 !important; BORDER-TOP: medium none; =
CURSOR: pointer !important; BORDER-RIGHT: medium none; TEXT-DECORATION: =
none !important; PADDING-TOP: 0px
}
.ltbtn A:hover {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert =
!important; PADDING-LEFT: 0px; OUTLINE-WIDTH: medium !important; =
PADDING-RIGHT: 0px; COLOR: #000 !important; BORDER-TOP: medium none; =
CURSOR: pointer !important; BORDER-RIGHT: medium none; TEXT-DECORATION: =
none !important; PADDING-TOP: 0px
}
.ltbtn A:active {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert =
!important; PADDING-LEFT: 0px; OUTLINE-WIDTH: medium !important; =
PADDING-RIGHT: 0px; COLOR: #000 !important; BORDER-TOP: medium none; =
CURSOR: pointer !important; BORDER-RIGHT: medium none; TEXT-DECORATION: =
none !important; PADDING-TOP: 0px
}
.ltbtn A:visited {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert =
!important; PADDING-LEFT: 0px; OUTLINE-WIDTH: medium !important; =
PADDING-RIGHT: 0px; COLOR: #000 !important; BORDER-TOP: medium none; =
CURSOR: pointer !important; BORDER-RIGHT: medium none; TEXT-DECORATION: =
none !important; PADDING-TOP: 0px
}
.ltbtn A:link {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert =
!important; PADDING-LEFT: 0px; OUTLINE-WIDTH: medium !important; =
PADDING-RIGHT: 0px; COLOR: #000 !important; BORDER-TOP: medium none; =
CURSOR: pointer !important; BORDER-RIGHT: medium none; TEXT-DECORATION: =
none !important; PADDING-TOP: 0px
}
.ltbtn-ie7 {
	DISPLAY: inline
}
.ltbtn-ff2 {
=09
}
.ltbtn-inline-block {
	POSITION: relative; DISPLAY: inline-block
}
.ltbtn-gecko .ltbtn-inline-block {
=09
}
.ltbtn-gecko .ltbtn-inline-block {
	DISPLAY: inline-block
}
.ltbtn-inline {
	DISPLAY: inline
}
.ltbtn-block {
	DISPLAY: block
}
.ltbtn-float-left {
	FLOAT: left
}
.ltbtn-float-right {
	FLOAT: right
}
.ltbtn-outer-box {
	BORDER-BOTTOM-STYLE: solid; PADDING-BOTTOM: 0px; BORDER-RIGHT-STYLE: =
solid; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-STYLE: solid; =
BORDER-LEFT-STYLE: solid; PADDING-TOP: 0px
}
.ltbtn-inner-box {
	BORDER-BOTTOM-STYLE: solid; PADDING-BOTTOM: 0px; BORDER-RIGHT-STYLE: =
solid; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-STYLE: solid; =
BORDER-LEFT-STYLE: solid; PADDING-TOP: 0px
}
.ltbtn-outer-box {
	BORDER-BOTTOM: #aaaaaa 1px solid; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; =
BORDER-TOP: #bbbbbb 1px solid; BORDER-LEFT-WIDTH: 0px
}
.ltbtn-inner-box {
	BORDER-BOTTOM: #d8d8d8 0.1em solid; BORDER-LEFT: #bbbbbb 1px solid; =
MARGIN: 0px -1px; BACKGROUND: #e3e3e3 0px 0px; BORDER-TOP: medium none; =
BORDER-RIGHT: #aaaaaa 1px solid
}
.ltbtn-top-shadow {
	BORDER-BOTTOM: #eeeeee 0.25em solid; POSITION: absolute; BACKGROUND: =
#f9f9f9 0px 0px; HEIGHT: 0.7em; OVERFLOW: hidden; BORDER-TOP: #fff =
0.15em solid; TOP: 0px; RIGHT: 0px; LEFT: 0px
}
.ltbtn-content {
	POSITION: relative; TEXT-ALIGN: center; PADDING-BOTTOM: 0.4em; =
LINE-HEIGHT: 1.4em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; =
WHITE-SPACE: nowrap; HEIGHT: 1.2em; COLOR: black !important; =
VERTICAL-ALIGN: middle; FONT-WEIGHT: normal; PADDING-TOP: 0.2em
}
.ltbtn-content IMG {
	MARGIN-TOP: 0px; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 3px
}
.ltbtn-image {
	VERTICAL-ALIGN: bottom; PADDING-TOP: 0.06em
}
A.ltbtn:focus {
	OUTLINE-STYLE: none; OUTLINE-WIDTH: 0px
}
A.ltbtn:focus {
	-moz-user-select: none
}
.ltbtn-body {
	FONT-SIZE: 11px
}
.ltbtn-body > SPAN {
	LEFT: 22px
}
.ltbtn-size-mini {
	HEIGHT: 1.5em; FONT-SIZE: 9px; FONT-WEIGHT: normal
}
.ltbtn-size-mini .ltbtn-content {
	PADDING-BOTTOM: 0.2em; PADDING-LEFT: 0.6em; PADDING-RIGHT: 0.6em; =
PADDING-TOP: 0.2em
}
.ltbtn-pos {
	POSITION: relative; HEIGHT: 100%
}
.ltbtn-collapse-right {
	MARGIN-RIGHT: 0px !important
}
.ltbtn-collapse-right .ltbtn-inner-box {
	MARGIN-RIGHT: 0px !important
}
.ltbtn-collapse-right .ltbtn-outer-box {
	MARGIN-RIGHT: 0px !important
}
.ltbtn-collapse-left {
	MARGIN-LEFT: 0px !important; BORDER-LEFT-COLOR: #f9f9f9
}
.ltbtn-collapse-left .ltbtn-outer-box {
	MARGIN-LEFT: 0px !important; BORDER-LEFT-COLOR: #f9f9f9
}
.ltbtn-collapse-left .ltbtn-inner-box {
	MARGIN-LEFT: 0px !important; BORDER-LEFT-COLOR: #f9f9f9
}
.lightBorder.ltbtn-collapse-right .ltbtn-outer-box {
	BORDER-RIGHT-COLOR: #d9d9d9
}
.lightBorder.ltbtn-collapse-right .ltbtn-inner-box {
	BORDER-RIGHT-COLOR: #d9d9d9
}
.lightBorder.ltbtn-collapse-left .ltbtn-outer-box {
	BORDER-LEFT: medium none
}
.lightBorder.ltbtn-collapse-left .ltbtn-inner-box {
	BORDER-LEFT: medium none
}
.ltbtn:hover {
	COLOR: #000000
}
.ltbtn:hover .ltbtn-outer-box {
	BORDER-BOTTOM-COLOR: #bbb; BORDER-TOP-COLOR: #bbb; BORDER-RIGHT-COLOR: =
#bbb; BORDER-LEFT-COLOR: #bbb
}
.ltbtn:hover .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #bbb; BORDER-TOP-COLOR: #bbb; BORDER-RIGHT-COLOR: =
#bbb; BORDER-LEFT-COLOR: #bbb
}
.ltbtn-activated.ltbtn .ltbtn-outer-box {
	BORDER-BOTTOM-COLOR: #bbb; BORDER-TOP-COLOR: #bbb; BORDER-RIGHT-COLOR: =
#bbb; BORDER-LEFT-COLOR: #bbb
}
.ltbtn-activated.ltbtn .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #bbb; BORDER-TOP-COLOR: #bbb; BORDER-RIGHT-COLOR: =
#bbb; BORDER-LEFT-COLOR: #bbb
}
.ltbtn:hover .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #e7dd91; BORDER-TOP-COLOR: #efebc2; BACKGROUND: =
#f7eda5 0px 0px
}
.ltbtn-activated.ltbtn .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #e7dd91; BORDER-TOP-COLOR: #efebc2; BACKGROUND: =
#f7eda5 0px 0px
}
.ltbtn:hover .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #c5bd70; BACKGROUND: #ddd27d 0px 0px; BORDER-TOP: =
#fff
}
.ltbtn-activated.ltbtn .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #c5bd70; BACKGROUND: #ddd27d 0px 0px; BORDER-TOP: =
#fff
}
.ltbtn-collapse-left.ltbtn:hover .ltbtn-inner-box {
	BORDER-LEFT-COLOR: #e7dd91
}
.ltbtn-activated.ltbtn-collapse-left.ltbtn .ltbtn-inner-box {
	BORDER-LEFT-COLOR: #e7dd91
}
.ltbtn-selected .ltbtn-content {
	COLOR: #1b3451 !important
}
.ltbtn-selected:hover {
	COLOR: #f7eda5
}
.ltbtn-selected .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #a5c2e4; BORDER-TOP-COLOR: #d1e1f3; BACKGROUND: =
#b9d5f5 0px 0px
}
.ltbtn-selected:hover .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #a5c2e4; BORDER-TOP-COLOR: #d1e1f3; BACKGROUND: =
#b9d5f5 0px 0px
}
.ltbtn-selected .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #73a5dc; BACKGROUND: #88b6ea 0px 0px; =
BORDER-LEFT-COLOR: #748faf
}
.ltbtn-selected:hover .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #73a5dc; BACKGROUND: #88b6ea 0px 0px; =
BORDER-LEFT-COLOR: #748faf
}
.ltbtn-selected.ltbtn-collapse-left .ltbtn-inner-box {
	BORDER-LEFT-COLOR: #b9d5f5
}
.ltbtn-selected.ltbtn-collapse-left:hover .ltbtn-inner-box {
	BORDER-LEFT-COLOR: #b9d5f5
}
.ltbtn:active .ltbtn-content {
	COLOR: #fff !important
}
.ltbtn:active {
	COLOR: #fff; CURSOR: default
}
.ltbtn:active .ltbtn-outer-box {
	BORDER-BOTTOM-COLOR: #666; BORDER-TOP-COLOR: #666; BORDER-RIGHT-COLOR: =
#666; BORDER-LEFT-COLOR: #666
}
.ltbtn:active .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #666; BORDER-TOP-COLOR: #666; BORDER-RIGHT-COLOR: =
#666; BORDER-LEFT-COLOR: #666
}
.ltbtn:active .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #828282; BORDER-TOP-COLOR: #4c4c4c; BACKGROUND: =
#6d6d6d 0px 0px; BORDER-LEFT-COLOR: #484848
}
.ltbtn:active .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #959595; BACKGROUND: #989898 0px 0px
}
.ltbtn-collapse-left.ltbtn:active .ltbtn-inner-box {
	BORDER-LEFT-COLOR: #e7dd91
}
.ltbtn.ltbtn-collapse-left:active .ltbtn-inner-box {
	BORDER-LEFT-COLOR: #4c4c4c
}
.ltbtn-warning .ltbtn-content {
	COLOR: white !important; FONT-WEIGHT: bold
}
.ltbtn-warning .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #ac0019; BACKGROUND: #93555e 0px 0px
}
.ltbtn-warning:hover .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #ac0019; BACKGROUND: #93555e 0px 0px
}
.ltbtn-warning .ltbtn-inner-box {
	BACKGROUND: #ac0019 0px 0px
}
.ltbtn-warning:hover .ltbtn-inner-box {
	BACKGROUND: #ac0019 0px 0px
}
.ltbtn-disabled {
	CURSOR: default !important; opacity: 0.6
}
.ltbtn-disabled:hover {
	CURSOR: default !important; opacity: 0.6
}
.ltbtn-disabled A:hover {
	CURSOR: default !important; opacity: 0.6
}
.ltbtn-disabled .ltbtn-inner-box {
	BACKGROUND: #eee 0px 0px
}
.ltbtn-disabled .ltbtn-top-shadow {
	BACKGROUND: #eee 0px 0px
}
.ltbtn-disabled:hover .ltbtn-inner-box {
	BACKGROUND: #eee 0px 0px
}
.ltbtn-disabled:hover .ltbtn-top-shadow {
	BACKGROUND: #eee 0px 0px
}
.ltbtn-islabel {
	BACKGROUND: #eee 0px 0px
}
.ltbtn-disabled .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #eee; BORDER-TOP-COLOR: #eee; BORDER-RIGHT-COLOR: =
#eee; BORDER-LEFT-COLOR: #eee
}
.ltbtn-disabled:hover .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #eee; BORDER-TOP-COLOR: #eee; BORDER-RIGHT-COLOR: =
#eee; BORDER-LEFT-COLOR: #eee
}
.ltbtn-disabled .ltbtn-content {
	COLOR: #999 !important
}
.ltbtn-disabled:hover .ltbtn-content {
	COLOR: #999 !important
}
.ltbtn-disabled .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #eee
}
.ltbtn-disabled:hover .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #eee
}
.ltbtn-disabled IMG {
	opacity: 0.75
}
.ltbtn-islabel {
	CURSOR: default
}
.ltbtn-islabel A {
	CURSOR: default
}
.ltbtn-islabel .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #eee !important; BACKGROUND: #eee 0px 0px; CURSOR: =
default
}
.ltbtn-islabel .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #eee !important; BACKGROUND: #eee 0px 0px; CURSOR: =
default
}
.ltbtn-islabel:hover .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #eee !important; BACKGROUND: #eee 0px 0px; CURSOR: =
default
}
.ltbtn-islabel:hover .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #eee !important; BACKGROUND: #eee 0px 0px; CURSOR: =
default
}
.ltbtn-islabel {
	BORDER-BOTTOM-COLOR: #eee !important; BACKGROUND: #eee 0px 0px; CURSOR: =
default
}
.ltbtn-islabel:active .ltbtn-outer-box {
	BORDER-BOTTOM-COLOR: #bbb; BORDER-TOP-COLOR: #bbb; BORDER-RIGHT-COLOR: =
#bbb; BORDER-LEFT-COLOR: #bbb
}
.ltbtn-islabel:active .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #bbb; BORDER-TOP-COLOR: #bbb; BORDER-RIGHT-COLOR: =
#bbb; BORDER-LEFT-COLOR: #bbb
}
.ltbtn-islabel .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #eee; BACKGROUND-COLOR: #eee; BORDER-TOP-COLOR: =
#eee; BORDER-RIGHT-COLOR: #eee; BORDER-LEFT-COLOR: #eee; CURSOR: default
}
.ltbtn-islabel:hover .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #eee; BACKGROUND-COLOR: #eee; BORDER-TOP-COLOR: =
#eee; BORDER-RIGHT-COLOR: #eee; BORDER-LEFT-COLOR: #eee; CURSOR: default
}
.ltbtn-islabel .ltbtn-content {
	COLOR: #555 !important; CURSOR: default
}
.ltbtn-islabel:hover .ltbtn-content {
	COLOR: #555 !important; CURSOR: default
}
.ltbtn-islabel IMG {
	opacity: 0.75
}
.ltbtn-ie6 {
	MARGIN: 0px; DISPLAY: inline; LETTER-SPACING: -0.5px
}
.ltbtn-ie6 {
	DISPLAY: inline
}
.ltbtn-ie6 .ltbtn-inline-block {
	DISPLAY: inline
}
.ltbtn-ie7 .ltbtn-inline-block {
	DISPLAY: inline
}
.ltbtn-ie6 .ltbtn-pos {
	HEIGHT: auto
}
.ltbtn-ie6 .ltbtn-inner-box {
	BORDER-BOTTOM: medium none; MARGIN-RIGHT: -2px; LEFT: -1px
}
.ltbtn-ie7 .ltbtn-inner-box {
	BORDER-BOTTOM: medium none; MARGIN-RIGHT: -2px; LEFT: -1px
}
.ltbtn-ie6:hover .ltbtn-inner-box {
	BACKGROUND-COLOR: #f8ea81
}
.ltbtn-activated.ltbtn-ie6 .ltbtn-inner-box {
	BACKGROUND-COLOR: #f8ea81
}
.ltbtn-ie6 .ltbtn-top-shadow {
	POSITION: static; LINE-HEIGHT: 0.69em; BORDER-TOP-WIDTH: 1px; =
BORDER-BOTTOM-WIDTH: 1px; HEIGHT: auto
}
.ltbtn-ie6 .ltbtn-content {
	DISPLAY: inline-block
}
.ltbtn-ie6 .ltbtn-content {
	PADDING-BOTTOM: 0px !important; LINE-HEIGHT: 0.6em !important; =
MARGIN-TOP: -0.1em !important; DISPLAY: inline; HEIGHT: 17px
}
.ltbtn-ie6 .ltbtn-pos {
	DISPLAY: inline
}
.ltbtn-ie6 .ltbtn-body {
	PADDING-BOTTOM: 3px !important; LINE-HEIGHT: 1em !important; =
PADDING-TOP: 0px !important; _width: 0px
}
.ltbtn-ie6 .sp_c {
	MARGIN-TOP: 0px !important; xmargin-top: 0.4em
}
.ltbtn-size-mini.ltbtn-ie6 .ltbtn-content {
	PADDING-BOTTOM: 0em; LINE-HEIGHT: 1em; PADDING-LEFT: 0.6em; =
PADDING-RIGHT: 0.6em; HEIGHT: 1.4em !important; PADDING-TOP: 0em
}
.ltbtn-size-mini.ltbtn-ie6 .ltbtn-body {
	PADDING-BOTTOM: 0.1em !important; MARGIN-TOP: 0px !important
}
.ltbtn-ie7 .ltbtn-pos {
	PADDING-BOTTOM: 3px; HEIGHT: 19px
}
.ltbtn-size-mini.ltbtn-ie7 .ltbtn-pos {
	PADDING-BOTTOM: 0px !important; HEIGHT: 15px !important
}
.ltbtn-size-mini.ltbtn-ie7 .ltbtn-content {
	PADDING-TOP: 0.1em !important
}
.ltbtn-ie7 .chdivot {
	DISPLAY: inline-block !important; MARGIN-BOTTOM: -1px !important
}
.ltbtn-collapse-right.ltbtn-ie6 .ltbtn-inner-box {
=09
}
.ltbtn-collapse-right.ltbtn-ie6 .ltbtn-outer-box {
=09
}
.ltbtn-collapse-right.ltbtn-ie7 .ltbtn-inner-box {
=09
}
.ltbtn-collapse-right.ltbtn-ie7 .ltbtn-outer-box {
=09
}
.ltbtn-ff2 .ltbtn-body {
	PADDING-TOP: 0px !important
}
.ltbtn-ff2 .ltbtn-content {
	DISPLAY: inline-block
}
.ltbtn-ff2 .ltbtn-content {
	MARGIN: 0px; PADDING-RIGHT: 0.8em; HEIGHT: 14px
}
.ltbtn-ff2 .chdivot {
	LINE-HEIGHT: 14px !important; DISPLAY: inline !important; =
MARGIN-BOTTOM: 0px !important; MAX-HEIGHT: 10px !important; FONT-SIZE: =
125% !important
}
.webkit .ltbtn {
	LINE-HEIGHT: 0
}
.webkit .ltbtn-outer-box {
	LINE-HEIGHT: 0
}
.webkit .ltbtn-inner-box {
	LINE-HEIGHT: normal
}
.ltbtn-size-mini.ltbtn-webkit .ltbtn-content {
	PADDING-BOTTOM: 0.35em; PADDING-LEFT: 0.6em; PADDING-RIGHT: 0.6em; =
PADDING-TOP: 0.22em
}
.ltbtn-size-mini.ltbtn-body {
	LINE-HEIGHT: 11px
}
.ltbtn-menu-button .ltbtn-content {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0.46em; PADDING-RIGHT: 1.23em; =
PADDING-TOP: 0px
}
.ltbtn-menu-button .ltbtn-menu-button-dropdown {
	BORDER-BOTTOM: #eeeeee 0px solid; POSITION: absolute; BORDER-LEFT: =
#eeeeee 0.3em solid; LINE-HEIGHT: 0; WIDTH: 0px; HEIGHT: 0px; =
BORDER-TOP: #888888 0.3em solid; TOP: 0.61em; RIGHT: 0.38em; =
BORDER-RIGHT: #eeeeee 0.3em solid
}
.ltbtn-menu-button:hover .ltbtn-menu-button-dropdown {
	BORDER-TOP-COLOR: #333333
}
.ltbtn.ltbtn-menu-button:focus .ltbtn-menu-button-dropdown {
	BORDER-TOP-COLOR: #333333
}
.ltbtn-disabled.ltbtn-menu-button .ltbtn-menu-button-dropdown {
	BORDER-TOP-COLOR: #999999
}
.ltbtn-menu-button:active .ltbtn-outer-box {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #777777; =
BORDER-TOP-COLOR: #888888; BORDER-RIGHT-COLOR: #888888; =
BORDER-LEFT-COLOR: #888888
}
.ltbtn-menu-button:active .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #777777; =
BORDER-TOP-COLOR: #888888; BORDER-RIGHT-COLOR: #888888; =
BORDER-LEFT-COLOR: #888888
}
.ltbtn-combobox-active .ltbtn-outer-box {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #777777; =
BORDER-TOP-COLOR: #888888; BORDER-RIGHT-COLOR: #888888; =
BORDER-LEFT-COLOR: #888888
}
.ltbtn-combobox-active .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #777777; =
BORDER-TOP-COLOR: #888888; BORDER-RIGHT-COLOR: #888888; =
BORDER-LEFT-COLOR: #888888
}
.ltbtn-open.ltbtn-menu-button .ltbtn-outer-box {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #777777; =
BORDER-TOP-COLOR: #888888; BORDER-RIGHT-COLOR: #888888; =
BORDER-LEFT-COLOR: #888888
}
.ltbtn-open.ltbtn-menu-button .ltbtn-inner-box {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #777777; =
BORDER-TOP-COLOR: #888888; BORDER-RIGHT-COLOR: #888888; =
BORDER-LEFT-COLOR: #888888
}
.ltbtn-menu-button:active .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #999999
}
.ltbtn-combobox-active .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #999999
}
.ltbtn-open.ltbtn-menu-button .ltbtn-top-shadow {
	BORDER-BOTTOM-COLOR: #888888; BACKGROUND-COLOR: #999999
}
.ltbtn-menu-button:active .ltbtn-content {
	COLOR: #eeeeee
}
.ltbtn-comboxbox-active .ltbtn-content {
	COLOR: #eeeeee
}
.ltbtn-open.ltbtn-menu-button .ltbtn-content {
	COLOR: #eeeeee
}
.ltbtn-menu-button:active .ltbtn-menu-button-dropdown {
	BORDER-BOTTOM-COLOR: #888888; BORDER-TOP-COLOR: #ffffff; =
BORDER-RIGHT-COLOR: #888888; BORDER-LEFT-COLOR: #888888
}
.ltbtn-combobox-active .ltbtn-menu-button-dropdown {
	BORDER-BOTTOM-COLOR: #888888; BORDER-TOP-COLOR: #ffffff; =
BORDER-RIGHT-COLOR: #888888; BORDER-LEFT-COLOR: #888888
}
.ltbtn-open.ltbtn-menu-button .ltbtn-menu-button-dropdown {
	BORDER-BOTTOM-COLOR: #888888; BORDER-TOP-COLOR: #ffffff; =
BORDER-RIGHT-COLOR: #888888; BORDER-LEFT-COLOR: #888888
}
.ltbtn-ie6 .ltbtn-menu-button-dropdown {
	TOP: 0.7em
}
.ltbtn-ie7 .ltbtn-menu-button-dropdown {
	TOP: 0.7em
}
.ltbtn-collapse-left.ltbtn-ie6 {
	xmargin-top: -2px
}
.ltbtn-outer-box.ltbtn-collapse-left.ltbtn-ie6 {
	xmargin-top: -2px
}
.ltbtn-inner-box.ltbtn-collapse-left.ltbtn-ie6 {
	xmargin-top: -2px
}
.ltbtn-collapse-left.ltbtn-ie7 {
	xmargin-top: -1px
}
.ltbtn-outer-box.ltbtn-collapse-left.ltbtn-ie7 {
	xmargin-top: -1px
}
.ltbtn-inner-box.ltbtn-collapse-left.ltbtn-ie7 {
	xmargin-top: -1px
}
.ltbtn-webkit .ltbtn-pos {
	HEIGHT: auto
}
.powerbar {
	BORDER-BOTTOM: #bbbbbb 1px solid; MIN-WIDTH: 850px; BORDER-LEFT: =
#bbbbbb 1px; BACKGROUND-COLOR: #eeeefa; MARGIN: 0px; WIDTH: 100%; =
WHITE-SPACE: nowrap; HEIGHT: 2.3em; BORDER-TOP: #bbbbbb 1px solid; =
BORDER-RIGHT: #bbbbbb 1px; PADDING-TOP: 0.4em
}
.powerbar.webkit {
	MIN-WIDTH: 880px
}
.powerbarSection {
	PADDING-BOTTOM: 5px !important; PADDING-LEFT: 7px !important; =
PADDING-RIGHT: 0px !important; WHITE-SPACE: nowrap; VERTICAL-ALIGN: top; =
PADDING-TOP: 5px !important
}
.pbRight {
	TEXT-ALIGN: right; PADDING-LEFT: 10px; WIDTH: 90%; PADDING-RIGHT: 10px
}
.ff3 .pbRight {
	PADDING-BOTTOM: 3px
}
.webkit .pbRight {
	PADDING-TOP: 1px
}
#quickSearchbox {
	BORDER-BOTTOM: #aaa 1px solid; BORDER-LEFT: #aaa 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; HEIGHT: =
1.9em; COLOR: #999; FONT-SIZE: 11px; BORDER-TOP: #aaa 1px solid; =
MARGIN-RIGHT: -1px; BORDER-RIGHT: #aaa 1px solid; PADDING-TOP: 3px; =
-webkit-border-top-left-radius: 3px; -webkit-box-shadow: 0px 1px 2px =
rgba(0, 0, 0, 0.2) inset; -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, =
0.2) inset; -moz-border-radius-bottomleft: 3px; =
-webkit-border-bottom-left-radius: 3px; -moz-border-radius-topleft: 3px; =
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2) inset; =
border-top-left-radius: 3px; border-bottom-left-radius: 3px
}
.webkit #quickSearchbox {
	PADDING-BOTTOM: 2px; MARGIN-TOP: -1px; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; HEIGHT: 1.5em; MARGIN-RIGHT: -1px; PADDING-TOP: 1px
}
.ff #quickSearchbox {
	PADDING-BOTTOM: 1px; MARGIN-TOP: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: =
3px; HEIGHT: 1.7em; PADDING-TOP: 0px
}
.ff3 #quickSearchbox {
	MARGIN-TOP: 1px; HEIGHT: 1.7em
}
.ff2 #quickSearchbox {
	MARGIN-TOP: 2px; HEIGHT: 1.8em; MARGIN-RIGHT: -1px
}
.ie6 #quickSearchbox {
=09
}
.ie7 #quickSearchbox {
	MARGIN-TOP: 3px; MARGIN-BOTTOM: 3px; HEIGHT: 16px
}
.opera #quickSearchbox {
	MARGIN-TOP: -1px; HEIGHT: 1.6em
}
#catalog_quicksearch_button {
	MARGIN-TOP: -2px
}
#catalog_quicksearch_menubutton {
	MARGIN-TOP: -2px
}
.webkit #catalog_quicksearch_button {
	MARGIN-TOP: -0.5em
}
.webkit #catalog_quicksearch_menubutton {
	MARGIN-TOP: -0.5em
}
.chrome #catalog_quicksearch_button {
	xmargin-top: -1em
}
.chrome #catalog_quicksearch_menubutton {
	xmargin-top: -1em
}
.webkit #quickSearchbox:focus {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium
}
.ie6 #catalog_quicksearch_button {
	MARGIN-TOP: -10px
}
.ie6 #catalog_quicksearch_menubutton {
	MARGIN-TOP: -10px
}
.ie7 #catalog_quicksearch_button {
	MARGIN-TOP: -4px
}
.ie7 #catalog_quicksearch_menubutton {
	MARGIN-TOP: -4px
}
.ff #catalog_quicksearch_button {
	MARGIN-TOP: 0px
}
.ff #catalog_quicksearch_menubutton {
	MARGIN-TOP: 0px
}
.ff2 #catalog_quicksearch_button {
	MARGIN-TOP: -4px
}
.ff2 #catalog_quicksearch_menubutton {
	MARGIN-TOP: -4px
}
.opera #catalog_quicksearch_button {
	MARGIN-TOP: 1px
}
.opera #catalog_quicksearch_menubutton {
	MARGIN-TOP: 1px
}
.ltbtn2 {
	BORDER-BOTTOM: #666 1px solid; TEXT-ALIGN: center; BORDER-LEFT: #888 =
1px solid; PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #fefefe; PADDING-LEFT: =
5px; PADDING-RIGHT: 5px; DISPLAY: inline-block; WHITE-SPACE: nowrap; =
COLOR: #222 !important; BORDER-TOP: #aaa 1px solid; BORDER-RIGHT: #888 =
1px solid; PADDING-TOP: 1px; -moz-box-shadow: 0 -5px 3px 0 #d6d6d6 =
inset; -moz-border-radius: 3px; -webkit-border-radius: 2px
}
.mini.ltbtn2 {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; FONT-SIZE: =
9px; PADDING-TOP: 0px
}
A.ltbtn2 {
	COLOR: black; TEXT-DECORATION: none !important
}
.ltbtn2:hover {
	BACKGROUND-COLOR: #f7eda5; CURSOR: pointer; TEXT-DECORATION: none =
!important; -moz-box-shadow: 0 -5px 3px 0 #c5bd70 inset
}
.ltbtn2 A:hover {
	BACKGROUND-COLOR: #f7eda5; CURSOR: pointer; TEXT-DECORATION: none =
!important; -moz-box-shadow: 0 -5px 3px 0 #c5bd70 inset
}
.ltbtn2:active {
	-moz-box-shadow: 0 5px 3px 0 #666 inset, 0 -10px 0 0 #aaa inset
}
.disabled.ltbtn2 {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #fefefe; CURSOR: default; =
TEXT-DECORATION: none !important; opacity: 0.5; -moz-box-shadow: none
}
.disabled.ltbtn2:active {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #fefefe; CURSOR: default; =
TEXT-DECORATION: none !important; opacity: 0.5; -moz-box-shadow: none
}
.disabled.ltbtn2:hover {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #fefefe; CURSOR: default; =
TEXT-DECORATION: none !important; opacity: 0.5; -moz-box-shadow: none
}
.webkit .mini.ltbtn2 {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; =
PADDING-TOP: 1px
}
.pill-l.ltbtn2 {
	MARGIN-RIGHT: -1px; -webkit-border-top-right-radius: 0; =
-webkit-border-bottom-right-radius: 0; -moz-border-radius-topright: 0; =
-moz-border-radius-bottomright: 0; border-bottom-right-radius: 0; =
border-top-right-radius: 0
}
.pill-c.ltbtn2 {
	MARGIN-RIGHT: -1px; -webkit-border-top-right-radius: 0; =
-webkit-border-bottom-right-radius: 0; -moz-border-radius-topright: 0; =
-moz-border-radius-bottomright: 0; border-bottom-right-radius: 0; =
border-top-right-radius: 0
}
.pill-r.ltbtn2 {
	-webkit-border-top-left-radius: 0; -moz-border-radius-bottomleft: 0; =
-webkit-border-bottom-left-radius: 0; -moz-border-radius-topleft: 0; =
border-top-left-radius: 0; border-bottom-left-radius: 0
}
.pill-c.ltbtn2 {
	-webkit-border-top-left-radius: 0; -moz-border-radius-bottomleft: 0; =
-webkit-border-bottom-left-radius: 0; -moz-border-radius-topleft: 0; =
border-top-left-radius: 0; border-bottom-left-radius: 0
}
.ltbtn2 .mb_ficon {
	PADDING-BOTTOM: 2px; MARGIN-TOP: 1px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; VERTICAL-ALIGN: top; MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js

/*  Prototype JavaScript framework, version 1.7=0A=
 *  (c) 2005-2010 Sam Stephenson=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://www.prototypejs.org/=0A=
 *=0A=
 =
*------------------------------------------------------------------------=
--*/=0A=
=0A=
var Prototype =3D {=0A=
=0A=
  Version: '1.7',=0A=
=0A=
  Browser: (function(){=0A=
    var ua =3D navigator.userAgent;=0A=
    var isOpera =3D Object.prototype.toString.call(window.opera) =3D=3D =
'[object Opera]';=0A=
    return {=0A=
      IE:             !!window.attachEvent && !isOpera,=0A=
      Opera:          isOpera,=0A=
      WebKit:         ua.indexOf('AppleWebKit/') > -1,=0A=
      Gecko:          ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') =
=3D=3D=3D -1,=0A=
      MobileSafari:   /Apple.*Mobile/.test(ua)=0A=
    }=0A=
  })(),=0A=
=0A=
  BrowserFeatures: {=0A=
    XPath: !!document.evaluate,=0A=
=0A=
    SelectorsAPI: !!document.querySelector,=0A=
=0A=
    ElementExtensions: (function() {=0A=
      var constructor =3D window.Element || window.HTMLElement;=0A=
      return !!(constructor && constructor.prototype);=0A=
    })(),=0A=
    SpecificElementExtensions: (function() {=0A=
      if (typeof window.HTMLDivElement !=3D=3D 'undefined')=0A=
        return true;=0A=
=0A=
      var div =3D document.createElement('div'),=0A=
          form =3D document.createElement('form'),=0A=
          isSupported =3D false;=0A=
=0A=
      if (div['__proto__'] && (div['__proto__'] !=3D=3D =
form['__proto__'])) {=0A=
        isSupported =3D true;=0A=
      }=0A=
=0A=
      div =3D form =3D null;=0A=
=0A=
      return isSupported;=0A=
    })()=0A=
  },=0A=
=0A=
  ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',=0A=
  JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A=
=0A=
  emptyFunction: function() { },=0A=
=0A=
  K: function(x) { return x }=0A=
};=0A=
=0A=
if (Prototype.Browser.MobileSafari)=0A=
  Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A=
=0A=
=0A=
var Abstract =3D { };=0A=
=0A=
=0A=
var Try =3D {=0A=
  these: function() {=0A=
    var returnValue;=0A=
=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) { }=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
};=0A=
=0A=
/* Based on Alex Arnell's inheritance implementation. */=0A=
=0A=
var Class =3D (function() {=0A=
=0A=
  var IS_DONTENUM_BUGGY =3D (function(){=0A=
    for (var p in { toString: 1 }) {=0A=
      if (p =3D=3D=3D 'toString') return false;=0A=
    }=0A=
    return true;=0A=
  })();=0A=
=0A=
  function subclass() {};=0A=
  function create() {=0A=
    var parent =3D null, properties =3D $A(arguments);=0A=
    if (Object.isFunction(properties[0]))=0A=
      parent =3D properties.shift();=0A=
=0A=
    function klass() {=0A=
      this.initialize.apply(this, arguments);=0A=
    }=0A=
=0A=
    Object.extend(klass, Class.Methods);=0A=
    klass.superclass =3D parent;=0A=
    klass.subclasses =3D [];=0A=
=0A=
    if (parent) {=0A=
      subclass.prototype =3D parent.prototype;=0A=
      klass.prototype =3D new subclass;=0A=
      parent.subclasses.push(klass);=0A=
    }=0A=
=0A=
    for (var i =3D 0, length =3D properties.length; i < length; i++)=0A=
      klass.addMethods(properties[i]);=0A=
=0A=
    if (!klass.prototype.initialize)=0A=
      klass.prototype.initialize =3D Prototype.emptyFunction;=0A=
=0A=
    klass.prototype.constructor =3D klass;=0A=
    return klass;=0A=
  }=0A=
=0A=
  function addMethods(source) {=0A=
    var ancestor   =3D this.superclass && this.superclass.prototype,=0A=
        properties =3D Object.keys(source);=0A=
=0A=
    if (IS_DONTENUM_BUGGY) {=0A=
      if (source.toString !=3D Object.prototype.toString)=0A=
        properties.push("toString");=0A=
      if (source.valueOf !=3D Object.prototype.valueOf)=0A=
        properties.push("valueOf");=0A=
    }=0A=
=0A=
    for (var i =3D 0, length =3D properties.length; i < length; i++) {=0A=
      var property =3D properties[i], value =3D source[property];=0A=
      if (ancestor && Object.isFunction(value) &&=0A=
          value.argumentNames()[0] =3D=3D "$super") {=0A=
        var method =3D value;=0A=
        value =3D (function(m) {=0A=
          return function() { return ancestor[m].apply(this, arguments); =
};=0A=
        })(property).wrap(method);=0A=
=0A=
        value.valueOf =3D method.valueOf.bind(method);=0A=
        value.toString =3D method.toString.bind(method);=0A=
      }=0A=
      this.prototype[property] =3D value;=0A=
    }=0A=
=0A=
    return this;=0A=
  }=0A=
=0A=
  return {=0A=
    create: create,=0A=
    Methods: {=0A=
      addMethods: addMethods=0A=
    }=0A=
  };=0A=
})();=0A=
(function() {=0A=
=0A=
  var _toString =3D Object.prototype.toString,=0A=
      NULL_TYPE =3D 'Null',=0A=
      UNDEFINED_TYPE =3D 'Undefined',=0A=
      BOOLEAN_TYPE =3D 'Boolean',=0A=
      NUMBER_TYPE =3D 'Number',=0A=
      STRING_TYPE =3D 'String',=0A=
      OBJECT_TYPE =3D 'Object',=0A=
      FUNCTION_CLASS =3D '[object Function]',=0A=
      BOOLEAN_CLASS =3D '[object Boolean]',=0A=
      NUMBER_CLASS =3D '[object Number]',=0A=
      STRING_CLASS =3D '[object String]',=0A=
      ARRAY_CLASS =3D '[object Array]',=0A=
      DATE_CLASS =3D '[object Date]',=0A=
      NATIVE_JSON_STRINGIFY_SUPPORT =3D window.JSON &&=0A=
        typeof JSON.stringify =3D=3D=3D 'function' &&=0A=
        JSON.stringify(0) =3D=3D=3D '0' &&=0A=
        typeof JSON.stringify(Prototype.K) =3D=3D=3D 'undefined';=0A=
=0A=
  function Type(o) {=0A=
    switch(o) {=0A=
      case null: return NULL_TYPE;=0A=
      case (void 0): return UNDEFINED_TYPE;=0A=
    }=0A=
    var type =3D typeof o;=0A=
    switch(type) {=0A=
      case 'boolean': return BOOLEAN_TYPE;=0A=
      case 'number':  return NUMBER_TYPE;=0A=
      case 'string':  return STRING_TYPE;=0A=
    }=0A=
    return OBJECT_TYPE;=0A=
  }=0A=
=0A=
  function extend(destination, source) {=0A=
    for (var property in source)=0A=
      destination[property] =3D source[property];=0A=
    return destination;=0A=
  }=0A=
=0A=
  function inspect(object) {=0A=
    try {=0A=
      if (isUndefined(object)) return 'undefined';=0A=
      if (object =3D=3D=3D null) return 'null';=0A=
      return object.inspect ? object.inspect() : String(object);=0A=
    } catch (e) {=0A=
      if (e instanceof RangeError) return '...';=0A=
      throw e;=0A=
    }=0A=
  }=0A=
=0A=
  function toJSON(value) {=0A=
    return Str('', { '': value }, []);=0A=
  }=0A=
=0A=
  function Str(key, holder, stack) {=0A=
    var value =3D holder[key],=0A=
        type =3D typeof value;=0A=
=0A=
    if (Type(value) =3D=3D=3D OBJECT_TYPE && typeof value.toJSON =
=3D=3D=3D 'function') {=0A=
      value =3D value.toJSON(key);=0A=
    }=0A=
=0A=
    var _class =3D _toString.call(value);=0A=
=0A=
    switch (_class) {=0A=
      case NUMBER_CLASS:=0A=
      case BOOLEAN_CLASS:=0A=
      case STRING_CLASS:=0A=
        value =3D value.valueOf();=0A=
    }=0A=
=0A=
    switch (value) {=0A=
      case null: return 'null';=0A=
      case true: return 'true';=0A=
      case false: return 'false';=0A=
    }=0A=
=0A=
    type =3D typeof value;=0A=
    switch (type) {=0A=
      case 'string':=0A=
        return value.inspect(true);=0A=
      case 'number':=0A=
        return isFinite(value) ? String(value) : 'null';=0A=
      case 'object':=0A=
=0A=
        for (var i =3D 0, length =3D stack.length; i < length; i++) {=0A=
          if (stack[i] =3D=3D=3D value) { throw new TypeError(); }=0A=
        }=0A=
        stack.push(value);=0A=
=0A=
        var partial =3D [];=0A=
        if (_class =3D=3D=3D ARRAY_CLASS) {=0A=
          for (var i =3D 0, length =3D value.length; i < length; i++) {=0A=
            var str =3D Str(i, value, stack);=0A=
            partial.push(typeof str =3D=3D=3D 'undefined' ? 'null' : =
str);=0A=
          }=0A=
          partial =3D '[' + partial.join(',') + ']';=0A=
        } else {=0A=
          var keys =3D Object.keys(value);=0A=
          for (var i =3D 0, length =3D keys.length; i < length; i++) {=0A=
            var key =3D keys[i], str =3D Str(key, value, stack);=0A=
            if (typeof str !=3D=3D "undefined") {=0A=
               partial.push(key.inspect(true)+ ':' + str);=0A=
             }=0A=
          }=0A=
          partial =3D '{' + partial.join(',') + '}';=0A=
        }=0A=
        stack.pop();=0A=
        return partial;=0A=
    }=0A=
  }=0A=
=0A=
  function stringify(object) {=0A=
    return JSON.stringify(object);=0A=
  }=0A=
=0A=
  function toQueryString(object) {=0A=
    return $H(object).toQueryString();=0A=
  }=0A=
=0A=
  function toHTML(object) {=0A=
    return object && object.toHTML ? object.toHTML() : =
String.interpret(object);=0A=
  }=0A=
=0A=
  function keys(object) {=0A=
    if (Type(object) !=3D=3D OBJECT_TYPE) { throw new TypeError(); }=0A=
    var results =3D [];=0A=
    for (var property in object) {=0A=
      if (object.hasOwnProperty(property)) {=0A=
        results.push(property);=0A=
      }=0A=
    }=0A=
    return results;=0A=
  }=0A=
=0A=
  function values(object) {=0A=
    var results =3D [];=0A=
    for (var property in object)=0A=
      results.push(object[property]);=0A=
    return results;=0A=
  }=0A=
=0A=
  function clone(object) {=0A=
    return extend({ }, object);=0A=
  }=0A=
=0A=
  function isElement(object) {=0A=
    return !!(object && object.nodeType =3D=3D 1);=0A=
  }=0A=
=0A=
  function isArray(object) {=0A=
    return _toString.call(object) =3D=3D=3D ARRAY_CLASS;=0A=
  }=0A=
=0A=
  var hasNativeIsArray =3D (typeof Array.isArray =3D=3D 'function')=0A=
    && Array.isArray([]) && !Array.isArray({});=0A=
=0A=
  if (hasNativeIsArray) {=0A=
    isArray =3D Array.isArray;=0A=
  }=0A=
=0A=
  function isHash(object) {=0A=
    return object instanceof Hash;=0A=
  }=0A=
=0A=
  function isFunction(object) {=0A=
    return _toString.call(object) =3D=3D=3D FUNCTION_CLASS;=0A=
  }=0A=
=0A=
  function isString(object) {=0A=
    return _toString.call(object) =3D=3D=3D STRING_CLASS;=0A=
  }=0A=
=0A=
  function isNumber(object) {=0A=
    return _toString.call(object) =3D=3D=3D NUMBER_CLASS;=0A=
  }=0A=
=0A=
  function isDate(object) {=0A=
    return _toString.call(object) =3D=3D=3D DATE_CLASS;=0A=
  }=0A=
=0A=
  function isUndefined(object) {=0A=
    return typeof object =3D=3D=3D "undefined";=0A=
  }=0A=
=0A=
  extend(Object, {=0A=
    extend:        extend,=0A=
    inspect:       inspect,=0A=
    toJSON:        NATIVE_JSON_STRINGIFY_SUPPORT ? stringify : toJSON,=0A=
    toQueryString: toQueryString,=0A=
    toHTML:        toHTML,=0A=
    keys:          Object.keys || keys,=0A=
    values:        values,=0A=
    clone:         clone,=0A=
    isElement:     isElement,=0A=
    isArray:       isArray,=0A=
    isHash:        isHash,=0A=
    isFunction:    isFunction,=0A=
    isString:      isString,=0A=
    isNumber:      isNumber,=0A=
    isDate:        isDate,=0A=
    isUndefined:   isUndefined=0A=
  });=0A=
})();=0A=
Object.extend(Function.prototype, (function() {=0A=
  var slice =3D Array.prototype.slice;=0A=
=0A=
  function update(array, args) {=0A=
    var arrayLength =3D array.length, length =3D args.length;=0A=
    while (length--) array[arrayLength + length] =3D args[length];=0A=
    return array;=0A=
  }=0A=
=0A=
  function merge(array, args) {=0A=
    array =3D slice.call(array, 0);=0A=
    return update(array, args);=0A=
  }=0A=
=0A=
  function argumentNames() {=0A=
    var names =3D =
this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1]=0A=
      .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '')=0A=
      .replace(/\s+/g, '').split(',');=0A=
    return names.length =3D=3D 1 && !names[0] ? [] : names;=0A=
  }=0A=
=0A=
  function bind(context) {=0A=
    if (arguments.length < 2 && Object.isUndefined(arguments[0])) return =
this;=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    return function() {=0A=
      var a =3D merge(args, arguments);=0A=
      return __method.apply(context, a);=0A=
    }=0A=
  }=0A=
=0A=
  function bindAsEventListener(context) {=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    return function(event) {=0A=
      var a =3D update([event || window.event], args);=0A=
      return __method.apply(context, a);=0A=
    }=0A=
  }=0A=
=0A=
  function curry() {=0A=
    if (!arguments.length) return this;=0A=
    var __method =3D this, args =3D slice.call(arguments, 0);=0A=
    return function() {=0A=
      var a =3D merge(args, arguments);=0A=
      return __method.apply(this, a);=0A=
    }=0A=
  }=0A=
=0A=
  function delay(timeout) {=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    timeout =3D timeout * 1000;=0A=
    return window.setTimeout(function() {=0A=
      return __method.apply(__method, args);=0A=
    }, timeout);=0A=
  }=0A=
=0A=
  function defer() {=0A=
    var args =3D update([0.01], arguments);=0A=
    return this.delay.apply(this, args);=0A=
  }=0A=
=0A=
  function wrap(wrapper) {=0A=
    var __method =3D this;=0A=
    return function() {=0A=
      var a =3D update([__method.bind(this)], arguments);=0A=
      return wrapper.apply(this, a);=0A=
    }=0A=
  }=0A=
=0A=
  function methodize() {=0A=
    if (this._methodized) return this._methodized;=0A=
    var __method =3D this;=0A=
    return this._methodized =3D function() {=0A=
      var a =3D update([this], arguments);=0A=
      return __method.apply(null, a);=0A=
    };=0A=
  }=0A=
=0A=
  return {=0A=
    argumentNames:       argumentNames,=0A=
    bind:                bind,=0A=
    bindAsEventListener: bindAsEventListener,=0A=
    curry:               curry,=0A=
    delay:               delay,=0A=
    defer:               defer,=0A=
    wrap:                wrap,=0A=
    methodize:           methodize=0A=
  }=0A=
})());=0A=
=0A=
=0A=
=0A=
(function(proto) {=0A=
=0A=
=0A=
  function toISOString() {=0A=
    return this.getUTCFullYear() + '-' +=0A=
      (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A=
      this.getUTCDate().toPaddedString(2) + 'T' +=0A=
      this.getUTCHours().toPaddedString(2) + ':' +=0A=
      this.getUTCMinutes().toPaddedString(2) + ':' +=0A=
      this.getUTCSeconds().toPaddedString(2) + 'Z';=0A=
  }=0A=
=0A=
=0A=
  function toJSON() {=0A=
    return this.toISOString();=0A=
  }=0A=
=0A=
  if (!proto.toISOString) proto.toISOString =3D toISOString;=0A=
  if (!proto.toJSON) proto.toJSON =3D toJSON;=0A=
=0A=
})(Date.prototype);=0A=
=0A=
=0A=
RegExp.prototype.match =3D RegExp.prototype.test;=0A=
=0A=
RegExp.escape =3D function(str) {=0A=
  return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A=
};=0A=
var PeriodicalExecuter =3D Class.create({=0A=
  initialize: function(callback, frequency) {=0A=
    this.callback =3D callback;=0A=
    this.frequency =3D frequency;=0A=
    this.currentlyExecuting =3D false;=0A=
=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);=0A=
  },=0A=
=0A=
  execute: function() {=0A=
    this.callback(this);=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    if (!this.timer) return;=0A=
    clearInterval(this.timer);=0A=
    this.timer =3D null;=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    if (!this.currentlyExecuting) {=0A=
      try {=0A=
        this.currentlyExecuting =3D true;=0A=
        this.execute();=0A=
        this.currentlyExecuting =3D false;=0A=
      } catch(e) {=0A=
        this.currentlyExecuting =3D false;=0A=
        throw e;=0A=
      }=0A=
    }=0A=
  }=0A=
});=0A=
Object.extend(String, {=0A=
  interpret: function(value) {=0A=
    return value =3D=3D null ? '' : String(value);=0A=
  },=0A=
  specialChar: {=0A=
    '\b': '\\b',=0A=
    '\t': '\\t',=0A=
    '\n': '\\n',=0A=
    '\f': '\\f',=0A=
    '\r': '\\r',=0A=
    '\\': '\\\\'=0A=
  }=0A=
});=0A=
=0A=
Object.extend(String.prototype, (function() {=0A=
  var NATIVE_JSON_PARSE_SUPPORT =3D window.JSON &&=0A=
    typeof JSON.parse =3D=3D=3D 'function' &&=0A=
    JSON.parse('{"test": true}').test;=0A=
=0A=
  function prepareReplacement(replacement) {=0A=
    if (Object.isFunction(replacement)) return replacement;=0A=
    var template =3D new Template(replacement);=0A=
    return function(match) { return template.evaluate(match) };=0A=
  }=0A=
=0A=
  function gsub(pattern, replacement) {=0A=
    var result =3D '', source =3D this, match;=0A=
    replacement =3D prepareReplacement(replacement);=0A=
=0A=
    if (Object.isString(pattern))=0A=
      pattern =3D RegExp.escape(pattern);=0A=
=0A=
    if (!(pattern.length || pattern.source)) {=0A=
      replacement =3D replacement('');=0A=
      return replacement + source.split('').join(replacement) + =
replacement;=0A=
    }=0A=
=0A=
    while (source.length > 0) {=0A=
      if (match =3D source.match(pattern)) {=0A=
        result +=3D source.slice(0, match.index);=0A=
        result +=3D String.interpret(replacement(match));=0A=
        source  =3D source.slice(match.index + match[0].length);=0A=
      } else {=0A=
        result +=3D source, source =3D '';=0A=
      }=0A=
    }=0A=
    return result;=0A=
  }=0A=
=0A=
  function sub(pattern, replacement, count) {=0A=
    replacement =3D prepareReplacement(replacement);=0A=
    count =3D Object.isUndefined(count) ? 1 : count;=0A=
=0A=
    return this.gsub(pattern, function(match) {=0A=
      if (--count < 0) return match[0];=0A=
      return replacement(match);=0A=
    });=0A=
  }=0A=
=0A=
  function scan(pattern, iterator) {=0A=
    this.gsub(pattern, iterator);=0A=
    return String(this);=0A=
  }=0A=
=0A=
  function truncate(length, truncation) {=0A=
    length =3D length || 30;=0A=
    truncation =3D Object.isUndefined(truncation) ? '...' : truncation;=0A=
    return this.length > length ?=0A=
      this.slice(0, length - truncation.length) + truncation : =
String(this);=0A=
  }=0A=
=0A=
  function strip() {=0A=
    return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A=
  }=0A=
=0A=
  function stripTags() {=0A=
    return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, =
'');=0A=
  }=0A=
=0A=
  function stripScripts() {=0A=
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A=
  }=0A=
=0A=
  function extractScripts() {=0A=
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img'),=0A=
        matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A=
    return (this.match(matchAll) || []).map(function(scriptTag) {=0A=
      return (scriptTag.match(matchOne) || ['', ''])[1];=0A=
    });=0A=
  }=0A=
=0A=
  function evalScripts() {=0A=
    return this.extractScripts().map(function(script) { return =
eval(script) });=0A=
  }=0A=
=0A=
  function escapeHTML() {=0A=
    return =
this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');=0A=
  }=0A=
=0A=
  function unescapeHTML() {=0A=
    return =
this.stripTags().replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;=
/g,'&');=0A=
  }=0A=
=0A=
=0A=
  function toQueryParams(separator) {=0A=
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A=
    if (!match) return { };=0A=
=0A=
    return match[1].split(separator || '&').inject({ }, function(hash, =
pair) {=0A=
      if ((pair =3D pair.split('=3D'))[0]) {=0A=
        var key =3D decodeURIComponent(pair.shift()),=0A=
            value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A=
=0A=
        if (value !=3D undefined) value =3D decodeURIComponent(value);=0A=
=0A=
        if (key in hash) {=0A=
          if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];=0A=
          hash[key].push(value);=0A=
        }=0A=
        else hash[key] =3D value;=0A=
      }=0A=
      return hash;=0A=
    });=0A=
  }=0A=
=0A=
  function toArray() {=0A=
    return this.split('');=0A=
  }=0A=
=0A=
  function succ() {=0A=
    return this.slice(0, this.length - 1) +=0A=
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A=
  }=0A=
=0A=
  function times(count) {=0A=
    return count < 1 ? '' : new Array(count + 1).join(this);=0A=
  }=0A=
=0A=
  function camelize() {=0A=
    return this.replace(/-+(.)?/g, function(match, chr) {=0A=
      return chr ? chr.toUpperCase() : '';=0A=
    });=0A=
  }=0A=
=0A=
  function capitalize() {=0A=
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();=0A=
  }=0A=
=0A=
  function underscore() {=0A=
    return this.replace(/::/g, '/')=0A=
               .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')=0A=
               .replace(/([a-z\d])([A-Z])/g, '$1_$2')=0A=
               .replace(/-/g, '_')=0A=
               .toLowerCase();=0A=
  }=0A=
=0A=
  function dasherize() {=0A=
    return this.replace(/_/g, '-');=0A=
  }=0A=
=0A=
  function inspect(useDoubleQuotes) {=0A=
    var escapedString =3D this.replace(/[\x00-\x1f\\]/g, =
function(character) {=0A=
      if (character in String.specialChar) {=0A=
        return String.specialChar[character];=0A=
      }=0A=
      return '\\u00' + character.charCodeAt().toPaddedString(2, 16);=0A=
    });=0A=
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') =
+ '"';=0A=
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A=
  }=0A=
=0A=
  function unfilterJSON(filter) {=0A=
    return this.replace(filter || Prototype.JSONFilter, '$1');=0A=
  }=0A=
=0A=
  function isJSON() {=0A=
    var str =3D this;=0A=
    if (str.blank()) return false;=0A=
    str =3D str.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@');=0A=
    str =3D =
str.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d=
+)?/g, ']');=0A=
    str =3D str.replace(/(?:^|:|,)(?:\s*\[)+/g, '');=0A=
    return (/^[\],:{}\s]*$/).test(str);=0A=
  }=0A=
=0A=
  function evalJSON(sanitize) {=0A=
    var json =3D this.unfilterJSON(),=0A=
        cx =3D =
/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u=
2060-\u206f\ufeff\ufff0-\uffff]/g;=0A=
    if (cx.test(json)) {=0A=
      json =3D json.replace(cx, function (a) {=0A=
        return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);=0A=
      });=0A=
    }=0A=
    try {=0A=
      if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A=
    } catch (e) { }=0A=
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A=
  }=0A=
=0A=
  function parseJSON() {=0A=
    var json =3D this.unfilterJSON();=0A=
    return JSON.parse(json);=0A=
  }=0A=
=0A=
  function include(pattern) {=0A=
    return this.indexOf(pattern) > -1;=0A=
  }=0A=
=0A=
  function startsWith(pattern) {=0A=
    return this.lastIndexOf(pattern, 0) =3D=3D=3D 0;=0A=
  }=0A=
=0A=
  function endsWith(pattern) {=0A=
    var d =3D this.length - pattern.length;=0A=
    return d >=3D 0 && this.indexOf(pattern, d) =3D=3D=3D d;=0A=
  }=0A=
=0A=
  function empty() {=0A=
    return this =3D=3D '';=0A=
  }=0A=
=0A=
  function blank() {=0A=
    return /^\s*$/.test(this);=0A=
  }=0A=
=0A=
  function interpolate(object, pattern) {=0A=
    return new Template(this, pattern).evaluate(object);=0A=
  }=0A=
=0A=
  return {=0A=
    gsub:           gsub,=0A=
    sub:            sub,=0A=
    scan:           scan,=0A=
    truncate:       truncate,=0A=
    strip:          String.prototype.trim || strip,=0A=
    stripTags:      stripTags,=0A=
    stripScripts:   stripScripts,=0A=
    extractScripts: extractScripts,=0A=
    evalScripts:    evalScripts,=0A=
    escapeHTML:     escapeHTML,=0A=
    unescapeHTML:   unescapeHTML,=0A=
    toQueryParams:  toQueryParams,=0A=
    parseQuery:     toQueryParams,=0A=
    toArray:        toArray,=0A=
    succ:           succ,=0A=
    times:          times,=0A=
    camelize:       camelize,=0A=
    capitalize:     capitalize,=0A=
    underscore:     underscore,=0A=
    dasherize:      dasherize,=0A=
    inspect:        inspect,=0A=
    unfilterJSON:   unfilterJSON,=0A=
    isJSON:         isJSON,=0A=
    evalJSON:       NATIVE_JSON_PARSE_SUPPORT ? parseJSON : evalJSON,=0A=
    include:        include,=0A=
    startsWith:     startsWith,=0A=
    endsWith:       endsWith,=0A=
    empty:          empty,=0A=
    blank:          blank,=0A=
    interpolate:    interpolate=0A=
  };=0A=
})());=0A=
=0A=
var Template =3D Class.create({=0A=
  initialize: function(template, pattern) {=0A=
    this.template =3D template.toString();=0A=
    this.pattern =3D pattern || Template.Pattern;=0A=
  },=0A=
=0A=
  evaluate: function(object) {=0A=
    if (object && Object.isFunction(object.toTemplateReplacements))=0A=
      object =3D object.toTemplateReplacements();=0A=
=0A=
    return this.template.gsub(this.pattern, function(match) {=0A=
      if (object =3D=3D null) return (match[1] + '');=0A=
=0A=
      var before =3D match[1] || '';=0A=
      if (before =3D=3D '\\') return match[2];=0A=
=0A=
      var ctx =3D object, expr =3D match[3],=0A=
          pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A=
=0A=
      match =3D pattern.exec(expr);=0A=
      if (match =3D=3D null) return before;=0A=
=0A=
      while (match !=3D null) {=0A=
        var comp =3D match[1].startsWith('[') ? =
match[2].replace(/\\\\]/g, ']') : match[1];=0A=
        ctx =3D ctx[comp];=0A=
        if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A=
        expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : =
match[0].length);=0A=
        match =3D pattern.exec(expr);=0A=
      }=0A=
=0A=
      return before + String.interpret(ctx);=0A=
    });=0A=
  }=0A=
});=0A=
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A=
=0A=
var $break =3D { };=0A=
=0A=
var Enumerable =3D (function() {=0A=
  function each(iterator, context) {=0A=
    var index =3D 0;=0A=
    try {=0A=
      this._each(function(value) {=0A=
        iterator.call(context, value, index++);=0A=
      });=0A=
    } catch (e) {=0A=
      if (e !=3D $break) throw e;=0A=
    }=0A=
    return this;=0A=
  }=0A=
=0A=
  function eachSlice(number, iterator, context) {=0A=
    var index =3D -number, slices =3D [], array =3D this.toArray();=0A=
    if (number < 1) return array;=0A=
    while ((index +=3D number) < array.length)=0A=
      slices.push(array.slice(index, index+number));=0A=
    return slices.collect(iterator, context);=0A=
  }=0A=
=0A=
  function all(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result =3D true;=0A=
    this.each(function(value, index) {=0A=
      result =3D result && !!iterator.call(context, value, index);=0A=
      if (!result) throw $break;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function any(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result =3D false;=0A=
    this.each(function(value, index) {=0A=
      if (result =3D !!iterator.call(context, value, index))=0A=
        throw $break;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function collect(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(iterator.call(context, value, index));=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function detect(iterator, context) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      if (iterator.call(context, value, index)) {=0A=
        result =3D value;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function findAll(iterator, context) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (iterator.call(context, value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function grep(filter, iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var results =3D [];=0A=
=0A=
    if (Object.isString(filter))=0A=
      filter =3D new RegExp(RegExp.escape(filter));=0A=
=0A=
    this.each(function(value, index) {=0A=
      if (filter.match(value))=0A=
        results.push(iterator.call(context, value, index));=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function include(object) {=0A=
    if (Object.isFunction(this.indexOf))=0A=
      if (this.indexOf(object) !=3D -1) return true;=0A=
=0A=
    var found =3D false;=0A=
    this.each(function(value) {=0A=
      if (value =3D=3D object) {=0A=
        found =3D true;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return found;=0A=
  }=0A=
=0A=
  function inGroupsOf(number, fillWith) {=0A=
    fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A=
    return this.eachSlice(number, function(slice) {=0A=
      while(slice.length < number) slice.push(fillWith);=0A=
      return slice;=0A=
    });=0A=
  }=0A=
=0A=
  function inject(memo, iterator, context) {=0A=
    this.each(function(value, index) {=0A=
      memo =3D iterator.call(context, memo, value, index);=0A=
    });=0A=
    return memo;=0A=
  }=0A=
=0A=
  function invoke(method) {=0A=
    var args =3D $A(arguments).slice(1);=0A=
    return this.map(function(value) {=0A=
      return value[method].apply(value, args);=0A=
    });=0A=
  }=0A=
=0A=
  function max(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator.call(context, value, index);=0A=
      if (result =3D=3D null || value >=3D result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function min(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator.call(context, value, index);=0A=
      if (result =3D=3D null || value < result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function partition(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var trues =3D [], falses =3D [];=0A=
    this.each(function(value, index) {=0A=
      (iterator.call(context, value, index) ?=0A=
        trues : falses).push(value);=0A=
    });=0A=
    return [trues, falses];=0A=
  }=0A=
=0A=
  function pluck(property) {=0A=
    var results =3D [];=0A=
    this.each(function(value) {=0A=
      results.push(value[property]);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function reject(iterator, context) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (!iterator.call(context, value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function sortBy(iterator, context) {=0A=
    return this.map(function(value, index) {=0A=
      return {=0A=
        value: value,=0A=
        criteria: iterator.call(context, value, index)=0A=
      };=0A=
    }).sort(function(left, right) {=0A=
      var a =3D left.criteria, b =3D right.criteria;=0A=
      return a < b ? -1 : a > b ? 1 : 0;=0A=
    }).pluck('value');=0A=
  }=0A=
=0A=
  function toArray() {=0A=
    return this.map();=0A=
  }=0A=
=0A=
  function zip() {=0A=
    var iterator =3D Prototype.K, args =3D $A(arguments);=0A=
    if (Object.isFunction(args.last()))=0A=
      iterator =3D args.pop();=0A=
=0A=
    var collections =3D [this].concat(args).map($A);=0A=
    return this.map(function(value, index) {=0A=
      return iterator(collections.pluck(index));=0A=
    });=0A=
  }=0A=
=0A=
  function size() {=0A=
    return this.toArray().length;=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '#<Enumerable:' + this.toArray().inspect() + '>';=0A=
  }=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
  return {=0A=
    each:       each,=0A=
    eachSlice:  eachSlice,=0A=
    all:        all,=0A=
    every:      all,=0A=
    any:        any,=0A=
    some:       any,=0A=
    collect:    collect,=0A=
    map:        collect,=0A=
    detect:     detect,=0A=
    findAll:    findAll,=0A=
    select:     findAll,=0A=
    filter:     findAll,=0A=
    grep:       grep,=0A=
    include:    include,=0A=
    member:     include,=0A=
    inGroupsOf: inGroupsOf,=0A=
    inject:     inject,=0A=
    invoke:     invoke,=0A=
    max:        max,=0A=
    min:        min,=0A=
    partition:  partition,=0A=
    pluck:      pluck,=0A=
    reject:     reject,=0A=
    sortBy:     sortBy,=0A=
    toArray:    toArray,=0A=
    entries:    toArray,=0A=
    zip:        zip,=0A=
    size:       size,=0A=
    inspect:    inspect,=0A=
    find:       detect=0A=
  };=0A=
})();=0A=
=0A=
function $A(iterable) {=0A=
  if (!iterable) return [];=0A=
  if ('toArray' in Object(iterable)) return iterable.toArray();=0A=
  var length =3D iterable.length || 0, results =3D new Array(length);=0A=
  while (length--) results[length] =3D iterable[length];=0A=
  return results;=0A=
}=0A=
=0A=
=0A=
function $w(string) {=0A=
  if (!Object.isString(string)) return [];=0A=
  string =3D string.strip();=0A=
  return string ? string.split(/\s+/) : [];=0A=
}=0A=
=0A=
Array.from =3D $A;=0A=
=0A=
=0A=
(function() {=0A=
  var arrayProto =3D Array.prototype,=0A=
      slice =3D arrayProto.slice,=0A=
      _each =3D arrayProto.forEach; // use native browser JS 1.6 =
implementation if available=0A=
=0A=
  function each(iterator, context) {=0A=
    for (var i =3D 0, length =3D this.length >>> 0; i < length; i++) {=0A=
      if (i in this) iterator.call(context, this[i], i, this);=0A=
    }=0A=
  }=0A=
  if (!_each) _each =3D each;=0A=
=0A=
  function clear() {=0A=
    this.length =3D 0;=0A=
    return this;=0A=
  }=0A=
=0A=
  function first() {=0A=
    return this[0];=0A=
  }=0A=
=0A=
  function last() {=0A=
    return this[this.length - 1];=0A=
  }=0A=
=0A=
  function compact() {=0A=
    return this.select(function(value) {=0A=
      return value !=3D null;=0A=
    });=0A=
  }=0A=
=0A=
  function flatten() {=0A=
    return this.inject([], function(array, value) {=0A=
      if (Object.isArray(value))=0A=
        return array.concat(value.flatten());=0A=
      array.push(value);=0A=
      return array;=0A=
    });=0A=
  }=0A=
=0A=
  function without() {=0A=
    var values =3D slice.call(arguments, 0);=0A=
    return this.select(function(value) {=0A=
      return !values.include(value);=0A=
    });=0A=
  }=0A=
=0A=
  function reverse(inline) {=0A=
    return (inline =3D=3D=3D false ? this.toArray() : this)._reverse();=0A=
  }=0A=
=0A=
  function uniq(sorted) {=0A=
    return this.inject([], function(array, value, index) {=0A=
      if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))=0A=
        array.push(value);=0A=
      return array;=0A=
    });=0A=
  }=0A=
=0A=
  function intersect(array) {=0A=
    return this.uniq().findAll(function(item) {=0A=
      return array.detect(function(value) { return item =3D=3D=3D value =
});=0A=
    });=0A=
  }=0A=
=0A=
=0A=
  function clone() {=0A=
    return slice.call(this, 0);=0A=
  }=0A=
=0A=
  function size() {=0A=
    return this.length;=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
  }=0A=
=0A=
  function indexOf(item, i) {=0A=
    i || (i =3D 0);=0A=
    var length =3D this.length;=0A=
    if (i < 0) i =3D length + i;=0A=
    for (; i < length; i++)=0A=
      if (this[i] =3D=3D=3D item) return i;=0A=
    return -1;=0A=
  }=0A=
=0A=
  function lastIndexOf(item, i) {=0A=
    i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A=
    var n =3D this.slice(0, i).reverse().indexOf(item);=0A=
    return (n < 0) ? n : i - n - 1;=0A=
  }=0A=
=0A=
  function concat() {=0A=
    var array =3D slice.call(this, 0), item;=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      item =3D arguments[i];=0A=
      if (Object.isArray(item) && !('callee' in item)) {=0A=
        for (var j =3D 0, arrayLength =3D item.length; j < arrayLength; =
j++)=0A=
          array.push(item[j]);=0A=
      } else {=0A=
        array.push(item);=0A=
      }=0A=
    }=0A=
    return array;=0A=
  }=0A=
=0A=
  Object.extend(arrayProto, Enumerable);=0A=
=0A=
  if (!arrayProto._reverse)=0A=
    arrayProto._reverse =3D arrayProto.reverse;=0A=
=0A=
  Object.extend(arrayProto, {=0A=
    _each:     _each,=0A=
    clear:     clear,=0A=
    first:     first,=0A=
    last:      last,=0A=
    compact:   compact,=0A=
    flatten:   flatten,=0A=
    without:   without,=0A=
    reverse:   reverse,=0A=
    uniq:      uniq,=0A=
    intersect: intersect,=0A=
    clone:     clone,=0A=
    toArray:   clone,=0A=
    size:      size,=0A=
    inspect:   inspect=0A=
  });=0A=
=0A=
  var CONCAT_ARGUMENTS_BUGGY =3D (function() {=0A=
    return [].concat(arguments)[0][0] !=3D=3D 1;=0A=
  })(1,2)=0A=
=0A=
  if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat =3D concat;=0A=
=0A=
  if (!arrayProto.indexOf) arrayProto.indexOf =3D indexOf;=0A=
  if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf =3D lastIndexOf;=0A=
})();=0A=
function $H(object) {=0A=
  return new Hash(object);=0A=
};=0A=
=0A=
var Hash =3D Class.create(Enumerable, (function() {=0A=
  function initialize(object) {=0A=
    this._object =3D Object.isHash(object) ? object.toObject() : =
Object.clone(object);=0A=
  }=0A=
=0A=
=0A=
  function _each(iterator) {=0A=
    for (var key in this._object) {=0A=
      var value =3D this._object[key], pair =3D [key, value];=0A=
      pair.key =3D key;=0A=
      pair.value =3D value;=0A=
      iterator(pair);=0A=
    }=0A=
  }=0A=
=0A=
  function set(key, value) {=0A=
    return this._object[key] =3D value;=0A=
  }=0A=
=0A=
  function get(key) {=0A=
    if (this._object[key] !=3D=3D Object.prototype[key])=0A=
      return this._object[key];=0A=
  }=0A=
=0A=
  function unset(key) {=0A=
    var value =3D this._object[key];=0A=
    delete this._object[key];=0A=
    return value;=0A=
  }=0A=
=0A=
  function toObject() {=0A=
    return Object.clone(this._object);=0A=
  }=0A=
=0A=
=0A=
=0A=
  function keys() {=0A=
    return this.pluck('key');=0A=
  }=0A=
=0A=
  function values() {=0A=
    return this.pluck('value');=0A=
  }=0A=
=0A=
  function index(value) {=0A=
    var match =3D this.detect(function(pair) {=0A=
      return pair.value =3D=3D=3D value;=0A=
    });=0A=
    return match && match.key;=0A=
  }=0A=
=0A=
  function merge(object) {=0A=
    return this.clone().update(object);=0A=
  }=0A=
=0A=
  function update(object) {=0A=
    return new Hash(object).inject(this, function(result, pair) {=0A=
      result.set(pair.key, pair.value);=0A=
      return result;=0A=
    });=0A=
  }=0A=
=0A=
  function toQueryPair(key, value) {=0A=
    if (Object.isUndefined(value)) return key;=0A=
    return key + '=3D' + encodeURIComponent(String.interpret(value));=0A=
  }=0A=
=0A=
  function toQueryString() {=0A=
    return this.inject([], function(results, pair) {=0A=
      var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A=
=0A=
      if (values && typeof values =3D=3D 'object') {=0A=
        if (Object.isArray(values)) {=0A=
          var queryValues =3D [];=0A=
          for (var i =3D 0, len =3D values.length, value; i < len; i++) {=0A=
            value =3D values[i];=0A=
            queryValues.push(toQueryPair(key, value));=0A=
          }=0A=
          return results.concat(queryValues);=0A=
        }=0A=
      } else results.push(toQueryPair(key, values));=0A=
      return results;=0A=
    }).join('&');=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '#<Hash:{' + this.map(function(pair) {=0A=
      return pair.map(Object.inspect).join(': ');=0A=
    }).join(', ') + '}>';=0A=
  }=0A=
=0A=
  function clone() {=0A=
    return new Hash(this);=0A=
  }=0A=
=0A=
  return {=0A=
    initialize:             initialize,=0A=
    _each:                  _each,=0A=
    set:                    set,=0A=
    get:                    get,=0A=
    unset:                  unset,=0A=
    toObject:               toObject,=0A=
    toTemplateReplacements: toObject,=0A=
    keys:                   keys,=0A=
    values:                 values,=0A=
    index:                  index,=0A=
    merge:                  merge,=0A=
    update:                 update,=0A=
    toQueryString:          toQueryString,=0A=
    inspect:                inspect,=0A=
    toJSON:                 toObject,=0A=
    clone:                  clone=0A=
  };=0A=
})());=0A=
=0A=
Hash.from =3D $H;=0A=
Object.extend(Number.prototype, (function() {=0A=
  function toColorPart() {=0A=
    return this.toPaddedString(2, 16);=0A=
  }=0A=
=0A=
  function succ() {=0A=
    return this + 1;=0A=
  }=0A=
=0A=
  function times(iterator, context) {=0A=
    $R(0, this, true).each(iterator, context);=0A=
    return this;=0A=
  }=0A=
=0A=
  function toPaddedString(length, radix) {=0A=
    var string =3D this.toString(radix || 10);=0A=
    return '0'.times(length - string.length) + string;=0A=
  }=0A=
=0A=
  function abs() {=0A=
    return Math.abs(this);=0A=
  }=0A=
=0A=
  function round() {=0A=
    return Math.round(this);=0A=
  }=0A=
=0A=
  function ceil() {=0A=
    return Math.ceil(this);=0A=
  }=0A=
=0A=
  function floor() {=0A=
    return Math.floor(this);=0A=
  }=0A=
=0A=
  return {=0A=
    toColorPart:    toColorPart,=0A=
    succ:           succ,=0A=
    times:          times,=0A=
    toPaddedString: toPaddedString,=0A=
    abs:            abs,=0A=
    round:          round,=0A=
    ceil:           ceil,=0A=
    floor:          floor=0A=
  };=0A=
})());=0A=
=0A=
function $R(start, end, exclusive) {=0A=
  return new ObjectRange(start, end, exclusive);=0A=
}=0A=
=0A=
var ObjectRange =3D Class.create(Enumerable, (function() {=0A=
  function initialize(start, end, exclusive) {=0A=
    this.start =3D start;=0A=
    this.end =3D end;=0A=
    this.exclusive =3D exclusive;=0A=
  }=0A=
=0A=
  function _each(iterator) {=0A=
    var value =3D this.start;=0A=
    while (this.include(value)) {=0A=
      iterator(value);=0A=
      value =3D value.succ();=0A=
    }=0A=
  }=0A=
=0A=
  function include(value) {=0A=
    if (value < this.start)=0A=
      return false;=0A=
    if (this.exclusive)=0A=
      return value < this.end;=0A=
    return value <=3D this.end;=0A=
  }=0A=
=0A=
  return {=0A=
    initialize: initialize,=0A=
    _each:      _each,=0A=
    include:    include=0A=
  };=0A=
})());=0A=
=0A=
=0A=
=0A=
var Ajax =3D {=0A=
  getTransport: function() {=0A=
    return Try.these(=0A=
      function() {return new XMLHttpRequest()},=0A=
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A=
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A=
    ) || false;=0A=
  },=0A=
=0A=
  activeRequestCount: 0=0A=
};=0A=
=0A=
Ajax.Responders =3D {=0A=
  responders: [],=0A=
=0A=
  _each: function(iterator) {=0A=
    this.responders._each(iterator);=0A=
  },=0A=
=0A=
  register: function(responder) {=0A=
    if (!this.include(responder))=0A=
      this.responders.push(responder);=0A=
  },=0A=
=0A=
  unregister: function(responder) {=0A=
    this.responders =3D this.responders.without(responder);=0A=
  },=0A=
=0A=
  dispatch: function(callback, request, transport, json) {=0A=
    this.each(function(responder) {=0A=
      if (Object.isFunction(responder[callback])) {=0A=
        try {=0A=
          responder[callback].apply(responder, [request, transport, =
json]);=0A=
        } catch (e) { }=0A=
      }=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Ajax.Responders, Enumerable);=0A=
=0A=
Ajax.Responders.register({=0A=
  onCreate:   function() { Ajax.activeRequestCount++ },=0A=
  onComplete: function() { Ajax.activeRequestCount-- }=0A=
});=0A=
Ajax.Base =3D Class.create({=0A=
  initialize: function(options) {=0A=
    this.options =3D {=0A=
      method:       'post',=0A=
      asynchronous: true,=0A=
      contentType:  'application/x-www-form-urlencoded',=0A=
      encoding:     'UTF-8',=0A=
      parameters:   '',=0A=
      evalJSON:     true,=0A=
      evalJS:       true=0A=
    };=0A=
    Object.extend(this.options, options || { });=0A=
=0A=
    this.options.method =3D this.options.method.toLowerCase();=0A=
=0A=
    if (Object.isHash(this.options.parameters))=0A=
      this.options.parameters =3D this.options.parameters.toObject();=0A=
  }=0A=
});=0A=
Ajax.Request =3D Class.create(Ajax.Base, {=0A=
  _complete: false,=0A=
=0A=
  initialize: function($super, url, options) {=0A=
    $super(options);=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  request: function(url) {=0A=
    this.url =3D url;=0A=
    this.method =3D this.options.method;=0A=
    var params =3D Object.isString(this.options.parameters) ?=0A=
          this.options.parameters :=0A=
          Object.toQueryString(this.options.parameters);=0A=
=0A=
    if (!['get', 'post'].include(this.method)) {=0A=
      params +=3D (params ? '&' : '') + "_method=3D" + this.method;=0A=
      this.method =3D 'post';=0A=
    }=0A=
=0A=
    if (params && this.method =3D=3D=3D 'get') {=0A=
      this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A=
    }=0A=
=0A=
    this.parameters =3D params.toQueryParams();=0A=
=0A=
    try {=0A=
      var response =3D new Ajax.Response(this);=0A=
      if (this.options.onCreate) this.options.onCreate(response);=0A=
      Ajax.Responders.dispatch('onCreate', this, response);=0A=
=0A=
      this.transport.open(this.method.toUpperCase(), this.url,=0A=
        this.options.asynchronous);=0A=
=0A=
      if (this.options.asynchronous) =
this.respondToReadyState.bind(this).defer(1);=0A=
=0A=
      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
      this.setRequestHeaders();=0A=
=0A=
      this.body =3D this.method =3D=3D 'post' ? (this.options.postBody =
|| params) : null;=0A=
      this.transport.send(this.body);=0A=
=0A=
      /* Force Firefox to handle ready state 4 for synchronous requests =
*/=0A=
      if (!this.options.asynchronous && this.transport.overrideMimeType)=0A=
        this.onStateChange();=0A=
=0A=
    }=0A=
    catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var headers =3D {=0A=
      'X-Requested-With': 'XMLHttpRequest',=0A=
      'X-Prototype-Version': Prototype.Version,=0A=
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'=0A=
    };=0A=
=0A=
    if (this.method =3D=3D 'post') {=0A=
      headers['Content-type'] =3D this.options.contentType +=0A=
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');=0A=
=0A=
      /* Force "Connection: close" for older Mozilla browsers to work=0A=
       * around a bug where XMLHttpRequest sends an incorrect=0A=
       * Content-length header. See Mozilla Bugzilla #246651.=0A=
       */=0A=
      if (this.transport.overrideMimeType &&=0A=
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)=0A=
            headers['Connection'] =3D 'close';=0A=
    }=0A=
=0A=
    if (typeof this.options.requestHeaders =3D=3D 'object') {=0A=
      var extras =3D this.options.requestHeaders;=0A=
=0A=
      if (Object.isFunction(extras.push))=0A=
        for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A=
          headers[extras[i]] =3D extras[i+1];=0A=
      else=0A=
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });=0A=
    }=0A=
=0A=
    for (var name in headers)=0A=
      this.transport.setRequestHeader(name, headers[name]);=0A=
  },=0A=
=0A=
  success: function() {=0A=
    var status =3D this.getStatus();=0A=
    return !status || (status >=3D 200 && status < 300) || status =3D=3D =
304;=0A=
  },=0A=
=0A=
  getStatus: function() {=0A=
    try {=0A=
      if (this.transport.status =3D=3D=3D 1223) return 204;=0A=
      return this.transport.status || 0;=0A=
    } catch (e) { return 0 }=0A=
  },=0A=
=0A=
  respondToReadyState: function(readyState) {=0A=
    var state =3D Ajax.Request.Events[readyState], response =3D new =
Ajax.Response(this);=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      try {=0A=
        this._complete =3D true;=0A=
        (this.options['on' + response.status]=0A=
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A=
         || Prototype.emptyFunction)(response, response.headerJSON);=0A=
      } catch (e) {=0A=
        this.dispatchException(e);=0A=
      }=0A=
=0A=
      var contentType =3D response.getHeader('Content-type');=0A=
      if (this.options.evalJS =3D=3D 'force'=0A=
          || (this.options.evalJS && this.isSameOrigin() && contentType=0A=
          && =
contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s=
*$/i)))=0A=
        this.evalResponse();=0A=
    }=0A=
=0A=
    try {=0A=
      (this.options['on' + state] || Prototype.emptyFunction)(response, =
response.headerJSON);=0A=
      Ajax.Responders.dispatch('on' + state, this, response, =
response.headerJSON);=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A=
    }=0A=
  },=0A=
=0A=
  isSameOrigin: function() {=0A=
    var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A=
    return !m || (m[0] =3D=3D =
'#{protocol}//#{domain}#{port}'.interpolate({=0A=
      protocol: location.protocol,=0A=
      domain: document.domain,=0A=
      port: location.port ? ':' + location.port : ''=0A=
    }));=0A=
  },=0A=
=0A=
  getHeader: function(name) {=0A=
    try {=0A=
      return this.transport.getResponseHeader(name) || null;=0A=
    } catch (e) { return null; }=0A=
  },=0A=
=0A=
  evalResponse: function() {=0A=
    try {=0A=
      return eval((this.transport.responseText || '').unfilterJSON());=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  dispatchException: function(exception) {=0A=
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);=0A=
    Ajax.Responders.dispatch('onException', this, exception);=0A=
  }=0A=
});=0A=
=0A=
Ajax.Request.Events =3D=0A=
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
Ajax.Response =3D Class.create({=0A=
  initialize: function(request){=0A=
    this.request =3D request;=0A=
    var transport  =3D this.transport  =3D request.transport,=0A=
        readyState =3D this.readyState =3D transport.readyState;=0A=
=0A=
    if ((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D =
4) {=0A=
      this.status       =3D this.getStatus();=0A=
      this.statusText   =3D this.getStatusText();=0A=
      this.responseText =3D String.interpret(transport.responseText);=0A=
      this.headerJSON   =3D this._getHeaderJSON();=0A=
    }=0A=
=0A=
    if (readyState =3D=3D 4) {=0A=
      var xml =3D transport.responseXML;=0A=
      this.responseXML  =3D Object.isUndefined(xml) ? null : xml;=0A=
      this.responseJSON =3D this._getResponseJSON();=0A=
    }=0A=
  },=0A=
=0A=
  status:      0,=0A=
=0A=
  statusText: '',=0A=
=0A=
  getStatus: Ajax.Request.prototype.getStatus,=0A=
=0A=
  getStatusText: function() {=0A=
    try {=0A=
      return this.transport.statusText || '';=0A=
    } catch (e) { return '' }=0A=
  },=0A=
=0A=
  getHeader: Ajax.Request.prototype.getHeader,=0A=
=0A=
  getAllHeaders: function() {=0A=
    try {=0A=
      return this.getAllResponseHeaders();=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  getResponseHeader: function(name) {=0A=
    return this.transport.getResponseHeader(name);=0A=
  },=0A=
=0A=
  getAllResponseHeaders: function() {=0A=
    return this.transport.getAllResponseHeaders();=0A=
  },=0A=
=0A=
  _getHeaderJSON: function() {=0A=
    var json =3D this.getHeader('X-JSON');=0A=
    if (!json) return null;=0A=
    json =3D decodeURIComponent(escape(json));=0A=
    try {=0A=
      return json.evalJSON(this.request.options.sanitizeJSON ||=0A=
        !this.request.isSameOrigin());=0A=
    } catch (e) {=0A=
      this.request.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  _getResponseJSON: function() {=0A=
    var options =3D this.request.options;=0A=
    if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A=
      !(this.getHeader('Content-type') || =
'').include('application/json')) ||=0A=
        this.responseText.blank())=0A=
          return null;=0A=
    try {=0A=
      return this.responseText.evalJSON(options.sanitizeJSON ||=0A=
        !this.request.isSameOrigin());=0A=
    } catch (e) {=0A=
      this.request.dispatchException(e);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create(Ajax.Request, {=0A=
  initialize: function($super, container, url, options) {=0A=
    this.container =3D {=0A=
      success: (container.success || container),=0A=
      failure: (container.failure || (container.success ? null : =
container))=0A=
    };=0A=
=0A=
    options =3D Object.clone(options);=0A=
    var onComplete =3D options.onComplete;=0A=
    options.onComplete =3D (function(response, json) {=0A=
      this.updateContent(response.responseText);=0A=
      if (Object.isFunction(onComplete)) onComplete(response, json);=0A=
    }).bind(this);=0A=
=0A=
    $super(url, options);=0A=
  },=0A=
=0A=
  updateContent: function(responseText) {=0A=
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'],=0A=
        options =3D this.options;=0A=
=0A=
    if (!options.evalScripts) responseText =3D =
responseText.stripScripts();=0A=
=0A=
    if (receiver =3D $(receiver)) {=0A=
      if (options.insertion) {=0A=
        if (Object.isString(options.insertion)) {=0A=
          var insertion =3D { }; insertion[options.insertion] =3D =
responseText;=0A=
          receiver.insert(insertion);=0A=
        }=0A=
        else options.insertion(receiver, responseText);=0A=
      }=0A=
      else receiver.update(responseText);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A=
  initialize: function($super, container, url, options) {=0A=
    $super(options);=0A=
    this.onComplete =3D this.options.onComplete;=0A=
=0A=
    this.frequency =3D (this.options.frequency || 2);=0A=
    this.decay =3D (this.options.decay || 1);=0A=
=0A=
    this.updater =3D { };=0A=
    this.container =3D container;=0A=
    this.url =3D url;=0A=
=0A=
    this.start();=0A=
  },=0A=
=0A=
  start: function() {=0A=
    this.options.onComplete =3D this.updateComplete.bind(this);=0A=
    this.onTimerEvent();=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    this.updater.options.onComplete =3D undefined;=0A=
    clearTimeout(this.timer);=0A=
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A=
  },=0A=
=0A=
  updateComplete: function(response) {=0A=
    if (this.options.decay) {=0A=
      this.decay =3D (response.responseText =3D=3D this.lastText ?=0A=
        this.decay * this.options.decay : 1);=0A=
=0A=
      this.lastText =3D response.responseText;=0A=
    }=0A=
    this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * =
this.frequency);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
  }=0A=
});=0A=
=0A=
=0A=
function $(element) {=0A=
  if (arguments.length > 1) {=0A=
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)=0A=
      elements.push($(arguments[i]));=0A=
    return elements;=0A=
  }=0A=
  if (Object.isString(element))=0A=
    element =3D document.getElementById(element);=0A=
  return Element.extend(element);=0A=
}=0A=
=0A=
if (Prototype.BrowserFeatures.XPath) {=0A=
  document._getElementsByXPath =3D function(expression, parentElement) {=0A=
    var results =3D [];=0A=
    var query =3D document.evaluate(expression, $(parentElement) || =
document,=0A=
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
    for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A=
      results.push(Element.extend(query.snapshotItem(i)));=0A=
    return results;=0A=
  };=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!Node) var Node =3D { };=0A=
=0A=
if (!Node.ELEMENT_NODE) {=0A=
  Object.extend(Node, {=0A=
    ELEMENT_NODE: 1,=0A=
    ATTRIBUTE_NODE: 2,=0A=
    TEXT_NODE: 3,=0A=
    CDATA_SECTION_NODE: 4,=0A=
    ENTITY_REFERENCE_NODE: 5,=0A=
    ENTITY_NODE: 6,=0A=
    PROCESSING_INSTRUCTION_NODE: 7,=0A=
    COMMENT_NODE: 8,=0A=
    DOCUMENT_NODE: 9,=0A=
    DOCUMENT_TYPE_NODE: 10,=0A=
    DOCUMENT_FRAGMENT_NODE: 11,=0A=
    NOTATION_NODE: 12=0A=
  });=0A=
}=0A=
=0A=
=0A=
=0A=
(function(global) {=0A=
  function shouldUseCache(tagName, attributes) {=0A=
    if (tagName =3D=3D=3D 'select') return false;=0A=
    if ('type' in attributes) return false;=0A=
    return true;=0A=
  }=0A=
=0A=
  var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX =3D (function(){=0A=
    try {=0A=
      var el =3D document.createElement('<input name=3D"x">');=0A=
      return el.tagName.toLowerCase() =3D=3D=3D 'input' && el.name =
=3D=3D=3D 'x';=0A=
    }=0A=
    catch(err) {=0A=
      return false;=0A=
    }=0A=
  })();=0A=
=0A=
  var element =3D global.Element;=0A=
=0A=
  global.Element =3D function(tagName, attributes) {=0A=
    attributes =3D attributes || { };=0A=
    tagName =3D tagName.toLowerCase();=0A=
    var cache =3D Element.cache;=0A=
=0A=
    if (HAS_EXTENDED_CREATE_ELEMENT_SYNTAX && attributes.name) {=0A=
      tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A=
      delete attributes.name;=0A=
      return Element.writeAttribute(document.createElement(tagName), =
attributes);=0A=
    }=0A=
=0A=
    if (!cache[tagName]) cache[tagName] =3D =
Element.extend(document.createElement(tagName));=0A=
=0A=
    var node =3D shouldUseCache(tagName, attributes) ?=0A=
     cache[tagName].cloneNode(false) : document.createElement(tagName);=0A=
=0A=
    return Element.writeAttribute(node, attributes);=0A=
  };=0A=
=0A=
  Object.extend(global.Element, element || { });=0A=
  if (element) global.Element.prototype =3D element.prototype;=0A=
=0A=
})(this);=0A=
=0A=
Element.idCounter =3D 1;=0A=
Element.cache =3D { };=0A=
=0A=
Element._purgeElement =3D function(element) {=0A=
  var uid =3D element._prototypeUID;=0A=
  if (uid) {=0A=
    Element.stopObserving(element);=0A=
    element._prototypeUID =3D void 0;=0A=
    delete Element.Storage[uid];=0A=
  }=0A=
}=0A=
=0A=
Element.Methods =3D {=0A=
  visible: function(element) {=0A=
    return $(element).style.display !=3D 'none';=0A=
  },=0A=
=0A=
  toggle: function(element) {=0A=
    element =3D $(element);=0A=
    Element[Element.visible(element) ? 'hide' : 'show'](element);=0A=
    return element;=0A=
  },=0A=
=0A=
  hide: function(element) {=0A=
    element =3D $(element);=0A=
    element.style.display =3D 'none';=0A=
    return element;=0A=
  },=0A=
=0A=
  show: function(element) {=0A=
    element =3D $(element);=0A=
    element.style.display =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  remove: function(element) {=0A=
    element =3D $(element);=0A=
    element.parentNode.removeChild(element);=0A=
    return element;=0A=
  },=0A=
=0A=
  update: (function(){=0A=
=0A=
    var SELECT_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A=
      var el =3D document.createElement("select"),=0A=
          isBuggy =3D true;=0A=
      el.innerHTML =3D "<option value=3D\"test\">test</option>";=0A=
      if (el.options && el.options[0]) {=0A=
        isBuggy =3D el.options[0].nodeName.toUpperCase() !=3D=3D =
"OPTION";=0A=
      }=0A=
      el =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    var TABLE_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A=
      try {=0A=
        var el =3D document.createElement("table");=0A=
        if (el && el.tBodies) {=0A=
          el.innerHTML =3D "<tbody><tr><td>test</td></tr></tbody>";=0A=
          var isBuggy =3D typeof el.tBodies[0] =3D=3D "undefined";=0A=
          el =3D null;=0A=
          return isBuggy;=0A=
        }=0A=
      } catch (e) {=0A=
        return true;=0A=
      }=0A=
    })();=0A=
=0A=
    var LINK_ELEMENT_INNERHTML_BUGGY =3D (function() {=0A=
      try {=0A=
        var el =3D document.createElement('div');=0A=
        el.innerHTML =3D "<link>";=0A=
        var isBuggy =3D (el.childNodes.length =3D=3D=3D 0);=0A=
        el =3D null;=0A=
        return isBuggy;=0A=
      } catch(e) {=0A=
        return true;=0A=
      }=0A=
    })();=0A=
=0A=
    var ANY_INNERHTML_BUGGY =3D SELECT_ELEMENT_INNERHTML_BUGGY ||=0A=
     TABLE_ELEMENT_INNERHTML_BUGGY || LINK_ELEMENT_INNERHTML_BUGGY;=0A=
=0A=
    var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING =3D (function () {=0A=
      var s =3D document.createElement("script"),=0A=
          isBuggy =3D false;=0A=
      try {=0A=
        s.appendChild(document.createTextNode(""));=0A=
        isBuggy =3D !s.firstChild ||=0A=
          s.firstChild && s.firstChild.nodeType !=3D=3D 3;=0A=
      } catch (e) {=0A=
        isBuggy =3D true;=0A=
      }=0A=
      s =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
=0A=
    function update(element, content) {=0A=
      element =3D $(element);=0A=
      var purgeElement =3D Element._purgeElement;=0A=
=0A=
      var descendants =3D element.getElementsByTagName('*'),=0A=
       i =3D descendants.length;=0A=
      while (i--) purgeElement(descendants[i]);=0A=
=0A=
      if (content && content.toElement)=0A=
        content =3D content.toElement();=0A=
=0A=
      if (Object.isElement(content))=0A=
        return element.update().insert(content);=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      var tagName =3D element.tagName.toUpperCase();=0A=
=0A=
      if (tagName =3D=3D=3D 'SCRIPT' && =
SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) {=0A=
        element.text =3D content;=0A=
        return element;=0A=
      }=0A=
=0A=
      if (ANY_INNERHTML_BUGGY) {=0A=
        if (tagName in Element._insertionTranslations.tags) {=0A=
          while (element.firstChild) {=0A=
            element.removeChild(element.firstChild);=0A=
          }=0A=
          Element._getContentFromAnonymousElement(tagName, =
content.stripScripts())=0A=
            .each(function(node) {=0A=
              element.appendChild(node)=0A=
            });=0A=
        } else if (LINK_ELEMENT_INNERHTML_BUGGY && =
Object.isString(content) && content.indexOf('<link') > -1) {=0A=
          while (element.firstChild) {=0A=
            element.removeChild(element.firstChild);=0A=
          }=0A=
          var nodes =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts(), true);=0A=
          nodes.each(function(node) { element.appendChild(node) });=0A=
        }=0A=
        else {=0A=
          element.innerHTML =3D content.stripScripts();=0A=
        }=0A=
      }=0A=
      else {=0A=
        element.innerHTML =3D content.stripScripts();=0A=
      }=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
      return element;=0A=
    }=0A=
=0A=
    return update;=0A=
  })(),=0A=
=0A=
  replace: function(element, content) {=0A=
    element =3D $(element);=0A=
    if (content && content.toElement) content =3D content.toElement();=0A=
    else if (!Object.isElement(content)) {=0A=
      content =3D Object.toHTML(content);=0A=
      var range =3D element.ownerDocument.createRange();=0A=
      range.selectNode(element);=0A=
      content.evalScripts.bind(content).defer();=0A=
      content =3D range.createContextualFragment(content.stripScripts());=0A=
    }=0A=
    element.parentNode.replaceChild(content, element);=0A=
    return element;=0A=
  },=0A=
=0A=
  insert: function(element, insertions) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A=
        Object.isElement(insertions) || (insertions && =
(insertions.toElement || insertions.toHTML)))=0A=
          insertions =3D {bottom:insertions};=0A=
=0A=
    var content, insert, tagName, childNodes;=0A=
=0A=
    for (var position in insertions) {=0A=
      content  =3D insertions[position];=0A=
      position =3D position.toLowerCase();=0A=
      insert =3D Element._insertionTranslations[position];=0A=
=0A=
      if (content && content.toElement) content =3D content.toElement();=0A=
      if (Object.isElement(content)) {=0A=
        insert(element, content);=0A=
        continue;=0A=
      }=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A=
        ? element.parentNode : element).tagName.toUpperCase();=0A=
=0A=
      childNodes =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());=0A=
=0A=
      if (position =3D=3D 'top' || position =3D=3D 'after') =
childNodes.reverse();=0A=
      childNodes.each(insert.curry(element));=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
    }=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  wrap: function(element, wrapper, attributes) {=0A=
    element =3D $(element);=0A=
    if (Object.isElement(wrapper))=0A=
      $(wrapper).writeAttribute(attributes || { });=0A=
    else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, =
attributes);=0A=
    else wrapper =3D new Element('div', wrapper);=0A=
    if (element.parentNode)=0A=
      element.parentNode.replaceChild(wrapper, element);=0A=
    wrapper.appendChild(element);=0A=
    return wrapper;=0A=
  },=0A=
=0A=
  inspect: function(element) {=0A=
    element =3D $(element);=0A=
    var result =3D '<' + element.tagName.toLowerCase();=0A=
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A=
      var property =3D pair.first(),=0A=
          attribute =3D pair.last(),=0A=
          value =3D (element[property] || '').toString();=0A=
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);=0A=
    });=0A=
    return result + '>';=0A=
  },=0A=
=0A=
  recursivelyCollect: function(element, property, maximumLength) {=0A=
    element =3D $(element);=0A=
    maximumLength =3D maximumLength || -1;=0A=
    var elements =3D [];=0A=
=0A=
    while (element =3D element[property]) {=0A=
      if (element.nodeType =3D=3D 1)=0A=
        elements.push(Element.extend(element));=0A=
      if (elements.length =3D=3D maximumLength)=0A=
        break;=0A=
    }=0A=
=0A=
    return elements;=0A=
  },=0A=
=0A=
  ancestors: function(element) {=0A=
    return Element.recursivelyCollect(element, 'parentNode');=0A=
  },=0A=
=0A=
  descendants: function(element) {=0A=
    return Element.select(element, "*");=0A=
  },=0A=
=0A=
  firstDescendant: function(element) {=0A=
    element =3D $(element).firstChild;=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    return $(element);=0A=
  },=0A=
=0A=
  immediateDescendants: function(element) {=0A=
    var results =3D [], child =3D $(element).firstChild;=0A=
    while (child) {=0A=
      if (child.nodeType =3D=3D=3D 1) {=0A=
        results.push(Element.extend(child));=0A=
      }=0A=
      child =3D child.nextSibling;=0A=
    }=0A=
    return results;=0A=
  },=0A=
=0A=
  previousSiblings: function(element, maximumLength) {=0A=
    return Element.recursivelyCollect(element, 'previousSibling');=0A=
  },=0A=
=0A=
  nextSiblings: function(element) {=0A=
    return Element.recursivelyCollect(element, 'nextSibling');=0A=
  },=0A=
=0A=
  siblings: function(element) {=0A=
    element =3D $(element);=0A=
    return Element.previousSiblings(element).reverse()=0A=
      .concat(Element.nextSiblings(element));=0A=
  },=0A=
=0A=
  match: function(element, selector) {=0A=
    element =3D $(element);=0A=
    if (Object.isString(selector))=0A=
      return Prototype.Selector.match(element, selector);=0A=
    return selector.match(element);=0A=
  },=0A=
=0A=
  up: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return $(element.parentNode);=0A=
    var ancestors =3D Element.ancestors(element);=0A=
    return Object.isNumber(expression) ? ancestors[expression] :=0A=
      Prototype.Selector.find(ancestors, expression, index);=0A=
  },=0A=
=0A=
  down: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
Element.firstDescendant(element);=0A=
    return Object.isNumber(expression) ? =
Element.descendants(element)[expression] :=0A=
      Element.select(element, expression)[index || 0];=0A=
  },=0A=
=0A=
  previous: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (Object.isNumber(expression)) index =3D expression, expression =
=3D false;=0A=
    if (!Object.isNumber(index)) index =3D 0;=0A=
=0A=
    if (expression) {=0A=
      return Prototype.Selector.find(element.previousSiblings(), =
expression, index);=0A=
    } else {=0A=
      return element.recursivelyCollect("previousSibling", index + =
1)[index];=0A=
    }=0A=
  },=0A=
=0A=
  next: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (Object.isNumber(expression)) index =3D expression, expression =
=3D false;=0A=
    if (!Object.isNumber(index)) index =3D 0;=0A=
=0A=
    if (expression) {=0A=
      return Prototype.Selector.find(element.nextSiblings(), expression, =
index);=0A=
    } else {=0A=
      var maximumLength =3D Object.isNumber(index) ? index + 1 : 1;=0A=
      return element.recursivelyCollect("nextSibling", index + 1)[index];=0A=
    }=0A=
  },=0A=
=0A=
=0A=
  select: function(element) {=0A=
    element =3D $(element);=0A=
    var expressions =3D Array.prototype.slice.call(arguments, 1).join(', =
');=0A=
    return Prototype.Selector.select(expressions, element);=0A=
  },=0A=
=0A=
  adjacent: function(element) {=0A=
    element =3D $(element);=0A=
    var expressions =3D Array.prototype.slice.call(arguments, 1).join(', =
');=0A=
    return Prototype.Selector.select(expressions, =
element.parentNode).without(element);=0A=
  },=0A=
=0A=
  identify: function(element) {=0A=
    element =3D $(element);=0A=
    var id =3D Element.readAttribute(element, 'id');=0A=
    if (id) return id;=0A=
    do { id =3D 'anonymous_element_' + Element.idCounter++ } while =
($(id));=0A=
    Element.writeAttribute(element, 'id', id);=0A=
    return id;=0A=
  },=0A=
=0A=
  readAttribute: function(element, name) {=0A=
    element =3D $(element);=0A=
    if (Prototype.Browser.IE) {=0A=
      var t =3D Element._attributeTranslations.read;=0A=
      if (t.values[name]) return t.values[name](element, name);=0A=
      if (t.names[name]) name =3D t.names[name];=0A=
      if (name.include(':')) {=0A=
        return (!element.attributes || !element.attributes[name]) ? null =
:=0A=
         element.attributes[name].value;=0A=
      }=0A=
    }=0A=
    return element.getAttribute(name);=0A=
  },=0A=
=0A=
  writeAttribute: function(element, name, value) {=0A=
    element =3D $(element);=0A=
    var attributes =3D { }, t =3D Element._attributeTranslations.write;=0A=
=0A=
    if (typeof name =3D=3D 'object') attributes =3D name;=0A=
    else attributes[name] =3D Object.isUndefined(value) ? true : value;=0A=
=0A=
    for (var attr in attributes) {=0A=
      name =3D t.names[attr] || attr;=0A=
      value =3D attributes[attr];=0A=
      if (t.values[attr]) name =3D t.values[attr](element, value);=0A=
      if (value =3D=3D=3D false || value =3D=3D=3D null)=0A=
        element.removeAttribute(name);=0A=
      else if (value =3D=3D=3D true)=0A=
        element.setAttribute(name, name);=0A=
      else element.setAttribute(name, value);=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  getHeight: function(element) {=0A=
    return Element.getDimensions(element).height;=0A=
  },=0A=
=0A=
  getWidth: function(element) {=0A=
    return Element.getDimensions(element).width;=0A=
  },=0A=
=0A=
  classNames: function(element) {=0A=
    return new Element.ClassNames(element);=0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var elementClassName =3D element.className;=0A=
    return (elementClassName.length > 0 && (elementClassName =3D=3D =
className ||=0A=
      new RegExp("(^|\\s)" + className + =
"(\\s|$)").test(elementClassName)));=0A=
  },=0A=
=0A=
  addClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    if (!Element.hasClassName(element, className))=0A=
      element.className +=3D (element.className ? ' ' : '') + className;=0A=
    return element;=0A=
  },=0A=
=0A=
  removeClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    element.className =3D element.className.replace(=0A=
      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A=
    return element;=0A=
  },=0A=
=0A=
  toggleClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    return Element[Element.hasClassName(element, className) ?=0A=
      'removeClassName' : 'addClassName'](element, className);=0A=
  },=0A=
=0A=
  cleanWhitespace: function(element) {=0A=
    element =3D $(element);=0A=
    var node =3D element.firstChild;=0A=
    while (node) {=0A=
      var nextNode =3D node.nextSibling;=0A=
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A=
        element.removeChild(node);=0A=
      node =3D nextNode;=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  empty: function(element) {=0A=
    return $(element).innerHTML.blank();=0A=
  },=0A=
=0A=
  descendantOf: function(element, ancestor) {=0A=
    element =3D $(element), ancestor =3D $(ancestor);=0A=
=0A=
    if (element.compareDocumentPosition)=0A=
      return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A=
=0A=
    if (ancestor.contains)=0A=
      return ancestor.contains(element) && ancestor !=3D=3D element;=0A=
=0A=
    while (element =3D element.parentNode)=0A=
      if (element =3D=3D ancestor) return true;=0A=
=0A=
    return false;=0A=
  },=0A=
=0A=
  scrollTo: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.cumulativeOffset(element);=0A=
    window.scrollTo(pos[0], pos[1]);=0A=
    return element;=0A=
  },=0A=
=0A=
  getStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value || value =3D=3D 'auto') {=0A=
      var css =3D document.defaultView.getComputedStyle(element, null);=0A=
      value =3D css ? css[style] : null;=0A=
    }=0A=
    if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A=
    return value =3D=3D 'auto' ? null : value;=0A=
  },=0A=
=0A=
  getOpacity: function(element) {=0A=
    return $(element).getStyle('opacity');=0A=
  },=0A=
=0A=
  setStyle: function(element, styles) {=0A=
    element =3D $(element);=0A=
    var elementStyle =3D element.style, match;=0A=
    if (Object.isString(styles)) {=0A=
      element.style.cssText +=3D ';' + styles;=0A=
      return styles.include('opacity') ?=0A=
        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : =
element;=0A=
    }=0A=
    for (var property in styles)=0A=
      if (property =3D=3D 'opacity') =
element.setOpacity(styles[property]);=0A=
      else=0A=
        elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?=0A=
          (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : =
'styleFloat') :=0A=
            property] =3D styles[property];=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  setOpacity: function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  },=0A=
=0A=
  makePositioned: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.getStyle(element, 'position');=0A=
    if (pos =3D=3D 'static' || !pos) {=0A=
      element._madePositioned =3D true;=0A=
      element.style.position =3D 'relative';=0A=
      if (Prototype.Browser.Opera) {=0A=
        element.style.top =3D 0;=0A=
        element.style.left =3D 0;=0A=
      }=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  undoPositioned: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._madePositioned) {=0A=
      element._madePositioned =3D undefined;=0A=
      element.style.position =3D=0A=
        element.style.top =3D=0A=
        element.style.left =3D=0A=
        element.style.bottom =3D=0A=
        element.style.right =3D '';=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  makeClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._overflow) return element;=0A=
    element._overflow =3D Element.getStyle(element, 'overflow') || =
'auto';=0A=
    if (element._overflow !=3D=3D 'hidden')=0A=
      element.style.overflow =3D 'hidden';=0A=
    return element;=0A=
  },=0A=
=0A=
  undoClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element._overflow) return element;=0A=
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;=0A=
    element._overflow =3D null;=0A=
    return element;=0A=
  },=0A=
=0A=
  clonePosition: function(element, source) {=0A=
    var options =3D Object.extend({=0A=
      setLeft:    true,=0A=
      setTop:     true,=0A=
      setWidth:   true,=0A=
      setHeight:  true,=0A=
      offsetTop:  0,=0A=
      offsetLeft: 0=0A=
    }, arguments[2] || { });=0A=
=0A=
    source =3D $(source);=0A=
    var p =3D Element.viewportOffset(source), delta =3D [0, 0], parent =
=3D null;=0A=
=0A=
    element =3D $(element);=0A=
=0A=
    if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A=
      parent =3D Element.getOffsetParent(element);=0A=
      delta =3D Element.viewportOffset(parent);=0A=
    }=0A=
=0A=
    if (parent =3D=3D document.body) {=0A=
      delta[0] -=3D document.body.offsetLeft;=0A=
      delta[1] -=3D document.body.offsetTop;=0A=
    }=0A=
=0A=
    if (options.setLeft)   element.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';=0A=
    if (options.setTop)    element.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';=0A=
    if (options.setWidth)  element.style.width =3D source.offsetWidth + =
'px';=0A=
    if (options.setHeight) element.style.height =3D source.offsetHeight =
+ 'px';=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.Methods, {=0A=
  getElementsBySelector: Element.Methods.select,=0A=
=0A=
  childElements: Element.Methods.immediateDescendants=0A=
});=0A=
=0A=
Element._attributeTranslations =3D {=0A=
  write: {=0A=
    names: {=0A=
      className: 'class',=0A=
      htmlFor:   'for'=0A=
    },=0A=
    values: { }=0A=
  }=0A=
};=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
  Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A=
    function(proceed, element, style) {=0A=
      switch (style) {=0A=
        case 'height': case 'width':=0A=
          if (!Element.visible(element)) return null;=0A=
=0A=
          var dim =3D parseInt(proceed(element, style), 10);=0A=
=0A=
          if (dim !=3D=3D element['offset' + style.capitalize()])=0A=
            return dim + 'px';=0A=
=0A=
          var properties;=0A=
          if (style =3D=3D=3D 'height') {=0A=
            properties =3D ['border-top-width', 'padding-top',=0A=
             'padding-bottom', 'border-bottom-width'];=0A=
          }=0A=
          else {=0A=
            properties =3D ['border-left-width', 'padding-left',=0A=
             'padding-right', 'border-right-width'];=0A=
          }=0A=
          return properties.inject(dim, function(memo, property) {=0A=
            var val =3D proceed(element, property);=0A=
            return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);=0A=
          }) + 'px';=0A=
        default: return proceed(element, style);=0A=
      }=0A=
    }=0A=
  );=0A=
=0A=
  Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A=
    function(proceed, element, attribute) {=0A=
      if (attribute =3D=3D=3D 'title') return element.title;=0A=
      return proceed(element, attribute);=0A=
    }=0A=
  );=0A=
}=0A=
=0A=
else if (Prototype.Browser.IE) {=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value && element.currentStyle) value =3D =
element.currentStyle[style];=0A=
=0A=
    if (style =3D=3D 'opacity') {=0A=
      if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))=0A=
        if (value[1]) return parseFloat(value[1]) / 100;=0A=
      return 1.0;=0A=
    }=0A=
=0A=
    if (value =3D=3D 'auto') {=0A=
      if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))=0A=
        return element['offset' + style.capitalize()] + 'px';=0A=
      return null;=0A=
    }=0A=
    return value;=0A=
  };=0A=
=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    function stripAlpha(filter){=0A=
      return filter.replace(/alpha\([^\)]*\)/gi,'');=0A=
    }=0A=
    element =3D $(element);=0A=
    var currentStyle =3D element.currentStyle;=0A=
    if ((currentStyle && !currentStyle.hasLayout) ||=0A=
      (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A=
        element.style.zoom =3D 1;=0A=
=0A=
    var filter =3D element.getStyle('filter'), style =3D element.style;=0A=
    if (value =3D=3D 1 || value =3D=3D=3D '') {=0A=
      (filter =3D stripAlpha(filter)) ?=0A=
        style.filter =3D filter : style.removeAttribute('filter');=0A=
      return element;=0A=
    } else if (value < 0.00001) value =3D 0;=0A=
    style.filter =3D stripAlpha(filter) +=0A=
      'alpha(opacity=3D' + (value * 100) + ')';=0A=
    return element;=0A=
  };=0A=
=0A=
  Element._attributeTranslations =3D (function(){=0A=
=0A=
    var classProp =3D 'className',=0A=
        forProp =3D 'for',=0A=
        el =3D document.createElement('div');=0A=
=0A=
    el.setAttribute(classProp, 'x');=0A=
=0A=
    if (el.className !=3D=3D 'x') {=0A=
      el.setAttribute('class', 'x');=0A=
      if (el.className =3D=3D=3D 'x') {=0A=
        classProp =3D 'class';=0A=
      }=0A=
    }=0A=
    el =3D null;=0A=
=0A=
    el =3D document.createElement('label');=0A=
    el.setAttribute(forProp, 'x');=0A=
    if (el.htmlFor !=3D=3D 'x') {=0A=
      el.setAttribute('htmlFor', 'x');=0A=
      if (el.htmlFor =3D=3D=3D 'x') {=0A=
        forProp =3D 'htmlFor';=0A=
      }=0A=
    }=0A=
    el =3D null;=0A=
=0A=
    return {=0A=
      read: {=0A=
        names: {=0A=
          'class':      classProp,=0A=
          'className':  classProp,=0A=
          'for':        forProp,=0A=
          'htmlFor':    forProp=0A=
        },=0A=
        values: {=0A=
          _getAttr: function(element, attribute) {=0A=
            return element.getAttribute(attribute);=0A=
          },=0A=
          _getAttr2: function(element, attribute) {=0A=
            return element.getAttribute(attribute, 2);=0A=
          },=0A=
          _getAttrNode: function(element, attribute) {=0A=
            var node =3D element.getAttributeNode(attribute);=0A=
            return node ? node.value : "";=0A=
          },=0A=
          _getEv: (function(){=0A=
=0A=
            var el =3D document.createElement('div'), f;=0A=
            el.onclick =3D Prototype.emptyFunction;=0A=
            var value =3D el.getAttribute('onclick');=0A=
=0A=
            if (String(value).indexOf('{') > -1) {=0A=
              f =3D function(element, attribute) {=0A=
                attribute =3D element.getAttribute(attribute);=0A=
                if (!attribute) return null;=0A=
                attribute =3D attribute.toString();=0A=
                attribute =3D attribute.split('{')[1];=0A=
                attribute =3D attribute.split('}')[0];=0A=
                return attribute.strip();=0A=
              };=0A=
            }=0A=
            else if (value =3D=3D=3D '') {=0A=
              f =3D function(element, attribute) {=0A=
                attribute =3D element.getAttribute(attribute);=0A=
                if (!attribute) return null;=0A=
                return attribute.strip();=0A=
              };=0A=
            }=0A=
            el =3D null;=0A=
            return f;=0A=
          })(),=0A=
          _flag: function(element, attribute) {=0A=
            return $(element).hasAttribute(attribute) ? attribute : null;=0A=
          },=0A=
          style: function(element) {=0A=
            return element.style.cssText.toLowerCase();=0A=
          },=0A=
          title: function(element) {=0A=
            return element.title;=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
  })();=0A=
=0A=
  Element._attributeTranslations.write =3D {=0A=
    names: Object.extend({=0A=
      cellpadding: 'cellPadding',=0A=
      cellspacing: 'cellSpacing'=0A=
    }, Element._attributeTranslations.read.names),=0A=
    values: {=0A=
      checked: function(element, value) {=0A=
        element.checked =3D !!value;=0A=
      },=0A=
=0A=
      style: function(element, value) {=0A=
        element.style.cssText =3D value ? value : '';=0A=
      }=0A=
    }=0A=
  };=0A=
=0A=
  Element._attributeTranslations.has =3D {};=0A=
=0A=
  $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A=
      'encType maxLength readOnly longDesc =
frameBorder').each(function(attr) {=0A=
    Element._attributeTranslations.write.names[attr.toLowerCase()] =3D =
attr;=0A=
    Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A=
  });=0A=
=0A=
  (function(v) {=0A=
    Object.extend(v, {=0A=
      href:        v._getAttr2,=0A=
      src:         v._getAttr2,=0A=
      type:        v._getAttr,=0A=
      action:      v._getAttrNode,=0A=
      disabled:    v._flag,=0A=
      checked:     v._flag,=0A=
      readonly:    v._flag,=0A=
      multiple:    v._flag,=0A=
      onload:      v._getEv,=0A=
      onunload:    v._getEv,=0A=
      onclick:     v._getEv,=0A=
      ondblclick:  v._getEv,=0A=
      onmousedown: v._getEv,=0A=
      onmouseup:   v._getEv,=0A=
      onmouseover: v._getEv,=0A=
      onmousemove: v._getEv,=0A=
      onmouseout:  v._getEv,=0A=
      onfocus:     v._getEv,=0A=
      onblur:      v._getEv,=0A=
      onkeypress:  v._getEv,=0A=
      onkeydown:   v._getEv,=0A=
      onkeyup:     v._getEv,=0A=
      onsubmit:    v._getEv,=0A=
      onreset:     v._getEv,=0A=
      onselect:    v._getEv,=0A=
      onchange:    v._getEv=0A=
    });=0A=
  })(Element._attributeTranslations.read.values);=0A=
=0A=
  if (Prototype.BrowserFeatures.ElementExtensions) {=0A=
    (function() {=0A=
      function _descendants(element) {=0A=
        var nodes =3D element.getElementsByTagName('*'), results =3D [];=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName !=3D=3D "!") // Filter out comment nodes.=0A=
            results.push(node);=0A=
        return results;=0A=
      }=0A=
=0A=
      Element.Methods.down =3D function(element, expression, index) {=0A=
        element =3D $(element);=0A=
        if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
        return Object.isNumber(expression) ? =
_descendants(element)[expression] :=0A=
          Element.select(element, expression)[index || 0];=0A=
      }=0A=
    })();=0A=
  }=0A=
=0A=
}=0A=
=0A=
else if (Prototype.Browser.Gecko && =
/rv:1\.8\.0/.test(navigator.userAgent)) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A=
      (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
else if (Prototype.Browser.WebKit) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
=0A=
    if (value =3D=3D 1)=0A=
      if (element.tagName.toUpperCase() =3D=3D 'IMG' && element.width) {=0A=
        element.width++; element.width--;=0A=
      } else try {=0A=
        var n =3D document.createTextNode(' ');=0A=
        element.appendChild(n);=0A=
        element.removeChild(n);=0A=
      } catch (e) { }=0A=
=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
if ('outerHTML' in document.documentElement) {=0A=
  Element.Methods.replace =3D function(element, content) {=0A=
    element =3D $(element);=0A=
=0A=
    if (content && content.toElement) content =3D content.toElement();=0A=
    if (Object.isElement(content)) {=0A=
      element.parentNode.replaceChild(content, element);=0A=
      return element;=0A=
    }=0A=
=0A=
    content =3D Object.toHTML(content);=0A=
    var parent =3D element.parentNode, tagName =3D =
parent.tagName.toUpperCase();=0A=
=0A=
    if (Element._insertionTranslations.tags[tagName]) {=0A=
      var nextSibling =3D element.next(),=0A=
          fragments =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());=0A=
      parent.removeChild(element);=0A=
      if (nextSibling)=0A=
        fragments.each(function(node) { parent.insertBefore(node, =
nextSibling) });=0A=
      else=0A=
        fragments.each(function(node) { parent.appendChild(node) });=0A=
    }=0A=
    else element.outerHTML =3D content.stripScripts();=0A=
=0A=
    content.evalScripts.bind(content).defer();=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
Element._returnOffset =3D function(l, t) {=0A=
  var result =3D [l, t];=0A=
  result.left =3D l;=0A=
  result.top =3D t;=0A=
  return result;=0A=
};=0A=
=0A=
Element._getContentFromAnonymousElement =3D function(tagName, html, =
force) {=0A=
  var div =3D new Element('div'),=0A=
      t =3D Element._insertionTranslations.tags[tagName];=0A=
=0A=
  var workaround =3D false;=0A=
  if (t) workaround =3D true;=0A=
  else if (force) {=0A=
    workaround =3D true;=0A=
    t =3D ['', '', 0];=0A=
  }=0A=
=0A=
  if (workaround) {=0A=
    div.innerHTML =3D '&nbsp;' + t[0] + html + t[1];=0A=
    div.removeChild(div.firstChild);=0A=
    for (var i =3D t[2]; i--; ) {=0A=
      div =3D div.firstChild;=0A=
    }=0A=
  }=0A=
  else {=0A=
    div.innerHTML =3D html;=0A=
  }=0A=
  return $A(div.childNodes);=0A=
};=0A=
=0A=
Element._insertionTranslations =3D {=0A=
  before: function(element, node) {=0A=
    element.parentNode.insertBefore(node, element);=0A=
  },=0A=
  top: function(element, node) {=0A=
    element.insertBefore(node, element.firstChild);=0A=
  },=0A=
  bottom: function(element, node) {=0A=
    element.appendChild(node);=0A=
  },=0A=
  after: function(element, node) {=0A=
    element.parentNode.insertBefore(node, element.nextSibling);=0A=
  },=0A=
  tags: {=0A=
    TABLE:  ['<table>',                '</table>',                   1],=0A=
    TBODY:  ['<table><tbody>',         '</tbody></table>',           2],=0A=
    TR:     ['<table><tbody><tr>',     '</tr></tbody></table>',      3],=0A=
    TD:     ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],=0A=
    SELECT: ['<select>',               '</select>',                  1]=0A=
  }=0A=
};=0A=
=0A=
(function() {=0A=
  var tags =3D Element._insertionTranslations.tags;=0A=
  Object.extend(tags, {=0A=
    THEAD: tags.TBODY,=0A=
    TFOOT: tags.TBODY,=0A=
    TH:    tags.TD=0A=
  });=0A=
})();=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
  hasAttribute: function(element, attribute) {=0A=
    attribute =3D Element._attributeTranslations.has[attribute] || =
attribute;=0A=
    var node =3D $(element).getAttributeNode(attribute);=0A=
    return !!(node && node.specified);=0A=
  }=0A=
};=0A=
=0A=
Element.Methods.ByTag =3D { };=0A=
=0A=
Object.extend(Element, Element.Methods);=0A=
=0A=
(function(div) {=0A=
=0A=
  if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) {=0A=
    window.HTMLElement =3D { };=0A=
    window.HTMLElement.prototype =3D div['__proto__'];=0A=
    Prototype.BrowserFeatures.ElementExtensions =3D true;=0A=
  }=0A=
=0A=
  div =3D null;=0A=
=0A=
})(document.createElement('div'));=0A=
=0A=
Element.extend =3D (function() {=0A=
=0A=
  function checkDeficiency(tagName) {=0A=
    if (typeof window.Element !=3D 'undefined') {=0A=
      var proto =3D window.Element.prototype;=0A=
      if (proto) {=0A=
        var id =3D '_' + (Math.random()+'').slice(2),=0A=
            el =3D document.createElement(tagName);=0A=
        proto[id] =3D 'x';=0A=
        var isBuggy =3D (el[id] !=3D=3D 'x');=0A=
        delete proto[id];=0A=
        el =3D null;=0A=
        return isBuggy;=0A=
      }=0A=
    }=0A=
    return false;=0A=
  }=0A=
=0A=
  function extendElementWith(element, methods) {=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (Object.isFunction(value) && !(property in element))=0A=
        element[property] =3D value.methodize();=0A=
    }=0A=
  }=0A=
=0A=
  var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY =3D checkDeficiency('object');=0A=
=0A=
  if (Prototype.BrowserFeatures.SpecificElementExtensions) {=0A=
    if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY) {=0A=
      return function(element) {=0A=
        if (element && typeof element._extendedByPrototype =3D=3D =
'undefined') {=0A=
          var t =3D element.tagName;=0A=
          if (t && (/^(?:object|applet|embed)$/i.test(t))) {=0A=
            extendElementWith(element, Element.Methods);=0A=
            extendElementWith(element, Element.Methods.Simulated);=0A=
            extendElementWith(element, =
Element.Methods.ByTag[t.toUpperCase()]);=0A=
          }=0A=
        }=0A=
        return element;=0A=
      }=0A=
    }=0A=
    return Prototype.K;=0A=
  }=0A=
=0A=
  var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A=
=0A=
  var extend =3D Object.extend(function(element) {=0A=
    if (!element || typeof element._extendedByPrototype !=3D 'undefined' =
||=0A=
        element.nodeType !=3D 1 || element =3D=3D window) return element;=0A=
=0A=
    var methods =3D Object.clone(Methods),=0A=
        tagName =3D element.tagName.toUpperCase();=0A=
=0A=
    if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A=
=0A=
    extendElementWith(element, methods);=0A=
=0A=
    element._extendedByPrototype =3D Prototype.emptyFunction;=0A=
    return element;=0A=
=0A=
  }, {=0A=
    refresh: function() {=0A=
      if (!Prototype.BrowserFeatures.ElementExtensions) {=0A=
        Object.extend(Methods, Element.Methods);=0A=
        Object.extend(Methods, Element.Methods.Simulated);=0A=
      }=0A=
    }=0A=
  });=0A=
=0A=
  extend.refresh();=0A=
  return extend;=0A=
})();=0A=
=0A=
if (document.documentElement.hasAttribute) {=0A=
  Element.hasAttribute =3D function(element, attribute) {=0A=
    return element.hasAttribute(attribute);=0A=
  };=0A=
}=0A=
else {=0A=
  Element.hasAttribute =3D Element.Methods.Simulated.hasAttribute;=0A=
}=0A=
=0A=
Element.addMethods =3D function(methods) {=0A=
  var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A=
=0A=
  if (!methods) {=0A=
    Object.extend(Form, Form.Methods);=0A=
    Object.extend(Form.Element, Form.Element.Methods);=0A=
    Object.extend(Element.Methods.ByTag, {=0A=
      "FORM":     Object.clone(Form.Methods),=0A=
      "INPUT":    Object.clone(Form.Element.Methods),=0A=
      "SELECT":   Object.clone(Form.Element.Methods),=0A=
      "TEXTAREA": Object.clone(Form.Element.Methods),=0A=
      "BUTTON":   Object.clone(Form.Element.Methods)=0A=
    });=0A=
  }=0A=
=0A=
  if (arguments.length =3D=3D 2) {=0A=
    var tagName =3D methods;=0A=
    methods =3D arguments[1];=0A=
  }=0A=
=0A=
  if (!tagName) Object.extend(Element.Methods, methods || { });=0A=
  else {=0A=
    if (Object.isArray(tagName)) tagName.each(extend);=0A=
    else extend(tagName);=0A=
  }=0A=
=0A=
  function extend(tagName) {=0A=
    tagName =3D tagName.toUpperCase();=0A=
    if (!Element.Methods.ByTag[tagName])=0A=
      Element.Methods.ByTag[tagName] =3D { };=0A=
    Object.extend(Element.Methods.ByTag[tagName], methods);=0A=
  }=0A=
=0A=
  function copy(methods, destination, onlyIfAbsent) {=0A=
    onlyIfAbsent =3D onlyIfAbsent || false;=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (!Object.isFunction(value)) continue;=0A=
      if (!onlyIfAbsent || !(property in destination))=0A=
        destination[property] =3D value.methodize();=0A=
    }=0A=
  }=0A=
=0A=
  function findDOMClass(tagName) {=0A=
    var klass;=0A=
    var trans =3D {=0A=
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A=
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",=0A=
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",=0A=
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A=
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":=0A=
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A=
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", =
"TR":=0A=
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A=
      "FrameSet", "IFRAME": "IFrame"=0A=
    };=0A=
    if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
=0A=
    var element =3D document.createElement(tagName),=0A=
        proto =3D element['__proto__'] || element.constructor.prototype;=0A=
=0A=
    element =3D null;=0A=
    return proto;=0A=
  }=0A=
=0A=
  var elementPrototype =3D window.HTMLElement ? HTMLElement.prototype :=0A=
   Element.prototype;=0A=
=0A=
  if (F.ElementExtensions) {=0A=
    copy(Element.Methods, elementPrototype);=0A=
    copy(Element.Methods.Simulated, elementPrototype, true);=0A=
  }=0A=
=0A=
  if (F.SpecificElementExtensions) {=0A=
    for (var tag in Element.Methods.ByTag) {=0A=
      var klass =3D findDOMClass(tag);=0A=
      if (Object.isUndefined(klass)) continue;=0A=
      copy(T[tag], klass.prototype);=0A=
    }=0A=
  }=0A=
=0A=
  Object.extend(Element, Element.Methods);=0A=
  delete Element.ByTag;=0A=
=0A=
  if (Element.extend.refresh) Element.extend.refresh();=0A=
  Element.cache =3D { };=0A=
};=0A=
=0A=
=0A=
document.viewport =3D {=0A=
=0A=
  getDimensions: function() {=0A=
    return { width: this.getWidth(), height: this.getHeight() };=0A=
  },=0A=
=0A=
  getScrollOffsets: function() {=0A=
    return Element._returnOffset(=0A=
      window.pageXOffset || document.documentElement.scrollLeft || =
document.body.scrollLeft,=0A=
      window.pageYOffset || document.documentElement.scrollTop  || =
document.body.scrollTop);=0A=
  }=0A=
};=0A=
=0A=
(function(viewport) {=0A=
  var B =3D Prototype.Browser, doc =3D document, element, property =3D =
{};=0A=
=0A=
  function getRootElement() {=0A=
    if (B.WebKit && !doc.evaluate)=0A=
      return document;=0A=
=0A=
    if (B.Opera && window.parseFloat(window.opera.version()) < 9.5)=0A=
      return document.body;=0A=
=0A=
    return document.documentElement;=0A=
  }=0A=
=0A=
  function define(D) {=0A=
    if (!element) element =3D getRootElement();=0A=
=0A=
    property[D] =3D 'client' + D;=0A=
=0A=
    viewport['get' + D] =3D function() { return element[property[D]] };=0A=
    return viewport['get' + D]();=0A=
  }=0A=
=0A=
  viewport.getWidth  =3D define.curry('Width');=0A=
=0A=
  viewport.getHeight =3D define.curry('Height');=0A=
})(document.viewport);=0A=
=0A=
=0A=
Element.Storage =3D {=0A=
  UID: 1=0A=
};=0A=
=0A=
Element.addMethods({=0A=
  getStorage: function(element) {=0A=
    if (!(element =3D $(element))) return;=0A=
=0A=
    var uid;=0A=
    if (element =3D=3D=3D window) {=0A=
      uid =3D 0;=0A=
    } else {=0A=
      if (typeof element._prototypeUID =3D=3D=3D "undefined")=0A=
        element._prototypeUID =3D Element.Storage.UID++;=0A=
      uid =3D element._prototypeUID;=0A=
    }=0A=
=0A=
    if (!Element.Storage[uid])=0A=
      Element.Storage[uid] =3D $H();=0A=
=0A=
    return Element.Storage[uid];=0A=
  },=0A=
=0A=
  store: function(element, key, value) {=0A=
    if (!(element =3D $(element))) return;=0A=
=0A=
    if (arguments.length =3D=3D=3D 2) {=0A=
      Element.getStorage(element).update(key);=0A=
    } else {=0A=
      Element.getStorage(element).set(key, value);=0A=
    }=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  retrieve: function(element, key, defaultValue) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var hash =3D Element.getStorage(element), value =3D hash.get(key);=0A=
=0A=
    if (Object.isUndefined(value)) {=0A=
      hash.set(key, defaultValue);=0A=
      value =3D defaultValue;=0A=
    }=0A=
=0A=
    return value;=0A=
  },=0A=
=0A=
  clone: function(element, deep) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var clone =3D element.cloneNode(deep);=0A=
    clone._prototypeUID =3D void 0;=0A=
    if (deep) {=0A=
      var descendants =3D Element.select(clone, '*'),=0A=
          i =3D descendants.length;=0A=
      while (i--) {=0A=
        descendants[i]._prototypeUID =3D void 0;=0A=
      }=0A=
    }=0A=
    return Element.extend(clone);=0A=
  },=0A=
=0A=
  purge: function(element) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var purgeElement =3D Element._purgeElement;=0A=
=0A=
    purgeElement(element);=0A=
=0A=
    var descendants =3D element.getElementsByTagName('*'),=0A=
     i =3D descendants.length;=0A=
=0A=
    while (i--) purgeElement(descendants[i]);=0A=
=0A=
    return null;=0A=
  }=0A=
});=0A=
=0A=
(function() {=0A=
=0A=
  function toDecimal(pctString) {=0A=
    var match =3D pctString.match(/^(\d+)%?$/i);=0A=
    if (!match) return null;=0A=
    return (Number(match[1]) / 100);=0A=
  }=0A=
=0A=
  function getPixelValue(value, property, context) {=0A=
    var element =3D null;=0A=
    if (Object.isElement(value)) {=0A=
      element =3D value;=0A=
      value =3D element.getStyle(property);=0A=
    }=0A=
=0A=
    if (value =3D=3D=3D null) {=0A=
      return null;=0A=
    }=0A=
=0A=
    if ((/^(?:-)?\d+(\.\d+)?(px)?$/i).test(value)) {=0A=
      return window.parseFloat(value);=0A=
    }=0A=
=0A=
    var isPercentage =3D value.include('%'), isViewport =3D (context =
=3D=3D=3D document.viewport);=0A=
=0A=
    if (/\d/.test(value) && element && element.runtimeStyle && =
!(isPercentage && isViewport)) {=0A=
      var style =3D element.style.left, rStyle =3D =
element.runtimeStyle.left;=0A=
      element.runtimeStyle.left =3D element.currentStyle.left;=0A=
      element.style.left =3D value || 0;=0A=
      value =3D element.style.pixelLeft;=0A=
      element.style.left =3D style;=0A=
      element.runtimeStyle.left =3D rStyle;=0A=
=0A=
      return value;=0A=
    }=0A=
=0A=
    if (element && isPercentage) {=0A=
      context =3D context || element.parentNode;=0A=
      var decimal =3D toDecimal(value);=0A=
      var whole =3D null;=0A=
      var position =3D element.getStyle('position');=0A=
=0A=
      var isHorizontal =3D property.include('left') || =
property.include('right') ||=0A=
       property.include('width');=0A=
=0A=
      var isVertical =3D  property.include('top') || =
property.include('bottom') ||=0A=
        property.include('height');=0A=
=0A=
      if (context =3D=3D=3D document.viewport) {=0A=
        if (isHorizontal) {=0A=
          whole =3D document.viewport.getWidth();=0A=
        } else if (isVertical) {=0A=
          whole =3D document.viewport.getHeight();=0A=
        }=0A=
      } else {=0A=
        if (isHorizontal) {=0A=
          whole =3D $(context).measure('width');=0A=
        } else if (isVertical) {=0A=
          whole =3D $(context).measure('height');=0A=
        }=0A=
      }=0A=
=0A=
      return (whole =3D=3D=3D null) ? 0 : whole * decimal;=0A=
    }=0A=
=0A=
    return 0;=0A=
  }=0A=
=0A=
  function toCSSPixels(number) {=0A=
    if (Object.isString(number) && number.endsWith('px')) {=0A=
      return number;=0A=
    }=0A=
    return number + 'px';=0A=
  }=0A=
=0A=
  function isDisplayed(element) {=0A=
    var originalElement =3D element;=0A=
    while (element && element.parentNode) {=0A=
      var display =3D element.getStyle('display');=0A=
      if (display =3D=3D=3D 'none') {=0A=
        return false;=0A=
      }=0A=
      element =3D $(element.parentNode);=0A=
    }=0A=
    return true;=0A=
  }=0A=
=0A=
  var hasLayout =3D Prototype.K;=0A=
  if ('currentStyle' in document.documentElement) {=0A=
    hasLayout =3D function(element) {=0A=
      if (!element.currentStyle.hasLayout) {=0A=
        element.style.zoom =3D 1;=0A=
      }=0A=
      return element;=0A=
    };=0A=
  }=0A=
=0A=
  function cssNameFor(key) {=0A=
    if (key.include('border')) key =3D key + '-width';=0A=
    return key.camelize();=0A=
  }=0A=
=0A=
  Element.Layout =3D Class.create(Hash, {=0A=
    initialize: function($super, element, preCompute) {=0A=
      $super();=0A=
      this.element =3D $(element);=0A=
=0A=
      Element.Layout.PROPERTIES.each( function(property) {=0A=
        this._set(property, null);=0A=
      }, this);=0A=
=0A=
      if (preCompute) {=0A=
        this._preComputing =3D true;=0A=
        this._begin();=0A=
        Element.Layout.PROPERTIES.each( this._compute, this );=0A=
        this._end();=0A=
        this._preComputing =3D false;=0A=
      }=0A=
    },=0A=
=0A=
    _set: function(property, value) {=0A=
      return Hash.prototype.set.call(this, property, value);=0A=
    },=0A=
=0A=
    set: function(property, value) {=0A=
      throw "Properties of Element.Layout are read-only.";=0A=
    },=0A=
=0A=
    get: function($super, property) {=0A=
      var value =3D $super(property);=0A=
      return value =3D=3D=3D null ? this._compute(property) : value;=0A=
    },=0A=
=0A=
    _begin: function() {=0A=
      if (this._prepared) return;=0A=
=0A=
      var element =3D this.element;=0A=
      if (isDisplayed(element)) {=0A=
        this._prepared =3D true;=0A=
        return;=0A=
      }=0A=
=0A=
      var originalStyles =3D {=0A=
        position:   element.style.position   || '',=0A=
        width:      element.style.width      || '',=0A=
        visibility: element.style.visibility || '',=0A=
        display:    element.style.display    || ''=0A=
      };=0A=
=0A=
      element.store('prototype_original_styles', originalStyles);=0A=
=0A=
      var position =3D element.getStyle('position'),=0A=
       width =3D element.getStyle('width');=0A=
=0A=
      if (width =3D=3D=3D "0px" || width =3D=3D=3D null) {=0A=
        element.style.display =3D 'block';=0A=
        width =3D element.getStyle('width');=0A=
      }=0A=
=0A=
      var context =3D (position =3D=3D=3D 'fixed') ? document.viewport :=0A=
       element.parentNode;=0A=
=0A=
      element.setStyle({=0A=
        position:   'absolute',=0A=
        visibility: 'hidden',=0A=
        display:    'block'=0A=
      });=0A=
=0A=
      var positionedWidth =3D element.getStyle('width');=0A=
=0A=
      var newWidth;=0A=
      if (width && (positionedWidth =3D=3D=3D width)) {=0A=
        newWidth =3D getPixelValue(element, 'width', context);=0A=
      } else if (position =3D=3D=3D 'absolute' || position =3D=3D=3D =
'fixed') {=0A=
        newWidth =3D getPixelValue(element, 'width', context);=0A=
      } else {=0A=
        var parent =3D element.parentNode, pLayout =3D =
$(parent).getLayout();=0A=
=0A=
        newWidth =3D pLayout.get('width') -=0A=
         this.get('margin-left') -=0A=
         this.get('border-left') -=0A=
         this.get('padding-left') -=0A=
         this.get('padding-right') -=0A=
         this.get('border-right') -=0A=
         this.get('margin-right');=0A=
      }=0A=
=0A=
      element.setStyle({ width: newWidth + 'px' });=0A=
=0A=
      this._prepared =3D true;=0A=
    },=0A=
=0A=
    _end: function() {=0A=
      var element =3D this.element;=0A=
      var originalStyles =3D =
element.retrieve('prototype_original_styles');=0A=
      element.store('prototype_original_styles', null);=0A=
      element.setStyle(originalStyles);=0A=
      this._prepared =3D false;=0A=
    },=0A=
=0A=
    _compute: function(property) {=0A=
      var COMPUTATIONS =3D Element.Layout.COMPUTATIONS;=0A=
      if (!(property in COMPUTATIONS)) {=0A=
        throw "Property not found.";=0A=
      }=0A=
=0A=
      return this._set(property, COMPUTATIONS[property].call(this, =
this.element));=0A=
    },=0A=
=0A=
    toObject: function() {=0A=
      var args =3D $A(arguments);=0A=
      var keys =3D (args.length =3D=3D=3D 0) ? Element.Layout.PROPERTIES =
:=0A=
       args.join(' ').split(' ');=0A=
      var obj =3D {};=0A=
      keys.each( function(key) {=0A=
        if (!Element.Layout.PROPERTIES.include(key)) return;=0A=
        var value =3D this.get(key);=0A=
        if (value !=3D null) obj[key] =3D value;=0A=
      }, this);=0A=
      return obj;=0A=
    },=0A=
=0A=
    toHash: function() {=0A=
      var obj =3D this.toObject.apply(this, arguments);=0A=
      return new Hash(obj);=0A=
    },=0A=
=0A=
    toCSS: function() {=0A=
      var args =3D $A(arguments);=0A=
      var keys =3D (args.length =3D=3D=3D 0) ? Element.Layout.PROPERTIES =
:=0A=
       args.join(' ').split(' ');=0A=
      var css =3D {};=0A=
=0A=
      keys.each( function(key) {=0A=
        if (!Element.Layout.PROPERTIES.include(key)) return;=0A=
        if (Element.Layout.COMPOSITE_PROPERTIES.include(key)) return;=0A=
=0A=
        var value =3D this.get(key);=0A=
        if (value !=3D null) css[cssNameFor(key)] =3D value + 'px';=0A=
      }, this);=0A=
      return css;=0A=
    },=0A=
=0A=
    inspect: function() {=0A=
      return "#<Element.Layout>";=0A=
    }=0A=
  });=0A=
=0A=
  Object.extend(Element.Layout, {=0A=
    PROPERTIES: $w('height width top left right bottom border-left =
border-right border-top border-bottom padding-left padding-right =
padding-top padding-bottom margin-top margin-bottom margin-left =
margin-right padding-box-width padding-box-height border-box-width =
border-box-height margin-box-width margin-box-height'),=0A=
=0A=
    COMPOSITE_PROPERTIES: $w('padding-box-width padding-box-height =
margin-box-width margin-box-height border-box-width border-box-height'),=0A=
=0A=
    COMPUTATIONS: {=0A=
      'height': function(element) {=0A=
        if (!this._preComputing) this._begin();=0A=
=0A=
        var bHeight =3D this.get('border-box-height');=0A=
        if (bHeight <=3D 0) {=0A=
          if (!this._preComputing) this._end();=0A=
          return 0;=0A=
        }=0A=
=0A=
        var bTop =3D this.get('border-top'),=0A=
         bBottom =3D this.get('border-bottom');=0A=
=0A=
        var pTop =3D this.get('padding-top'),=0A=
         pBottom =3D this.get('padding-bottom');=0A=
=0A=
        if (!this._preComputing) this._end();=0A=
=0A=
        return bHeight - bTop - bBottom - pTop - pBottom;=0A=
      },=0A=
=0A=
      'width': function(element) {=0A=
        if (!this._preComputing) this._begin();=0A=
=0A=
        var bWidth =3D this.get('border-box-width');=0A=
        if (bWidth <=3D 0) {=0A=
          if (!this._preComputing) this._end();=0A=
          return 0;=0A=
        }=0A=
=0A=
        var bLeft =3D this.get('border-left'),=0A=
         bRight =3D this.get('border-right');=0A=
=0A=
        var pLeft =3D this.get('padding-left'),=0A=
         pRight =3D this.get('padding-right');=0A=
=0A=
        if (!this._preComputing) this._end();=0A=
=0A=
        return bWidth - bLeft - bRight - pLeft - pRight;=0A=
      },=0A=
=0A=
      'padding-box-height': function(element) {=0A=
        var height =3D this.get('height'),=0A=
         pTop =3D this.get('padding-top'),=0A=
         pBottom =3D this.get('padding-bottom');=0A=
=0A=
        return height + pTop + pBottom;=0A=
      },=0A=
=0A=
      'padding-box-width': function(element) {=0A=
        var width =3D this.get('width'),=0A=
         pLeft =3D this.get('padding-left'),=0A=
         pRight =3D this.get('padding-right');=0A=
=0A=
        return width + pLeft + pRight;=0A=
      },=0A=
=0A=
      'border-box-height': function(element) {=0A=
        if (!this._preComputing) this._begin();=0A=
        var height =3D element.offsetHeight;=0A=
        if (!this._preComputing) this._end();=0A=
        return height;=0A=
      },=0A=
=0A=
      'border-box-width': function(element) {=0A=
        if (!this._preComputing) this._begin();=0A=
        var width =3D element.offsetWidth;=0A=
        if (!this._preComputing) this._end();=0A=
        return width;=0A=
      },=0A=
=0A=
      'margin-box-height': function(element) {=0A=
        var bHeight =3D this.get('border-box-height'),=0A=
         mTop =3D this.get('margin-top'),=0A=
         mBottom =3D this.get('margin-bottom');=0A=
=0A=
        if (bHeight <=3D 0) return 0;=0A=
=0A=
        return bHeight + mTop + mBottom;=0A=
      },=0A=
=0A=
      'margin-box-width': function(element) {=0A=
        var bWidth =3D this.get('border-box-width'),=0A=
         mLeft =3D this.get('margin-left'),=0A=
         mRight =3D this.get('margin-right');=0A=
=0A=
        if (bWidth <=3D 0) return 0;=0A=
=0A=
        return bWidth + mLeft + mRight;=0A=
      },=0A=
=0A=
      'top': function(element) {=0A=
        var offset =3D element.positionedOffset();=0A=
        return offset.top;=0A=
      },=0A=
=0A=
      'bottom': function(element) {=0A=
        var offset =3D element.positionedOffset(),=0A=
         parent =3D element.getOffsetParent(),=0A=
         pHeight =3D parent.measure('height');=0A=
=0A=
        var mHeight =3D this.get('border-box-height');=0A=
=0A=
        return pHeight - mHeight - offset.top;=0A=
      },=0A=
=0A=
      'left': function(element) {=0A=
        var offset =3D element.positionedOffset();=0A=
        return offset.left;=0A=
      },=0A=
=0A=
      'right': function(element) {=0A=
        var offset =3D element.positionedOffset(),=0A=
         parent =3D element.getOffsetParent(),=0A=
         pWidth =3D parent.measure('width');=0A=
=0A=
        var mWidth =3D this.get('border-box-width');=0A=
=0A=
        return pWidth - mWidth - offset.left;=0A=
      },=0A=
=0A=
      'padding-top': function(element) {=0A=
        return getPixelValue(element, 'paddingTop');=0A=
      },=0A=
=0A=
      'padding-bottom': function(element) {=0A=
        return getPixelValue(element, 'paddingBottom');=0A=
      },=0A=
=0A=
      'padding-left': function(element) {=0A=
        return getPixelValue(element, 'paddingLeft');=0A=
      },=0A=
=0A=
      'padding-right': function(element) {=0A=
        return getPixelValue(element, 'paddingRight');=0A=
      },=0A=
=0A=
      'border-top': function(element) {=0A=
        return getPixelValue(element, 'borderTopWidth');=0A=
      },=0A=
=0A=
      'border-bottom': function(element) {=0A=
        return getPixelValue(element, 'borderBottomWidth');=0A=
      },=0A=
=0A=
      'border-left': function(element) {=0A=
        return getPixelValue(element, 'borderLeftWidth');=0A=
      },=0A=
=0A=
      'border-right': function(element) {=0A=
        return getPixelValue(element, 'borderRightWidth');=0A=
      },=0A=
=0A=
      'margin-top': function(element) {=0A=
        return getPixelValue(element, 'marginTop');=0A=
      },=0A=
=0A=
      'margin-bottom': function(element) {=0A=
        return getPixelValue(element, 'marginBottom');=0A=
      },=0A=
=0A=
      'margin-left': function(element) {=0A=
        return getPixelValue(element, 'marginLeft');=0A=
      },=0A=
=0A=
      'margin-right': function(element) {=0A=
        return getPixelValue(element, 'marginRight');=0A=
      }=0A=
    }=0A=
  });=0A=
=0A=
  if ('getBoundingClientRect' in document.documentElement) {=0A=
    Object.extend(Element.Layout.COMPUTATIONS, {=0A=
      'right': function(element) {=0A=
        var parent =3D hasLayout(element.getOffsetParent());=0A=
        var rect =3D element.getBoundingClientRect(),=0A=
         pRect =3D parent.getBoundingClientRect();=0A=
=0A=
        return (pRect.right - rect.right).round();=0A=
      },=0A=
=0A=
      'bottom': function(element) {=0A=
        var parent =3D hasLayout(element.getOffsetParent());=0A=
        var rect =3D element.getBoundingClientRect(),=0A=
         pRect =3D parent.getBoundingClientRect();=0A=
=0A=
        return (pRect.bottom - rect.bottom).round();=0A=
      }=0A=
    });=0A=
  }=0A=
=0A=
  Element.Offset =3D Class.create({=0A=
    initialize: function(left, top) {=0A=
      this.left =3D left.round();=0A=
      this.top  =3D top.round();=0A=
=0A=
      this[0] =3D this.left;=0A=
      this[1] =3D this.top;=0A=
    },=0A=
=0A=
    relativeTo: function(offset) {=0A=
      return new Element.Offset(=0A=
        this.left - offset.left,=0A=
        this.top  - offset.top=0A=
      );=0A=
    },=0A=
=0A=
    inspect: function() {=0A=
      return "#<Element.Offset left: #{left} top: =
#{top}>".interpolate(this);=0A=
    },=0A=
=0A=
    toString: function() {=0A=
      return "[#{left}, #{top}]".interpolate(this);=0A=
    },=0A=
=0A=
    toArray: function() {=0A=
      return [this.left, this.top];=0A=
    }=0A=
  });=0A=
=0A=
  function getLayout(element, preCompute) {=0A=
    return new Element.Layout(element, preCompute);=0A=
  }=0A=
=0A=
  function measure(element, property) {=0A=
    return $(element).getLayout().get(property);=0A=
  }=0A=
=0A=
  function getDimensions(element) {=0A=
    element =3D $(element);=0A=
    var display =3D Element.getStyle(element, 'display');=0A=
=0A=
    if (display && display !=3D=3D 'none') {=0A=
      return { width: element.offsetWidth, height: element.offsetHeight =
};=0A=
    }=0A=
=0A=
    var style =3D element.style;=0A=
    var originalStyles =3D {=0A=
      visibility: style.visibility,=0A=
      position:   style.position,=0A=
      display:    style.display=0A=
    };=0A=
=0A=
    var newStyles =3D {=0A=
      visibility: 'hidden',=0A=
      display:    'block'=0A=
    };=0A=
=0A=
    if (originalStyles.position !=3D=3D 'fixed')=0A=
      newStyles.position =3D 'absolute';=0A=
=0A=
    Element.setStyle(element, newStyles);=0A=
=0A=
    var dimensions =3D {=0A=
      width:  element.offsetWidth,=0A=
      height: element.offsetHeight=0A=
    };=0A=
=0A=
    Element.setStyle(element, originalStyles);=0A=
=0A=
    return dimensions;=0A=
  }=0A=
=0A=
  function getOffsetParent(element) {=0A=
    element =3D $(element);=0A=
=0A=
    if (isDocument(element) || isDetached(element) || isBody(element) || =
isHtml(element))=0A=
      return $(document.body);=0A=
=0A=
    var isInline =3D (Element.getStyle(element, 'display') =3D=3D=3D =
'inline');=0A=
    if (!isInline && element.offsetParent) return =
$(element.offsetParent);=0A=
=0A=
    while ((element =3D element.parentNode) && element !=3D=3D =
document.body) {=0A=
      if (Element.getStyle(element, 'position') !=3D=3D 'static') {=0A=
        return isHtml(element) ? $(document.body) : $(element);=0A=
      }=0A=
    }=0A=
=0A=
    return $(document.body);=0A=
  }=0A=
=0A=
=0A=
  function cumulativeOffset(element) {=0A=
    element =3D $(element);=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    if (element.parentNode) {=0A=
      do {=0A=
        valueT +=3D element.offsetTop  || 0;=0A=
        valueL +=3D element.offsetLeft || 0;=0A=
        element =3D element.offsetParent;=0A=
      } while (element);=0A=
    }=0A=
    return new Element.Offset(valueL, valueT);=0A=
  }=0A=
=0A=
  function positionedOffset(element) {=0A=
    element =3D $(element);=0A=
=0A=
    var layout =3D element.getLayout();=0A=
=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
      if (element) {=0A=
        if (isBody(element)) break;=0A=
        var p =3D Element.getStyle(element, 'position');=0A=
        if (p !=3D=3D 'static') break;=0A=
      }=0A=
    } while (element);=0A=
=0A=
    valueL -=3D layout.get('margin-top');=0A=
    valueT -=3D layout.get('margin-left');=0A=
=0A=
    return new Element.Offset(valueL, valueT);=0A=
  }=0A=
=0A=
  function cumulativeScrollOffset(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.scrollTop  || 0;=0A=
      valueL +=3D element.scrollLeft || 0;=0A=
      element =3D element.parentNode;=0A=
    } while (element);=0A=
    return new Element.Offset(valueL, valueT);=0A=
  }=0A=
=0A=
  function viewportOffset(forElement) {=0A=
    element =3D $(element);=0A=
    var valueT =3D 0, valueL =3D 0, docBody =3D document.body;=0A=
=0A=
    var element =3D forElement;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      if (element.offsetParent =3D=3D docBody &&=0A=
        Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A=
    } while (element =3D element.offsetParent);=0A=
=0A=
    element =3D forElement;=0A=
    do {=0A=
      if (element !=3D docBody) {=0A=
        valueT -=3D element.scrollTop  || 0;=0A=
        valueL -=3D element.scrollLeft || 0;=0A=
      }=0A=
    } while (element =3D element.parentNode);=0A=
    return new Element.Offset(valueL, valueT);=0A=
  }=0A=
=0A=
  function absolutize(element) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Element.getStyle(element, 'position') =3D=3D=3D 'absolute') {=0A=
      return element;=0A=
    }=0A=
=0A=
    var offsetParent =3D getOffsetParent(element);=0A=
    var eOffset =3D element.viewportOffset(),=0A=
     pOffset =3D offsetParent.viewportOffset();=0A=
=0A=
    var offset =3D eOffset.relativeTo(pOffset);=0A=
    var layout =3D element.getLayout();=0A=
=0A=
    element.store('prototype_absolutize_original_styles', {=0A=
      left:   element.getStyle('left'),=0A=
      top:    element.getStyle('top'),=0A=
      width:  element.getStyle('width'),=0A=
      height: element.getStyle('height')=0A=
    });=0A=
=0A=
    element.setStyle({=0A=
      position: 'absolute',=0A=
      top:    offset.top + 'px',=0A=
      left:   offset.left + 'px',=0A=
      width:  layout.get('width') + 'px',=0A=
      height: layout.get('height') + 'px'=0A=
    });=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function relativize(element) {=0A=
    element =3D $(element);=0A=
    if (Element.getStyle(element, 'position') =3D=3D=3D 'relative') {=0A=
      return element;=0A=
    }=0A=
=0A=
    var originalStyles =3D=0A=
     element.retrieve('prototype_absolutize_original_styles');=0A=
=0A=
    if (originalStyles) element.setStyle(originalStyles);=0A=
    return element;=0A=
  }=0A=
=0A=
  if (Prototype.Browser.IE) {=0A=
    getOffsetParent =3D getOffsetParent.wrap(=0A=
      function(proceed, element) {=0A=
        element =3D $(element);=0A=
=0A=
        if (isDocument(element) || isDetached(element) || =
isBody(element) || isHtml(element))=0A=
          return $(document.body);=0A=
=0A=
        var position =3D element.getStyle('position');=0A=
        if (position !=3D=3D 'static') return proceed(element);=0A=
=0A=
        element.setStyle({ position: 'relative' });=0A=
        var value =3D proceed(element);=0A=
        element.setStyle({ position: position });=0A=
        return value;=0A=
      }=0A=
    );=0A=
=0A=
    positionedOffset =3D positionedOffset.wrap(function(proceed, =
element) {=0A=
      element =3D $(element);=0A=
      if (!element.parentNode) return new Element.Offset(0, 0);=0A=
      var position =3D element.getStyle('position');=0A=
      if (position !=3D=3D 'static') return proceed(element);=0A=
=0A=
      var offsetParent =3D element.getOffsetParent();=0A=
      if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D =
'fixed')=0A=
        hasLayout(offsetParent);=0A=
=0A=
      element.setStyle({ position: 'relative' });=0A=
      var value =3D proceed(element);=0A=
      element.setStyle({ position: position });=0A=
      return value;=0A=
    });=0A=
  } else if (Prototype.Browser.Webkit) {=0A=
    cumulativeOffset =3D function(element) {=0A=
      element =3D $(element);=0A=
      var valueT =3D 0, valueL =3D 0;=0A=
      do {=0A=
        valueT +=3D element.offsetTop  || 0;=0A=
        valueL +=3D element.offsetLeft || 0;=0A=
        if (element.offsetParent =3D=3D document.body)=0A=
          if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;=0A=
=0A=
        element =3D element.offsetParent;=0A=
      } while (element);=0A=
=0A=
      return new Element.Offset(valueL, valueT);=0A=
    };=0A=
  }=0A=
=0A=
=0A=
  Element.addMethods({=0A=
    getLayout:              getLayout,=0A=
    measure:                measure,=0A=
    getDimensions:          getDimensions,=0A=
    getOffsetParent:        getOffsetParent,=0A=
    cumulativeOffset:       cumulativeOffset,=0A=
    positionedOffset:       positionedOffset,=0A=
    cumulativeScrollOffset: cumulativeScrollOffset,=0A=
    viewportOffset:         viewportOffset,=0A=
    absolutize:             absolutize,=0A=
    relativize:             relativize=0A=
  });=0A=
=0A=
  function isBody(element) {=0A=
    return element.nodeName.toUpperCase() =3D=3D=3D 'BODY';=0A=
  }=0A=
=0A=
  function isHtml(element) {=0A=
    return element.nodeName.toUpperCase() =3D=3D=3D 'HTML';=0A=
  }=0A=
=0A=
  function isDocument(element) {=0A=
    return element.nodeType =3D=3D=3D Node.DOCUMENT_NODE;=0A=
  }=0A=
=0A=
  function isDetached(element) {=0A=
    return element !=3D=3D document.body &&=0A=
     !Element.descendantOf(element, document.body);=0A=
  }=0A=
=0A=
  if ('getBoundingClientRect' in document.documentElement) {=0A=
    Element.addMethods({=0A=
      viewportOffset: function(element) {=0A=
        element =3D $(element);=0A=
        if (isDetached(element)) return new Element.Offset(0, 0);=0A=
=0A=
        var rect =3D element.getBoundingClientRect(),=0A=
         docEl =3D document.documentElement;=0A=
        return new Element.Offset(rect.left - docEl.clientLeft,=0A=
         rect.top - docEl.clientTop);=0A=
      }=0A=
    });=0A=
  }=0A=
})();=0A=
window.$$ =3D function() {=0A=
  var expression =3D $A(arguments).join(', ');=0A=
  return Prototype.Selector.select(expression, document);=0A=
};=0A=
=0A=
Prototype.Selector =3D (function() {=0A=
=0A=
  function select() {=0A=
    throw new Error('Method "Prototype.Selector.select" must be =
defined.');=0A=
  }=0A=
=0A=
  function match() {=0A=
    throw new Error('Method "Prototype.Selector.match" must be =
defined.');=0A=
  }=0A=
=0A=
  function find(elements, expression, index) {=0A=
    index =3D index || 0;=0A=
    var match =3D Prototype.Selector.match, length =3D elements.length, =
matchIndex =3D 0, i;=0A=
=0A=
    for (i =3D 0; i < length; i++) {=0A=
      if (match(elements[i], expression) && index =3D=3D matchIndex++) {=0A=
        return Element.extend(elements[i]);=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  function extendElements(elements) {=0A=
    for (var i =3D 0, length =3D elements.length; i < length; i++) {=0A=
      Element.extend(elements[i]);=0A=
    }=0A=
    return elements;=0A=
  }=0A=
=0A=
=0A=
  var K =3D Prototype.K;=0A=
=0A=
  return {=0A=
    select: select,=0A=
    match: match,=0A=
    find: find,=0A=
    extendElements: (Element.extend =3D=3D=3D K) ? K : extendElements,=0A=
    extendElement: Element.extend=0A=
  };=0A=
})();=0A=
Prototype._original_property =3D window.Sizzle;=0A=
/*!=0A=
 * Sizzle CSS Selector Engine - v1.0=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*)?((?:.|\r|\n)*)/g,=0A=
	done =3D 0,=0A=
	toString =3D Object.prototype.toString,=0A=
	hasDuplicate =3D false,=0A=
	baseHasDuplicate =3D true;=0A=
=0A=
[0, 0].sort(function(){=0A=
	baseHasDuplicate =3D false;=0A=
	return 0;=0A=
});=0A=
=0A=
var Sizzle =3D function(selector, context, results, seed) {=0A=
	results =3D results || [];=0A=
	var origContext =3D context =3D context || document;=0A=
=0A=
	if ( context.nodeType !=3D=3D 1 && context.nodeType !=3D=3D 9 ) {=0A=
		return [];=0A=
	}=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, =
contextXML =3D isXML(context),=0A=
		soFar =3D selector;=0A=
=0A=
	while ( (chunker.exec(""), m =3D chunker.exec(soFar)) !=3D=3D null ) {=0A=
		soFar =3D m[3];=0A=
=0A=
		parts.push( m[1] );=0A=
=0A=
		if ( m[2] ) {=0A=
			extra =3D m[3];=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=
		if ( !seed && parts.length > 1 && context.nodeType =3D=3D=3D 9 && =
!contextXML &&=0A=
				Expr.match.ID.test(parts[0]) && =
!Expr.match.ID.test(parts[parts.length - 1]) ) {=0A=
			var ret =3D Sizzle.find( parts.shift(), context, contextXML );=0A=
			context =3D ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : =
ret.set[0];=0A=
		}=0A=
=0A=
		if ( context ) {=0A=
			var ret =3D seed ?=0A=
				{ expr: parts.pop(), set: makeArray(seed) } :=0A=
				Sizzle.find( parts.pop(), parts.length =3D=3D=3D 1 && (parts[0] =
=3D=3D=3D "~" || parts[0] =3D=3D=3D "+") && context.parentNode ? =
context.parentNode : context, contextXML );=0A=
			set =3D ret.expr ? Sizzle.filter( ret.expr, ret.set ) : 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, contextXML );=0A=
			}=0A=
		} else {=0A=
			checkSet =3D parts =3D [];=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 && 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, origContext, results, seed );=0A=
		Sizzle.uniqueSort( results );=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
Sizzle.uniqueSort =3D function(results){=0A=
	if ( sortOrder ) {=0A=
		hasDuplicate =3D baseHasDuplicate;=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=
	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.leftMatch[ type ].exec( expr )) ) {=0A=
			var left =3D match[1];=0A=
			match.splice(1,1);=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=
		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=
	leftMatch: {},=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 ( !/\W/.test(part) ) {=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" && !/\W/.test(part) ) {=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=
				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=
				match[2] =3D (test[1] + (test[2] || 1)) - 0;=0A=
				match[3] =3D test[3] - 0;=0A=
			}=0A=
=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 ( ( chunker.exec(match[3]) || "" ).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=
			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 new RegExp( Expr.match[ type ].source + =
/(?![^\[]*\])(?![^\(]*\))/.source );=0A=
	Expr.leftMatch[ type ] =3D new RegExp( /(^(?:.|\r|\n)*?)/.source + =
Expr.match[ type ].source );=0A=
}=0A=
=0A=
var makeArray =3D function(array, results) {=0A=
	array =3D Array.prototype.slice.call( array, 0 );=0A=
=0A=
	if ( results ) {=0A=
		results.push.apply( results, array );=0A=
		return results;=0A=
	}=0A=
=0A=
	return array;=0A=
};=0A=
=0A=
try {=0A=
	Array.prototype.slice.call( document.documentElement.childNodes, 0 );=0A=
=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=
		if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return 0;=0A=
		}=0A=
=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=
		if ( !a.sourceIndex || !b.sourceIndex ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return 0;=0A=
		}=0A=
=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=
		if ( !a.ownerDocument || !b.ownerDocument ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return 0;=0A=
		}=0A=
=0A=
		var aRange =3D a.ownerDocument.createRange(), bRange =3D =
b.ownerDocument.createRange();=0A=
		aRange.setStart(a, 0);=0A=
		aRange.setEnd(a, 0);=0A=
		bRange.setStart(b, 0);=0A=
		bRange.setEnd(b, 0);=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=
(function(){=0A=
	var form =3D document.createElement("div"),=0A=
		id =3D "script" + (new Date).getTime();=0A=
	form.innerHTML =3D "<a name=3D'" + id + "'/>";=0A=
=0A=
	var root =3D document.documentElement;=0A=
	root.insertBefore( form, root.firstChild );=0A=
=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=
	root =3D form =3D null; // release memory in IE=0A=
})();=0A=
=0A=
(function(){=0A=
=0A=
	var div =3D document.createElement("div");=0A=
	div.appendChild( document.createComment("") );=0A=
=0A=
	if ( div.getElementsByTagName("*").length > 0 ) {=0A=
		Expr.find.TAG =3D function(match, context){=0A=
			var results =3D context.getElementsByTagName(match[1]);=0A=
=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=
	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=
	div =3D null; // release memory in IE=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=
	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=
		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=
	for ( var prop in oldSizzle ) {=0A=
		Sizzle[ prop ] =3D oldSizzle[ prop ];=0A=
	}=0A=
=0A=
	div =3D null; // release memory in IE=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=
	if ( div.getElementsByClassName("e").length =3D=3D=3D 0 )=0A=
		return;=0A=
=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=
	div =3D null; // release memory in IE=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 && elem.ownerDocument.documentElement.nodeName =
!=3D=3D "HTML";=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=
	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=
=0A=
window.Sizzle =3D Sizzle;=0A=
=0A=
})();=0A=
=0A=
;(function(engine) {=0A=
  var extendElements =3D Prototype.Selector.extendElements;=0A=
=0A=
  function select(selector, scope) {=0A=
    return extendElements(engine(selector, scope || document));=0A=
  }=0A=
=0A=
  function match(element, selector) {=0A=
    return engine.matches(selector, [element]).length =3D=3D 1;=0A=
  }=0A=
=0A=
  Prototype.Selector.engine =3D engine;=0A=
  Prototype.Selector.select =3D select;=0A=
  Prototype.Selector.match =3D match;=0A=
})(Sizzle);=0A=
=0A=
window.Sizzle =3D Prototype._original_property;=0A=
delete Prototype._original_property;=0A=
=0A=
var Form =3D {=0A=
  reset: function(form) {=0A=
    form =3D $(form);=0A=
    form.reset();=0A=
    return form;=0A=
  },=0A=
=0A=
  serializeElements: function(elements, options) {=0A=
    if (typeof options !=3D 'object') options =3D { hash: !!options };=0A=
    else if (Object.isUndefined(options.hash)) options.hash =3D true;=0A=
    var key, value, submitted =3D false, submit =3D options.submit, =
accumulator, initial;=0A=
=0A=
    if (options.hash) {=0A=
      initial =3D {};=0A=
      accumulator =3D function(result, key, value) {=0A=
        if (key in result) {=0A=
          if (!Object.isArray(result[key])) result[key] =3D =
[result[key]];=0A=
          result[key].push(value);=0A=
        } else result[key] =3D value;=0A=
        return result;=0A=
      };=0A=
    } else {=0A=
      initial =3D '';=0A=
      accumulator =3D function(result, key, value) {=0A=
        return result + (result ? '&' : '') + encodeURIComponent(key) + =
'=3D' + encodeURIComponent(value);=0A=
      }=0A=
    }=0A=
=0A=
    return elements.inject(initial, function(result, element) {=0A=
      if (!element.disabled && element.name) {=0A=
        key =3D element.name; value =3D $(element).getValue();=0A=
        if (value !=3D null && element.type !=3D 'file' && (element.type =
!=3D 'submit' || (!submitted &&=0A=
            submit !=3D=3D false && (!submit || key =3D=3D submit) && =
(submitted =3D true)))) {=0A=
          result =3D accumulator(result, key, value);=0A=
        }=0A=
      }=0A=
      return result;=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
  serialize: function(form, options) {=0A=
    return Form.serializeElements(Form.getElements(form), options);=0A=
  },=0A=
=0A=
  getElements: function(form) {=0A=
    var elements =3D $(form).getElementsByTagName('*'),=0A=
        element,=0A=
        arr =3D [ ],=0A=
        serializers =3D Form.Element.Serializers;=0A=
    for (var i =3D 0; element =3D elements[i]; i++) {=0A=
      arr.push(element);=0A=
    }=0A=
    return arr.inject([], function(elements, child) {=0A=
      if (serializers[child.tagName.toLowerCase()])=0A=
        elements.push(Element.extend(child));=0A=
      return elements;=0A=
    })=0A=
  },=0A=
=0A=
  getInputs: function(form, typeName, name) {=0A=
    form =3D $(form);=0A=
    var inputs =3D form.getElementsByTagName('input');=0A=
=0A=
    if (!typeName && !name) return $A(inputs).map(Element.extend);=0A=
=0A=
    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {=0A=
      var input =3D inputs[i];=0A=
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))=0A=
        continue;=0A=
      matchingInputs.push(Element.extend(input));=0A=
    }=0A=
=0A=
    return matchingInputs;=0A=
  },=0A=
=0A=
  disable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('disable');=0A=
    return form;=0A=
  },=0A=
=0A=
  enable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('enable');=0A=
    return form;=0A=
  },=0A=
=0A=
  findFirstElement: function(form) {=0A=
    var elements =3D $(form).getElements().findAll(function(element) {=0A=
      return 'hidden' !=3D element.type && !element.disabled;=0A=
    });=0A=
    var firstByIndex =3D elements.findAll(function(element) {=0A=
      return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A=
    }).sortBy(function(element) { return element.tabIndex }).first();=0A=
=0A=
    return firstByIndex ? firstByIndex : elements.find(function(element) =
{=0A=
      return /^(?:input|select|textarea)$/i.test(element.tagName);=0A=
    });=0A=
  },=0A=
=0A=
  focusFirstElement: function(form) {=0A=
    form =3D $(form);=0A=
    var element =3D form.findFirstElement();=0A=
    if (element) element.activate();=0A=
    return form;=0A=
  },=0A=
=0A=
  request: function(form, options) {=0A=
    form =3D $(form), options =3D Object.clone(options || { });=0A=
=0A=
    var params =3D options.parameters, action =3D =
form.readAttribute('action') || '';=0A=
    if (action.blank()) action =3D window.location.href;=0A=
    options.parameters =3D form.serialize(true);=0A=
=0A=
    if (params) {=0A=
      if (Object.isString(params)) params =3D params.toQueryParams();=0A=
      Object.extend(options.parameters, params);=0A=
    }=0A=
=0A=
    if (form.hasAttribute('method') && !options.method)=0A=
      options.method =3D form.method;=0A=
=0A=
    return new Ajax.Request(action, options);=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
=0A=
Form.Element =3D {=0A=
  focus: function(element) {=0A=
    $(element).focus();=0A=
    return element;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    $(element).select();=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Form.Element.Methods =3D {=0A=
=0A=
  serialize: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element.disabled && element.name) {=0A=
      var value =3D element.getValue();=0A=
      if (value !=3D undefined) {=0A=
        var pair =3D { };=0A=
        pair[element.name] =3D value;=0A=
        return Object.toQueryString(pair);=0A=
      }=0A=
    }=0A=
    return '';=0A=
  },=0A=
=0A=
  getValue: function(element) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    return Form.Element.Serializers[method](element);=0A=
  },=0A=
=0A=
  setValue: function(element, value) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    Form.Element.Serializers[method](element, value);=0A=
    return element;=0A=
  },=0A=
=0A=
  clear: function(element) {=0A=
    $(element).value =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  present: function(element) {=0A=
    return $(element).value !=3D '';=0A=
  },=0A=
=0A=
  activate: function(element) {=0A=
    element =3D $(element);=0A=
    try {=0A=
      element.focus();=0A=
      if (element.select && (element.tagName.toLowerCase() !=3D 'input' =
||=0A=
          !(/^(?:button|reset|submit)$/i.test(element.type))))=0A=
        element.select();=0A=
    } catch (e) { }=0A=
    return element;=0A=
  },=0A=
=0A=
  disable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D true;=0A=
    return element;=0A=
  },=0A=
=0A=
  enable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D false;=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Field =3D Form.Element;=0A=
=0A=
var $F =3D Form.Element.Methods.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element.Serializers =3D (function() {=0A=
  function input(element, value) {=0A=
    switch (element.type.toLowerCase()) {=0A=
      case 'checkbox':=0A=
      case 'radio':=0A=
        return inputSelector(element, value);=0A=
      default:=0A=
        return valueSelector(element, value);=0A=
    }=0A=
  }=0A=
=0A=
  function inputSelector(element, value) {=0A=
    if (Object.isUndefined(value))=0A=
      return element.checked ? element.value : null;=0A=
    else element.checked =3D !!value;=0A=
  }=0A=
=0A=
  function valueSelector(element, value) {=0A=
    if (Object.isUndefined(value)) return element.value;=0A=
    else element.value =3D value;=0A=
  }=0A=
=0A=
  function select(element, value) {=0A=
    if (Object.isUndefined(value))=0A=
      return (element.type =3D=3D=3D 'select-one' ? selectOne : =
selectMany)(element);=0A=
=0A=
    var opt, currentValue, single =3D !Object.isArray(value);=0A=
    for (var i =3D 0, length =3D element.length; i < length; i++) {=0A=
      opt =3D element.options[i];=0A=
      currentValue =3D this.optionValue(opt);=0A=
      if (single) {=0A=
        if (currentValue =3D=3D value) {=0A=
          opt.selected =3D true;=0A=
          return;=0A=
        }=0A=
      }=0A=
      else opt.selected =3D value.include(currentValue);=0A=
    }=0A=
  }=0A=
=0A=
  function selectOne(element) {=0A=
    var index =3D element.selectedIndex;=0A=
    return index >=3D 0 ? optionValue(element.options[index]) : null;=0A=
  }=0A=
=0A=
  function selectMany(element) {=0A=
    var values, length =3D element.length;=0A=
    if (!length) return null;=0A=
=0A=
    for (var i =3D 0, values =3D []; i < length; i++) {=0A=
      var opt =3D element.options[i];=0A=
      if (opt.selected) values.push(optionValue(opt));=0A=
    }=0A=
    return values;=0A=
  }=0A=
=0A=
  function optionValue(opt) {=0A=
    return Element.hasAttribute(opt, 'value') ? opt.value : opt.text;=0A=
  }=0A=
=0A=
  return {=0A=
    input:         input,=0A=
    inputSelector: inputSelector,=0A=
    textarea:      valueSelector,=0A=
    select:        select,=0A=
    selectOne:     selectOne,=0A=
    selectMany:    selectMany,=0A=
    optionValue:   optionValue,=0A=
    button:        valueSelector=0A=
  };=0A=
})();=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
=0A=
Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A=
  initialize: function($super, element, frequency, callback) {=0A=
    $super(callback, frequency);=0A=
    this.element   =3D $(element);=0A=
    this.lastValue =3D this.getValue();=0A=
  },=0A=
=0A=
  execute: function() {=0A=
    var value =3D this.getValue();=0A=
    if (Object.isString(this.lastValue) && Object.isString(value) ?=0A=
        this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value)) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D Class.create({=0A=
  initialize: function(element, callback) {=0A=
    this.element  =3D $(element);=0A=
    this.callback =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A=
      this.registerFormCallbacks();=0A=
    else=0A=
      this.registerCallback(this.element);=0A=
  },=0A=
=0A=
  onElementEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  },=0A=
=0A=
  registerFormCallbacks: function() {=0A=
    Form.getElements(this.element).each(this.registerCallback, this);=0A=
  },=0A=
=0A=
  registerCallback: function(element) {=0A=
    if (element.type) {=0A=
      switch (element.type.toLowerCase()) {=0A=
        case 'checkbox':=0A=
        case 'radio':=0A=
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
        default:=0A=
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
      }=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
(function() {=0A=
=0A=
  var Event =3D {=0A=
    KEY_BACKSPACE: 8,=0A=
    KEY_TAB:       9,=0A=
    KEY_RETURN:   13,=0A=
    KEY_ESC:      27,=0A=
    KEY_LEFT:     37,=0A=
    KEY_UP:       38,=0A=
    KEY_RIGHT:    39,=0A=
    KEY_DOWN:     40,=0A=
    KEY_DELETE:   46,=0A=
    KEY_HOME:     36,=0A=
    KEY_END:      35,=0A=
    KEY_PAGEUP:   33,=0A=
    KEY_PAGEDOWN: 34,=0A=
    KEY_INSERT:   45,=0A=
=0A=
    cache: {}=0A=
  };=0A=
=0A=
  var docEl =3D document.documentElement;=0A=
  var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED =3D 'onmouseenter' in docEl=0A=
    && 'onmouseleave' in docEl;=0A=
=0A=
=0A=
=0A=
  var isIELegacyEvent =3D function(event) { return false; };=0A=
=0A=
  if (window.attachEvent) {=0A=
    if (window.addEventListener) {=0A=
      isIELegacyEvent =3D function(event) {=0A=
        return !(event instanceof window.Event);=0A=
      };=0A=
    } else {=0A=
      isIELegacyEvent =3D function(event) { return true; };=0A=
    }=0A=
  }=0A=
=0A=
  var _isButton;=0A=
=0A=
  function _isButtonForDOMEvents(event, code) {=0A=
    return event.which ? (event.which =3D=3D=3D code + 1) : =
(event.button =3D=3D=3D code);=0A=
  }=0A=
=0A=
  var legacyButtonMap =3D { 0: 1, 1: 4, 2: 2 };=0A=
  function _isButtonForLegacyEvents(event, code) {=0A=
    return event.button =3D=3D=3D legacyButtonMap[code];=0A=
  }=0A=
=0A=
  function _isButtonForWebKit(event, code) {=0A=
    switch (code) {=0A=
      case 0: return event.which =3D=3D 1 && !event.metaKey;=0A=
      case 1: return event.which =3D=3D 2 || (event.which =3D=3D 1 && =
event.metaKey);=0A=
      case 2: return event.which =3D=3D 3;=0A=
      default: return false;=0A=
    }=0A=
  }=0A=
=0A=
  if (window.attachEvent) {=0A=
    if (!window.addEventListener) {=0A=
      _isButton =3D _isButtonForLegacyEvents;=0A=
    } else {=0A=
      _isButton =3D function(event, code) {=0A=
        return isIELegacyEvent(event) ? _isButtonForLegacyEvents(event, =
code) :=0A=
         _isButtonForDOMEvents(event, code);=0A=
      }=0A=
    }=0A=
  } else if (Prototype.Browser.WebKit) {=0A=
    _isButton =3D _isButtonForWebKit;=0A=
  } else {=0A=
    _isButton =3D _isButtonForDOMEvents;=0A=
  }=0A=
=0A=
  function isLeftClick(event)   { return _isButton(event, 0) }=0A=
=0A=
  function isMiddleClick(event) { return _isButton(event, 1) }=0A=
=0A=
  function isRightClick(event)  { return _isButton(event, 2) }=0A=
=0A=
  function element(event) {=0A=
    event =3D Event.extend(event);=0A=
=0A=
    var node =3D event.target, type =3D event.type,=0A=
     currentTarget =3D event.currentTarget;=0A=
=0A=
    if (currentTarget && currentTarget.tagName) {=0A=
      if (type =3D=3D=3D 'load' || type =3D=3D=3D 'error' ||=0A=
        (type =3D=3D=3D 'click' && currentTarget.tagName.toLowerCase() =
=3D=3D=3D 'input'=0A=
          && currentTarget.type =3D=3D=3D 'radio'))=0A=
            node =3D currentTarget;=0A=
    }=0A=
=0A=
    if (node.nodeType =3D=3D Node.TEXT_NODE)=0A=
      node =3D node.parentNode;=0A=
=0A=
    return Element.extend(node);=0A=
  }=0A=
=0A=
  function findElement(event, expression) {=0A=
    var element =3D Event.element(event);=0A=
=0A=
    if (!expression) return element;=0A=
    while (element) {=0A=
      if (Object.isElement(element) && Prototype.Selector.match(element, =
expression)) {=0A=
        return Element.extend(element);=0A=
      }=0A=
      element =3D element.parentNode;=0A=
    }=0A=
  }=0A=
=0A=
  function pointer(event) {=0A=
    return { x: pointerX(event), y: pointerY(event) };=0A=
  }=0A=
=0A=
  function pointerX(event) {=0A=
    var docElement =3D document.documentElement,=0A=
     body =3D document.body || { scrollLeft: 0 };=0A=
=0A=
    return event.pageX || (event.clientX +=0A=
      (docElement.scrollLeft || body.scrollLeft) -=0A=
      (docElement.clientLeft || 0));=0A=
  }=0A=
=0A=
  function pointerY(event) {=0A=
    var docElement =3D document.documentElement,=0A=
     body =3D document.body || { scrollTop: 0 };=0A=
=0A=
    return  event.pageY || (event.clientY +=0A=
       (docElement.scrollTop || body.scrollTop) -=0A=
       (docElement.clientTop || 0));=0A=
  }=0A=
=0A=
=0A=
  function stop(event) {=0A=
    Event.extend(event);=0A=
    event.preventDefault();=0A=
    event.stopPropagation();=0A=
=0A=
    event.stopped =3D true;=0A=
  }=0A=
=0A=
=0A=
  Event.Methods =3D {=0A=
    isLeftClick:   isLeftClick,=0A=
    isMiddleClick: isMiddleClick,=0A=
    isRightClick:  isRightClick,=0A=
=0A=
    element:     element,=0A=
    findElement: findElement,=0A=
=0A=
    pointer:  pointer,=0A=
    pointerX: pointerX,=0A=
    pointerY: pointerY,=0A=
=0A=
    stop: stop=0A=
  };=0A=
=0A=
  var methods =3D Object.keys(Event.Methods).inject({ }, function(m, =
name) {=0A=
    m[name] =3D Event.Methods[name].methodize();=0A=
    return m;=0A=
  });=0A=
=0A=
  if (window.attachEvent) {=0A=
    function _relatedTarget(event) {=0A=
      var element;=0A=
      switch (event.type) {=0A=
        case 'mouseover':=0A=
        case 'mouseenter':=0A=
          element =3D event.fromElement;=0A=
          break;=0A=
        case 'mouseout':=0A=
        case 'mouseleave':=0A=
          element =3D event.toElement;=0A=
          break;=0A=
        default:=0A=
          return null;=0A=
      }=0A=
      return Element.extend(element);=0A=
    }=0A=
=0A=
    var additionalMethods =3D {=0A=
      stopPropagation: function() { this.cancelBubble =3D true },=0A=
      preventDefault:  function() { this.returnValue =3D false },=0A=
      inspect: function() { return '[object Event]' }=0A=
    };=0A=
=0A=
    Event.extend =3D function(event, element) {=0A=
      if (!event) return false;=0A=
=0A=
      if (!isIELegacyEvent(event)) return event;=0A=
=0A=
      if (event._extendedByPrototype) return event;=0A=
      event._extendedByPrototype =3D Prototype.emptyFunction;=0A=
=0A=
      var pointer =3D Event.pointer(event);=0A=
=0A=
      Object.extend(event, {=0A=
        target: event.srcElement || element,=0A=
        relatedTarget: _relatedTarget(event),=0A=
        pageX:  pointer.x,=0A=
        pageY:  pointer.y=0A=
      });=0A=
=0A=
      Object.extend(event, methods);=0A=
      Object.extend(event, additionalMethods);=0A=
=0A=
      return event;=0A=
    };=0A=
  } else {=0A=
    Event.extend =3D Prototype.K;=0A=
  }=0A=
=0A=
  if (window.addEventListener) {=0A=
    Event.prototype =3D window.Event.prototype || =
document.createEvent('HTMLEvents').__proto__;=0A=
    Object.extend(Event.prototype, methods);=0A=
  }=0A=
=0A=
  function _createResponder(element, eventName, handler) {=0A=
    var registry =3D Element.retrieve(element, =
'prototype_event_registry');=0A=
=0A=
    if (Object.isUndefined(registry)) {=0A=
      CACHE.push(element);=0A=
      registry =3D Element.retrieve(element, 'prototype_event_registry', =
$H());=0A=
    }=0A=
=0A=
    var respondersForEvent =3D registry.get(eventName);=0A=
    if (Object.isUndefined(respondersForEvent)) {=0A=
      respondersForEvent =3D [];=0A=
      registry.set(eventName, respondersForEvent);=0A=
    }=0A=
=0A=
    if (respondersForEvent.pluck('handler').include(handler)) return =
false;=0A=
=0A=
    var responder;=0A=
    if (eventName.include(":")) {=0A=
      responder =3D function(event) {=0A=
        if (Object.isUndefined(event.eventName))=0A=
          return false;=0A=
=0A=
        if (event.eventName !=3D=3D eventName)=0A=
          return false;=0A=
=0A=
        Event.extend(event, element);=0A=
        handler.call(element, event);=0A=
      };=0A=
    } else {=0A=
      if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED &&=0A=
       (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D =
"mouseleave")) {=0A=
        if (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D =
"mouseleave") {=0A=
          responder =3D function(event) {=0A=
            Event.extend(event, element);=0A=
=0A=
            var parent =3D event.relatedTarget;=0A=
            while (parent && parent !=3D=3D element) {=0A=
              try { parent =3D parent.parentNode; }=0A=
              catch(e) { parent =3D element; }=0A=
            }=0A=
=0A=
            if (parent =3D=3D=3D element) return;=0A=
=0A=
            handler.call(element, event);=0A=
          };=0A=
        }=0A=
      } else {=0A=
        responder =3D function(event) {=0A=
          Event.extend(event, element);=0A=
          handler.call(element, event);=0A=
        };=0A=
      }=0A=
    }=0A=
=0A=
    responder.handler =3D handler;=0A=
    respondersForEvent.push(responder);=0A=
    return responder;=0A=
  }=0A=
=0A=
  function _destroyCache() {=0A=
    for (var i =3D 0, length =3D CACHE.length; i < length; i++) {=0A=
      Event.stopObserving(CACHE[i]);=0A=
      CACHE[i] =3D null;=0A=
    }=0A=
  }=0A=
=0A=
  var CACHE =3D [];=0A=
=0A=
  if (Prototype.Browser.IE)=0A=
    window.attachEvent('onunload', _destroyCache);=0A=
=0A=
  if (Prototype.Browser.WebKit)=0A=
    window.addEventListener('unload', Prototype.emptyFunction, false);=0A=
=0A=
=0A=
  var _getDOMEventName =3D Prototype.K,=0A=
      translations =3D { mouseenter: "mouseover", mouseleave: "mouseout" =
};=0A=
=0A=
  if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) {=0A=
    _getDOMEventName =3D function(eventName) {=0A=
      return (translations[eventName] || eventName);=0A=
    };=0A=
  }=0A=
=0A=
  function observe(element, eventName, handler) {=0A=
    element =3D $(element);=0A=
=0A=
    var responder =3D _createResponder(element, eventName, handler);=0A=
=0A=
    if (!responder) return element;=0A=
=0A=
    if (eventName.include(':')) {=0A=
      if (element.addEventListener)=0A=
        element.addEventListener("dataavailable", responder, false);=0A=
      else {=0A=
        element.attachEvent("ondataavailable", responder);=0A=
        element.attachEvent("onlosecapture", responder);=0A=
      }=0A=
    } else {=0A=
      var actualEventName =3D _getDOMEventName(eventName);=0A=
=0A=
      if (element.addEventListener)=0A=
        element.addEventListener(actualEventName, responder, false);=0A=
      else=0A=
        element.attachEvent("on" + actualEventName, responder);=0A=
    }=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function stopObserving(element, eventName, handler) {=0A=
    element =3D $(element);=0A=
=0A=
    var registry =3D Element.retrieve(element, =
'prototype_event_registry');=0A=
    if (!registry) return element;=0A=
=0A=
    if (!eventName) {=0A=
      registry.each( function(pair) {=0A=
        var eventName =3D pair.key;=0A=
        stopObserving(element, eventName);=0A=
      });=0A=
      return element;=0A=
    }=0A=
=0A=
    var responders =3D registry.get(eventName);=0A=
    if (!responders) return element;=0A=
=0A=
    if (!handler) {=0A=
      responders.each(function(r) {=0A=
        stopObserving(element, eventName, r.handler);=0A=
      });=0A=
      return element;=0A=
    }=0A=
=0A=
    var i =3D responders.length, responder;=0A=
    while (i--) {=0A=
      if (responders[i].handler =3D=3D=3D handler) {=0A=
        responder =3D responders[i];=0A=
        break;=0A=
      }=0A=
    }=0A=
    if (!responder) return element;=0A=
=0A=
    if (eventName.include(':')) {=0A=
      if (element.removeEventListener)=0A=
        element.removeEventListener("dataavailable", responder, false);=0A=
      else {=0A=
        element.detachEvent("ondataavailable", responder);=0A=
        element.detachEvent("onlosecapture", responder);=0A=
      }=0A=
    } else {=0A=
      var actualEventName =3D _getDOMEventName(eventName);=0A=
      if (element.removeEventListener)=0A=
        element.removeEventListener(actualEventName, responder, false);=0A=
      else=0A=
        element.detachEvent('on' + actualEventName, responder);=0A=
    }=0A=
=0A=
    registry.set(eventName, responders.without(responder));=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function fire(element, eventName, memo, bubble) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Object.isUndefined(bubble))=0A=
      bubble =3D true;=0A=
=0A=
    if (element =3D=3D document && document.createEvent && =
!element.dispatchEvent)=0A=
      element =3D document.documentElement;=0A=
=0A=
    var event;=0A=
    if (document.createEvent) {=0A=
      event =3D document.createEvent('HTMLEvents');=0A=
      event.initEvent('dataavailable', bubble, true);=0A=
    } else {=0A=
      event =3D document.createEventObject();=0A=
      event.eventType =3D bubble ? 'ondataavailable' : 'onlosecapture';=0A=
    }=0A=
=0A=
    event.eventName =3D eventName;=0A=
    event.memo =3D memo || { };=0A=
=0A=
    if (document.createEvent)=0A=
      element.dispatchEvent(event);=0A=
    else=0A=
      element.fireEvent(event.eventType, event);=0A=
=0A=
    return Event.extend(event);=0A=
  }=0A=
=0A=
  Event.Handler =3D Class.create({=0A=
    initialize: function(element, eventName, selector, callback) {=0A=
      this.element   =3D $(element);=0A=
      this.eventName =3D eventName;=0A=
      this.selector  =3D selector;=0A=
      this.callback  =3D callback;=0A=
      this.handler   =3D this.handleEvent.bind(this);=0A=
    },=0A=
=0A=
    start: function() {=0A=
      Event.observe(this.element, this.eventName, this.handler);=0A=
      return this;=0A=
    },=0A=
=0A=
    stop: function() {=0A=
      Event.stopObserving(this.element, this.eventName, this.handler);=0A=
      return this;=0A=
    },=0A=
=0A=
    handleEvent: function(event) {=0A=
      var element =3D Event.findElement(event, this.selector);=0A=
      if (element) this.callback.call(this.element, event, element);=0A=
    }=0A=
  });=0A=
=0A=
  function on(element, eventName, selector, callback) {=0A=
    element =3D $(element);=0A=
    if (Object.isFunction(selector) && Object.isUndefined(callback)) {=0A=
      callback =3D selector, selector =3D null;=0A=
    }=0A=
=0A=
    return new Event.Handler(element, eventName, selector, =
callback).start();=0A=
  }=0A=
=0A=
  Object.extend(Event, Event.Methods);=0A=
=0A=
  Object.extend(Event, {=0A=
    fire:          fire,=0A=
    observe:       observe,=0A=
    stopObserving: stopObserving,=0A=
    on:            on=0A=
  });=0A=
=0A=
  Element.addMethods({=0A=
    fire:          fire,=0A=
=0A=
    observe:       observe,=0A=
=0A=
    stopObserving: stopObserving,=0A=
=0A=
    on:            on=0A=
  });=0A=
=0A=
  Object.extend(document, {=0A=
    fire:          fire.methodize(),=0A=
=0A=
    observe:       observe.methodize(),=0A=
=0A=
    stopObserving: stopObserving.methodize(),=0A=
=0A=
    on:            on.methodize(),=0A=
=0A=
    loaded:        false=0A=
  });=0A=
=0A=
  if (window.Event) Object.extend(window.Event, Event);=0A=
  else window.Event =3D Event;=0A=
})();=0A=
=0A=
(function() {=0A=
  /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A=
     Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */=0A=
=0A=
  var timer;=0A=
=0A=
  function fireContentLoadedEvent() {=0A=
    if (document.loaded) return;=0A=
    if (timer) window.clearTimeout(timer);=0A=
    document.loaded =3D true;=0A=
    document.fire('dom:loaded');=0A=
  }=0A=
=0A=
  function checkReadyState() {=0A=
    if (document.readyState =3D=3D=3D 'complete') {=0A=
      document.stopObserving('readystatechange', checkReadyState);=0A=
      fireContentLoadedEvent();=0A=
    }=0A=
  }=0A=
=0A=
  function pollDoScroll() {=0A=
    try { document.documentElement.doScroll('left'); }=0A=
    catch(e) {=0A=
      timer =3D pollDoScroll.defer();=0A=
      return;=0A=
    }=0A=
    fireContentLoadedEvent();=0A=
  }=0A=
=0A=
  if (document.addEventListener) {=0A=
    document.addEventListener('DOMContentLoaded', =
fireContentLoadedEvent, false);=0A=
  } else {=0A=
    document.observe('readystatechange', checkReadyState);=0A=
    if (window =3D=3D top)=0A=
      timer =3D pollDoScroll.defer();=0A=
  }=0A=
=0A=
  Event.observe(window, 'load', fireContentLoadedEvent);=0A=
})();=0A=
=0A=
Element.addMethods();=0A=
=0A=
/*------------------------------- DEPRECATED =
-------------------------------*/=0A=
=0A=
Hash.toQueryString =3D Object.toQueryString;=0A=
=0A=
var Toggle =3D { display: Element.toggle };=0A=
=0A=
Element.Methods.childOf =3D Element.Methods.descendantOf;=0A=
=0A=
var Insertion =3D {=0A=
  Before: function(element, content) {=0A=
    return Element.insert(element, {before:content});=0A=
  },=0A=
=0A=
  Top: function(element, content) {=0A=
    return Element.insert(element, {top:content});=0A=
  },=0A=
=0A=
  Bottom: function(element, content) {=0A=
    return Element.insert(element, {bottom:content});=0A=
  },=0A=
=0A=
  After: function(element, content) {=0A=
    return Element.insert(element, {after:content});=0A=
  }=0A=
};=0A=
=0A=
var $continue =3D new Error('"throw $continue" is deprecated, use =
"return" instead');=0A=
=0A=
var Position =3D {=0A=
  includeScrollOffsets: false,=0A=
=0A=
  prepare: function() {=0A=
    this.deltaX =3D  window.pageXOffset=0A=
                || document.documentElement.scrollLeft=0A=
                || document.body.scrollLeft=0A=
                || 0;=0A=
    this.deltaY =3D  window.pageYOffset=0A=
                || document.documentElement.scrollTop=0A=
                || document.body.scrollTop=0A=
                || 0;=0A=
  },=0A=
=0A=
  within: function(element, x, y) {=0A=
    if (this.includeScrollOffsets)=0A=
      return this.withinIncludingScrolloffsets(element, x, y);=0A=
    this.xcomp =3D x;=0A=
    this.ycomp =3D y;=0A=
    this.offset =3D Element.cumulativeOffset(element);=0A=
=0A=
    return (y >=3D this.offset[1] &&=0A=
            y <  this.offset[1] + element.offsetHeight &&=0A=
            x >=3D this.offset[0] &&=0A=
            x <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  withinIncludingScrolloffsets: function(element, x, y) {=0A=
    var offsetcache =3D Element.cumulativeScrollOffset(element);=0A=
=0A=
    this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
    this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
    this.offset =3D Element.cumulativeOffset(element);=0A=
=0A=
    return (this.ycomp >=3D this.offset[1] &&=0A=
            this.ycomp <  this.offset[1] + element.offsetHeight &&=0A=
            this.xcomp >=3D this.offset[0] &&=0A=
            this.xcomp <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  overlap: function(mode, element) {=0A=
    if (!mode) return 0;=0A=
    if (mode =3D=3D 'vertical')=0A=
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A=
        element.offsetHeight;=0A=
    if (mode =3D=3D 'horizontal')=0A=
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A=
        element.offsetWidth;=0A=
  },=0A=
=0A=
=0A=
  cumulativeOffset: Element.Methods.cumulativeOffset,=0A=
=0A=
  positionedOffset: Element.Methods.positionedOffset,=0A=
=0A=
  absolutize: function(element) {=0A=
    Position.prepare();=0A=
    return Element.absolutize(element);=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    Position.prepare();=0A=
    return Element.relativize(element);=0A=
  },=0A=
=0A=
  realOffset: Element.Methods.cumulativeScrollOffset,=0A=
=0A=
  offsetParent: Element.Methods.getOffsetParent,=0A=
=0A=
  page: Element.Methods.viewportOffset,=0A=
=0A=
  clone: function(source, target, options) {=0A=
    options =3D options || { };=0A=
    return Element.clonePosition(target, source, options);=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!document.getElementsByClassName) document.getElementsByClassName =
=3D function(instanceMethods){=0A=
  function iter(name) {=0A=
    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' =
" + name + " ')]";=0A=
  }=0A=
=0A=
  instanceMethods.getElementsByClassName =3D =
Prototype.BrowserFeatures.XPath ?=0A=
  function(element, className) {=0A=
    className =3D className.toString().strip();=0A=
    var cond =3D /\s/.test(className) ? $w(className).map(iter).join('') =
: iter(className);=0A=
    return cond ? document._getElementsByXPath('.//*' + cond, element) : =
[];=0A=
  } : function(element, className) {=0A=
    className =3D className.toString().strip();=0A=
    var elements =3D [], classNames =3D (/\s/.test(className) ? =
$w(className) : null);=0A=
    if (!classNames && !className) return elements;=0A=
=0A=
    var nodes =3D $(element).getElementsByTagName('*');=0A=
    className =3D ' ' + className + ' ';=0A=
=0A=
    for (var i =3D 0, child, cn; child =3D nodes[i]; i++) {=0A=
      if (child.className && (cn =3D ' ' + child.className + ' ') && =
(cn.include(className) ||=0A=
          (classNames && classNames.all(function(name) {=0A=
            return !name.toString().blank() && cn.include(' ' + name + ' =
');=0A=
          }))))=0A=
        elements.push(Element.extend(child));=0A=
    }=0A=
    return elements;=0A=
  };=0A=
=0A=
  return function(className, parentElement) {=0A=
    return $(parentElement || =
document.body).getElementsByClassName(className);=0A=
  };=0A=
}(Element.Methods);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.ClassNames =3D Class.create();=0A=
Element.ClassNames.prototype =3D {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    this.element.className.split(/\s+/).select(function(name) {=0A=
      return name.length > 0;=0A=
    })._each(iterator);=0A=
  },=0A=
=0A=
  set: function(className) {=0A=
    this.element.className =3D className;=0A=
  },=0A=
=0A=
  add: function(classNameToAdd) {=0A=
    if (this.include(classNameToAdd)) return;=0A=
    this.set($A(this).concat(classNameToAdd).join(' '));=0A=
  },=0A=
=0A=
  remove: function(classNameToRemove) {=0A=
    if (!this.include(classNameToRemove)) return;=0A=
    this.set($A(this).without(classNameToRemove).join(' '));=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return $A(this).join(' ');=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.ClassNames.prototype, Enumerable);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
(function() {=0A=
  window.Selector =3D Class.create({=0A=
    initialize: function(expression) {=0A=
      this.expression =3D expression.strip();=0A=
    },=0A=
=0A=
    findElements: function(rootElement) {=0A=
      return Prototype.Selector.select(this.expression, rootElement);=0A=
    },=0A=
=0A=
    match: function(element) {=0A=
      return Prototype.Selector.match(element, this.expression);=0A=
    },=0A=
=0A=
    toString: function() {=0A=
      return this.expression;=0A=
    },=0A=
=0A=
    inspect: function() {=0A=
      return "#<Selector: " + this.expression + ">";=0A=
    }=0A=
  });=0A=
=0A=
  Object.extend(Selector, {=0A=
    matchElements: function(elements, expression) {=0A=
      var match =3D Prototype.Selector.match,=0A=
          results =3D [];=0A=
=0A=
      for (var i =3D 0, length =3D elements.length; i < length; i++) {=0A=
        var element =3D elements[i];=0A=
        if (match(element, expression)) {=0A=
          results.push(Element.extend(element));=0A=
        }=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    findElement: function(elements, expression, index) {=0A=
      index =3D index || 0;=0A=
      var matchIndex =3D 0, element;=0A=
      for (var i =3D 0, length =3D elements.length; i < length; i++) {=0A=
        element =3D elements[i];=0A=
        if (Prototype.Selector.match(element, expression) && index =
=3D=3D=3D matchIndex++) {=0A=
          return Element.extend(element);=0A=
        }=0A=
      }=0A=
    },=0A=
=0A=
    findChildElements: function(element, expressions) {=0A=
      var selector =3D expressions.toArray().join(', ');=0A=
      return Prototype.Selector.select(selector, element || document);=0A=
    }=0A=
  });=0A=
})();=0A=

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/effects.js

// script.aculo.us effects.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008=0A=
=0A=
// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
// Contributors:=0A=
//  Justin Palmer (http://encytemedia.com/)=0A=
//  Mark Pilgrim (http://diveintomark.org/)=0A=
//  Martin Bialasinki=0A=
// =0A=
// script.aculo.us is freely distributable under the terms of an =
MIT-style license.=0A=
// For details, see the script.aculo.us web site: =
http://script.aculo.us/ =0A=
=0A=
// converts rgb() and #xxx to #xxxxxx format,  =0A=
// returns self (or first argument) if not convertable  =0A=
String.prototype.parseColor =3D function() {  =0A=
  var color =3D '#';=0A=
  if (this.slice(0,4) =3D=3D 'rgb(') {  =0A=
    var cols =3D this.slice(4,this.length-1).split(',');  =0A=
    var i=3D0; do { color +=3D parseInt(cols[i]).toColorPart() } while =
(++i<3);  =0A=
  } else {  =0A=
    if (this.slice(0,1) =3D=3D '#') {  =0A=
      if (this.length=3D=3D4) for(var i=3D1;i<4;i++) color +=3D =
(this.charAt(i) + this.charAt(i)).toLowerCase();  =0A=
      if (this.length=3D=3D7) color =3D this.toLowerCase();  =0A=
    }  =0A=
  }  =0A=
  return (color.length=3D=3D7 ? color : (arguments[0] || this));  =0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.collectTextNodes =3D function(element) {  =0A=
  return $A($(element).childNodes).collect( function(node) {=0A=
    return (node.nodeType=3D=3D3 ? node.nodeValue : =0A=
      (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));=0A=
  }).flatten().join('');=0A=
};=0A=
=0A=
Element.collectTextNodesIgnoreClass =3D function(element, className) {  =0A=
  return $A($(element).childNodes).collect( function(node) {=0A=
    return (node.nodeType=3D=3D3 ? node.nodeValue : =0A=
      ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? =0A=
        Element.collectTextNodesIgnoreClass(node, className) : ''));=0A=
  }).flatten().join('');=0A=
};=0A=
=0A=
Element.setContentZoom =3D function(element, percent) {=0A=
  element =3D $(element);  =0A=
  element.setStyle({fontSize: (percent/100) + 'em'});   =0A=
  if (Prototype.Browser.WebKit) window.scrollBy(0,0);=0A=
  return element;=0A=
};=0A=
=0A=
Element.getInlineOpacity =3D function(element){=0A=
  return $(element).style.opacity || '';=0A=
};=0A=
=0A=
Element.forceRerendering =3D function(element) {=0A=
  try {=0A=
    element =3D $(element);=0A=
    var n =3D document.createTextNode(' ');=0A=
    element.appendChild(n);=0A=
    element.removeChild(n);=0A=
  } catch(e) { }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Effect =3D {=0A=
  _elementDoesNotExistError: {=0A=
    name: 'ElementDoesNotExistError',=0A=
    message: 'The specified DOM element does not exist, but is required =
for this effect to operate'=0A=
  },=0A=
  Transitions: {=0A=
    linear: Prototype.K,=0A=
    sinoidal: function(pos) {=0A=
      return (-Math.cos(pos*Math.PI)/2) + 0.5;=0A=
    },=0A=
    reverse: function(pos) {=0A=
      return 1-pos;=0A=
    },=0A=
    flicker: function(pos) {=0A=
      var pos =3D ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4;=0A=
      return pos > 1 ? 1 : pos;=0A=
    },=0A=
    wobble: function(pos) {=0A=
      return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;=0A=
    },=0A=
    pulse: function(pos, pulses) { =0A=
      pulses =3D pulses || 5; =0A=
      return (=0A=
        ((pos % (1/pulses)) * pulses).round() =3D=3D 0 ? =0A=
              ((pos * pulses * 2) - (pos * pulses * 2).floor()) : =0A=
          1 - ((pos * pulses * 2) - (pos * pulses * 2).floor())=0A=
        );=0A=
    },=0A=
    spring: function(pos) { =0A=
      return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6)); =0A=
    },=0A=
    none: function(pos) {=0A=
      return 0;=0A=
    },=0A=
    full: function(pos) {=0A=
      return 1;=0A=
    }=0A=
  },=0A=
  DefaultOptions: {=0A=
    duration:   1.0,   // seconds=0A=
    fps:        100,   // 100=3D assume 66fps max.=0A=
    sync:       false, // true for combining=0A=
    from:       0.0,=0A=
    to:         1.0,=0A=
    delay:      0.0,=0A=
    queue:      'parallel'=0A=
  },=0A=
  tagifyText: function(element) {=0A=
    var tagifyStyle =3D 'position:relative';=0A=
    if (Prototype.Browser.IE) tagifyStyle +=3D ';zoom:1';=0A=
    =0A=
    element =3D $(element);=0A=
    $A(element.childNodes).each( function(child) {=0A=
      if (child.nodeType=3D=3D3) {=0A=
        child.nodeValue.toArray().each( function(character) {=0A=
          element.insertBefore(=0A=
            new Element('span', {style: tagifyStyle}).update(=0A=
              character =3D=3D ' ' ? String.fromCharCode(160) : =
character), =0A=
              child);=0A=
        });=0A=
        Element.remove(child);=0A=
      }=0A=
    });=0A=
  },=0A=
  multiple: function(element, effect) {=0A=
    var elements;=0A=
    if (((typeof element =3D=3D 'object') || =0A=
        Object.isFunction(element)) && =0A=
       (element.length))=0A=
      elements =3D element;=0A=
    else=0A=
      elements =3D $(element).childNodes;=0A=
      =0A=
    var options =3D Object.extend({=0A=
      speed: 0.1,=0A=
      delay: 0.0=0A=
    }, arguments[2] || { });=0A=
    var masterDelay =3D options.delay;=0A=
=0A=
    $A(elements).each( function(element, index) {=0A=
      new effect(element, Object.extend(options, { delay: index * =
options.speed + masterDelay }));=0A=
    });=0A=
  },=0A=
  PAIRS: {=0A=
    'slide':  ['SlideDown','SlideUp'],=0A=
    'blind':  ['BlindDown','BlindUp'],=0A=
    'appear': ['Appear','Fade']=0A=
  },=0A=
  toggle: function(element, effect) {=0A=
    element =3D $(element);=0A=
    effect =3D (effect || 'appear').toLowerCase();=0A=
    var options =3D Object.extend({=0A=
      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }=0A=
    }, arguments[2] || { });=0A=
    Effect[element.visible() ? =0A=
      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, =
options);=0A=
  }=0A=
};=0A=
=0A=
Effect.DefaultOptions.transition =3D Effect.Transitions.sinoidal;=0A=
=0A=
/* ------------- core effects ------------- */=0A=
=0A=
Effect.ScopedQueue =3D Class.create(Enumerable, {=0A=
  initialize: function() {=0A=
    this.effects  =3D [];=0A=
    this.interval =3D null;    =0A=
  },=0A=
  _each: function(iterator) {=0A=
    this.effects._each(iterator);=0A=
  },=0A=
  add: function(effect) {=0A=
    var timestamp =3D new Date().getTime();=0A=
    =0A=
    var position =3D Object.isString(effect.options.queue) ? =0A=
      effect.options.queue : effect.options.queue.position;=0A=
    =0A=
    switch(position) {=0A=
      case 'front':=0A=
        // move unstarted effects after this effect  =0A=
        this.effects.findAll(function(e){ return e.state=3D=3D'idle' =
}).each( function(e) {=0A=
            e.startOn  +=3D effect.finishOn;=0A=
            e.finishOn +=3D effect.finishOn;=0A=
          });=0A=
        break;=0A=
      case 'with-last':=0A=
        timestamp =3D this.effects.pluck('startOn').max() || timestamp;=0A=
        break;=0A=
      case 'end':=0A=
        // start effect after last queued effect has finished=0A=
        timestamp =3D this.effects.pluck('finishOn').max() || timestamp;=0A=
        break;=0A=
    }=0A=
    =0A=
    effect.startOn  +=3D timestamp;=0A=
    effect.finishOn +=3D timestamp;=0A=
=0A=
    if (!effect.options.queue.limit || (this.effects.length < =
effect.options.queue.limit))=0A=
      this.effects.push(effect);=0A=
    =0A=
    if (!this.interval)=0A=
      this.interval =3D setInterval(this.loop.bind(this), 15);=0A=
  },=0A=
  remove: function(effect) {=0A=
    this.effects =3D this.effects.reject(function(e) { return =
e=3D=3Deffect });=0A=
    if (this.effects.length =3D=3D 0) {=0A=
      clearInterval(this.interval);=0A=
      this.interval =3D null;=0A=
    }=0A=
  },=0A=
  loop: function() {=0A=
    var timePos =3D new Date().getTime();=0A=
    for(var i=3D0, len=3Dthis.effects.length;i<len;i++) =0A=
      this.effects[i] && this.effects[i].loop(timePos);=0A=
  }=0A=
});=0A=
=0A=
Effect.Queues =3D {=0A=
  instances: $H(),=0A=
  get: function(queueName) {=0A=
    if (!Object.isString(queueName)) return queueName;=0A=
    =0A=
    return this.instances.get(queueName) ||=0A=
      this.instances.set(queueName, new Effect.ScopedQueue());=0A=
  }=0A=
};=0A=
Effect.Queue =3D Effect.Queues.get('global');=0A=
=0A=
Effect.Base =3D Class.create({=0A=
  position: null,=0A=
  start: function(options) {=0A=
    function codeForEvent(options,eventName){=0A=
      return (=0A=
        (options[eventName+'Internal'] ? =
'this.options.'+eventName+'Internal(this);' : '') +=0A=
        (options[eventName] ? 'this.options.'+eventName+'(this);' : '')=0A=
      );=0A=
    }=0A=
    if (options && options.transition =3D=3D=3D false) =
options.transition =3D Effect.Transitions.linear;=0A=
    this.options      =3D Object.extend(Object.extend({ =
},Effect.DefaultOptions), options || { });=0A=
    this.currentFrame =3D 0;=0A=
    this.state        =3D 'idle';=0A=
    this.startOn      =3D this.options.delay*1000;=0A=
    this.finishOn     =3D this.startOn+(this.options.duration*1000);=0A=
    this.fromToDelta  =3D this.options.to-this.options.from;=0A=
    this.totalTime    =3D this.finishOn-this.startOn;=0A=
    this.totalFrames  =3D this.options.fps*this.options.duration;=0A=
    =0A=
    eval('this.render =3D function(pos){ '+=0A=
      'if (this.state=3D=3D"idle"){this.state=3D"running";'+=0A=
      codeForEvent(this.options,'beforeSetup')+=0A=
      (this.setup ? 'this.setup();':'')+ =0A=
      codeForEvent(this.options,'afterSetup')+=0A=
      '};if (this.state=3D=3D"running"){'+=0A=
      =
'pos=3Dthis.options.transition(pos)*'+this.fromToDelta+'+'+this.options.f=
rom+';'+=0A=
      'this.position=3Dpos;'+=0A=
      codeForEvent(this.options,'beforeUpdate')+=0A=
      (this.update ? 'this.update(pos);':'')+=0A=
      codeForEvent(this.options,'afterUpdate')+=0A=
      '}}');=0A=
    =0A=
    this.event('beforeStart');=0A=
    if (!this.options.sync)=0A=
      Effect.Queues.get(Object.isString(this.options.queue) ? =0A=
        'global' : this.options.queue.scope).add(this);=0A=
  },=0A=
  loop: function(timePos) {=0A=
    if (timePos >=3D this.startOn) {=0A=
      if (timePos >=3D this.finishOn) {=0A=
        this.render(1.0);=0A=
        this.cancel();=0A=
        this.event('beforeFinish');=0A=
        if (this.finish) this.finish(); =0A=
        this.event('afterFinish');=0A=
        return;  =0A=
      }=0A=
      var pos   =3D (timePos - this.startOn) / this.totalTime,=0A=
          frame =3D (pos * this.totalFrames).round();=0A=
      if (frame > this.currentFrame) {=0A=
        this.render(pos);=0A=
        this.currentFrame =3D frame;=0A=
      }=0A=
    }=0A=
  },=0A=
  cancel: function() {=0A=
    if (!this.options.sync)=0A=
      Effect.Queues.get(Object.isString(this.options.queue) ? =0A=
        'global' : this.options.queue.scope).remove(this);=0A=
    this.state =3D 'finished';=0A=
  },=0A=
  event: function(eventName) {=0A=
    if (this.options[eventName + 'Internal']) this.options[eventName + =
'Internal'](this);=0A=
    if (this.options[eventName]) this.options[eventName](this);=0A=
  },=0A=
  inspect: function() {=0A=
    var data =3D $H();=0A=
    for(property in this)=0A=
      if (!Object.isFunction(this[property])) data.set(property, =
this[property]);=0A=
    return '#<Effect:' + data.inspect() + ',options:' + =
$H(this.options).inspect() + '>';=0A=
  }=0A=
});=0A=
=0A=
Effect.Parallel =3D Class.create(Effect.Base, {=0A=
  initialize: function(effects) {=0A=
    this.effects =3D effects || [];=0A=
    this.start(arguments[1]);=0A=
  },=0A=
  update: function(position) {=0A=
    this.effects.invoke('render', position);=0A=
  },=0A=
  finish: function(position) {=0A=
    this.effects.each( function(effect) {=0A=
      effect.render(1.0);=0A=
      effect.cancel();=0A=
      effect.event('beforeFinish');=0A=
      if (effect.finish) effect.finish(position);=0A=
      effect.event('afterFinish');=0A=
    });=0A=
  }=0A=
});=0A=
=0A=
Effect.Tween =3D Class.create(Effect.Base, {=0A=
  initialize: function(object, from, to) {=0A=
    object =3D Object.isString(object) ? $(object) : object;=0A=
    var args =3D $A(arguments), method =3D args.last(), =0A=
      options =3D args.length =3D=3D 5 ? args[3] : null;=0A=
    this.method =3D Object.isFunction(method) ? method.bind(object) :=0A=
      Object.isFunction(object[method]) ? object[method].bind(object) : =0A=
      function(value) { object[method] =3D value };=0A=
    this.start(Object.extend({ from: from, to: to }, options || { }));=0A=
  },=0A=
  update: function(position) {=0A=
    this.method(position);=0A=
  }=0A=
});=0A=
=0A=
Effect.Event =3D Class.create(Effect.Base, {=0A=
  initialize: function() {=0A=
    this.start(Object.extend({ duration: 0 }, arguments[0] || { }));=0A=
  },=0A=
  update: Prototype.emptyFunction=0A=
});=0A=
=0A=
Effect.Opacity =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    // make this work on IE on elements without 'layout'=0A=
    if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))=0A=
      this.element.setStyle({zoom: 1});=0A=
    var options =3D Object.extend({=0A=
      from: this.element.getOpacity() || 0.0,=0A=
      to:   1.0=0A=
    }, arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setOpacity(position);=0A=
  }=0A=
});=0A=
=0A=
Effect.Move =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      x:    0,=0A=
      y:    0,=0A=
      mode: 'relative'=0A=
    }, arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    this.element.makePositioned();=0A=
    this.originalLeft =3D parseFloat(this.element.getStyle('left') || =
'0');=0A=
    this.originalTop  =3D parseFloat(this.element.getStyle('top')  || =
'0');=0A=
    if (this.options.mode =3D=3D 'absolute') {=0A=
      this.options.x =3D this.options.x - this.originalLeft;=0A=
      this.options.y =3D this.options.y - this.originalTop;=0A=
    }=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setStyle({=0A=
      left: (this.options.x  * position + this.originalLeft).round() + =
'px',=0A=
      top:  (this.options.y  * position + this.originalTop).round()  + =
'px'=0A=
    });=0A=
  }=0A=
});=0A=
=0A=
// for backwards compatibility=0A=
Effect.MoveBy =3D function(element, toTop, toLeft) {=0A=
  return new Effect.Move(element, =0A=
    Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));=0A=
};=0A=
=0A=
Effect.Scale =3D Class.create(Effect.Base, {=0A=
  initialize: function(element, percent) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      scaleX: true,=0A=
      scaleY: true,=0A=
      scaleContent: true,=0A=
      scaleFromCenter: false,=0A=
      scaleMode: 'box',        // 'box' or 'contents' or { } with =
provided values=0A=
      scaleFrom: 100.0,=0A=
      scaleTo:   percent=0A=
    }, arguments[2] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    this.restoreAfterFinish =3D this.options.restoreAfterFinish || false;=0A=
    this.elementPositioning =3D this.element.getStyle('position');=0A=
    =0A=
    this.originalStyle =3D { };=0A=
    ['top','left','width','height','fontSize'].each( function(k) {=0A=
      this.originalStyle[k] =3D this.element.style[k];=0A=
    }.bind(this));=0A=
      =0A=
    this.originalTop  =3D this.element.offsetTop;=0A=
    this.originalLeft =3D this.element.offsetLeft;=0A=
    =0A=
    var fontSize =3D this.element.getStyle('font-size') || '100%';=0A=
    ['em','px','%','pt'].each( function(fontSizeType) {=0A=
      if (fontSize.indexOf(fontSizeType)>0) {=0A=
        this.fontSize     =3D parseFloat(fontSize);=0A=
        this.fontSizeType =3D fontSizeType;=0A=
      }=0A=
    }.bind(this));=0A=
    =0A=
    this.factor =3D (this.options.scaleTo - this.options.scaleFrom)/100;=0A=
    =0A=
    this.dims =3D null;=0A=
    if (this.options.scaleMode=3D=3D'box')=0A=
      this.dims =3D [this.element.offsetHeight, =
this.element.offsetWidth];=0A=
    if (/^content/.test(this.options.scaleMode))=0A=
      this.dims =3D [this.element.scrollHeight, =
this.element.scrollWidth];=0A=
    if (!this.dims)=0A=
      this.dims =3D [this.options.scaleMode.originalHeight,=0A=
                   this.options.scaleMode.originalWidth];=0A=
  },=0A=
  update: function(position) {=0A=
    var currentScale =3D (this.options.scaleFrom/100.0) + (this.factor * =
position);=0A=
    if (this.options.scaleContent && this.fontSize)=0A=
      this.element.setStyle({fontSize: this.fontSize * currentScale + =
this.fontSizeType });=0A=
    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * =
currentScale);=0A=
  },=0A=
  finish: function(position) {=0A=
    if (this.restoreAfterFinish) =
this.element.setStyle(this.originalStyle);=0A=
  },=0A=
  setDimensions: function(height, width) {=0A=
    var d =3D { };=0A=
    if (this.options.scaleX) d.width =3D width.round() + 'px';=0A=
    if (this.options.scaleY) d.height =3D height.round() + 'px';=0A=
    if (this.options.scaleFromCenter) {=0A=
      var topd  =3D (height - this.dims[0])/2;=0A=
      var leftd =3D (width  - this.dims[1])/2;=0A=
      if (this.elementPositioning =3D=3D 'absolute') {=0A=
        if (this.options.scaleY) d.top =3D this.originalTop-topd + 'px';=0A=
        if (this.options.scaleX) d.left =3D this.originalLeft-leftd + =
'px';=0A=
      } else {=0A=
        if (this.options.scaleY) d.top =3D -topd + 'px';=0A=
        if (this.options.scaleX) d.left =3D -leftd + 'px';=0A=
      }=0A=
    }=0A=
    this.element.setStyle(d);=0A=
  }=0A=
});=0A=
=0A=
Effect.Highlight =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({ startcolor: '#ffff99' }, =
arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    // Prevent executing on elements not in the layout flow=0A=
    if (this.element.getStyle('display')=3D=3D'none') { this.cancel(); =
return; }=0A=
    // Disable background image during the effect=0A=
    this.oldStyle =3D { };=0A=
    if (!this.options.keepBackgroundImage) {=0A=
      this.oldStyle.backgroundImage =3D =
this.element.getStyle('background-image');=0A=
      this.element.setStyle({backgroundImage: 'none'});=0A=
    }=0A=
    if (!this.options.endcolor)=0A=
      this.options.endcolor =3D =
this.element.getStyle('background-color').parseColor('#ffffff');=0A=
    if (!this.options.restorecolor)=0A=
      this.options.restorecolor =3D =
this.element.getStyle('background-color');=0A=
    // init color calculations=0A=
    this._base  =3D $R(0,2).map(function(i){ return =
parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));=0A=
    this._delta =3D $R(0,2).map(function(i){ return =
parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] =
}.bind(this));=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setStyle({backgroundColor: =
$R(0,2).inject('#',function(m,v,i){=0A=
      return =
m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); =
}.bind(this)) });=0A=
  },=0A=
  finish: function() {=0A=
    this.element.setStyle(Object.extend(this.oldStyle, {=0A=
      backgroundColor: this.options.restorecolor=0A=
    }));=0A=
  }=0A=
});=0A=
=0A=
Effect.ScrollTo =3D function(element) {=0A=
  var options =3D arguments[1] || { },=0A=
    scrollOffsets =3D document.viewport.getScrollOffsets(),=0A=
    elementOffsets =3D $(element).cumulativeOffset(),=0A=
    max =3D (window.height || document.body.scrollHeight) - =
document.viewport.getHeight();  =0A=
=0A=
  if (options.offset) elementOffsets[1] +=3D options.offset;=0A=
=0A=
  return new Effect.Tween(null,=0A=
    scrollOffsets.top,=0A=
    elementOffsets[1] > max ? max : elementOffsets[1],=0A=
    options,=0A=
    function(p){ scrollTo(scrollOffsets.left, p.round()) }=0A=
  );=0A=
};=0A=
=0A=
/* ------------- combination effects ------------- */=0A=
=0A=
Effect.Fade =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  var options =3D Object.extend({=0A=
    from: element.getOpacity() || 1.0,=0A=
    to:   0.0,=0A=
    afterFinishInternal: function(effect) { =0A=
      if (effect.options.to!=3D0) return;=0A=
      effect.element.hide().setStyle({opacity: oldOpacity}); =0A=
    }=0A=
  }, arguments[1] || { });=0A=
  return new Effect.Opacity(element,options);=0A=
};=0A=
=0A=
Effect.Appear =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
  from: (element.getStyle('display') =3D=3D 'none' ? 0.0 : =
element.getOpacity() || 0.0),=0A=
  to:   1.0,=0A=
  // force Safari to render floated elements properly=0A=
  afterFinishInternal: function(effect) {=0A=
    effect.element.forceRerendering();=0A=
  },=0A=
  beforeSetup: function(effect) {=0A=
    effect.element.setOpacity(effect.options.from).show(); =0A=
  }}, arguments[1] || { });=0A=
  return new Effect.Opacity(element,options);=0A=
};=0A=
=0A=
Effect.Puff =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D { =0A=
    opacity: element.getInlineOpacity(), =0A=
    position: element.getStyle('position'),=0A=
    top:  element.style.top,=0A=
    left: element.style.left,=0A=
    width: element.style.width,=0A=
    height: element.style.height=0A=
  };=0A=
  return new Effect.Parallel(=0A=
   [ new Effect.Scale(element, 200, =0A=
      { sync: true, scaleFromCenter: true, scaleContent: true, =
restoreAfterFinish: true }), =0A=
     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], =0A=
     Object.extend({ duration: 1.0, =0A=
      beforeSetupInternal: function(effect) {=0A=
        Position.absolutize(effect.effects[0].element)=0A=
      },=0A=
      afterFinishInternal: function(effect) {=0A=
         effect.effects[0].element.hide().setStyle(oldStyle); }=0A=
     }, arguments[1] || { })=0A=
   );=0A=
};=0A=
=0A=
Effect.BlindUp =3D function(element) {=0A=
  element =3D $(element);=0A=
  element.makeClipping();=0A=
  return new Effect.Scale(element, 0,=0A=
    Object.extend({ scaleContent: false, =0A=
      scaleX: false, =0A=
      restoreAfterFinish: true,=0A=
      afterFinishInternal: function(effect) {=0A=
        effect.element.hide().undoClipping();=0A=
      } =0A=
    }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
Effect.BlindDown =3D function(element) {=0A=
  element =3D $(element);=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, 100, Object.extend({ =0A=
    scaleContent: false, =0A=
    scaleX: false,=0A=
    scaleFrom: 0,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makeClipping().setStyle({height: '0px'}).show(); =0A=
    },  =0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.undoClipping();=0A=
    }=0A=
  }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.SwitchOff =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  return new Effect.Appear(element, Object.extend({=0A=
    duration: 0.4,=0A=
    from: 0,=0A=
    transition: Effect.Transitions.flicker,=0A=
    afterFinishInternal: function(effect) {=0A=
      new Effect.Scale(effect.element, 1, { =0A=
        duration: 0.3, scaleFromCenter: true,=0A=
        scaleX: false, scaleContent: false, restoreAfterFinish: true,=0A=
        beforeSetup: function(effect) { =0A=
          effect.element.makePositioned().makeClipping();=0A=
        },=0A=
        afterFinishInternal: function(effect) {=0A=
          =
effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: =
oldOpacity});=0A=
        }=0A=
      })=0A=
    }=0A=
  }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.DropOut =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D {=0A=
    top: element.getStyle('top'),=0A=
    left: element.getStyle('left'),=0A=
    opacity: element.getInlineOpacity() };=0A=
  return new Effect.Parallel(=0A=
    [ new Effect.Move(element, {x: 0, y: 100, sync: true }), =0A=
      new Effect.Opacity(element, { sync: true, to: 0.0 }) ],=0A=
    Object.extend(=0A=
      { duration: 0.5,=0A=
        beforeSetup: function(effect) {=0A=
          effect.effects[0].element.makePositioned(); =0A=
        },=0A=
        afterFinishInternal: function(effect) {=0A=
          =
effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);=0A=
        } =0A=
      }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.Shake =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    distance: 20,=0A=
    duration: 0.5=0A=
  }, arguments[1] || {});=0A=
  var distance =3D parseFloat(options.distance);=0A=
  var split =3D parseFloat(options.duration) / 10.0;=0A=
  var oldStyle =3D {=0A=
    top: element.getStyle('top'),=0A=
    left: element.getStyle('left') };=0A=
    return new Effect.Move(element,=0A=
      { x:  distance, y: 0, duration: split, afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance, y: 0, duration: split, afterFinishInternal: =
function(effect) {=0A=
        effect.element.undoPositioned().setStyle(oldStyle);=0A=
  }}) }}) }}) }}) }}) }});=0A=
};=0A=
=0A=
Effect.SlideDown =3D function(element) {=0A=
  element =3D $(element).cleanWhitespace();=0A=
  // SlideDown need to have the content of the element wrapped in a =
container element with fixed height!=0A=
  var oldInnerBottom =3D element.down().getStyle('bottom');=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, 100, Object.extend({ =0A=
    scaleContent: false, =0A=
    scaleX: false, =0A=
    scaleFrom: window.opera ? 0 : 1,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makePositioned();=0A=
      effect.element.down().makePositioned();=0A=
      if (window.opera) effect.element.setStyle({top: ''});=0A=
      effect.element.makeClipping().setStyle({height: '0px'}).show(); =0A=
    },=0A=
    afterUpdateInternal: function(effect) {=0A=
      effect.element.down().setStyle({bottom:=0A=
        (effect.dims[0] - effect.element.clientHeight) + 'px' }); =0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.undoClipping().undoPositioned();=0A=
      effect.element.down().undoPositioned().setStyle({bottom: =
oldInnerBottom}); }=0A=
    }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
Effect.SlideUp =3D function(element) {=0A=
  element =3D $(element).cleanWhitespace();=0A=
  var oldInnerBottom =3D element.down().getStyle('bottom');=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, window.opera ? 0 : 1,=0A=
   Object.extend({ scaleContent: false, =0A=
    scaleX: false, =0A=
    scaleMode: 'box',=0A=
    scaleFrom: 100,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makePositioned();=0A=
      effect.element.down().makePositioned();=0A=
      if (window.opera) effect.element.setStyle({top: ''});=0A=
      effect.element.makeClipping().show();=0A=
    },  =0A=
    afterUpdateInternal: function(effect) {=0A=
      effect.element.down().setStyle({bottom:=0A=
        (effect.dims[0] - effect.element.clientHeight) + 'px' });=0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.hide().undoClipping().undoPositioned();=0A=
      effect.element.down().undoPositioned().setStyle({bottom: =
oldInnerBottom});=0A=
    }=0A=
   }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
// Bug in opera makes the TD containing this element expand for a =
instance after finish =0A=
Effect.Squish =3D function(element) {=0A=
  return new Effect.Scale(element, window.opera ? 1 : 0, { =0A=
    restoreAfterFinish: true,=0A=
    beforeSetup: function(effect) {=0A=
      effect.element.makeClipping(); =0A=
    },  =0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.hide().undoClipping(); =0A=
    }=0A=
  });=0A=
};=0A=
=0A=
Effect.Grow =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    direction: 'center',=0A=
    moveTransition: Effect.Transitions.sinoidal,=0A=
    scaleTransition: Effect.Transitions.sinoidal,=0A=
    opacityTransition: Effect.Transitions.full=0A=
  }, arguments[1] || { });=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    height: element.style.height,=0A=
    width: element.style.width,=0A=
    opacity: element.getInlineOpacity() };=0A=
=0A=
  var dims =3D element.getDimensions();    =0A=
  var initialMoveX, initialMoveY;=0A=
  var moveX, moveY;=0A=
  =0A=
  switch (options.direction) {=0A=
    case 'top-left':=0A=
      initialMoveX =3D initialMoveY =3D moveX =3D moveY =3D 0; =0A=
      break;=0A=
    case 'top-right':=0A=
      initialMoveX =3D dims.width;=0A=
      initialMoveY =3D moveY =3D 0;=0A=
      moveX =3D -dims.width;=0A=
      break;=0A=
    case 'bottom-left':=0A=
      initialMoveX =3D moveX =3D 0;=0A=
      initialMoveY =3D dims.height;=0A=
      moveY =3D -dims.height;=0A=
      break;=0A=
    case 'bottom-right':=0A=
      initialMoveX =3D dims.width;=0A=
      initialMoveY =3D dims.height;=0A=
      moveX =3D -dims.width;=0A=
      moveY =3D -dims.height;=0A=
      break;=0A=
    case 'center':=0A=
      initialMoveX =3D dims.width / 2;=0A=
      initialMoveY =3D dims.height / 2;=0A=
      moveX =3D -dims.width / 2;=0A=
      moveY =3D -dims.height / 2;=0A=
      break;=0A=
  }=0A=
  =0A=
  return new Effect.Move(element, {=0A=
    x: initialMoveX,=0A=
    y: initialMoveY,=0A=
    duration: 0.01, =0A=
    beforeSetup: function(effect) {=0A=
      effect.element.hide().makeClipping().makePositioned();=0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      new Effect.Parallel(=0A=
        [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, =
from: 0.0, transition: options.opacityTransition }),=0A=
          new Effect.Move(effect.element, { x: moveX, y: moveY, sync: =
true, transition: options.moveTransition }),=0A=
          new Effect.Scale(effect.element, 100, {=0A=
            scaleMode: { originalHeight: dims.height, originalWidth: =
dims.width }, =0A=
            sync: true, scaleFrom: window.opera ? 1 : 0, transition: =
options.scaleTransition, restoreAfterFinish: true})=0A=
        ], Object.extend({=0A=
             beforeSetup: function(effect) {=0A=
               effect.effects[0].element.setStyle({height: =
'0px'}).show(); =0A=
             },=0A=
             afterFinishInternal: function(effect) {=0A=
               =
effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldSty=
le); =0A=
             }=0A=
           }, options)=0A=
      )=0A=
    }=0A=
  });=0A=
};=0A=
=0A=
Effect.Shrink =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    direction: 'center',=0A=
    moveTransition: Effect.Transitions.sinoidal,=0A=
    scaleTransition: Effect.Transitions.sinoidal,=0A=
    opacityTransition: Effect.Transitions.none=0A=
  }, arguments[1] || { });=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    height: element.style.height,=0A=
    width: element.style.width,=0A=
    opacity: element.getInlineOpacity() };=0A=
=0A=
  var dims =3D element.getDimensions();=0A=
  var moveX, moveY;=0A=
  =0A=
  switch (options.direction) {=0A=
    case 'top-left':=0A=
      moveX =3D moveY =3D 0;=0A=
      break;=0A=
    case 'top-right':=0A=
      moveX =3D dims.width;=0A=
      moveY =3D 0;=0A=
      break;=0A=
    case 'bottom-left':=0A=
      moveX =3D 0;=0A=
      moveY =3D dims.height;=0A=
      break;=0A=
    case 'bottom-right':=0A=
      moveX =3D dims.width;=0A=
      moveY =3D dims.height;=0A=
      break;=0A=
    case 'center':  =0A=
      moveX =3D dims.width / 2;=0A=
      moveY =3D dims.height / 2;=0A=
      break;=0A=
  }=0A=
  =0A=
  return new Effect.Parallel(=0A=
    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, =
transition: options.opacityTransition }),=0A=
      new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, =
transition: options.scaleTransition, restoreAfterFinish: true}),=0A=
      new Effect.Move(element, { x: moveX, y: moveY, sync: true, =
transition: options.moveTransition })=0A=
    ], Object.extend({            =0A=
         beforeStartInternal: function(effect) {=0A=
           effect.effects[0].element.makePositioned().makeClipping(); =0A=
         },=0A=
         afterFinishInternal: function(effect) {=0A=
           =
effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle=
(oldStyle); }=0A=
       }, options)=0A=
  );=0A=
};=0A=
=0A=
Effect.Pulsate =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options    =3D arguments[1] || { };=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  var transition =3D options.transition || Effect.Transitions.sinoidal;=0A=
  var reverser   =3D function(pos){ return =
transition(1-Effect.Transitions.pulse(pos, options.pulses)) };=0A=
  reverser.bind(transition);=0A=
  return new Effect.Opacity(element, =0A=
    Object.extend(Object.extend({  duration: 2.0, from: 0,=0A=
      afterFinishInternal: function(effect) { =
effect.element.setStyle({opacity: oldOpacity}); }=0A=
    }, options), {transition: reverser}));=0A=
};=0A=
=0A=
Effect.Fold =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    width: element.style.width,=0A=
    height: element.style.height };=0A=
  element.makeClipping();=0A=
  return new Effect.Scale(element, 5, Object.extend({   =0A=
    scaleContent: false,=0A=
    scaleX: false,=0A=
    afterFinishInternal: function(effect) {=0A=
    new Effect.Scale(element, 1, { =0A=
      scaleContent: false, =0A=
      scaleY: false,=0A=
      afterFinishInternal: function(effect) {=0A=
        effect.element.hide().undoClipping().setStyle(oldStyle);=0A=
      } });=0A=
  }}, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.Morph =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      style: { }=0A=
    }, arguments[1] || { });=0A=
    =0A=
    if (!Object.isString(options.style)) this.style =3D =
$H(options.style);=0A=
    else {=0A=
      if (options.style.include(':'))=0A=
        this.style =3D options.style.parseStyle();=0A=
      else {=0A=
        this.element.addClassName(options.style);=0A=
        this.style =3D $H(this.element.getStyles());=0A=
        this.element.removeClassName(options.style);=0A=
        var css =3D this.element.getStyles();=0A=
        this.style =3D this.style.reject(function(style) {=0A=
          return style.value =3D=3D css[style.key];=0A=
        });=0A=
        options.afterFinishInternal =3D function(effect) {=0A=
          effect.element.addClassName(effect.options.style);=0A=
          effect.transforms.each(function(transform) {=0A=
            effect.element.style[transform.style] =3D '';=0A=
          });=0A=
        }=0A=
      }=0A=
    }=0A=
    this.start(options);=0A=
  },=0A=
  =0A=
  setup: function(){=0A=
    function parseColor(color){=0A=
      if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) =
color =3D '#ffffff';=0A=
      color =3D color.parseColor();=0A=
      return $R(0,2).map(function(i){=0A=
        return parseInt( color.slice(i*2+1,i*2+3), 16 ) =0A=
      });=0A=
    }=0A=
    this.transforms =3D this.style.map(function(pair){=0A=
      var property =3D pair[0], value =3D pair[1], unit =3D null;=0A=
=0A=
      if (value.parseColor('#zzzzzz') !=3D '#zzzzzz') {=0A=
        value =3D value.parseColor();=0A=
        unit  =3D 'color';=0A=
      } else if (property =3D=3D 'opacity') {=0A=
        value =3D parseFloat(value);=0A=
        if (Prototype.Browser.IE && =
(!this.element.currentStyle.hasLayout))=0A=
          this.element.setStyle({zoom: 1});=0A=
      } else if (Element.CSS_LENGTH.test(value)) {=0A=
          var components =3D value.match(/^([\+\-]?[0-9\.]+)(.*)$/);=0A=
          value =3D parseFloat(components[1]);=0A=
          unit =3D (components.length =3D=3D 3) ? components[2] : null;=0A=
      }=0A=
=0A=
      var originalValue =3D this.element.getStyle(property);=0A=
      return { =0A=
        style: property.camelize(), =0A=
        originalValue: unit=3D=3D'color' ? parseColor(originalValue) : =
parseFloat(originalValue || 0), =0A=
        targetValue: unit=3D=3D'color' ? parseColor(value) : value,=0A=
        unit: unit=0A=
      };=0A=
    }.bind(this)).reject(function(transform){=0A=
      return (=0A=
        (transform.originalValue =3D=3D transform.targetValue) ||=0A=
        (=0A=
          transform.unit !=3D 'color' &&=0A=
          (isNaN(transform.originalValue) || =
isNaN(transform.targetValue))=0A=
        )=0A=
      )=0A=
    });=0A=
  },=0A=
  update: function(position) {=0A=
    var style =3D { }, transform, i =3D this.transforms.length;=0A=
    while(i--)=0A=
      style[(transform =3D this.transforms[i]).style] =3D =0A=
        transform.unit=3D=3D'color' ? '#'+=0A=
          (Math.round(transform.originalValue[0]+=0A=
            =
(transform.targetValue[0]-transform.originalValue[0])*position)).toColorP=
art() +=0A=
          (Math.round(transform.originalValue[1]+=0A=
            =
(transform.targetValue[1]-transform.originalValue[1])*position)).toColorP=
art() +=0A=
          (Math.round(transform.originalValue[2]+=0A=
            =
(transform.targetValue[2]-transform.originalValue[2])*position)).toColorP=
art() :=0A=
        (transform.originalValue +=0A=
          (transform.targetValue - transform.originalValue) * =
position).toFixed(3) + =0A=
            (transform.unit =3D=3D=3D null ? '' : transform.unit);=0A=
    this.element.setStyle(style, true);=0A=
  }=0A=
});=0A=
=0A=
Effect.Transform =3D Class.create({=0A=
  initialize: function(tracks){=0A=
    this.tracks  =3D [];=0A=
    this.options =3D arguments[1] || { };=0A=
    this.addTracks(tracks);=0A=
  },=0A=
  addTracks: function(tracks){=0A=
    tracks.each(function(track){=0A=
      track =3D $H(track);=0A=
      var data =3D track.values().first();=0A=
      this.tracks.push($H({=0A=
        ids:     track.keys().first(),=0A=
        effect:  Effect.Morph,=0A=
        options: { style: data }=0A=
      }));=0A=
    }.bind(this));=0A=
    return this;=0A=
  },=0A=
  play: function(){=0A=
    return new Effect.Parallel(=0A=
      this.tracks.map(function(track){=0A=
        var ids =3D track.get('ids'), effect =3D track.get('effect'), =
options =3D track.get('options');=0A=
        var elements =3D [$(ids) || $$(ids)].flatten();=0A=
        return elements.map(function(e){ return new effect(e, =
Object.extend({ sync:true }, options)) });=0A=
      }).flatten(),=0A=
      this.options=0A=
    );=0A=
  }=0A=
});=0A=
=0A=
Element.CSS_PROPERTIES =3D $w(=0A=
  'backgroundColor backgroundPosition borderBottomColor =
borderBottomStyle ' + =0A=
  'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +=0A=
  'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +=0A=
  'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +=0A=
  'fontSize fontWeight height left letterSpacing lineHeight ' +=0A=
  'marginBottom marginLeft marginRight marginTop markerOffset maxHeight =
'+=0A=
  'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +=0A=
  'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +=0A=
  'right textIndent top width wordSpacing zIndex');=0A=
  =0A=
Element.CSS_LENGTH =3D =
/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;=0A=
=0A=
String.__parseStyleElement =3D document.createElement('div');=0A=
String.prototype.parseStyle =3D function(){=0A=
  var style, styleRules =3D $H();=0A=
  if (Prototype.Browser.WebKit)=0A=
    style =3D new Element('div',{style:this}).style;=0A=
  else {=0A=
    String.__parseStyleElement.innerHTML =3D '<div style=3D"' + this + =
'"></div>';=0A=
    style =3D String.__parseStyleElement.childNodes[0].style;=0A=
  }=0A=
  =0A=
  Element.CSS_PROPERTIES.each(function(property){=0A=
    if (style[property]) styleRules.set(property, style[property]); =0A=
  });=0A=
  =0A=
  if (Prototype.Browser.IE && this.include('opacity'))=0A=
    styleRules.set('opacity', =
this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);=0A=
=0A=
  return styleRules;=0A=
};=0A=
=0A=
if (document.defaultView && document.defaultView.getComputedStyle) {=0A=
  Element.getStyles =3D function(element) {=0A=
    var css =3D document.defaultView.getComputedStyle($(element), null);=0A=
    return Element.CSS_PROPERTIES.inject({ }, function(styles, property) =
{=0A=
      styles[property] =3D css[property];=0A=
      return styles;=0A=
    });=0A=
  };=0A=
} else {=0A=
  Element.getStyles =3D function(element) {=0A=
    element =3D $(element);=0A=
    var css =3D element.currentStyle, styles;=0A=
    styles =3D Element.CSS_PROPERTIES.inject({ }, function(results, =
property) {=0A=
      results[property] =3D css[property];=0A=
      return results;=0A=
    });=0A=
    if (!styles.opacity) styles.opacity =3D element.getOpacity();=0A=
    return styles;=0A=
  };=0A=
};=0A=
=0A=
Effect.Methods =3D {=0A=
  morph: function(element, style) {=0A=
    element =3D $(element);=0A=
    new Effect.Morph(element, Object.extend({ style: style }, =
arguments[2] || { }));=0A=
    return element;=0A=
  },=0A=
  visualEffect: function(element, effect, options) {=0A=
    element =3D $(element)=0A=
    var s =3D effect.dasherize().camelize(), klass =3D =
s.charAt(0).toUpperCase() + s.substring(1);=0A=
    new Effect[klass](element, options);=0A=
    return element;=0A=
  },=0A=
  highlight: function(element, options) {=0A=
    element =3D $(element);=0A=
    new Effect.Highlight(element, options);=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+=0A=
  'pulsate shake puff squish switchOff dropOut').each(=0A=
  function(effect) { =0A=
    Effect.Methods[effect] =3D function(element, options){=0A=
      element =3D $(element);=0A=
      Effect[effect.charAt(0).toUpperCase() + =
effect.substring(1)](element, options);=0A=
      return element;=0A=
    }=0A=
  }=0A=
);=0A=
=0A=
$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes =
collectTextNodesIgnoreClass getStyles').each( =0A=
  function(f) { Effect.Methods[f] =3D Element[f]; }=0A=
);=0A=
=0A=
Element.addMethods(Effect.Methods);=0A=

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/dragdrop.js

// script.aculo.us dragdrop.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008=0A=
=0A=
// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
//           (c) 2005-2007 Sammi Williams =
(http://www.oriontransfer.co.nz, sammi@oriontransfer.co.nz)=0A=
// =0A=
// script.aculo.us is freely distributable under the terms of an =
MIT-style license.=0A=
// For details, see the script.aculo.us web site: http://script.aculo.us/=0A=
=0A=
if(Object.isUndefined(Effect))=0A=
  throw("dragdrop.js requires including script.aculo.us' effects.js =
library");=0A=
=0A=
var Droppables =3D {=0A=
  drops: [],=0A=
=0A=
  remove: function(element) {=0A=
    this.drops =3D this.drops.reject(function(d) { return =
d.element=3D=3D$(element) });=0A=
  },=0A=
=0A=
  add: function(element) {=0A=
    element =3D $(element);=0A=
    var options =3D Object.extend({=0A=
      greedy:     true,=0A=
      hoverclass: null,=0A=
      tree:       false=0A=
    }, arguments[1] || { });=0A=
=0A=
    // cache containers=0A=
    if(options.containment) {=0A=
      options._containers =3D [];=0A=
      var containment =3D options.containment;=0A=
      if(Object.isArray(containment)) {=0A=
        containment.each( function(c) { options._containers.push($(c)) =
});=0A=
      } else {=0A=
        options._containers.push($(containment));=0A=
      }=0A=
    }=0A=
    =0A=
    if(options.accept) options.accept =3D [options.accept].flatten();=0A=
=0A=
    Element.makePositioned(element); // fix IE=0A=
    options.element =3D element;=0A=
=0A=
    this.drops.push(options);=0A=
  },=0A=
  =0A=
  findDeepestChild: function(drops) {=0A=
    deepest =3D drops[0];=0A=
      =0A=
    for (i =3D 1; i < drops.length; ++i)=0A=
      if (Element.isParent(drops[i].element, deepest.element))=0A=
        deepest =3D drops[i];=0A=
    =0A=
    return deepest;=0A=
  },=0A=
=0A=
  isContained: function(element, drop) {=0A=
    var containmentNode;=0A=
    if(drop.tree) {=0A=
      containmentNode =3D element.treeNode; =0A=
    } else {=0A=
      containmentNode =3D element.parentNode;=0A=
    }=0A=
    return drop._containers.detect(function(c) { return containmentNode =
=3D=3D c });=0A=
  },=0A=
  =0A=
  isAffected: function(point, element, drop) {=0A=
    return (=0A=
      (drop.element!=3Delement) &&=0A=
      ((!drop._containers) ||=0A=
        this.isContained(element, drop)) &&=0A=
      ((!drop.accept) ||=0A=
        (Element.classNames(element).detect( =0A=
          function(v) { return drop.accept.include(v) } ) )) &&=0A=
      Position.within(drop.element, point[0], point[1]) );=0A=
  },=0A=
=0A=
  deactivate: function(drop) {=0A=
    if(drop.hoverclass)=0A=
      Element.removeClassName(drop.element, drop.hoverclass);=0A=
    this.last_active =3D null;=0A=
  },=0A=
=0A=
  activate: function(drop) {=0A=
    if(drop.hoverclass)=0A=
      Element.addClassName(drop.element, drop.hoverclass);=0A=
    this.last_active =3D drop;=0A=
  },=0A=
=0A=
  show: function(point, element) {=0A=
    if(!this.drops.length) return;=0A=
    var drop, affected =3D [];=0A=
    =0A=
    this.drops.each( function(drop) {=0A=
      if(Droppables.isAffected(point, element, drop))=0A=
        affected.push(drop);=0A=
    });=0A=
        =0A=
    if(affected.length>0)=0A=
      drop =3D Droppables.findDeepestChild(affected);=0A=
=0A=
    if(this.last_active && this.last_active !=3D drop) =
this.deactivate(this.last_active);=0A=
    if (drop) {=0A=
      Position.within(drop.element, point[0], point[1]);=0A=
      if(drop.onHover)=0A=
        drop.onHover(element, drop.element, =
Position.overlap(drop.overlap, drop.element));=0A=
      =0A=
      if (drop !=3D this.last_active) Droppables.activate(drop);=0A=
    }=0A=
  },=0A=
=0A=
  fire: function(event, element) {=0A=
    if(!this.last_active) return;=0A=
    Position.prepare();=0A=
=0A=
    if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], =
element, this.last_active))=0A=
      if (this.last_active.onDrop) {=0A=
        this.last_active.onDrop(element, this.last_active.element, =
event); =0A=
        return true; =0A=
      }=0A=
  },=0A=
=0A=
  reset: function() {=0A=
    if(this.last_active)=0A=
      this.deactivate(this.last_active);=0A=
  }=0A=
}=0A=
=0A=
var Draggables =3D {=0A=
  drags: [],=0A=
  observers: [],=0A=
  =0A=
  register: function(draggable) {=0A=
    if(this.drags.length =3D=3D 0) {=0A=
      this.eventMouseUp   =3D this.endDrag.bindAsEventListener(this);=0A=
      this.eventMouseMove =3D this.updateDrag.bindAsEventListener(this);=0A=
      this.eventKeypress  =3D this.keyPress.bindAsEventListener(this);=0A=
      =0A=
      Event.observe(document, "mouseup", this.eventMouseUp);=0A=
      Event.observe(document, "mousemove", this.eventMouseMove);=0A=
      Event.observe(document, "keypress", this.eventKeypress);=0A=
    }=0A=
    this.drags.push(draggable);=0A=
  },=0A=
  =0A=
  unregister: function(draggable) {=0A=
    this.drags =3D this.drags.reject(function(d) { return =
d=3D=3Ddraggable });=0A=
    if(this.drags.length =3D=3D 0) {=0A=
      Event.stopObserving(document, "mouseup", this.eventMouseUp);=0A=
      Event.stopObserving(document, "mousemove", this.eventMouseMove);=0A=
      Event.stopObserving(document, "keypress", this.eventKeypress);=0A=
    }=0A=
  },=0A=
  =0A=
  activate: function(draggable) {=0A=
    if(draggable.options.delay) { =0A=
      this._timeout =3D setTimeout(function() { =0A=
        Draggables._timeout =3D null; =0A=
        window.focus(); =0A=
        Draggables.activeDraggable =3D draggable; =0A=
      }.bind(this), draggable.options.delay); =0A=
    } else {=0A=
      window.focus(); // allows keypress events if window isn't =
currently focused, fails for Safari=0A=
      this.activeDraggable =3D draggable;=0A=
    }=0A=
  },=0A=
  =0A=
  deactivate: function() {=0A=
    this.activeDraggable =3D null;=0A=
  },=0A=
  =0A=
  updateDrag: function(event) {=0A=
    if(!this.activeDraggable) return;=0A=
    var pointer =3D [Event.pointerX(event), Event.pointerY(event)];=0A=
    // Mozilla-based browsers fire successive mousemove events with=0A=
    // the same coordinates, prevent needless redrawing (moz bug?)=0A=
    if(this._lastPointer && (this._lastPointer.inspect() =3D=3D =
pointer.inspect())) return;=0A=
    this._lastPointer =3D pointer;=0A=
    =0A=
    this.activeDraggable.updateDrag(event, pointer);=0A=
  },=0A=
  =0A=
  endDrag: function(event) {=0A=
    if(this._timeout) { =0A=
      clearTimeout(this._timeout); =0A=
      this._timeout =3D null; =0A=
    }=0A=
    if(!this.activeDraggable) return;=0A=
    this._lastPointer =3D null;=0A=
    this.activeDraggable.endDrag(event);=0A=
    this.activeDraggable =3D null;=0A=
  },=0A=
  =0A=
  keyPress: function(event) {=0A=
    if(this.activeDraggable)=0A=
      this.activeDraggable.keyPress(event);=0A=
  },=0A=
  =0A=
  addObserver: function(observer) {=0A=
    this.observers.push(observer);=0A=
    this._cacheObserverCallbacks();=0A=
  },=0A=
  =0A=
  removeObserver: function(element) {  // element instead of observer =
fixes mem leaks=0A=
    this.observers =3D this.observers.reject( function(o) { return =
o.element=3D=3Delement });=0A=
    this._cacheObserverCallbacks();=0A=
  },=0A=
  =0A=
  notify: function(eventName, draggable, event) {  // 'onStart', =
'onEnd', 'onDrag'=0A=
    if(this[eventName+'Count'] > 0)=0A=
      this.observers.each( function(o) {=0A=
        if(o[eventName]) o[eventName](eventName, draggable, event);=0A=
      });=0A=
    if(draggable.options[eventName]) =
draggable.options[eventName](draggable, event);=0A=
  },=0A=
  =0A=
  _cacheObserverCallbacks: function() {=0A=
    ['onStart','onEnd','onDrag'].each( function(eventName) {=0A=
      Draggables[eventName+'Count'] =3D Draggables.observers.select(=0A=
        function(o) { return o[eventName]; }=0A=
      ).length;=0A=
    });=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Draggable =3D Class.create({=0A=
  initialize: function(element) {=0A=
    var defaults =3D {=0A=
      handle: false,=0A=
      reverteffect: function(element, top_offset, left_offset) {=0A=
        var dur =3D =
Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;=0A=
        new Effect.Move(element, { x: -left_offset, y: -top_offset, =
duration: dur,=0A=
          queue: {scope:'_draggable', position:'end'}=0A=
        });=0A=
      },=0A=
      endeffect: function(element) {=0A=
        var toOpacity =3D Object.isNumber(element._opacity) ? =
element._opacity : 1.0;=0A=
        new Effect.Opacity(element, {duration:0.2, from:0.7, =
to:toOpacity, =0A=
          queue: {scope:'_draggable', position:'end'},=0A=
          afterFinish: function(){ =0A=
            Draggable._dragging[element] =3D false =0A=
          }=0A=
        }); =0A=
      },=0A=
      zindex: 1000,=0A=
      revert: false,=0A=
      quiet: false,=0A=
      scroll: false,=0A=
      scrollSensitivity: 20,=0A=
      scrollSpeed: 15,=0A=
      snap: false,  // false, or xy or [x,y] or function(x,y){ return =
[x,y] }=0A=
      delay: 0=0A=
    };=0A=
    =0A=
    if(!arguments[1] || Object.isUndefined(arguments[1].endeffect))=0A=
      Object.extend(defaults, {=0A=
        starteffect: function(element) {=0A=
          element._opacity =3D Element.getOpacity(element);=0A=
          Draggable._dragging[element] =3D true;=0A=
          new Effect.Opacity(element, {duration:0.2, =
from:element._opacity, to:0.7}); =0A=
        }=0A=
      });=0A=
    =0A=
    var options =3D Object.extend(defaults, arguments[1] || { });=0A=
=0A=
    this.element =3D $(element);=0A=
    =0A=
    if(options.handle && Object.isString(options.handle))=0A=
      this.handle =3D this.element.down('.'+options.handle, 0);=0A=
    =0A=
    if(!this.handle) this.handle =3D $(options.handle);=0A=
    if(!this.handle) this.handle =3D this.element;=0A=
    =0A=
    if(options.scroll && !options.scroll.scrollTo && =
!options.scroll.outerHTML) {=0A=
      options.scroll =3D $(options.scroll);=0A=
      this._isScrollChild =3D Element.childOf(this.element, =
options.scroll);=0A=
    }=0A=
=0A=
    Element.makePositioned(this.element); // fix IE    =0A=
=0A=
    this.options  =3D options;=0A=
    this.dragging =3D false;   =0A=
=0A=
    this.eventMouseDown =3D this.initDrag.bindAsEventListener(this);=0A=
    Event.observe(this.handle, "mousedown", this.eventMouseDown);=0A=
    =0A=
    Draggables.register(this);=0A=
  },=0A=
  =0A=
  destroy: function() {=0A=
    Event.stopObserving(this.handle, "mousedown", this.eventMouseDown);=0A=
    Draggables.unregister(this);=0A=
  },=0A=
  =0A=
  currentDelta: function() {=0A=
    return([=0A=
      parseInt(Element.getStyle(this.element,'left') || '0'),=0A=
      parseInt(Element.getStyle(this.element,'top') || '0')]);=0A=
  },=0A=
  =0A=
  initDrag: function(event) {=0A=
    if(!Object.isUndefined(Draggable._dragging[this.element]) &&=0A=
      Draggable._dragging[this.element]) return;=0A=
    if(Event.isLeftClick(event)) {    =0A=
      // abort on form elements, fixes a Firefox issue=0A=
      var src =3D Event.element(event);=0A=
      if((tag_name =3D src.tagName.toUpperCase()) && (=0A=
        tag_name=3D=3D'INPUT' ||=0A=
        tag_name=3D=3D'SELECT' ||=0A=
        tag_name=3D=3D'OPTION' ||=0A=
        tag_name=3D=3D'BUTTON' ||=0A=
        tag_name=3D=3D'TEXTAREA')) return;=0A=
        =0A=
      var pointer =3D [Event.pointerX(event), Event.pointerY(event)];=0A=
      var pos     =3D Position.cumulativeOffset(this.element);=0A=
      this.offset =3D [0,1].map( function(i) { return (pointer[i] - =
pos[i]) });=0A=
      =0A=
      Draggables.activate(this);=0A=
      Event.stop(event);=0A=
    }=0A=
  },=0A=
  =0A=
  startDrag: function(event) {=0A=
    this.dragging =3D true;=0A=
    if(!this.delta)=0A=
      this.delta =3D this.currentDelta();=0A=
    =0A=
    if(this.options.zindex) {=0A=
      this.originalZ =3D =
parseInt(Element.getStyle(this.element,'z-index') || 0);=0A=
      this.element.style.zIndex =3D this.options.zindex;=0A=
    }=0A=
    =0A=
    if(this.options.ghosting) {=0A=
      this._clone =3D this.element.cloneNode(true);=0A=
      this.element._originallyAbsolute =3D =
(this.element.getStyle('position') =3D=3D 'absolute');=0A=
      if (!this.element._originallyAbsolute)=0A=
        Position.absolutize(this.element);=0A=
      this.element.parentNode.insertBefore(this._clone, this.element);=0A=
    }=0A=
    =0A=
    if(this.options.scroll) {=0A=
      if (this.options.scroll =3D=3D window) {=0A=
        var where =3D this._getWindowScroll(this.options.scroll);=0A=
        this.originalScrollLeft =3D where.left;=0A=
        this.originalScrollTop =3D where.top;=0A=
      } else {=0A=
        this.originalScrollLeft =3D this.options.scroll.scrollLeft;=0A=
        this.originalScrollTop =3D this.options.scroll.scrollTop;=0A=
      }=0A=
    }=0A=
    =0A=
    Draggables.notify('onStart', this, event);=0A=
        =0A=
    if(this.options.starteffect) this.options.starteffect(this.element);=0A=
  },=0A=
  =0A=
  updateDrag: function(event, pointer) {=0A=
    if(!this.dragging) this.startDrag(event);=0A=
    =0A=
    if(!this.options.quiet){=0A=
      Position.prepare();=0A=
      Droppables.show(pointer, this.element);=0A=
    }=0A=
    =0A=
    Draggables.notify('onDrag', this, event);=0A=
    =0A=
    this.draw(pointer);=0A=
    if(this.options.change) this.options.change(this);=0A=
    =0A=
    if(this.options.scroll) {=0A=
      this.stopScrolling();=0A=
      =0A=
      var p;=0A=
      if (this.options.scroll =3D=3D window) {=0A=
        with(this._getWindowScroll(this.options.scroll)) { p =3D [ left, =
top, left+width, top+height ]; }=0A=
      } else {=0A=
        p =3D Position.page(this.options.scroll);=0A=
        p[0] +=3D this.options.scroll.scrollLeft + Position.deltaX;=0A=
        p[1] +=3D this.options.scroll.scrollTop + Position.deltaY;=0A=
        p.push(p[0]+this.options.scroll.offsetWidth);=0A=
        p.push(p[1]+this.options.scroll.offsetHeight);=0A=
      }=0A=
      var speed =3D [0,0];=0A=
      if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] =
=3D pointer[0]-(p[0]+this.options.scrollSensitivity);=0A=
      if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] =
=3D pointer[1]-(p[1]+this.options.scrollSensitivity);=0A=
      if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] =
=3D pointer[0]-(p[2]-this.options.scrollSensitivity);=0A=
      if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] =
=3D pointer[1]-(p[3]-this.options.scrollSensitivity);=0A=
      this.startScrolling(speed);=0A=
    }=0A=
    =0A=
    // fix AppleWebKit rendering=0A=
    if(Prototype.Browser.WebKit) window.scrollBy(0,0);=0A=
    =0A=
    Event.stop(event);=0A=
  },=0A=
  =0A=
  finishDrag: function(event, success) {=0A=
    this.dragging =3D false;=0A=
    =0A=
    if(this.options.quiet){=0A=
      Position.prepare();=0A=
      var pointer =3D [Event.pointerX(event), Event.pointerY(event)];=0A=
      Droppables.show(pointer, this.element);=0A=
    }=0A=
=0A=
    if(this.options.ghosting) {=0A=
      if (!this.element._originallyAbsolute)=0A=
        Position.relativize(this.element);=0A=
      delete this.element._originallyAbsolute;=0A=
      Element.remove(this._clone);=0A=
      this._clone =3D null;=0A=
    }=0A=
=0A=
    var dropped =3D false; =0A=
    if(success) { =0A=
      dropped =3D Droppables.fire(event, this.element); =0A=
      if (!dropped) dropped =3D false; =0A=
    }=0A=
    if(dropped && this.options.onDropped) =
this.options.onDropped(this.element);=0A=
    Draggables.notify('onEnd', this, event);=0A=
=0A=
    var revert =3D this.options.revert;=0A=
    if(revert && Object.isFunction(revert)) revert =3D =
revert(this.element);=0A=
    =0A=
    var d =3D this.currentDelta();=0A=
    if(revert && this.options.reverteffect) {=0A=
      if (dropped =3D=3D 0 || revert !=3D 'failure')=0A=
        this.options.reverteffect(this.element,=0A=
          d[1]-this.delta[1], d[0]-this.delta[0]);=0A=
    } else {=0A=
      this.delta =3D d;=0A=
    }=0A=
=0A=
    if(this.options.zindex)=0A=
      this.element.style.zIndex =3D this.originalZ;=0A=
=0A=
    if(this.options.endeffect) =0A=
      this.options.endeffect(this.element);=0A=
      =0A=
    Draggables.deactivate(this);=0A=
    Droppables.reset();=0A=
  },=0A=
  =0A=
  keyPress: function(event) {=0A=
    if(event.keyCode!=3DEvent.KEY_ESC) return;=0A=
    this.finishDrag(event, false);=0A=
    Event.stop(event);=0A=
  },=0A=
  =0A=
  endDrag: function(event) {=0A=
    if(!this.dragging) return;=0A=
    this.stopScrolling();=0A=
    this.finishDrag(event, true);=0A=
    Event.stop(event);=0A=
  },=0A=
  =0A=
  draw: function(point) {=0A=
    var pos =3D Position.cumulativeOffset(this.element);=0A=
    if(this.options.ghosting) {=0A=
      var r   =3D Position.realOffset(this.element);=0A=
      pos[0] +=3D r[0] - Position.deltaX; pos[1] +=3D r[1] - =
Position.deltaY;=0A=
    }=0A=
    =0A=
    var d =3D this.currentDelta();=0A=
    pos[0] -=3D d[0]; pos[1] -=3D d[1];=0A=
    =0A=
    if(this.options.scroll && (this.options.scroll !=3D window && =
this._isScrollChild)) {=0A=
      pos[0] -=3D this.options.scroll.scrollLeft-this.originalScrollLeft;=0A=
      pos[1] -=3D this.options.scroll.scrollTop-this.originalScrollTop;=0A=
    }=0A=
    =0A=
    var p =3D [0,1].map(function(i){ =0A=
      return (point[i]-pos[i]-this.offset[i]) =0A=
    }.bind(this));=0A=
    =0A=
    if(this.options.snap) {=0A=
      if(Object.isFunction(this.options.snap)) {=0A=
        p =3D this.options.snap(p[0],p[1],this);=0A=
      } else {=0A=
      if(Object.isArray(this.options.snap)) {=0A=
        p =3D p.map( function(v, i) {=0A=
          return (v/this.options.snap[i]).round()*this.options.snap[i] =
}.bind(this))=0A=
      } else {=0A=
        p =3D p.map( function(v) {=0A=
          return (v/this.options.snap).round()*this.options.snap =
}.bind(this))=0A=
      }=0A=
    }}=0A=
    =0A=
    var style =3D this.element.style;=0A=
    if((!this.options.constraint) || =
(this.options.constraint=3D=3D'horizontal'))=0A=
      style.left =3D p[0] + "px";=0A=
    if((!this.options.constraint) || =
(this.options.constraint=3D=3D'vertical'))=0A=
      style.top  =3D p[1] + "px";=0A=
    =0A=
    if(style.visibility=3D=3D"hidden") style.visibility =3D ""; // fix =
gecko rendering=0A=
  },=0A=
  =0A=
  stopScrolling: function() {=0A=
    if(this.scrollInterval) {=0A=
      clearInterval(this.scrollInterval);=0A=
      this.scrollInterval =3D null;=0A=
      Draggables._lastScrollPointer =3D null;=0A=
    }=0A=
  },=0A=
  =0A=
  startScrolling: function(speed) {=0A=
    if(!(speed[0] || speed[1])) return;=0A=
    this.scrollSpeed =3D =
[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];=0A=
    this.lastScrolled =3D new Date();=0A=
    this.scrollInterval =3D setInterval(this.scroll.bind(this), 10);=0A=
  },=0A=
  =0A=
  scroll: function() {=0A=
    var current =3D new Date();=0A=
    var delta =3D current - this.lastScrolled;=0A=
    this.lastScrolled =3D current;=0A=
    if(this.options.scroll =3D=3D window) {=0A=
      with (this._getWindowScroll(this.options.scroll)) {=0A=
        if (this.scrollSpeed[0] || this.scrollSpeed[1]) {=0A=
          var d =3D delta / 1000;=0A=
          this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], =
top + d*this.scrollSpeed[1] );=0A=
        }=0A=
      }=0A=
    } else {=0A=
      this.options.scroll.scrollLeft +=3D this.scrollSpeed[0] * delta / =
1000;=0A=
      this.options.scroll.scrollTop  +=3D this.scrollSpeed[1] * delta / =
1000;=0A=
    }=0A=
    =0A=
    Position.prepare();=0A=
    Droppables.show(Draggables._lastPointer, this.element);=0A=
    Draggables.notify('onDrag', this);=0A=
    if (this._isScrollChild) {=0A=
      Draggables._lastScrollPointer =3D Draggables._lastScrollPointer || =
$A(Draggables._lastPointer);=0A=
      Draggables._lastScrollPointer[0] +=3D this.scrollSpeed[0] * delta =
/ 1000;=0A=
      Draggables._lastScrollPointer[1] +=3D this.scrollSpeed[1] * delta =
/ 1000;=0A=
      if (Draggables._lastScrollPointer[0] < 0)=0A=
        Draggables._lastScrollPointer[0] =3D 0;=0A=
      if (Draggables._lastScrollPointer[1] < 0)=0A=
        Draggables._lastScrollPointer[1] =3D 0;=0A=
      this.draw(Draggables._lastScrollPointer);=0A=
    }=0A=
    =0A=
    if(this.options.change) this.options.change(this);=0A=
  },=0A=
  =0A=
  _getWindowScroll: function(w) {=0A=
    var T, L, W, H;=0A=
    with (w.document) {=0A=
      if (w.document.documentElement && documentElement.scrollTop) {=0A=
        T =3D documentElement.scrollTop;=0A=
        L =3D documentElement.scrollLeft;=0A=
      } else if (w.document.body) {=0A=
        T =3D body.scrollTop;=0A=
        L =3D body.scrollLeft;=0A=
      }=0A=
      if (w.innerWidth) {=0A=
        W =3D w.innerWidth;=0A=
        H =3D w.innerHeight;=0A=
      } else if (w.document.documentElement && =
documentElement.clientWidth) {=0A=
        W =3D documentElement.clientWidth;=0A=
        H =3D documentElement.clientHeight;=0A=
      } else {=0A=
        W =3D body.offsetWidth;=0A=
        H =3D body.offsetHeight=0A=
      }=0A=
    }=0A=
    return { top: T, left: L, width: W, height: H };=0A=
  }=0A=
});=0A=
=0A=
Draggable._dragging =3D { };=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var SortableObserver =3D Class.create({=0A=
  initialize: function(element, observer) {=0A=
    this.element   =3D $(element);=0A=
    this.observer  =3D observer;=0A=
    this.lastValue =3D Sortable.serialize(this.element);=0A=
  },=0A=
  =0A=
  onStart: function() {=0A=
    this.lastValue =3D Sortable.serialize(this.element);=0A=
  },=0A=
  =0A=
  onEnd: function() {=0A=
    Sortable.unmark();=0A=
    if(this.lastValue !=3D Sortable.serialize(this.element))=0A=
      this.observer(this.element)=0A=
  }=0A=
});=0A=
=0A=
var Sortable =3D {=0A=
  SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,=0A=
  =0A=
  sortables: { },=0A=
  =0A=
  _findRootElement: function(element) {=0A=
    while (element.tagName.toUpperCase() !=3D "BODY") {  =0A=
      if(element.id && Sortable.sortables[element.id]) return element;=0A=
      element =3D element.parentNode;=0A=
    }=0A=
  },=0A=
=0A=
  options: function(element) {=0A=
    element =3D Sortable._findRootElement($(element));=0A=
    if(!element) return;=0A=
    return Sortable.sortables[element.id];=0A=
  },=0A=
  =0A=
  destroy: function(element){=0A=
    var s =3D Sortable.options(element);=0A=
    =0A=
    if(s) {=0A=
      Draggables.removeObserver(s.element);=0A=
      s.droppables.each(function(d){ Droppables.remove(d) });=0A=
      s.draggables.invoke('destroy');=0A=
      =0A=
      delete Sortable.sortables[s.element.id];=0A=
    }=0A=
  },=0A=
=0A=
  create: function(element) {=0A=
    element =3D $(element);=0A=
    var options =3D Object.extend({ =0A=
      element:     element,=0A=
      tag:         'li',       // assumes li children, override with =
tag: 'tagname'=0A=
      dropOnEmpty: false,=0A=
      tree:        false,=0A=
      treeTag:     'ul',=0A=
      overlap:     'vertical', // one of 'vertical', 'horizontal'=0A=
      constraint:  'vertical', // one of 'vertical', 'horizontal', false=0A=
      containment: element,    // also takes array of elements (or =
id's); or false=0A=
      handle:      false,      // or a CSS class=0A=
      only:        false,=0A=
      delay:       0,=0A=
      hoverclass:  null,=0A=
      ghosting:    false,=0A=
      quiet:       false, =0A=
      scroll:      false,=0A=
      scrollSensitivity: 20,=0A=
      scrollSpeed: 15,=0A=
      format:      this.SERIALIZE_RULE,=0A=
      =0A=
      // these take arrays of elements or ids and can be =0A=
      // used for better initialization performance=0A=
      elements:    false,=0A=
      handles:     false,=0A=
      =0A=
      onChange:    Prototype.emptyFunction,=0A=
      onUpdate:    Prototype.emptyFunction=0A=
    }, arguments[1] || { });=0A=
=0A=
    // clear any old sortable with same element=0A=
    this.destroy(element);=0A=
=0A=
    // build options for the draggables=0A=
    var options_for_draggable =3D {=0A=
      revert:      true,=0A=
      quiet:       options.quiet,=0A=
      scroll:      options.scroll,=0A=
      scrollSpeed: options.scrollSpeed,=0A=
      scrollSensitivity: options.scrollSensitivity,=0A=
      delay:       options.delay,=0A=
      ghosting:    options.ghosting,=0A=
      constraint:  options.constraint,=0A=
      handle:      options.handle };=0A=
=0A=
    if(options.starteffect)=0A=
      options_for_draggable.starteffect =3D options.starteffect;=0A=
=0A=
    if(options.reverteffect)=0A=
      options_for_draggable.reverteffect =3D options.reverteffect;=0A=
    else=0A=
      if(options.ghosting) options_for_draggable.reverteffect =3D =
function(element) {=0A=
        element.style.top  =3D 0;=0A=
        element.style.left =3D 0;=0A=
      };=0A=
=0A=
    if(options.endeffect)=0A=
      options_for_draggable.endeffect =3D options.endeffect;=0A=
=0A=
    if(options.zindex)=0A=
      options_for_draggable.zindex =3D options.zindex;=0A=
=0A=
    // build options for the droppables  =0A=
    var options_for_droppable =3D {=0A=
      overlap:     options.overlap,=0A=
      containment: options.containment,=0A=
      tree:        options.tree,=0A=
      hoverclass:  options.hoverclass,=0A=
      onHover:     Sortable.onHover=0A=
    }=0A=
    =0A=
    var options_for_tree =3D {=0A=
      onHover:      Sortable.onEmptyHover,=0A=
      overlap:      options.overlap,=0A=
      containment:  options.containment,=0A=
      hoverclass:   options.hoverclass=0A=
    }=0A=
=0A=
    // fix for gecko engine=0A=
    Element.cleanWhitespace(element); =0A=
=0A=
    options.draggables =3D [];=0A=
    options.droppables =3D [];=0A=
=0A=
    // drop on empty handling=0A=
    if(options.dropOnEmpty || options.tree) {=0A=
      Droppables.add(element, options_for_tree);=0A=
      options.droppables.push(element);=0A=
    }=0A=
=0A=
    (options.elements || this.findElements(element, options) || =
[]).each( function(e,i) {=0A=
      var handle =3D options.handles ? $(options.handles[i]) :=0A=
        (options.handle ? $(e).select('.' + options.handle)[0] : e); =0A=
      options.draggables.push(=0A=
        new Draggable(e, Object.extend(options_for_draggable, { handle: =
handle })));=0A=
      Droppables.add(e, options_for_droppable);=0A=
      if(options.tree) e.treeNode =3D element;=0A=
      options.droppables.push(e);      =0A=
    });=0A=
    =0A=
    if(options.tree) {=0A=
      (Sortable.findTreeElements(element, options) || []).each( =
function(e) {=0A=
        Droppables.add(e, options_for_tree);=0A=
        e.treeNode =3D element;=0A=
        options.droppables.push(e);=0A=
      });=0A=
    }=0A=
=0A=
    // keep reference=0A=
    this.sortables[element.id] =3D options;=0A=
=0A=
    // for onupdate=0A=
    Draggables.addObserver(new SortableObserver(element, =
options.onUpdate));=0A=
=0A=
  },=0A=
=0A=
  // return all suitable-for-sortable elements in a guaranteed order=0A=
  findElements: function(element, options) {=0A=
    return Element.findChildren(=0A=
      element, options.only, options.tree ? true : false, options.tag);=0A=
  },=0A=
  =0A=
  findTreeElements: function(element, options) {=0A=
    return Element.findChildren(=0A=
      element, options.only, options.tree ? true : false, =
options.treeTag);=0A=
  },=0A=
=0A=
  onHover: function(element, dropon, overlap) {=0A=
    if(Element.isParent(dropon, element)) return;=0A=
=0A=
    if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) {=0A=
      return;=0A=
    } else if(overlap>0.5) {=0A=
      Sortable.mark(dropon, 'before');=0A=
      if(dropon.previousSibling !=3D element) {=0A=
        var oldParentNode =3D element.parentNode;=0A=
        element.style.visibility =3D "hidden"; // fix gecko rendering=0A=
        dropon.parentNode.insertBefore(element, dropon);=0A=
        if(dropon.parentNode!=3DoldParentNode) =0A=
          Sortable.options(oldParentNode).onChange(element);=0A=
        Sortable.options(dropon.parentNode).onChange(element);=0A=
      }=0A=
    } else {=0A=
      Sortable.mark(dropon, 'after');=0A=
      var nextElement =3D dropon.nextSibling || null;=0A=
      if(nextElement !=3D element) {=0A=
        var oldParentNode =3D element.parentNode;=0A=
        element.style.visibility =3D "hidden"; // fix gecko rendering=0A=
        dropon.parentNode.insertBefore(element, nextElement);=0A=
        if(dropon.parentNode!=3DoldParentNode) =0A=
          Sortable.options(oldParentNode).onChange(element);=0A=
        Sortable.options(dropon.parentNode).onChange(element);=0A=
      }=0A=
    }=0A=
  },=0A=
  =0A=
  onEmptyHover: function(element, dropon, overlap) {=0A=
    var oldParentNode =3D element.parentNode;=0A=
    var droponOptions =3D Sortable.options(dropon);=0A=
        =0A=
    if(!Element.isParent(dropon, element)) {=0A=
      var index;=0A=
      =0A=
      var children =3D Sortable.findElements(dropon, {tag: =
droponOptions.tag, only: droponOptions.only});=0A=
      var child =3D null;=0A=
            =0A=
      if(children) {=0A=
        var offset =3D Element.offsetSize(dropon, droponOptions.overlap) =
* (1.0 - overlap);=0A=
        =0A=
        for (index =3D 0; index < children.length; index +=3D 1) {=0A=
          if (offset - Element.offsetSize (children[index], =
droponOptions.overlap) >=3D 0) {=0A=
            offset -=3D Element.offsetSize (children[index], =
droponOptions.overlap);=0A=
          } else if (offset - (Element.offsetSize (children[index], =
droponOptions.overlap) / 2) >=3D 0) {=0A=
            child =3D index + 1 < children.length ? children[index + 1] =
: null;=0A=
            break;=0A=
          } else {=0A=
            child =3D children[index];=0A=
            break;=0A=
          }=0A=
        }=0A=
      }=0A=
      =0A=
      dropon.insertBefore(element, child);=0A=
      =0A=
      Sortable.options(oldParentNode).onChange(element);=0A=
      droponOptions.onChange(element);=0A=
    }=0A=
  },=0A=
=0A=
  unmark: function() {=0A=
    if(Sortable._marker) Sortable._marker.hide();=0A=
  },=0A=
=0A=
  mark: function(dropon, position) {=0A=
    // mark on ghosting only=0A=
    var sortable =3D Sortable.options(dropon.parentNode);=0A=
    if(sortable && !sortable.ghosting) return; =0A=
=0A=
    if(!Sortable._marker) {=0A=
      Sortable._marker =3D =0A=
        ($('dropmarker') || =
Element.extend(document.createElement('DIV'))).=0A=
          =
hide().addClassName('dropmarker').setStyle({position:'absolute'});=0A=
      =
document.getElementsByTagName("body").item(0).appendChild(Sortable._marke=
r);=0A=
    }    =0A=
    var offsets =3D Position.cumulativeOffset(dropon);=0A=
    Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + =
'px'});=0A=
    =0A=
    if(position=3D=3D'after')=0A=
      if(sortable.overlap =3D=3D 'horizontal') =0A=
        Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) =
+ 'px'});=0A=
      else=0A=
        Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) =
+ 'px'});=0A=
    =0A=
    Sortable._marker.show();=0A=
  },=0A=
  =0A=
  _tree: function(element, options, parent) {=0A=
    var children =3D Sortable.findElements(element, options) || [];=0A=
  =0A=
    for (var i =3D 0; i < children.length; ++i) {=0A=
      var match =3D children[i].id.match(options.format);=0A=
=0A=
      if (!match) continue;=0A=
      =0A=
      var child =3D {=0A=
        id: encodeURIComponent(match ? match[1] : null),=0A=
        element: element,=0A=
        parent: parent,=0A=
        children: [],=0A=
        position: parent.children.length,=0A=
        container: $(children[i]).down(options.treeTag)=0A=
      }=0A=
      =0A=
      /* Get the element containing the children and recurse over it */=0A=
      if (child.container)=0A=
        this._tree(child.container, options, child)=0A=
      =0A=
      parent.children.push (child);=0A=
    }=0A=
=0A=
    return parent; =0A=
  },=0A=
=0A=
  tree: function(element) {=0A=
    element =3D $(element);=0A=
    var sortableOptions =3D this.options(element);=0A=
    var options =3D Object.extend({=0A=
      tag: sortableOptions.tag,=0A=
      treeTag: sortableOptions.treeTag,=0A=
      only: sortableOptions.only,=0A=
      name: element.id,=0A=
      format: sortableOptions.format=0A=
    }, arguments[1] || { });=0A=
    =0A=
    var root =3D {=0A=
      id: null,=0A=
      parent: null,=0A=
      children: [],=0A=
      container: element,=0A=
      position: 0=0A=
    }=0A=
    =0A=
    return Sortable._tree(element, options, root);=0A=
  },=0A=
=0A=
  /* Construct a [i] index for a particular node */=0A=
  _constructIndex: function(node) {=0A=
    var index =3D '';=0A=
    do {=0A=
      if (node.id) index =3D '[' + node.position + ']' + index;=0A=
    } while ((node =3D node.parent) !=3D null);=0A=
    return index;=0A=
  },=0A=
=0A=
  sequence: function(element) {=0A=
    element =3D $(element);=0A=
    var options =3D Object.extend(this.options(element), arguments[1] || =
{ });=0A=
    =0A=
    return $(this.findElements(element, options) || []).map( =
function(item) {=0A=
      return item.id.match(options.format) ? =
item.id.match(options.format)[1] : '';=0A=
    });=0A=
  },=0A=
=0A=
  setSequence: function(element, new_sequence) {=0A=
    element =3D $(element);=0A=
    var options =3D Object.extend(this.options(element), arguments[2] || =
{ });=0A=
    =0A=
    var nodeMap =3D { };=0A=
    this.findElements(element, options).each( function(n) {=0A=
        if (n.id.match(options.format))=0A=
            nodeMap[n.id.match(options.format)[1]] =3D [n, n.parentNode];=0A=
        n.parentNode.removeChild(n);=0A=
    });=0A=
   =0A=
    new_sequence.each(function(ident) {=0A=
      var n =3D nodeMap[ident];=0A=
      if (n) {=0A=
        n[1].appendChild(n[0]);=0A=
        delete nodeMap[ident];=0A=
      }=0A=
    });=0A=
  },=0A=
  =0A=
  serialize: function(element) {=0A=
    element =3D $(element);=0A=
    var options =3D Object.extend(Sortable.options(element), =
arguments[1] || { });=0A=
    var name =3D encodeURIComponent(=0A=
      (arguments[1] && arguments[1].name) ? arguments[1].name : =
element.id);=0A=
    =0A=
    if (options.tree) {=0A=
      return Sortable.tree(element, arguments[1]).children.map( function =
(item) {=0A=
        return [name + Sortable._constructIndex(item) + "[id]=3D" + =0A=
                =
encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));=0A=
      }).flatten().join('&');=0A=
    } else {=0A=
      return Sortable.sequence(element, arguments[1]).map( =
function(item) {=0A=
        return name + "[]=3D" + encodeURIComponent(item);=0A=
      }).join('&');=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
// Returns true if child is contained within element=0A=
Element.isParent =3D function(child, element) {=0A=
  if (!child.parentNode || child =3D=3D element) return false;=0A=
  if (child.parentNode =3D=3D element) return true;=0A=
  return Element.isParent(child.parentNode, element);=0A=
}=0A=
=0A=
Element.findChildren =3D function(element, only, recursive, tagName) {   =0A=
  if(!element.hasChildNodes()) return null;=0A=
  tagName =3D tagName.toUpperCase();=0A=
  if(only) only =3D [only].flatten();=0A=
  var elements =3D [];=0A=
  $A(element.childNodes).each( function(e) {=0A=
    if(e.tagName && e.tagName.toUpperCase()=3D=3DtagName &&=0A=
      (!only || (Element.classNames(e).detect(function(v) { return =
only.include(v) }))))=0A=
        elements.push(e);=0A=
    if(recursive) {=0A=
      var grandchildren =3D Element.findChildren(e, only, recursive, =
tagName);=0A=
      if(grandchildren) elements.push(grandchildren);=0A=
    }=0A=
  });=0A=
=0A=
  return (elements.length>0 ? elements.flatten() : []);=0A=
}=0A=
=0A=
Element.offsetSize =3D function (element, type) {=0A=
  return element['offset' + ((type=3D=3D'vertical' || =
type=3D=3D'height') ? 'Height' : 'Width')];=0A=
}=0A=

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/controls.js

// script.aculo.us controls.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008=0A=
=0A=
// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
//           (c) 2005-2007 Ivan Krstic =
(http://blogs.law.harvard.edu/ivan)=0A=
//           (c) 2005-2007 Jon Tirsen (http://www.tirsen.com)=0A=
// Contributors:=0A=
//  Richard Livsey=0A=
//  Rahul Bhargava=0A=
//  Rob Wills=0A=
// =0A=
// script.aculo.us is freely distributable under the terms of an =
MIT-style license.=0A=
// For details, see the script.aculo.us web site: http://script.aculo.us/=0A=
=0A=
// Autocompleter.Base handles all the autocompletion functionality =0A=
// that's independent of the data source for autocompletion. This=0A=
// includes drawing the autocompletion menu, observing keyboard=0A=
// and mouse events, and similar.=0A=
//=0A=
// Specific autocompleters need to provide, at the very least, =0A=
// a getUpdatedChoices function that will be invoked every time=0A=
// the text inside the monitored textbox changes. This method =0A=
// should get the text for which to provide autocompletion by=0A=
// invoking this.getToken(), NOT by directly accessing=0A=
// this.element.value. This is to allow incremental tokenized=0A=
// autocompletion. Specific auto-completion logic (AJAX, etc)=0A=
// belongs in getUpdatedChoices.=0A=
//=0A=
// Tokenized incremental autocompletion is enabled automatically=0A=
// when an autocompleter is instantiated with the 'tokens' option=0A=
// in the options parameter, e.g.:=0A=
// new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' });=0A=
// will incrementally autocomplete with a comma as the token.=0A=
// Additionally, ',' in the above example can be replaced with=0A=
// a token array, e.g. { tokens: [',', '\n'] } which=0A=
// enables autocompletion on multiple tokens. This is most =0A=
// useful when one of the tokens is \n (a newline), as it =0A=
// allows smart autocompletion after linebreaks.=0A=
=0A=
if(typeof Effect =3D=3D 'undefined')=0A=
  throw("controls.js requires including script.aculo.us' effects.js =
library");=0A=
=0A=
var Autocompleter =3D { }=0A=
Autocompleter.Base =3D Class.create({=0A=
  baseInitialize: function(element, update, options) {=0A=
    element          =3D $(element)=0A=
    this.element     =3D element; =0A=
    this.update      =3D $(update);  =0A=
    this.hasFocus    =3D false; =0A=
    this.changed     =3D false; =0A=
    this.active      =3D false; =0A=
    this.index       =3D 0;     =0A=
    this.entryCount  =3D 0;=0A=
    this.oldElementValue =3D this.element.value;=0A=
=0A=
    if(this.setOptions)=0A=
      this.setOptions(options);=0A=
    else=0A=
      this.options =3D options || { };=0A=
=0A=
    this.options.paramName    =3D this.options.paramName || =
this.element.name;=0A=
    this.options.tokens       =3D this.options.tokens || [];=0A=
    this.options.frequency    =3D this.options.frequency || 0.4;=0A=
    this.options.minChars     =3D this.options.minChars || 1;=0A=
    this.options.onShow       =3D this.options.onShow || =0A=
      function(element, update){ =0A=
        if(!update.style.position || =
update.style.position=3D=3D'absolute') {=0A=
          update.style.position =3D 'absolute';=0A=
          Position.clone(element, update, {=0A=
            setHeight: false, =0A=
            offsetTop: element.offsetHeight=0A=
          });=0A=
        }=0A=
        Effect.Appear(update,{duration:0.15});=0A=
      };=0A=
    this.options.onHide =3D this.options.onHide || =0A=
      function(element, update){ new Effect.Fade(update,{duration:0.15}) =
};=0A=
=0A=
    if(typeof(this.options.tokens) =3D=3D 'string') =0A=
      this.options.tokens =3D new Array(this.options.tokens);=0A=
    // Force carriage returns as token delimiters anyway=0A=
    if (!this.options.tokens.include('\n'))=0A=
      this.options.tokens.push('\n');=0A=
=0A=
    this.observer =3D null;=0A=
    =0A=
    this.element.setAttribute('autocomplete','off');=0A=
=0A=
    Element.hide(this.update);=0A=
=0A=
    Event.observe(this.element, 'blur', =
this.onBlur.bindAsEventListener(this));=0A=
    Event.observe(this.element, 'keydown', =
this.onKeyPress.bindAsEventListener(this));=0A=
  },=0A=
=0A=
  show: function() {=0A=
    if(Element.getStyle(this.update, 'display')=3D=3D'none') =
this.options.onShow(this.element, this.update);=0A=
    if(!this.iefix && =0A=
      (Prototype.Browser.IE) &&=0A=
      (Element.getStyle(this.update, 'position')=3D=3D'absolute')) {=0A=
      new Insertion.After(this.update, =0A=
       '<iframe id=3D"' + this.update.id + '_iefix" '+=0A=
       =
'style=3D"display:none;position:absolute;filter:progid:DXImageTransform.M=
icrosoft.Alpha(opacity=3D0);" ' +=0A=
       'src=3D"javascript:false;" frameborder=3D"0" =
scrolling=3D"no"></iframe>');=0A=
      this.iefix =3D $(this.update.id+'_iefix');=0A=
    }=0A=
    if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50);=0A=
  },=0A=
  =0A=
  fixIEOverlapping: function() {=0A=
    Position.clone(this.update, this.iefix, =
{setTop:(!this.update.style.height)});=0A=
    this.iefix.style.zIndex =3D 1;=0A=
    this.update.style.zIndex =3D 2;=0A=
    Element.show(this.iefix);=0A=
  },=0A=
=0A=
  hide: function() {=0A=
    this.stopIndicator();=0A=
    if(Element.getStyle(this.update, 'display')!=3D'none') =
this.options.onHide(this.element, this.update);=0A=
    if(this.iefix) Element.hide(this.iefix);=0A=
  },=0A=
=0A=
  startIndicator: function() {=0A=
    if(this.options.indicator) Element.show(this.options.indicator);=0A=
  },=0A=
=0A=
  stopIndicator: function() {=0A=
    if(this.options.indicator) Element.hide(this.options.indicator);=0A=
  },=0A=
=0A=
  onKeyPress: function(event) {=0A=
    if(this.active)=0A=
      switch(event.keyCode) {=0A=
       case Event.KEY_TAB:=0A=
       case Event.KEY_RETURN:=0A=
         this.selectEntry();=0A=
         Event.stop(event);=0A=
       case Event.KEY_ESC:=0A=
         this.hide();=0A=
         this.active =3D false;=0A=
         Event.stop(event);=0A=
         return;=0A=
       case Event.KEY_LEFT:=0A=
       case Event.KEY_RIGHT:=0A=
         return;=0A=
       case Event.KEY_UP:=0A=
         this.markPrevious();=0A=
         this.render();=0A=
         Event.stop(event);=0A=
         return;=0A=
       case Event.KEY_DOWN:=0A=
         this.markNext();=0A=
         this.render();=0A=
         Event.stop(event);=0A=
         return;=0A=
      }=0A=
     else =0A=
       if(event.keyCode=3D=3DEvent.KEY_TAB || =
event.keyCode=3D=3DEvent.KEY_RETURN || =0A=
         (Prototype.Browser.WebKit > 0 && event.keyCode =3D=3D 0)) =
return;=0A=
=0A=
    this.changed =3D true;=0A=
    this.hasFocus =3D true;=0A=
=0A=
    if(this.observer) clearTimeout(this.observer);=0A=
      this.observer =3D =0A=
        setTimeout(this.onObserverEvent.bind(this), =
this.options.frequency*1000);=0A=
  },=0A=
=0A=
  activate: function() {=0A=
    this.changed =3D false;=0A=
    this.hasFocus =3D true;=0A=
    this.getUpdatedChoices();=0A=
  },=0A=
=0A=
  onHover: function(event) {=0A=
    var element =3D Event.findElement(event, 'LI');=0A=
    if(this.index !=3D element.autocompleteIndex) =0A=
    {=0A=
        this.index =3D element.autocompleteIndex;=0A=
        this.render();=0A=
    }=0A=
    Event.stop(event);=0A=
  },=0A=
  =0A=
  onClick: function(event) {=0A=
    var element =3D Event.findElement(event, 'LI');=0A=
    this.index =3D element.autocompleteIndex;=0A=
    this.selectEntry();=0A=
    this.hide();=0A=
  },=0A=
  =0A=
  onBlur: function(event) {=0A=
    // needed to make click events working=0A=
    setTimeout(this.hide.bind(this), 250);=0A=
    this.hasFocus =3D false;=0A=
    this.active =3D false;     =0A=
  }, =0A=
  =0A=
  render: function() {=0A=
    if(this.entryCount > 0) {=0A=
      for (var i =3D 0; i < this.entryCount; i++)=0A=
        this.index=3D=3Di ? =0A=
          Element.addClassName(this.getEntry(i),"selected") : =0A=
          Element.removeClassName(this.getEntry(i),"selected");=0A=
      if(this.hasFocus) { =0A=
        this.show();=0A=
        this.active =3D true;=0A=
      }=0A=
    } else {=0A=
      this.active =3D false;=0A=
      this.hide();=0A=
    }=0A=
  },=0A=
  =0A=
  markPrevious: function() {=0A=
    if(this.index > 0) this.index--=0A=
      else this.index =3D this.entryCount-1;=0A=
    this.getEntry(this.index).scrollIntoView(true);=0A=
  },=0A=
  =0A=
  markNext: function() {=0A=
    if(this.index < this.entryCount-1) this.index++=0A=
      else this.index =3D 0;=0A=
    this.getEntry(this.index).scrollIntoView(false);=0A=
  },=0A=
  =0A=
  getEntry: function(index) {=0A=
    return this.update.firstChild.childNodes[index];=0A=
  },=0A=
  =0A=
  getCurrentEntry: function() {=0A=
    return this.getEntry(this.index);=0A=
  },=0A=
  =0A=
  selectEntry: function() {=0A=
    this.active =3D false;=0A=
    this.updateElement(this.getCurrentEntry());=0A=
  },=0A=
=0A=
  updateElement: function(selectedElement) {=0A=
    if (this.options.updateElement) {=0A=
      this.options.updateElement(selectedElement);=0A=
      return;=0A=
    }=0A=
    var value =3D '';=0A=
    if (this.options.select) {=0A=
      var nodes =3D $(selectedElement).select('.' + this.options.select) =
|| [];=0A=
      if(nodes.length>0) value =3D Element.collectTextNodes(nodes[0], =
this.options.select);=0A=
    } else=0A=
      value =3D Element.collectTextNodesIgnoreClass(selectedElement, =
'informal');=0A=
    =0A=
    var bounds =3D this.getTokenBounds();=0A=
    if (bounds[0] !=3D -1) {=0A=
      var newValue =3D this.element.value.substr(0, bounds[0]);=0A=
      var whitespace =3D =
this.element.value.substr(bounds[0]).match(/^\s+/);=0A=
      if (whitespace)=0A=
        newValue +=3D whitespace[0];=0A=
      this.element.value =3D newValue + value + =
this.element.value.substr(bounds[1]);=0A=
    } else {=0A=
      this.element.value =3D value;=0A=
    }=0A=
    this.oldElementValue =3D this.element.value;=0A=
    this.element.focus();=0A=
    =0A=
    if (this.options.afterUpdateElement)=0A=
      this.options.afterUpdateElement(this.element, selectedElement);=0A=
  },=0A=
=0A=
  updateChoices: function(choices) {=0A=
    if(!this.changed && this.hasFocus) {=0A=
      this.update.innerHTML =3D choices;=0A=
      Element.cleanWhitespace(this.update);=0A=
      Element.cleanWhitespace(this.update.down());=0A=
=0A=
      if(this.update.firstChild && this.update.down().childNodes) {=0A=
        this.entryCount =3D =0A=
          this.update.down().childNodes.length;=0A=
        for (var i =3D 0; i < this.entryCount; i++) {=0A=
          var entry =3D this.getEntry(i);=0A=
          entry.autocompleteIndex =3D i;=0A=
          this.addObservers(entry);=0A=
        }=0A=
      } else { =0A=
        this.entryCount =3D 0;=0A=
      }=0A=
=0A=
      this.stopIndicator();=0A=
      this.index =3D 0;=0A=
      =0A=
      if(this.entryCount=3D=3D1 && this.options.autoSelect) {=0A=
        this.selectEntry();=0A=
        this.hide();=0A=
      } else {=0A=
        this.render();=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  addObservers: function(element) {=0A=
    Event.observe(element, "mouseover", =
this.onHover.bindAsEventListener(this));=0A=
    Event.observe(element, "click", =
this.onClick.bindAsEventListener(this));=0A=
  },=0A=
=0A=
  onObserverEvent: function() {=0A=
    this.changed =3D false;   =0A=
    this.tokenBounds =3D null;=0A=
    if(this.getToken().length>=3Dthis.options.minChars) {=0A=
      this.getUpdatedChoices();=0A=
    } else {=0A=
      this.active =3D false;=0A=
      this.hide();=0A=
    }=0A=
    this.oldElementValue =3D this.element.value;=0A=
  },=0A=
=0A=
  getToken: function() {=0A=
    var bounds =3D this.getTokenBounds();=0A=
    return this.element.value.substring(bounds[0], bounds[1]).strip();=0A=
  },=0A=
=0A=
  getTokenBounds: function() {=0A=
    if (null !=3D this.tokenBounds) return this.tokenBounds;=0A=
    var value =3D this.element.value;=0A=
    if (value.strip().empty()) return [-1, 0];=0A=
    var diff =3D arguments.callee.getFirstDifferencePos(value, =
this.oldElementValue);=0A=
    var offset =3D (diff =3D=3D this.oldElementValue.length ? 1 : 0);=0A=
    var prevTokenPos =3D -1, nextTokenPos =3D value.length;=0A=
    var tp;=0A=
    for (var index =3D 0, l =3D this.options.tokens.length; index < l; =
++index) {=0A=
      tp =3D value.lastIndexOf(this.options.tokens[index], diff + offset =
- 1);=0A=
      if (tp > prevTokenPos) prevTokenPos =3D tp;=0A=
      tp =3D value.indexOf(this.options.tokens[index], diff + offset);=0A=
      if (-1 !=3D tp && tp < nextTokenPos) nextTokenPos =3D tp;=0A=
    }=0A=
    return (this.tokenBounds =3D [prevTokenPos + 1, nextTokenPos]);=0A=
  }=0A=
});=0A=
=0A=
Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos =3D =
function(newS, oldS) {=0A=
  var boundary =3D Math.min(newS.length, oldS.length);=0A=
  for (var index =3D 0; index < boundary; ++index)=0A=
    if (newS[index] !=3D oldS[index])=0A=
      return index;=0A=
  return boundary;=0A=
};=0A=
=0A=
Ajax.Autocompleter =3D Class.create(Autocompleter.Base, {=0A=
  initialize: function(element, update, url, options) {=0A=
    this.baseInitialize(element, update, options);=0A=
    this.options.asynchronous  =3D true;=0A=
    this.options.onComplete    =3D this.onComplete.bind(this);=0A=
    this.options.defaultParams =3D this.options.parameters || null;=0A=
    this.url                   =3D url;=0A=
  },=0A=
=0A=
  getUpdatedChoices: function() {=0A=
    this.startIndicator();=0A=
    =0A=
    var entry =3D encodeURIComponent(this.options.paramName) + '=3D' + =0A=
      encodeURIComponent(this.getToken());=0A=
=0A=
    this.options.parameters =3D this.options.callback ?=0A=
      this.options.callback(this.element, entry) : entry;=0A=
=0A=
    if(this.options.defaultParams) =0A=
      this.options.parameters +=3D '&' + this.options.defaultParams;=0A=
    =0A=
    new Ajax.Request(this.url, this.options);=0A=
  },=0A=
=0A=
  onComplete: function(request) {=0A=
    this.updateChoices(request.responseText);=0A=
  }=0A=
});=0A=
=0A=
// The local array autocompleter. Used when you'd prefer to=0A=
// inject an array of autocompletion options into the page, rather=0A=
// than sending out Ajax queries, which can be quite slow sometimes.=0A=
//=0A=
// The constructor takes four parameters. The first two are, as usual,=0A=
// the id of the monitored textbox, and id of the autocompletion menu.=0A=
// The third is the array you want to autocomplete from, and the fourth=0A=
// is the options block.=0A=
//=0A=
// Extra local autocompletion options:=0A=
// - choices - How many autocompletion choices to offer=0A=
//=0A=
// - partialSearch - If false, the autocompleter will match entered=0A=
//                    text only at the beginning of strings in the =0A=
//                    autocomplete array. Defaults to true, which will=0A=
//                    match text at the beginning of any *word* in the=0A=
//                    strings in the autocomplete array. If you want to=0A=
//                    search anywhere in the string, additionally set=0A=
//                    the option fullSearch to true (default: off).=0A=
//=0A=
// - fullSsearch - Search anywhere in autocomplete array strings.=0A=
//=0A=
// - partialChars - How many characters to enter before triggering=0A=
//                   a partial match (unlike minChars, which defines=0A=
//                   how many characters are required to do any match=0A=
//                   at all). Defaults to 2.=0A=
//=0A=
// - ignoreCase - Whether to ignore case when autocompleting.=0A=
//                 Defaults to true.=0A=
//=0A=
// It's possible to pass in a custom function as the 'selector' =0A=
// option, if you prefer to write your own autocompletion logic.=0A=
// In that case, the other options above will not apply unless=0A=
// you support them.=0A=
=0A=
Autocompleter.Local =3D Class.create(Autocompleter.Base, {=0A=
  initialize: function(element, update, array, options) {=0A=
    this.baseInitialize(element, update, options);=0A=
    this.options.array =3D array;=0A=
  },=0A=
=0A=
  getUpdatedChoices: function() {=0A=
    this.updateChoices(this.options.selector(this));=0A=
  },=0A=
=0A=
  setOptions: function(options) {=0A=
    this.options =3D Object.extend({=0A=
      choices: 10,=0A=
      partialSearch: true,=0A=
      partialChars: 2,=0A=
      ignoreCase: true,=0A=
      fullSearch: false,=0A=
      selector: function(instance) {=0A=
        var ret       =3D []; // Beginning matches=0A=
        var partial   =3D []; // Inside matches=0A=
        var entry     =3D instance.getToken();=0A=
        var count     =3D 0;=0A=
=0A=
        for (var i =3D 0; i < instance.options.array.length &&  =0A=
          ret.length < instance.options.choices ; i++) { =0A=
=0A=
          var elem =3D instance.options.array[i];=0A=
          var foundPos =3D instance.options.ignoreCase ? =0A=
            elem.toLowerCase().indexOf(entry.toLowerCase()) : =0A=
            elem.indexOf(entry);=0A=
=0A=
          while (foundPos !=3D -1) {=0A=
            if (foundPos =3D=3D 0 && elem.length !=3D entry.length) { =0A=
              ret.push("<li><strong>" + elem.substr(0, entry.length) + =
"</strong>" + =0A=
                elem.substr(entry.length) + "</li>");=0A=
              break;=0A=
            } else if (entry.length >=3D instance.options.partialChars =
&& =0A=
              instance.options.partialSearch && foundPos !=3D -1) {=0A=
              if (instance.options.fullSearch || =
/\s/.test(elem.substr(foundPos-1,1))) {=0A=
                partial.push("<li>" + elem.substr(0, foundPos) + =
"<strong>" +=0A=
                  elem.substr(foundPos, entry.length) + "</strong>" + =
elem.substr(=0A=
                  foundPos + entry.length) + "</li>");=0A=
                break;=0A=
              }=0A=
            }=0A=
=0A=
            foundPos =3D instance.options.ignoreCase ? =0A=
              elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + =
1) : =0A=
              elem.indexOf(entry, foundPos + 1);=0A=
=0A=
          }=0A=
        }=0A=
        if (partial.length)=0A=
          ret =3D ret.concat(partial.slice(0, instance.options.choices - =
ret.length))=0A=
        return "<ul>" + ret.join('') + "</ul>";=0A=
      }=0A=
    }, options || { });=0A=
  }=0A=
});=0A=
=0A=
// AJAX in-place editor and collection editor=0A=
// Full rewrite by Christophe Porteneuve <tdd@tddsworld.com> (April =
2007).=0A=
=0A=
// Use this if you notice weird scrolling problems on some browsers,=0A=
// the DOM might be a bit confused when this gets called so do this=0A=
// waits 1 ms (with setTimeout) until it does the activation=0A=
Field.scrollFreeActivate =3D function(field) {=0A=
  setTimeout(function() {=0A=
    Field.activate(field);=0A=
  }, 1);=0A=
}=0A=
=0A=
Ajax.InPlaceEditor =3D Class.create({=0A=
  initialize: function(element, url, options) {=0A=
    this.url =3D url;=0A=
    this.element =3D element =3D $(element);=0A=
    this.prepareOptions();=0A=
    this._controls =3D { };=0A=
    arguments.callee.dealWithDeprecatedOptions(options); // DEPRECATION =
LAYER!!!=0A=
    Object.extend(this.options, options || { });=0A=
    if (!this.options.formId && this.element.id) {=0A=
      this.options.formId =3D this.element.id + '-inplaceeditor';=0A=
      if ($(this.options.formId))=0A=
        this.options.formId =3D '';=0A=
    }=0A=
    if (this.options.externalControl)=0A=
      this.options.externalControl =3D $(this.options.externalControl);=0A=
    if (!this.options.externalControl)=0A=
      this.options.externalControlOnly =3D false;=0A=
    this._originalBackground =3D =
this.element.getStyle('background-color') || 'transparent';=0A=
    this.element.title =3D this.options.clickToEditText;=0A=
    this._boundCancelHandler =3D this.handleFormCancellation.bind(this);=0A=
    this._boundComplete =3D (this.options.onComplete || =
Prototype.emptyFunction).bind(this);=0A=
    this._boundFailureHandler =3D this.handleAJAXFailure.bind(this);=0A=
    this._boundSubmitHandler =3D this.handleFormSubmission.bind(this);=0A=
    this._boundWrapperHandler =3D this.wrapUp.bind(this);=0A=
    this.registerListeners();=0A=
  },=0A=
  checkForEscapeOrReturn: function(e) {=0A=
    if (!this._editing || e.ctrlKey || e.altKey || e.shiftKey) return;=0A=
    if (Event.KEY_ESC =3D=3D e.keyCode)=0A=
      this.handleFormCancellation(e);=0A=
    else if (Event.KEY_RETURN =3D=3D e.keyCode)=0A=
      this.handleFormSubmission(e);=0A=
  },=0A=
  createControl: function(mode, handler, extraClasses) {=0A=
    var control =3D this.options[mode + 'Control'];=0A=
    var text =3D this.options[mode + 'Text'];=0A=
    if ('button' =3D=3D control) {=0A=
      var btn =3D document.createElement('input');=0A=
      btn.type =3D 'submit';=0A=
      btn.value =3D text;=0A=
      btn.className =3D 'editor_' + mode + '_button';=0A=
      if ('cancel' =3D=3D mode)=0A=
        btn.onclick =3D this._boundCancelHandler;=0A=
      this._form.appendChild(btn);=0A=
      this._controls[mode] =3D btn;=0A=
    } else if ('link' =3D=3D control) {=0A=
      var link =3D document.createElement('a');=0A=
      link.href =3D '#';=0A=
      link.appendChild(document.createTextNode(text));=0A=
      link.onclick =3D 'cancel' =3D=3D mode ? this._boundCancelHandler : =
this._boundSubmitHandler;=0A=
      link.className =3D 'editor_' + mode + '_link';=0A=
      if (extraClasses)=0A=
        link.className +=3D ' ' + extraClasses;=0A=
      this._form.appendChild(link);=0A=
      this._controls[mode] =3D link;=0A=
    }=0A=
  },=0A=
  createEditField: function() {=0A=
    var text =3D (this.options.loadTextURL ? this.options.loadingText : =
this.getText());=0A=
    var fld;=0A=
    if (1 >=3D this.options.rows && !/\r|\n/.test(this.getText())) {=0A=
      fld =3D document.createElement('input');=0A=
      fld.type =3D 'text';=0A=
      var size =3D this.options.size || this.options.cols || 0;=0A=
      if (0 < size) fld.size =3D size;=0A=
    } else {=0A=
      fld =3D document.createElement('textarea');=0A=
      fld.rows =3D (1 >=3D this.options.rows ? this.options.autoRows : =
this.options.rows);=0A=
      fld.cols =3D this.options.cols || 40;=0A=
    }=0A=
    fld.name =3D this.options.paramName;=0A=
    fld.value =3D text; // No HTML breaks conversion anymore=0A=
    fld.className =3D 'editor_field';=0A=
    if (this.options.submitOnBlur)=0A=
      fld.onblur =3D this._boundSubmitHandler;=0A=
    this._controls.editor =3D fld;=0A=
    if (this.options.loadTextURL)=0A=
      this.loadExternalText();=0A=
    this._form.appendChild(this._controls.editor);=0A=
  },=0A=
  createForm: function() {=0A=
    var ipe =3D this;=0A=
    function addText(mode, condition) {=0A=
      var text =3D ipe.options['text' + mode + 'Controls'];=0A=
      if (!text || condition =3D=3D=3D false) return;=0A=
      ipe._form.appendChild(document.createTextNode(text));=0A=
    };=0A=
    this._form =3D $(document.createElement('form'));=0A=
    this._form.id =3D this.options.formId;=0A=
    this._form.addClassName(this.options.formClassName);=0A=
    this._form.onsubmit =3D this._boundSubmitHandler;=0A=
    this.createEditField();=0A=
    if ('textarea' =3D=3D this._controls.editor.tagName.toLowerCase())=0A=
      this._form.appendChild(document.createElement('br'));=0A=
    if (this.options.onFormCustomization)=0A=
      this.options.onFormCustomization(this, this._form);=0A=
    addText('Before', this.options.okControl || =
this.options.cancelControl);=0A=
    this.createControl('ok', this._boundSubmitHandler);=0A=
    addText('Between', this.options.okControl && =
this.options.cancelControl);=0A=
    this.createControl('cancel', this._boundCancelHandler, =
'editor_cancel');=0A=
    addText('After', this.options.okControl || =
this.options.cancelControl);=0A=
  },=0A=
  destroy: function() {=0A=
    if (this._oldInnerHTML)=0A=
      this.element.innerHTML =3D this._oldInnerHTML;=0A=
    this.leaveEditMode();=0A=
    this.unregisterListeners();=0A=
  },=0A=
  enterEditMode: function(e) {=0A=
    if (this._saving || this._editing) return;=0A=
    this._editing =3D true;=0A=
    this.triggerCallback('onEnterEditMode');=0A=
    if (this.options.externalControl)=0A=
      this.options.externalControl.hide();=0A=
    this.element.hide();=0A=
    this.createForm();=0A=
    this.element.parentNode.insertBefore(this._form, this.element);=0A=
    if (!this.options.loadTextURL)=0A=
      this.postProcessEditField();=0A=
    if (e) Event.stop(e);=0A=
  },=0A=
  enterHover: function(e) {=0A=
    if (this.options.hoverClassName)=0A=
      this.element.addClassName(this.options.hoverClassName);=0A=
    if (this._saving) return;=0A=
    this.triggerCallback('onEnterHover');=0A=
  },=0A=
  getText: function() {=0A=
    return this.element.innerHTML;=0A=
  },=0A=
  handleAJAXFailure: function(transport) {=0A=
    this.triggerCallback('onFailure', transport);=0A=
    if (this._oldInnerHTML) {=0A=
      this.element.innerHTML =3D this._oldInnerHTML;=0A=
      this._oldInnerHTML =3D null;=0A=
    }=0A=
  },=0A=
  handleFormCancellation: function(e) {=0A=
    this.wrapUp();=0A=
    if (e) Event.stop(e);=0A=
  },=0A=
  handleFormSubmission: function(e) {=0A=
    var form =3D this._form;=0A=
    var value =3D $F(this._controls.editor);=0A=
    this.prepareSubmission();=0A=
    var params =3D this.options.callback(form, value) || '';=0A=
    if (Object.isString(params))=0A=
      params =3D params.toQueryParams();=0A=
    params.editorId =3D this.element.id;=0A=
    if (this.options.htmlResponse) {=0A=
      var options =3D Object.extend({ evalScripts: true }, =
this.options.ajaxOptions);=0A=
      Object.extend(options, {=0A=
        parameters: params,=0A=
        onComplete: this._boundWrapperHandler,=0A=
        onFailure: this._boundFailureHandler=0A=
      });=0A=
      new Ajax.Updater({ success: this.element }, this.url, options);=0A=
    } else {=0A=
      var options =3D Object.extend({ method: 'get' }, =
this.options.ajaxOptions);=0A=
      Object.extend(options, {=0A=
        parameters: params,=0A=
        onComplete: this._boundWrapperHandler,=0A=
        onFailure: this._boundFailureHandler=0A=
      });=0A=
      new Ajax.Request(this.url, options);=0A=
    }=0A=
    if (e) Event.stop(e);=0A=
  },=0A=
  leaveEditMode: function() {=0A=
    this.element.removeClassName(this.options.savingClassName);=0A=
    this.removeForm();=0A=
    this.leaveHover();=0A=
    this.element.style.backgroundColor =3D this._originalBackground;=0A=
    this.element.show();=0A=
    if (this.options.externalControl)=0A=
      this.options.externalControl.show();=0A=
    this._saving =3D false;=0A=
    this._editing =3D false;=0A=
    this._oldInnerHTML =3D null;=0A=
    this.triggerCallback('onLeaveEditMode');=0A=
  },=0A=
  leaveHover: function(e) {=0A=
    if (this.options.hoverClassName)=0A=
      this.element.removeClassName(this.options.hoverClassName);=0A=
    if (this._saving) return;=0A=
    this.triggerCallback('onLeaveHover');=0A=
  },=0A=
  loadExternalText: function() {=0A=
    this._form.addClassName(this.options.loadingClassName);=0A=
    this._controls.editor.disabled =3D true;=0A=
    var options =3D Object.extend({ method: 'get' }, =
this.options.ajaxOptions);=0A=
    Object.extend(options, {=0A=
      parameters: 'editorId=3D' + encodeURIComponent(this.element.id),=0A=
      onComplete: Prototype.emptyFunction,=0A=
      onSuccess: function(transport) {=0A=
        this._form.removeClassName(this.options.loadingClassName);=0A=
        var text =3D transport.responseText;=0A=
        if (this.options.stripLoadedTextTags)=0A=
          text =3D text.stripTags();=0A=
        this._controls.editor.value =3D text;=0A=
        this._controls.editor.disabled =3D false;=0A=
        this.postProcessEditField();=0A=
      }.bind(this),=0A=
      onFailure: this._boundFailureHandler=0A=
    });=0A=
    new Ajax.Request(this.options.loadTextURL, options);=0A=
  },=0A=
  postProcessEditField: function() {=0A=
    var fpc =3D this.options.fieldPostCreation;=0A=
    if (fpc)=0A=
      $(this._controls.editor)['focus' =3D=3D fpc ? 'focus' : =
'activate']();=0A=
  },=0A=
  prepareOptions: function() {=0A=
    this.options =3D Object.clone(Ajax.InPlaceEditor.DefaultOptions);=0A=
    Object.extend(this.options, Ajax.InPlaceEditor.DefaultCallbacks);=0A=
    [this._extraDefaultOptions].flatten().compact().each(function(defs) {=0A=
      Object.extend(this.options, defs);=0A=
    }.bind(this));=0A=
  },=0A=
  prepareSubmission: function() {=0A=
    this._saving =3D true;=0A=
    this.removeForm();=0A=
    this.leaveHover();=0A=
    this.showSaving();=0A=
  },=0A=
  registerListeners: function() {=0A=
    this._listeners =3D { };=0A=
    var listener;=0A=
    $H(Ajax.InPlaceEditor.Listeners).each(function(pair) {=0A=
      listener =3D this[pair.value].bind(this);=0A=
      this._listeners[pair.key] =3D listener;=0A=
      if (!this.options.externalControlOnly)=0A=
        this.element.observe(pair.key, listener);=0A=
      if (this.options.externalControl)=0A=
        this.options.externalControl.observe(pair.key, listener);=0A=
    }.bind(this));=0A=
  },=0A=
  removeForm: function() {=0A=
    if (!this._form) return;=0A=
    this._form.remove();=0A=
    this._form =3D null;=0A=
    this._controls =3D { };=0A=
  },=0A=
  showSaving: function() {=0A=
    this._oldInnerHTML =3D this.element.innerHTML;=0A=
    this.element.innerHTML =3D this.options.savingText;=0A=
    this.element.addClassName(this.options.savingClassName);=0A=
    this.element.style.backgroundColor =3D this._originalBackground;=0A=
    this.element.show();=0A=
  },=0A=
  triggerCallback: function(cbName, arg) {=0A=
    if ('function' =3D=3D typeof this.options[cbName]) {=0A=
      this.options[cbName](this, arg);=0A=
    }=0A=
  },=0A=
  unregisterListeners: function() {=0A=
    $H(this._listeners).each(function(pair) {=0A=
      if (!this.options.externalControlOnly)=0A=
        this.element.stopObserving(pair.key, pair.value);=0A=
      if (this.options.externalControl)=0A=
        this.options.externalControl.stopObserving(pair.key, pair.value);=0A=
    }.bind(this));=0A=
  },=0A=
  wrapUp: function(transport) {=0A=
    this.leaveEditMode();=0A=
    // Can't use triggerCallback due to backward compatibility: requires=0A=
    // binding + direct element=0A=
    this._boundComplete(transport, this.element);=0A=
  }=0A=
});=0A=
=0A=
Object.extend(Ajax.InPlaceEditor.prototype, {=0A=
  dispose: Ajax.InPlaceEditor.prototype.destroy=0A=
});=0A=
=0A=
Ajax.InPlaceCollectionEditor =3D Class.create(Ajax.InPlaceEditor, {=0A=
  initialize: function($super, element, url, options) {=0A=
    this._extraDefaultOptions =3D =
Ajax.InPlaceCollectionEditor.DefaultOptions;=0A=
    $super(element, url, options);=0A=
  },=0A=
=0A=
  createEditField: function() {=0A=
    var list =3D document.createElement('select');=0A=
    list.name =3D this.options.paramName;=0A=
    list.size =3D 1;=0A=
    this._controls.editor =3D list;=0A=
    this._collection =3D this.options.collection || [];=0A=
    if (this.options.loadCollectionURL)=0A=
      this.loadCollection();=0A=
    else=0A=
      this.checkForExternalText();=0A=
    this._form.appendChild(this._controls.editor);=0A=
  },=0A=
=0A=
  loadCollection: function() {=0A=
    this._form.addClassName(this.options.loadingClassName);=0A=
    this.showLoadingText(this.options.loadingCollectionText);=0A=
    var options =3D Object.extend({ method: 'get' }, =
this.options.ajaxOptions);=0A=
    Object.extend(options, {=0A=
      parameters: 'editorId=3D' + encodeURIComponent(this.element.id),=0A=
      onComplete: Prototype.emptyFunction,=0A=
      onSuccess: function(transport) {=0A=
        var js =3D transport.responseText.strip();=0A=
        if (!/^\[.*\]$/.test(js)) // TODO: improve sanity check=0A=
          throw 'Server returned an invalid collection representation.';=0A=
        this._collection =3D eval(js);=0A=
        this.checkForExternalText();=0A=
      }.bind(this),=0A=
      onFailure: this.onFailure=0A=
    });=0A=
    new Ajax.Request(this.options.loadCollectionURL, options);=0A=
  },=0A=
=0A=
  showLoadingText: function(text) {=0A=
    this._controls.editor.disabled =3D true;=0A=
    var tempOption =3D this._controls.editor.firstChild;=0A=
    if (!tempOption) {=0A=
      tempOption =3D document.createElement('option');=0A=
      tempOption.value =3D '';=0A=
      this._controls.editor.appendChild(tempOption);=0A=
      tempOption.selected =3D true;=0A=
    }=0A=
    tempOption.update((text || '').stripScripts().stripTags());=0A=
  },=0A=
=0A=
  checkForExternalText: function() {=0A=
    this._text =3D this.getText();=0A=
    if (this.options.loadTextURL)=0A=
      this.loadExternalText();=0A=
    else=0A=
      this.buildOptionList();=0A=
  },=0A=
=0A=
  loadExternalText: function() {=0A=
    this.showLoadingText(this.options.loadingText);=0A=
    var options =3D Object.extend({ method: 'get' }, =
this.options.ajaxOptions);=0A=
    Object.extend(options, {=0A=
      parameters: 'editorId=3D' + encodeURIComponent(this.element.id),=0A=
      onComplete: Prototype.emptyFunction,=0A=
      onSuccess: function(transport) {=0A=
        this._text =3D transport.responseText.strip();=0A=
        this.buildOptionList();=0A=
      }.bind(this),=0A=
      onFailure: this.onFailure=0A=
    });=0A=
    new Ajax.Request(this.options.loadTextURL, options);=0A=
  },=0A=
=0A=
  buildOptionList: function() {=0A=
    this._form.removeClassName(this.options.loadingClassName);=0A=
    this._collection =3D this._collection.map(function(entry) {=0A=
      return 2 =3D=3D=3D entry.length ? entry : [entry, entry].flatten();=0A=
    });=0A=
    var marker =3D ('value' in this.options) ? this.options.value : =
this._text;=0A=
    var textFound =3D this._collection.any(function(entry) {=0A=
      return entry[0] =3D=3D marker;=0A=
    }.bind(this));=0A=
    this._controls.editor.update('');=0A=
    var option;=0A=
    this._collection.each(function(entry, index) {=0A=
      option =3D document.createElement('option');=0A=
      option.value =3D entry[0];=0A=
      option.selected =3D textFound ? entry[0] =3D=3D marker : 0 =3D=3D =
index;=0A=
      option.appendChild(document.createTextNode(entry[1]));=0A=
      this._controls.editor.appendChild(option);=0A=
    }.bind(this));=0A=
    this._controls.editor.disabled =3D false;=0A=
    Field.scrollFreeActivate(this._controls.editor);=0A=
  }=0A=
});=0A=
=0A=
//**** DEPRECATION LAYER FOR InPlace[Collection]Editor! ****=0A=
//**** This only  exists for a while,  in order to  let ****=0A=
//**** users adapt to  the new API.  Read up on the new ****=0A=
//**** API and convert your code to it ASAP!            ****=0A=
=0A=
Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions =3D =
function(options) {=0A=
  if (!options) return;=0A=
  function fallback(name, expr) {=0A=
    if (name in options || expr =3D=3D=3D undefined) return;=0A=
    options[name] =3D expr;=0A=
  };=0A=
  fallback('cancelControl', (options.cancelLink ? 'link' : =
(options.cancelButton ? 'button' :=0A=
    options.cancelLink =3D=3D options.cancelButton =3D=3D false ? false =
: undefined)));=0A=
  fallback('okControl', (options.okLink ? 'link' : (options.okButton ? =
'button' :=0A=
    options.okLink =3D=3D options.okButton =3D=3D false ? false : =
undefined)));=0A=
  fallback('highlightColor', options.highlightcolor);=0A=
  fallback('highlightEndColor', options.highlightendcolor);=0A=
};=0A=
=0A=
Object.extend(Ajax.InPlaceEditor, {=0A=
  DefaultOptions: {=0A=
    ajaxOptions: { },=0A=
    autoRows: 3,                                // Use when multi-line =
w/ rows =3D=3D 1=0A=
    cancelControl: 'link',                      // 'link'|'button'|false=0A=
    cancelText: 'cancel',=0A=
    clickToEditText: 'Click to edit',=0A=
    externalControl: null,                      // id|elt=0A=
    externalControlOnly: false,=0A=
    fieldPostCreation: 'activate',              // =
'activate'|'focus'|false=0A=
    formClassName: 'inplaceeditor-form',=0A=
    formId: null,                               // id|elt=0A=
    highlightColor: '#ffff99',=0A=
    highlightEndColor: '#ffffff',=0A=
    hoverClassName: '',=0A=
    htmlResponse: true,=0A=
    loadingClassName: 'inplaceeditor-loading',=0A=
    loadingText: 'Loading...',=0A=
    okControl: 'button',                        // 'link'|'button'|false=0A=
    okText: 'ok',=0A=
    paramName: 'value',=0A=
    rows: 1,                                    // If 1 and multi-line, =
uses autoRows=0A=
    savingClassName: 'inplaceeditor-saving',=0A=
    savingText: 'Saving...',=0A=
    size: 0,=0A=
    stripLoadedTextTags: false,=0A=
    submitOnBlur: false,=0A=
    textAfterControls: '',=0A=
    textBeforeControls: '',=0A=
    textBetweenControls: ''=0A=
  },=0A=
  DefaultCallbacks: {=0A=
    callback: function(form) {=0A=
      return Form.serialize(form);=0A=
    },=0A=
    onComplete: function(transport, element) {=0A=
      // For backward compatibility, this one is bound to the IPE, and =
passes=0A=
      // the element directly.  It was too often customized, so we don't =
break it.=0A=
      new Effect.Highlight(element, {=0A=
        startcolor: this.options.highlightColor, keepBackgroundImage: =
true });=0A=
    },=0A=
    onEnterEditMode: null,=0A=
    onEnterHover: function(ipe) {=0A=
      ipe.element.style.backgroundColor =3D ipe.options.highlightColor;=0A=
      if (ipe._effect)=0A=
        ipe._effect.cancel();=0A=
    },=0A=
    onFailure: function(transport, ipe) {=0A=
      alert('Error communication with the server: ' + =
transport.responseText.stripTags());=0A=
    },=0A=
    onFormCustomization: null, // Takes the IPE and its generated form, =
after editor, before controls.=0A=
    onLeaveEditMode: null,=0A=
    onLeaveHover: function(ipe) {=0A=
      ipe._effect =3D new Effect.Highlight(ipe.element, {=0A=
        startcolor: ipe.options.highlightColor, endcolor: =
ipe.options.highlightEndColor,=0A=
        restorecolor: ipe._originalBackground, keepBackgroundImage: true=0A=
      });=0A=
    }=0A=
  },=0A=
  Listeners: {=0A=
    click: 'enterEditMode',=0A=
    keydown: 'checkForEscapeOrReturn',=0A=
    mouseover: 'enterHover',=0A=
    mouseout: 'leaveHover'=0A=
  }=0A=
});=0A=
=0A=
Ajax.InPlaceCollectionEditor.DefaultOptions =3D {=0A=
  loadingCollectionText: 'Loading options...'=0A=
};=0A=
=0A=
// Delayed observer, like Form.Element.Observer, =0A=
// but waits for delay after last key input=0A=
// Ideal for live-search fields=0A=
=0A=
Form.Element.DelayedObserver =3D Class.create({=0A=
  initialize: function(element, delay, callback) {=0A=
    this.delay     =3D delay || 0.5;=0A=
    this.element   =3D $(element);=0A=
    this.callback  =3D callback;=0A=
    this.timer     =3D null;=0A=
    this.lastValue =3D $F(this.element); =0A=
    =
Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListen=
er(this));=0A=
  },=0A=
  delayedListener: function(event) {=0A=
    if(this.lastValue =3D=3D $F(this.element)) return;=0A=
    if(this.timer) clearTimeout(this.timer);=0A=
    this.timer =3D setTimeout(this.onTimerEvent.bind(this), this.delay * =
1000);=0A=
    this.lastValue =3D $F(this.element);=0A=
  },=0A=
  onTimerEvent: function() {=0A=
    this.timer =3D null;=0A=
    this.callback(this.element, $F(this.element));=0A=
  }=0A=
});=0A=

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.librarything.com/minified/js/6305e494954e1793341fe99158fb674b.js

=0A=
 /* 2003:minified:js/lt_utility.js */ =0A=
=0A=
if(!LibraryThing){var LibraryThing=3D{};}=0A=
{LibraryThing.version=3D'1.0';LibraryThing.gCookieName=3D'LTUnifiedCookie=
';LibraryThing.K=3Dfunction(x){return x;};LibraryThing.time=3Dfunction()=0A=
{return parseInt(new =
Date().getTime().toString().substring(0,10))};LibraryThing.setCookie=3Dfu=
nction(c_name,c_value)=0A=
{var =
cookieObj=3DLibraryThing.getCookieObject();cookieObj[c_name]=3Dc_value;Li=
braryThing.setCookieObject(cookieObj);};LibraryThing.getCookie=3Dfunction=
(c_name)=0A=
{var cookieObj=3DLibraryThing.getCookieObject();return =
cookieObj[c_name];};LibraryThing.cookieEvalTest=3Dfunction(c_name,c_val)=0A=
{var blech=3Dnew =
Object;blech[c_name]=3Dc_val;alert(blech[c_name]);};LibraryThing.getCooki=
eObject=3Dfunction()=0A=
{var cookieObject;var cookieJSON=3D'';if(document.cookie.length>0)=0A=
{c_start=3Ddocument.cookie.indexOf(LibraryThing.gCookieName+"=3D");if(c_s=
tart!=3D-1)=0A=
{c_start=3Dc_start+LibraryThing.gCookieName.length+1;c_end=3Ddocument.coo=
kie.indexOf(";",c_start);if(c_end=3D=3D-1)c_end=3Ddocument.cookie.length;=
cookieJSON=3D(document.cookie.substring(c_start,c_end));cookieObject=3Dun=
escape(cookieJSON).evalJSON();return cookieObject;}=0A=
else=0A=
{return new Object;}}=0A=
else=0A=
{return new =
Object;}};LibraryThing.setCookieObject=3Dfunction(cookieObject)=0A=
{var cookieVal=3DObject.toJSON(cookieObject);var expiredays=3D365;var =
exdate=3Dnew =
Date();exdate.setDate(exdate.getDate()+expiredays);document.cookie=3DLibr=
aryThing.gCookieName+"=3D"+escape(cookieVal)+=0A=
((expiredays=3D=3Dnull)?"":";expires=3D"+exdate.toGMTString())+';path=3D/=
';};LibraryThing.setCookie=3Dfunction(c_name,c_value)=0A=
{var =
cookieObj=3DLibraryThing.getCookieObject();cookieObj[c_name]=3Dc_value;Li=
braryThing.setCookieObject(cookieObj);};LibraryThing.ltGetCookie=3Dfuncti=
on(c_name)=0A=
{return =
LibraryThing.getCookie(c_name);};LibraryThing.ltSetCookie=3Dfunction(c_na=
me,c_value)=0A=
{LibraryThing.setCookie(c_name,c_value);};LibraryThing.killCookie=3Dfunct=
ion(c_name)=0A=
{return =
LibraryThing.ltKillCookie(c_name);};LibraryThing.ltKillCookie=3Dfunction(=
c_name)=0A=
{var cookieObj=3DLibraryThing.getCookieObject();delete =
cookieObj[c_name];LibraryThing.setCookieObject(cookieObj);};LibraryThing.=
addValueToCookie=3Dfunction(c_name,value)=0A=
{var cookieObj=3DLibraryThing.getCookieObject();var =
theCookie=3DcookieObj[c_name];theCookie.push(value);LibraryThing.setCooki=
eObject(LT_array_unique(theCookie));};LibraryThing.removeValueFromCookie=3D=
function(c_name,value)=0A=
{var cookieObj=3DLibraryThing.getCookieObject();var =
theCookie=3DcookieObj[c_name];var theindex=3DLT_in_array(value,theCookie)=0A=
theCookie.splice(1,theindex);LibraryThing.setCookieObject(theCookie);};Li=
braryThing.setLocalTimeOffset=3Dfunction()=0A=
{var ldate=3Dnew Date();var offset=3Dldate.getTimezoneOffset()*-1;var =
lstring=3Dldate.toLocaleString();LibraryThing.ltSetCookie('localTimeOffse=
t',offset);};LibraryThing.returnFalse=3Dfunction()=0A=
{return false;};LibraryThing.setSessionData=3Dfunction(key,value,sync)=0A=
{var url=3D'/ajax_setSessionData.php';var =
params=3D{key:key,value:value};var response=3Dfunction(t){};if(sync)=0A=
{basic_ajax_sync(url,params,response);}=0A=
else=0A=
{basic_ajax(url,params,response);}}=0A=
LibraryThing.getSessionData=3Dfunction(key)=0A=
{var url=3D'/ajax_getSessionData.php';var params=3D{key:key};var =
response=3Dfunction(t){var =
rt=3Dt.responseText;};basic_ajax(url,params,response);}=0A=
LibraryThing.deferedJS=3Dfunction(url)=0A=
{var =
scriptElem=3Ddocument.createElement('script');scriptElem.src=3Durl;docume=
nt.getElementsByTagName('head')[0].appendChild(scriptElem);}}=0A=
function LT_findObj(objectId)=0A=
{if(document.getElementById&&document.getElementById(objectId))=0A=
{return document.getElementById(objectId);}=0A=
else if(document.all&&document.all(objectId))=0A=
{return document.all(objectId);}=0A=
else if(document.layers&&document.layers[objectId])=0A=
{return document.layers[objectId];}=0A=
return false;}=0A=
function cloneObject(obj)=0A=
{for(i in obj)=0A=
{this[i]=3Dobj[i];}}=0A=
function eventTrigger(e){if(!e)=0A=
e=3Devent;if(!e)=0A=
e=3Dwindow.event;if(e.target)=0A=
return e.target;if(e.srcElement)=0A=
return e.srcElement;else=0A=
return 0;}=0A=
function validEvent(e){if(!e)=0A=
e=3Devent;if(!e)=0A=
e=3Dwindow.event;if(e=3D=3Dnull)=0A=
return null;return e;}=0A=
function validateEvent(e){return validEvent(e);}=0A=
function nilEvent(){return;}=0A=
function LT_changeClass(object,className)=0A=
{object.className=3DclassName;}=0A=
function printfire(text){console.log(text);}=0A=
var expireDate=3Dnew Date(2050,10,23);function cookieVal(cookieName)=0A=
{thisCookie=3Ddocument.cookie.split("; ")=0A=
for(i=3D0;i<thisCookie.length;i++)=0A=
{if(cookieName=3D=3DthisCookie[i].split("=3D")[0])=0A=
{return thisCookie[i].split("=3D")[1]}}=0A=
return 0;}=0A=
function setCookie(cookieName,cookieContent,transientBoolean)=0A=
{var expireDate=3Dnew Date(2050,10,23);if(transientBoolean)=0A=
document.cookie=3DcookieName+"=3D"+cookieContent;else=0A=
document.cookie=3DcookieName+"=3D"+cookieContent+";expires=3D"+expireDate=
.toGMTString()+";path=3D/";}=0A=
function getCookie(name){return cookieVal(name);}=0A=
function mouseX(evt){if(evt.pageX)return evt.pageX;else if(evt.clientX)=0A=
return =
evt.clientX+(document.documentElement.scrollLeft?document.documentElement=
.scrollLeft:document.body.scrollLeft);else return null;}=0A=
function getCookieAjax(name)=0A=
{var uid=3DLT_GetRandomID(5);var url=3D"/ajax_getCookie.php";var =
params=3D{c:name,uid:uid};var responseFunction=3Dfunction(t)=0A=
{return t.responseText;};basic_ajax(url,params,responseFunction);}=0A=
function setCookieAjax(name,value)=0A=
{var uid=3DLT_GetRandomID(5);var url=3D"/ajax_setCookie.php";var =
params=3D{cookiename:name,value:value,uid:uid};var =
responseFunction=3Dfunction(t)=0A=
{return t.responseText;};basic_ajax_sync(url,params,responseFunction);}=0A=
function =
SmartCookieHandler(){this.setCookie=3Dfunction(name,value,seconds){if(typ=
eof(seconds)!=3D'undefined'){var date=3Dnew =
Date();date.setTime(date.getTime()+(seconds*1000));var expires=3D"; =
expires=3D"+date.toGMTString();}=0A=
else{var expires=3D"";}=0A=
document.cookie=3Dname+"=3D"+value+expires+"; path=3D/";}=0A=
this.getCookie=3Dfunction(name){name=3Dname+"=3D";var =
carray=3Ddocument.cookie.split(';');for(var =
i=3D0;i<carray.length;i++){var c=3Dcarray[i];while(c.charAt(0)=3D=3D' =
')c=3Dc.substring(1,c.length);if(c.indexOf(name)=3D=3D0)return =
c.substring(name.length,c.length);}=0A=
return null;}=0A=
this.deleteCookie=3Dfunction(name){this.setCookie(name,"",-1);}}=0A=
function mouseY(evt){if(evt.pageY)return evt.pageY;else if(evt.clientY)=0A=
return =
evt.clientY+(document.documentElement.scrollTop?document.documentElement.=
scrollTop:document.body.scrollTop);else return null;}=0A=
var hD=3D"0123456789ABCDEF";function d2h(d){var =
h=3DhD.substr(d&15,1);while(d>15){d>>=3D4;h=3DhD.substr(d&15,1)+h;}=0A=
return h;}=0A=
function h2d(h){return parseInt(h,16);}=0A=
function pad(number,length){var str=3D''+number;while(str.length<length)=0A=
str=3D'0'+str;return str;}=0A=
function getRandomNumber(range)=0A=
{return Math.floor(Math.random()*range);}=0A=
function getRandomChar()=0A=
{var =
chars=3D"0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ=
";return chars.substr(getRandomNumber(62),1);}=0A=
function LT_GetRandomID(size)=0A=
{var str=3D"";for(var i=3D0;i<size;i++)=0A=
{str+=3DgetRandomChar();}=0A=
return str;}=0A=
function parseGetVars(){var =
getVars=3Dlocation.search.substring(1).split("&");var returnVars=3Dnew =
Array();var i;for(i=3D0;i<getVars.length;i++){var =
newVar=3DgetVars[i].split("=3D");var myvar=3Dnew =
Array();myvar['key']=3Dunescape(newVar[0]);myvar['value']=3Dunescape(newV=
ar[1]);returnVars[i]=3Dmyvar;}=0A=
return returnVars;}=0A=
function LT_preloadImages(){var d=3Ddocument;if(d.images)=0A=
{if(!d.MM_p)=0A=
d.MM_p=3Dnew Array();var i,j=3Dd.MM_p.length;var =
a=3DLT_preloadImages.arguments;for(i=3D0;i<a.length;i++)=0A=
if(a[i].indexOf("#")!=3D0)=0A=
{d.MM_p[j]=3Dnew Image;d.MM_p[j++].src=3Da[i];}}}=0A=
function getElementsByClassName(oElm,strTagName,oClassNames){try{var =
arrElements=3D(strTagName=3D=3D"*"&&oElm.all)?oElm.all:oElm.getElementsBy=
TagName(strTagName);var arrReturnElements=3Dnew Array();var =
arrRegExpClassNames=3Dnew Array();if(typeof =
oClassNames=3D=3D"object"){for(var =
i=3D0;i<oClassNames.length;i++){arrRegExpClassNames.push(new =
RegExp("(^|\\s)"+oClassNames[i].replace(/\-/g,"\\-")+"(\\s|$)"));}}=0A=
else{arrRegExpClassNames.push(new =
RegExp("(^|\\s)"+oClassNames.replace(/\-/g,"\\-")+"(\\s|$)"));}=0A=
var oElement;var bMatchesAll;for(var =
j=3D0;j<arrElements.length;j++){oElement=3DarrElements[j];bMatchesAll=3Dt=
rue;for(var =
k=3D0;k<arrRegExpClassNames.length;k++){if(!arrRegExpClassNames[k].test(o=
Element.className)){bMatchesAll=3Dfalse;break;}}=0A=
if(bMatchesAll){arrReturnElements.push(oElement);}}=0A=
return(arrReturnElements)}=0A=
catch(e){return null;}}=0A=
function isbnCheck(input)=0A=
{regex=3D/^[0-9]{9,12}[0-9,x]$/i;if(regex.exec(input))=0A=
{var prod=3D0;var =
pieces=3Dinput.split('');if((pieces.length!=3D13)&&(pieces.length!=3D10))=0A=
return'badisbn';if(pieces.length=3D=3D13)=0A=
{var =
prefix=3Dinput.substr(0,3);if((prefix=3D=3D'978')||(prefix=3D=3D'979'))=0A=
pieces=3Dpieces.slice(3);else=0A=
return'badisbn';}=0A=
for(var i=3D0;i<pieces.length-1;i++)=0A=
{var num=3DparseInt(pieces[i]);prod+=3D(num*(i+1));}=0A=
prod=3Dprod%11;var =
nm=3Dpieces[pieces.length-1];if((nm=3D=3D'x')||(nm=3D=3D'X'))=0A=
nm=3D10;prod=3Dprod;if(prod=3D=3Dnm)=0A=
return'goodisbn';else=0A=
return'badisbn';}=0A=
return'notanisbn';}=0A=
function LT_array_unique(array){var =
key=3D'',tmp_arr1=3D{},tmp_arr2=3D{};var val=3D'';tmp_arr1=3Darray;var =
__array_search=3Dfunction(needle,haystack,strict){var fkey=3D'';var =
strict=3D!!strict;for(fkey in =
haystack){if((strict&&haystack[fkey]=3D=3D=3Dneedle)||(!strict&&haystack[=
fkey]=3D=3Dneedle)){return fkey;}}=0A=
return false;}=0A=
for(key in =
tmp_arr1){val=3Dtmp_arr1[key];if(false=3D=3D=3D__array_search(val,tmp_arr=
2)){tmp_arr2[key]=3Dval;}=0A=
delete tmp_arr1[key];}=0A=
return tmp_arr2;}=0A=
function LT_in_array(needle,haystack,strict){var =
found=3Dfalse,key,strict=3D!!strict;for(key in =
haystack){if((strict&&haystack[key]=3D=3D=3Dneedle)||(!strict&&haystack[k=
ey]=3D=3Dneedle)){found=3Dkey;break;}}=0A=
return found;}=0A=
function =
initMouseOvers(parentObject,childType,targetClass,mouseOverClass,mouseOut=
Class,includeAllBrowsers)=0A=
{var ievc=3Dfunction(){var =
version=3D999;if(navigator.appVersion.indexOf("MSIE")!=3D-1)=0A=
version=3DparseFloat(navigator.appVersion.split("MSIE")[1]);return =
version;};var =
iev=3Dievc();if(((Prototype.Browser.IE)&&(iev<8))||(Prototype.Browser.Ope=
ra)||(includeAllBrowsers))=0A=
{if(!document.getElementById||!document.getElementsByTagName||!document.b=
ody.style){return;}=0A=
try{var =
objects=3DgetElementsByClassName(parentObject,childType,targetClass);var =
o,i=3Dobjects.length;while(i--)=0A=
{o=3Dobjects[i];o.onmouseover=3Dfunction(){LT_changeClass(this,mouseOverC=
lass);}=0A=
o.onmouseout=3Dfunction(){LT_changeClass(this,mouseOutClass);}}}=0A=
catch(e){}}}=0A=
function getTopDocument(element)=0A=
{var childElement=3Delement;var =
parentElement=3DchildElement.parentNode;var =
theTop=3Dnull;if(parentElement!=3D=3Dnull)=0A=
{return getTopDocument(parentElement);}=0A=
else=0A=
{if(window.parent=3D=3D=3Dwindow.self)=0A=
{return window;}=0A=
else=0A=
{return window.parent;}}=0A=
return theTop.document;} =0A=
 /* 2003:minified:js2/menuBuilder.js */ =0A=
=0A=
LibraryThing=3DLibraryThing||{};LibraryThing.menuBuilder=3D{};var =
menuBuilder=3DLibraryThing.menuBuilder;menuBuilder.openMenus=3D[];menuBui=
lder.knownMenus=3D[];menuBuilder.problemMenus=3D[];var =
menuBuilderCSSFile=3D'/css/menuBuilder.css';menuBuilder.initMenu=3Dfuncti=
on(menuID,containerID)=0A=
{var container=3D$(containerID);if(container)=0A=
{if(!LibraryThing.menuBuilder.knownMenus[menuID]){LibraryThing.menuBuilde=
r.knownMenus[menuID]=3DcontainerID;container.style.cursor=3D'pointer';Eve=
nt.observe(container,'click',function(event){LibraryThing.menuBuilder.ope=
nMenu(event,menuID,containerID);});}}=0A=
else=0A=
{this.problemMenus[menuID]=3DcontainerID;}=0A=
Event.observe(window,'load',function(){LibraryThing.menuBuilder.handleRol=
loversForIE(menuID,containerID);});};menuBuilder.handleRolloversForIE=3Df=
unction(menuID,containerID)=0A=
{var agt=3Dnavigator.userAgent.toLowerCase();var =
msie=3Dagt.indexOf("msie");if((msie!=3D-1)&&(agt.indexOf("opera")=3D=3D-1=
))=0A=
{var menu=3D$(menuID);if(menu){var ci=3Dmenu.childElements();var =
cnl=3Dci.length;for(i=3D0;i<cnl;i++)=0A=
{var =
node=3D$(ci[i]);if(!node.hasClassName('menuBuilderMenuItemSeparator'))=0A=
{node.onmouseover=3Dfunction(){this.toggleClassName('over');};node.onmous=
eout=3Dfunction(){this.toggleClassName('over');};}}}}};menuBuilder.openMe=
nu=3Dfunction(e,menuID,containerID)=0A=
{var agt=3Dnavigator.userAgent.toLowerCase();var =
msie=3Dagt.indexOf("msie");var ie6=3Dfalse;var ie7=3Dfalse;var =
ie8=3Dfalse;var ie9=3Dfalse;var iev=3D8;if(/MSIE =
(\d+\.\d+);/.test(navigator.userAgent)){var iev=3Dnew Number(RegExp.$1)=0A=
if(iev>=3D8){ie8=3Dtrue;}=0A=
else if(iev>=3D7){ie7=3Dtrue;}=0A=
else if(iev>=3D6){ie6=3Dtrue;}}=0A=
var menu=3D$(menuID);var container=3D$(containerID);if(menu.visible())=0A=
{LibraryThing.menuBuilder.closeAllMenus(e);return;}=0A=
else=0A=
{LibraryThing.menuBuilder.closeAllMenus(e);}=0A=
if(typeof closetagbox=3D=3D'function')=0A=
{closetagbox();}=0A=
Event.stop(e);var anchor;var =
altanchor=3Dmenu.readAttribute('altanchor');if(altanchor)=0A=
{anchor=3D$(altanchor);}=0A=
else=0A=
{anchor=3Dcontainer;}=0A=
anchor.addClassName('ltbtn-activated');var coffset;var =
usePositionedOffset=3Dtrue;try{if(anchor.descendantOf('lt_catalog_list'))=0A=
{usePositionedOffset=3Dfalse;}}=0A=
catch(e){usePositionedOffset=3Dtrue;}=0A=
if(1)=0A=
{coffset=3Danchor.positionedOffset();}=0A=
else=0A=
{coffset=3Danchor.cumulativeOffset();}=0A=
var cwidth=3Danchor.getWidth();var cheight=3Danchor.getHeight();var =
cright=3Dcoffset.left+cwidth;var cot=3Dcoffset.top;var =
vatt=3Dmenu.readAttribute('voffset');var =
offsetVFromConter=3D(vatt)?parseInt(vatt,10):0;var =
top=3Dcheight+cot+offsetVFromConter;var col=3Dcoffset.left;var =
hatt=3Dmenu.readAttribute('hoffset');var =
offsetHFromContainer=3D(hatt)?parseInt(hatt,10):0;var =
left=3Dcol+offsetHFromContainer;var =
direction=3Dmenu.readAttribute('menuBuilderDirection');if(direction=3D=3D=
'right')=0A=
{var cwidth=3Dcontainer.offsetWidth;left=3Dleft-mwidth+cwidth;}=0A=
console.log(e);menu.style.top=3Dtop+'px';menu.style.left=3Dleft+'px';menu=
.style.zIndex=3D'501';menu.show();menuBuilder.checkPosition(menuID,contai=
nerID);if(menu.visible())=0A=
{LibraryThing.menuBuilder.openMenus.push(menuID);}=0A=
Event.observe(document,'click',function(event){LibraryThing.menuBuilder.c=
loseAllMenus(event);});};menuBuilder.checkPosition=3Dfunction(menuID,cont=
ainerID)=0A=
{var ie6=3Dfalse;var ie7=3Dfalse;var ie8=3Dfalse;var ie9=3Dfalse;var =
iev=3D8;if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var iev=3Dnew =
Number(RegExp.$1)=0A=
if(iev>=3D8){ie8=3Dtrue;}=0A=
else if(iev>=3D7){ie7=3Dtrue;}=0A=
else if(iev>=3D6){ie6=3Dtrue;}}=0A=
var menu=3D$(menuID);var container=3D$(containerID);var =
winWidth=3D0,winHeight=3D0;var =
workingLeft=3D0,workingTop=3D0;if(typeof(window.innerWidth)=3D=3D'number'=
)=0A=
{winWidth=3Dwindow.innerWidth;winHeight=3Dwindow.innerHeight;}=0A=
else =
if(document.documentElement&&(document.documentElement.clientWidth||docum=
ent.documentElement.clientHeight))=0A=
{winWidth=3Ddocument.documentElement.clientWidth;winHeight=3Ddocument.doc=
umentElement.clientHeight;}=0A=
else =
if(document.body&&(document.body.clientWidth||document.body.clientHeight)=
)=0A=
{winWidth=3Ddocument.body.clientWidth;winHeight=3Ddocument.body.clientHei=
ght;}=0A=
var hatt=3DparseInt(menu.readAttribute('hoffset'),10);var coffset;var =
moffset;if(Prototype.Browser.WebKit||Prototype.Browser.IE)=0A=
{coffset=3Dcontainer.positionedOffset();moffset=3Dmenu.positionedOffset()=
;}=0A=
else=0A=
{coffset=3Dcontainer.cumulativeOffset();moffset=3Dmenu.cumulativeOffset()=
;}=0A=
var cright=3Dcoffset.left+container.offsetWidth;var =
ctop=3Dcoffset.top;var cheight=3Dcontainer.getHeight();var =
mwidth=3Dmenu.getWidth();var mheight=3Dmenu.getHeight();var =
mleft=3Dmenu.offsetLeft;var mright=3Dmleft+mwidth;var =
moffset=3Dmenu.cumulativeOffset();var mbottom=3Dmoffset.top+mheight;var =
scrollOffsets=3Dthis.getScrollXY();var =
currentScroll=3DwinHeight+scrollOffsets.y;var shiftx=3D0;var =
shifty=3D0;if(mright>winWidth)=0A=
{shiftx=3Dcright-(mwidth)+hatt;if(iev<7){shiftx=3Dcright-container.getWid=
th()-(mwidth)+hatt;}=0A=
menu.style.left=3Dshiftx+'px';}=0A=
var mcs=3Dmenu.childElements();var =
mcs0=3Dmcs[0];shifty=3Dctop-mheight;if((mbottom>currentScroll)&&(shifty<0=
))=0A=
{menu.addClassName('menuBuilderScrollableMenu');var =
newheight=3D(currentScroll-moffset.top-container.getHeight())+'px';menu.s=
etStyle({'height':newheight});}=0A=
else if(mbottom>currentScroll)=0A=
{menu.style.top=3Dshifty+'px';menu.addClassName('menuBuilderUpMenu');if(m=
cs0)=0A=
{mcs0.addClassName('upMenuFirstChild');}}=0A=
else=0A=
{if(mcs0)=0A=
{mcs0.removeClassName('upMenuFirstChild');}=0A=
menu.removeClassName('menuBuilderUpMenu');menu.removeClassName('menuBuild=
erScrollableMenu');menu.setStyle({'height':'auto'});}}=0A=
menuBuilder.getScrollXY=3Dfunction(){var =
scrOfX=3D0,scrOfY=3D0;if(typeof(window.pageYOffset)=3D=3D'number'){scrOfY=
=3Dwindow.pageYOffset;scrOfX=3Dwindow.pageXOffset;}else =
if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){sc=
rOfY=3Ddocument.body.scrollTop;scrOfX=3Ddocument.body.scrollLeft;}else =
if(document.documentElement&&(document.documentElement.scrollLeft||docume=
nt.documentElement.scrollTop)){scrOfY=3Ddocument.documentElement.scrollTo=
p;scrOfX=3Ddocument.documentElement.scrollLeft;}=0A=
return{x:scrOfX,y:scrOfY};}=0A=
menuBuilder.setPosition=3Dfunction(menuID,containerID)=0A=
{if(typeof(window.innerWidth)=3D=3D'number')=0A=
{winWidth=3Dwindow.innerWidth;winHeight=3Dwindow.innerHeight;}=0A=
else =
if(document.documentElement&&(document.documentElement.clientWidth||docum=
ent.documentElement.clientHeight))=0A=
{winWidth=3Ddocument.documentElement.clientWidth;winHeight=3Ddocument.doc=
umentElement.clientHeight+20;}=0A=
else =
if(document.body&&(document.body.clientWidth||document.body.clientHeight)=
)=0A=
{winWidth=3Ddocument.body.clientWidth;winHeight=3Ddocument.body.clientHei=
ght;}}=0A=
menuBuilder.closeAllMenus=3Dfunction(e)=0A=
{var el=3DEvent.element(e);if(el)=0A=
{if(el.hasClassName('menuBuilderMenuItemDisabled'))=0A=
{return;}=0A=
var anc=3Del.ancestors();var ancl=3Danc.length;for(var x=3D0;x<ancl;x++)=0A=
{var a=3Danc[x];if(a.hasClassName('ltmenu_view'))=0A=
{return;}}}=0A=
var blech=3D1;while(LibraryThing.menuBuilder.openMenus.length)=0A=
{var =
menuID=3DLibraryThing.menuBuilder.openMenus.shift();LibraryThing.menuBuil=
der.closeMenu(e,menuID);}};menuBuilder.closeMenu=3Dfunction(e,menuID)=0A=
{var menu=3D$(menuID);if(menu)=0A=
{if(menu.hasClassName('ltmenu_view'))=0A=
{this.closeAjaxView(menuID);}=0A=
menu.hide();$(LibraryThing.menuBuilder.knownMenus[menuID]).removeClassNam=
e('ltbtn-activated');}};menuBuilder.goToURL=3Dfunction(url,target)=0A=
{if(target=3D=3D'_top')=0A=
{window.top.location=3Durl;}=0A=
else if(target=3D=3D'_parent')=0A=
{parent.location=3Durl;}=0A=
else if(target!=3Dnull)=0A=
{window[target].location=3Durl;}=0A=
else=0A=
{window[target].location.href=3Durl;}};menuBuilder.loadAjaxView=3Dfunctio=
n(url,containerID,params)=0A=
{var container=3D$(containerID);if(container)=0A=
{if(container.visible())=0A=
{var responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r!=3D'0')=0A=
{container.innerHTML=3Dr;r.evalScripts();}}=0A=
container.innerHTML=3D'<div style=3D"padding:5px =
10px;">Loading...</div>';basic_ajax(url,params,responseFunction);}=0A=
else=0A=
{container.innerHTML=3D'';}}}=0A=
menuBuilder.closeAjaxView=3Dfunction(containerID)=0A=
{var container=3D$(containerID);if(container)=0A=
{container.innerHTML=3D'';}}=0A=
menuBuilder.enableButton=3Dfunction(button){var =
b=3D$(button);if(b){b.removeClassName('ltbtn-disabled');}}=0A=
menuBuilder.disableButton=3Dfunction(button){var =
b=3D$(button);if(b){b.addClassName('ltbtn-disabled');}}=0A=
menuBuilder.selectButton=3Dfunction(button){var =
b=3D$(button);if(b){b.addClassName('ltbtn-selected');}}=0A=
menuBuilder.unselectButton=3Dfunction(button){var =
b=3D$(button);if(b){b.removeClassName('ltbtn-selected');}} =0A=
 /* 2003:minified:js2/basics1.js */ =0A=
=0A=
var expireDate=3Dnew Date(2050,10,23);var =
g_prototypeAvailable=3Dfalse;try{document.execCommand('BackgroundImageCac=
he',false,true);}catch(e){}=0A=
if((typeof Prototype!=3D'undefined')&&(typeof =
Element!=3D'undefined')&&(typeof Element.Methods!=3D'undefined'))=0A=
{g_prototypeAvailable=3Dtrue;var g_userControls=3Dnew Hash();}=0A=
function cookieVal(cookieName)=0A=
{thisCookie=3Ddocument.cookie.split("; ")=0A=
for(i=3D0;i<thisCookie.length;i++)=0A=
{if(cookieName=3D=3DthisCookie[i].split("=3D")[0])=0A=
{return thisCookie[i].split("=3D")[1]}}=0A=
return 0;}=0A=
function setCookie(cookieName,cookieContent,transientBoolean)=0A=
{if(transientBoolean)=0A=
{document.cookie=3DcookieName+"=3D"+cookieContent+"; path=3D/";}=0A=
else=0A=
{document.cookie=3DcookieName+"=3D"+cookieContent+";expires=3D"+expireDat=
e.toGMTString()+"; path=3D/";}}=0A=
var hasclicked_clicksbar=3Dfalse;function clicksbar()=0A=
{if(!hasclicked_clicksbar)=0A=
{document.getElementById('stxt').value=3D'';document.getElementById('stxt=
').style.color=3D'black';hasclicked_clicksbar=3Dtrue;}}=0A=
function setDisplayforID(id,display)=0A=
{document.getElementById(id).style.display=3Ddisplay;}=0A=
function toggleShowHide(id,state)=0A=
{if(document.getElementById(id).style.display=3D=3D'none')=0A=
{setDisplayforID(id,state);}=0A=
else=0A=
{setDisplayforID(id,'none');}}=0A=
function gotoaURL(url)=0A=
{window.top.location=3Durl;}=0A=
function checkSpans(page){var x=3Ddocument.getElementById('*');var =
postArray=3D'';if(x){x.parentNode.removeChild(x);}=0A=
for(var =
x=3D0,y=3Ddocument.getElementsByTagName('*'),oStr=3D'';y[x];x++){if(y[x].=
id&&y[x].tagName.match("span","i")){var =
saneStr=3Dy[x].id.replace(/&/,'&amp;').replace(/</,'&lt;').replace(/>/,'&=
gt;').replace(/\"/,'&quot;');if(saneStr.match("tr[0-9]{6}")&&saneStr){voi=
d(postArray+=3DsaneStr+',');}}}=0A=
postArray=3DpostArray.replace(/,$/g,'');var =
tForm=3Ddocument.createElement('form');void(tForm.name=3D'translateForm')=
;void(tForm.action=3D'/translate.php?page=3D'+page);void(tForm.method=3D'=
POST');void(tForm.innerHTML=3D'<input type=3D"hidden" name=3D"stuff" =
value=3D"'+postArray+'">');void(document.body.appendChild(tForm));tForm.s=
ubmit();}=0A=
function lightSpan()=0A=
{}=0A=
function scaleTextBox(id,size)=0A=
{document.getElementById("ms_"+id).style.display=3D"none";new =
Effect.Scale(id,size,{scaleX:false,scaleContent:false});}=0A=
function basic_ajax_updater(url,params,elt_to_update)=0A=
{basic_ajax(url,params,function(r)=0A=
{$(elt_to_update).removeClassName('updating');$(elt_to_update).innerHTML=3D=
r.responseText;});}=0A=
function basic_ajax_updater_sync(url,params,elt_to_update)=0A=
{basic_ajax_sync(url,params,function(r)=0A=
{$(elt_to_update).removeClassName('updating');$(elt_to_update).innerHTML=3D=
r.responseText;});}=0A=
function basic_ajax_silent(url,params)=0A=
{basic_ajax(url,params,function(r)=0A=
{});}=0A=
function =
fancy_ajax_updater(url,params,elt_to_update,callback,async,abortPrevious,=
ajaxRequest)=0A=
{$(elt_to_update).addClassName('simpleajaxloading');ajaxRequest=3Dbasic_a=
jax(url,params,function(r)=0A=
{$(elt_to_update).innerHTML=3Dr.responseText;$(elt_to_update).removeClass=
Name('simpleajaxloading');if(typeof =
callback!=3D=3D'undefined'&&callback!=3Dnull)=0A=
{callback();}},async,abortPrevious,ajaxRequest);return ajaxRequest;}=0A=
function =
basic_ajax(url,params,callback,async,abortPrevious,request){if(typeof =
async=3D=3D=3D'undefined')=0A=
{async=3Dtrue;}=0A=
if(typeof abortPrevious=3D=3D=3D'undefined')=0A=
{abortPrevious=3Dfalse;}=0A=
if(abortPrevious)=0A=
{if(typeof request!=3D=3D'undefined')=0A=
{if(typeof request.abort=3D=3D=3D'function')=0A=
{request.abort();}}}=0A=
request=3Dnew =
Ajax.Request(url,{method:"post",asynchronous:true,parameters:params,onCom=
plete:callback});return request;}=0A=
function basic_ajax_sync(url,params,callback){var request=3Dnew =
Ajax.Request(url,{method:"post",asynchronous:false,parameters:params,onSu=
ccess:callback,onAbort:callback});return request;}=0A=
function =
basic_ajax_eval(url,params,callback,async,abortPrevious,request){if(typeo=
f async=3D=3D=3D'undefined')=0A=
{async=3Dtrue;}=0A=
if(typeof abortPrevious=3D=3D=3D'undefined')=0A=
{abortPrevious=3Dfalse;}=0A=
if(abortPrevious)=0A=
{if(typeof request!=3D=3D'undefined')=0A=
{if(typeof request.abort=3D=3D=3D'function')=0A=
{request.abort();}}}=0A=
request=3Dnew =
Ajax.Request(url,{method:"post",asynchronous:true,parameters:params,onSuc=
cess:callback,evalJS:'force'});return request;}=0A=
if(g_prototypeAvailable)=0A=
{Ajax.Request.prototype.abort=3Dfunction()=0A=
{this.transport.onreadystatechange=3DPrototype.emptyFunction;this.transpo=
rt.abort();{Ajax.activeRequestCount--;}};}=0A=
function =
disable_button(button,button_text){button_text=3Dbutton_text||"loading...=
";button.setAttribute('disabled',true);button.value=3Dbutton_text;button.=
form.submit();return false;}=0A=
function updateUserConnections(){var =
handleReturn=3Dfunction(t){if(t.responseText)=0A=
{setTimeout('updateUserControls()',100);}};basic_ajax('/ajax_updateUserCo=
nnections.php',null,handleReturn);}=0A=
function updateUserControls(){var =
gsize=3Dg_userControls.size();if(g_prototypeAvailable&&gsize)=0A=
{var i=3D0;var outString=3D'objects=3D';var paramHash=3Dnew Hash();var =
len=3Dg_userControls.size();g_userControls.each(function(uc){paramHash[uc=
.key]=3Duc.value.number;outString+=3Duc.key+':'+uc.value.number;if(i<(len=
-1))=0A=
outString+=3D',';i++;});var par=3D$H({objects:paramHash});var =
handleReturn1=3Dfunction(t){var =
infoHash=3D$H(t.responseText.evalJSON(true));infoHash.each(function(pair)=
{theUC=3Dg_userControls[pair.key];affInfo=3D$H(pair.value);theUC.updateAf=
finityDisplay(affInfo.uc_percentile,affInfo.uc_overlap);});}=0A=
basic_ajax('/ajax_updateUserControls.php',outString,handleReturn1);}}=0A=
if(g_prototypeAvailable)=0A=
{var =
LTUserControl=3DClass.create();LTUserControl.prototype=3D{initialize:func=
tion(el,paramList){var =
params=3DparamList.evalJSON(true);this.inputParams=3Dparams;this.element=3D=
$(el);this.controlid=3Dparams.controlid;this.controlcode=3Dparams.control=
code;this.name=3Dparams.name;this.number=3Dparams.number;this.isSelf=3Dpa=
rams.isSelf;this.element.className=3D'userControlObject';this.originalHTM=
L=3Dthis.element.innerHTML;this.affinity=3Dnew =
Object({percentile:parseInt(params.affinityPercentile),overlap:parseInt(p=
arams.affinityOverlap),control:$('ucaf_'+this.controlcode),textbox:$('uca=
fp_'+this.controlcode)});var =
afp=3D$('ucafp_'+this.controlcode);if((this.affinity.overlap>0)&&(!this.i=
sSelf))=0A=
afp.innerHTML=3Dthis.affinity.percentile+'%';else=0A=
afp.innerHTML=3D'';this.arrow=3D$('ucar_'+this.controlcode);this.rightsid=
e=3D$('ucrs_'+this.controlcode);this.mainMenu=3Ddocument.createElement('d=
iv');this.mainMenu.className=3D'ucoMenu =
ucoMainMenu';this.mainMenu.id=3D'ucmm_'+this.controlcode;document.body.ap=
pendChild(this.mainMenu);this.mainMenu.style.position=3D'absolute';this.m=
ainMenu.style.zIndex=3D'10';Position.absolutize(this.mainMenu);this.links=
=3Dnew =
Object();this.links.profile=3D'/profile/'+this.name;this.links.catalog=3D=
'/catalog/'+this.name;this.links.reviews=3D'/profile_reviews.php?view=3D'=
+this.name;this.links.tagcloud=3D'/tagcloud.php?view=3D'+this.name;this.l=
inks.authorcloud=3D'/authorcloud.php?view=3D'+this.name;this.registerEven=
ts();},destroy:function(){},registerEvents:function(){Event.observe(this.=
arrow,"click",this.dropdown.bindAsEventListener(this));Event.observe($('u=
crs_'+this.controlcode),"click",this.onclick.bindAsEventListener(this));E=
vent.observe(document,"click",this.onmouseout.bindAsEventListener(this));=
},addMenuItem:function(parent,imgfile,text,link,disabled,hasSubmenu,after=
Element)=0A=
{var =
menuItem=3Ddocument.createElement('div');menuItem.className=3D'ucoMenuIte=
m';var base=3D'<span class=3D"ucoMenuIcon">';if(imgfile)=0A=
{base+=3D'<img src=3D"/pics/'+imgfile+'">';}=0A=
base+=3D'</span><span =
class=3D"ucoMenuItemText">'+text+'</span>';if(hasSubmenu)=0A=
{base=3D'<div class=3D"ucoMenuItemArrow">&#x25B6;</div>'+base;}=0A=
if(link)=0A=
{menuItem.onclick=3Dfunction(){gotoaURL(link)};}=0A=
menuItem.update(base);if(disabled)=0A=
{menuItem.addClassName('ucoDisabled');}=0A=
if(parent)=0A=
{if(afterElement)=0A=
{var pels=3Dparent.descendants();var =
pcount=3Dpels.length;if(pels[pcount-1]=3D=3D$(afterElement))=0A=
{parent.appendChild(menuItem);}=0A=
else=0A=
{var ae=3D$(afterElement);var ne=3Dae.next();var =
newel=3Dthis.mainMenu.insertBefore(menuItem,ne);}}=0A=
else=0A=
{parent.appendChild(menuItem);}}=0A=
return menuItem;},updateAffinityDisplay:function(percentile,overlap)=0A=
{if(!this.isSelf)=0A=
{this.affinity.percentile=3Dpercentile;this.affinity.overlap=3Doverlap;if=
(this.menuItemsExist)=0A=
{var am1=3D$('ucafpm_'+this.controlcode);var =
am2=3D$('ucafom_'+this.controlcode);if(this.affinity.overlap)=0A=
{var s1=3D$('ucafsi_'+this.controlcode);if(!am1)=0A=
{afftext1=3Dthis.affinity.percentile+'% similar =
library';afftext2=3Dthis.affinity.overlap+' shared book'+plural;var =
am1=3Dthis.addMenuItem(this.mainMenu,'',afftext1,'',true,false,s1);am1.id=
=3D'ucafpm_'+this.controlcode;var =
am2=3Dthis.addMenuItem(this.mainMenu,'',afftext2,'',true,false,s1);am2.id=
=3D'ucafom_'+this.controlcode;this.addSeparatorItem(this.mainMenu);}=0A=
else=0A=
{var am1=3D$('ucafpm_'+this.controlcode);var =
am2=3D$('ucafom_'+this.controlcode);afftext1=3Dthis.affinity.percentile+'=
% similar library';afftext2=3Dthis.affinity.overlap+' shared =
book'+plural;am1.down('.ucoMenuItemText').innerHTML=3Dafftext1;am2.down('=
.ucoMenuItemText').innerHTML=3Dafftext2;}}}=0A=
if(this.affinity.overlap)=0A=
{var =
mainaff=3D$('ucafp_'+this.controlcode);mainaff.innerHTML=3Dpercentile+'%'=
;var tt=3Doverlap+' shared book';if(overlap!=3D1)=0A=
tt+=3D's';mainaff.title=3Dtt;}}},addSeparatorItem:function(parent)=0A=
{var =
menuItem=3Ddocument.createElement('div');menuItem.className=3D'ucoMenuDiv=
ider';parent.appendChild(menuItem);return =
menuItem;},doNothing:function(event)=0A=
{},onclick:function(event)=0A=
{Event.stop(event);gotoaURL(this.profileURL);},onmouseout:function(event)=0A=
{this.mainMenu.hide();this.mainMenu.style.display=3D'none';this.arrow.rem=
oveClassName('ucoArrowOn');this.element.removeClassName('userControlHover=
');},dropdown:function(event)=0A=
{Event.stop(event);g_userControls.each(function(o){o.value.onmouseout();}=
);if(!this.menuItemsExist)=0A=
{var plural=3D'';if(this.affinity.overlap>1)=0A=
plural=3D's';this.addMenuItem(this.mainMenu,'status_offline_tiny.png','Pr=
ofile',this.links.profile,false,false,null);this.addMenuItem(this.mainMen=
u,'book_tiny.png','Catalog',this.links.catalog,false,false,null);var =
s1=3Dthis.addSeparatorItem(this.mainMenu);s1.id=3D'ucafsi_'+this.controlc=
ode;if(this.affinity.overlap)=0A=
{afftext1=3Dthis.affinity.percentile+'% similar =
library';afftext2=3Dthis.affinity.overlap+' shared book'+plural;var =
am1=3Dthis.addMenuItem(this.mainMenu,'',afftext1,'',true,false,null);am1.=
id=3D'ucafpm_'+this.controlcode;var =
am2=3Dthis.addMenuItem(this.mainMenu,'',afftext2,'',true,false,null);am2.=
id=3D'ucafom_'+this.controlcode;this.addSeparatorItem(this.mainMenu);}=0A=
this.addMenuItem(this.mainMenu,'reviews_tiny.png','Reviews',this.links.re=
views,false,false,null);this.addMenuItem(this.mainMenu,'tag_yellow_tiny.p=
ng','Tag =
Cloud',this.links.tagcloud,false,false,null);this.addMenuItem(this.mainMe=
nu,'author_cloud_tiny.png','Author =
Cloud',this.links.authorcloud,false,false,null);this.menuItemsExist=3Dtru=
e;}=0A=
var =
elof=3DPosition.positionedOffset(this.element);this.mainMenu.style.top=3D=
elof[1]+17+'px';this.mainMenu.style.left=3Delof[0]+1+'px';this.mainMenu.s=
tyle.borderWidth=3D'1px';this.mainMenu.show();this.mainMenu.style.display=
=3D'block';this.arrow.addClassName('ucoArrowOn');this.element.addClassNam=
e('userControlHover');}};}=0A=
function =
registerUserControlObject(ucname,params){if(g_prototypeAvailable)=0A=
{var controlElement=3D$(ucname);var uc=3Dnew =
LTUserControl(controlElement,params);g_userControls[ucname]=3Duc;controlE=
lement.userControlObject=3Duc;}}=0A=
function releaseMenu(menu)=0A=
{menu.style.display=3D'none';}=0A=
function toggleCollectionMembership(checkbox,bookid,fullcode)=0A=
{checkbox.disabled=3Dtrue;var =
url=3D'/ajax_collectionsToggleMembership.php';var =
params=3D{c_id:checkbox.value,newvalue:checkbox.checked,bookid:bookid,ful=
lcode:fullcode};var responseFunction=3Dfunction(t)=0A=
{if(t.responseText=3D=3D'1')=0A=
{checkbox.disabled=3Dfalse;}=0A=
else=0A=
{checkbox.checked=3D!checkbox.checked;checkbox.disabled=3Dfalse;}};basic_=
ajax(url,params,responseFunction);}=0A=
function addCollection(name,omit,listcontainerID,bookid,fullcode)=0A=
{var url=3D'/ajax_collectionsAddCollection.php';var =
params=3D{name:name.value,omit:omit.checked,book:bookid};var =
responseFunction=3Dfunction(t){var =
rArray=3Dt.responseText.evalJSON();if(rArray.success)=0A=
{var container=3D$(listcontainerID);var =
newel=3Ddocument.createElement('div');newel.className=3D'collectionModIte=
m';newel.id=3D'collectionItem_'+rArray.c_id;var newlines=3D'<input =
name=3D"cList_'+rArray.c_id+'" id=3D"cList_'+rArray.c_id+'" =
type=3D"checkbox" value=3D"'+rArray.c_id+'" ';if(rArray.inCollection)=0A=
newlines+=3D' checked =
';newlines+=3D'onChange=3D"javascript:toggleCollectionMembership(this,'+b=
ookid+','+fullcode+'); return =
false;">';newlines+=3Dname.value;if(omit.checked)=0A=
newlines+=3D' * ';newlines+=3D' (<a href=3D"#" =
onclick=3D"javascript:deleteCollection('+rArray.c_id+'); return =
false;">delete</a>)';newel.innerHTML=3Dnewlines;container.appendChild(new=
el);}=0A=
else=0A=
{}};basic_ajax(url,params,responseFunction);}=0A=
function deleteCollection(c_id)=0A=
{var url=3D'/ajax_collectionsDeleteCollection.php';var =
params=3D{c_id:c_id};var responseFunction=3Dfunction(t)=0A=
{if(t.responseText=3D=3D'1')=0A=
{var clist=3D$('collectionModList');var =
item=3D$('collectionItem_'+c_id);item.style.display=3D'none';clist.remove=
Child(item);}=0A=
else=0A=
{alert('failure');}};basic_ajax(url,params,responseFunction);}=0A=
function setRating(container,bookid,rating,editable,style)=0A=
{co=3DLT_findObj(container);var uid=3DLT_GetRandomID(8);var =
url=3D'/ajax_setBookRating.php';var =
params=3D{uid:uid,book:bookid,editable:editable,container:container,style=
:style,rating:rating};var rateSuccessF=3Dfunction(t)=0A=
{if(co)=0A=
{if(t.responseText!=3D'0')=0A=
{co.innerHTML=3Dt.responseText;}=0A=
co.style.opacity=3D1;co.style.filter=3D'alpha(opacity=3D100)';}};if(co)=0A=
{co.style.opacity=3D0.3;co.style.filter=3D'alpha(opacity=3D'+30+')';}=0A=
basic_ajax(url,params,rateSuccessF);}=0A=
function =
setFeatureRating(container,bookid,rating,editable,style,secondID)=0A=
{co=3DLT_findObj(container);var uid=3DLT_GetRandomID(8);var =
url=3D'/ajax_setRating.php';var =
params=3D{uid:uid,book:bookid,editable:editable,container:container,style=
:style,rating:rating,secondID:secondID};var rateSuccessF=3Dfunction(t)=0A=
{if(co)=0A=
{if(t.responseText!=3D'0')=0A=
{co.innerHTML=3Dt.responseText;}=0A=
co.style.opacity=3D1;co.style.filter=3D'alpha(opacity=3D100)';}};if(co)=0A=
{co.style.opacity=3D0.3;co.style.filter=3D'alpha(opacity=3D'+30+')';}=0A=
basic_ajax(url,params,rateSuccessF);}=0A=
function checkBlast()=0A=
{var url=3D'/ajax_checkBlast.php';var params=3D{'dog':1};var =
handleResponse=3Dfunction(t)=0A=
{var rt=3Dt.responseText;var r=3D{};if(typeof rt=3D=3D=3D'undefined')=0A=
{}=0A=
if(typeof rt=3D=3D=3D'object')=0A=
{r=3Drt;}=0A=
else=0A=
{try=0A=
{r=3DJSON.parse(rt);}=0A=
catch(err)=0A=
{mmlog('Twas a problem evaling json response','error');return;};}=0A=
if(r.lightboxB)=0A=
{var url=3Dr.lightboxURL;var =
params=3D{height:255,width:650,modal:true,content_class:'LT_LB_blast'};Li=
braryThing.lightbox.ajax(url,params);}};basic_ajax(url,params,handleRespo=
nse);}=0A=
function shareLB(idA)=0A=
{chromeChoice=3D0=0A=
var url=3D'/ajax_shareblast.php?idA=3D'+idA;var =
params=3D{height:255,width:650,modal:true,content_class:'LT_LB_blast'};Li=
braryThing.lightbox.ajax(url,params);}=0A=
function =
showuwyb(){$('showmoreuwyb').style.display=3D'none';$('uwybhide').style.d=
isplay=3D'inline';}=0A=
function showMore(element){var el=3D$(element);var =
className=3Del.className;className=3DclassName.replace("showmore","showmo=
re_show");el.className=3DclassName;}=0A=
function showLess(element){var el=3D$(element);var =
className=3Del.className;className=3DclassName.replace("showmore_show","s=
howmore");el.className=3DclassName;}=0A=
function toggleMore(name)=0A=
{$('more'+name).toggle();$('showless'+name).toggle();$('showmore'+name).t=
oggle();}=0A=
if(typeof window.console=3D=3D"undefined")=0A=
{window.console=3D{};console.log=3Dfunction(o)=0A=
{};console.debug=3Dfunction(o)=0A=
{};console.info=3Dfunction(o)=0A=
{};console.warn=3Dfunction(o)=0A=
{};console.assert=3Dfunction(expr)=0A=
{};console.error=3Dfunction(o)=0A=
{};console.dir=3Dfunction(o)=0A=
{};console.dirxml=3Dfunction(node)=0A=
{};console.trace=3Dfunction()=0A=
{};console.group=3Dfunction(o)=0A=
{};console.groupEnd=3Dfunction()=0A=
{};console.time=3Dfunction(name)=0A=
{};console.timeEnd=3Dfunction(name)=0A=
{};console.profile=3Dfunction(title)=0A=
{};console.profileEnd=3Dfunction()=0A=
{};console.profileEnd=3Dfunction()=0A=
{};console.count=3Dfunction(title)=0A=
{};}=0A=
function goToURL(url,target){if(target=3D=3D'_top')=0A=
{window.top.location=3Durl;}=0A=
else if(target=3D=3D'_parent')=0A=
{parent.location=3Durl;}=0A=
else if(target!=3Dnull)=0A=
{window[target].location=3Durl;}=0A=
else=0A=
{window.location.href=3Durl;}};function dovote(type,id,vote)=0A=
{var theid=3D'vote_'+type+'_'+id;var =
url=3D"/ajax_voter.php?type=3D"+encodeURIComponent(type)+"&id=3D"+encodeU=
RIComponent(id)+"&vote=3D"+encodeURIComponent(vote);$(theid).innerHTML=3D=
"<span =
class=3D'main'>Saving...</span>";basic_ajax_updater(url,null,$(theid));}=0A=
function confirmAction(action)=0A=
{return confirm(action+"?");}=0A=
function =
loadNewShelf(listtype,cachekey,displaymode,shelfoffset,numoffset,sort,sub=
num)=0A=
{$('linkdiv').hide();if(subnum>0)=0A=
{var theid=3Dlisttype+'-'+subnum;}=0A=
else=0A=
{var theid=3Dlisttype;}=0A=
var dimensions=3D$(theid).getDimensions();var =
params=3D{listtype:listtype,cachekey:cachekey,displaymode:displaymode,she=
lfoffset:shelfoffset,numoffset:numoffset,sort:sort,xhr:true,width:dimensi=
ons.width};var callback;var =
url=3D'/ajaxinc_newshelf.php';basic_ajax_updater(url,params,theid,callbac=
k);}=0A=
var chromeChoice=3D0;function chromeSet(theid,num)=0A=
{$(theid).setAttribute("class","area"+num);{$('chrome0').removeClassName(=
'selected');$('chrome1').removeClassName('selected');$('chrome'+chromeCho=
ice).removeClassName('selected');$('chrome'+num).addClassName('selected')=
;chromeChoice=3Dnum;}}=0A=
function countCharacters(maximum)=0A=
{if(typeof maximum=3D=3D=3D'undefined'){maximum=3D140;}=0A=
if($('blastedittextarea'))=0A=
{var charLen=3D$('blastedittextarea').value.length;var =
left=3Dmaximum-charLen;$('charsLeft').innerHTML=3Dleft;if(left<0)=0A=
{$('charsLeft').addClassName('overChar');}}}=0A=
function postBlast(service)=0A=
{var =
params=3D{};params=3D$('blastform').serialize(true);params.service=3Dserv=
ice;var =
url=3D'/ajax_blast_send.php';basic_ajax_updater(url,params,'area'+service=
);}=0A=
function cP(theid,theprivacy)=0A=
{var params=3D{id:theid,privacy:theprivacy};var callback;var =
url=3D'/ajax_blast_setprivacy.php';basic_ajax_updater(url,params,'pon'+th=
eid,callback);return false;}=0A=
function cR(theid,remove)=0A=
{var params=3D{id:theid,remove:remove};var callback;var =
url=3D'/ajax_blast_remove.php';new =
Effect.Fade($('f_r'+theid),{duration:0.2});basic_ajax_silent(url,params,'=
pon'+theid,callback);return false;} =0A=
 /* 2003:minified:js2/basicajax.js */ =0A=
=0A=
var currentid=3D0;var idtohide=3D0;var xmlHttp;function =
createXMLHttpRequest()=0A=
{if(window.ActiveXObject)=0A=
{xmlHttp=3Dnew ActiveXObject("Microsoft.XMLHTTP");}=0A=
else if(window.XMLHttpRequest)=0A=
{xmlHttp=3Dnew XMLHttpRequest();}}=0A=
function startRequest()=0A=
{createXMLHttpRequest();xmlHttp.onreadystatechange=3DhandleStateChange;xm=
lHttp.open("GET","innerHTML.xml",true);xmlHttp.send(null);}=0A=
function handleStateChange()=0A=
{if(xmlHttp.readyState=3D=3D4)=0A=
{if(xmlHttp.status=3D=3D200)=0A=
{document.getElementById(currentid).innerHTML=3DxmlHttp.responseText;if(i=
dtohide){document.getElementById(idtohide).style.display=3D'none';}=0A=
if(currentid){document.getElementById(currentid).style.display=3D'block';=
}}}} =0A=
 /* 2003:minified:js2/lt_lightbox.js */ =0A=
=0A=
var =
LibraryThing=3DLibraryThing||{};LibraryThing.lightbox=3DLibraryThing.ligh=
tbox||{};LibraryThing.lightbox=3D{active:0,yPos:0,xPos:0,css_url:'/css/lt=
_lightbox.css',ie:(navigator.appName=3D=3D"Microsoft Internet =
Explorer"?true:false),ie_version:null,safari:RegExp(" =
AppleWebKit/").test(navigator.userAgent),dochead:document.getElementsByTa=
gName('head')[0],initialized:false,div_lightbox:null,div_overlay:null,div=
_content:null,div_loading:null,lb_width:400,lb_height:300,inline_containe=
r:null,params:null,hasiframe:false,unload:function(){this.active=3Dfalse;=
},init:function()=0A=
{this.active=3Dtrue;try=0A=
{if(!this.initialized)=0A=
{var =
body=3Ddocument.getElementsByTagName('body')[0];this.div_overlay=3Ddocume=
nt.createElement('div');this.div_overlay.id=3D'LT_LB_overlay';this.div_ov=
erlay.className=3D'LT_LB_overlay_white';this.div_lightbox=3Ddocument.crea=
teElement('div');this.div_lightbox.id=3D'LT_LB';this.div_lightbox.style.d=
isplay=3D"none";this.div_content=3Ddocument.createElement('div');this.div=
_content.id=3D'LT_LB_content';this.div_content.className=3D'LT_LB_content=
';this.div_content.style.display=3D"none";this.div_loading=3Ddocument.cre=
ateElement('div');this.div_loading.id=3D'LT_LB_loading';this.div_loading.=
style.display=3D"none";this.div_loading.innerHTML=3D"Loading...";body.app=
endChild(this.div_overlay);body.appendChild(this.div_lightbox);this.div_l=
ightbox.appendChild(this.div_loading);this.div_lightbox.appendChild(this.=
div_content);this.params=3D{};if(/MSIE =
(\d+\.\d+);/.test(navigator.userAgent)){this.ie_version=3Dnew =
Number(RegExp.$1)}=0A=
this.initialized=3Dtrue;}}=0A=
catch(e)=0A=
{this.initialized=3Dfalse;}},setParams:function(inparams)=0A=
{if(inparams)=0A=
{this.init();this.params=3D{};for(pp in inparams)=0A=
{this.params[pp]=3Dinparams[pp];if(pp=3D=3D'content_class')=0A=
{this.div_content.className=3Dinparams[pp];}=0A=
else=0A=
{this.div_content.className=3D'LT_LB_content';}=0A=
if(pp=3D=3D'rounded'){this.div_lightbox.className=3D'LT_LB_rounded';}}}},=
setPosition:function()=0A=
{var iw=3Dthis.params.width;var ih=3Dthis.params.height;var =
iwp=3D(iw)?iw:this.lb_width;var ihp=3D(ih)?ih:this.lb_width;var =
winWidth=3D0,winHeight=3D0;var =
workingLeft=3D0,workingTop=3D0;if(typeof(window.innerWidth)=3D=3D'number'=
)=0A=
{winWidth=3Dwindow.innerWidth;winHeight=3Dwindow.innerHeight;}=0A=
else =
if(document.documentElement&&(document.documentElement.clientWidth||docum=
ent.documentElement.clientHeight))=0A=
{winWidth=3Ddocument.documentElement.clientWidth;winHeight=3Ddocument.doc=
umentElement.clientHeight+20;}=0A=
else =
if(document.body&&(document.body.clientWidth||document.body.clientHeight)=
)=0A=
{winWidth=3Ddocument.body.clientWidth;winHeight=3Ddocument.body.clientHei=
ght;}=0A=
if(iwp>winWidth)=0A=
{iwp=3DwinWidth;}=0A=
if(ihp>winHeight)=0A=
{ihp=3DwinHeight;}=0A=
this.div_overlay.style.height=3DwinHeight+'px';workingLeft=3DwinWidth-iwp=
;workingTop=3DwinHeight-ihp;if(workingLeft)=0A=
{workingLeft=3DMath.floor((winWidth-iwp)/2);}=0A=
else=0A=
{if(this.ie)=0A=
{iwp=3Diwp-40;}}=0A=
if(workingTop)=0A=
{workingTop=3DMath.floor((winHeight-ihp)/2);}=0A=
else=0A=
{if(this.ie)=0A=
{ihp=3Dihp-44;}}=0A=
if(this.params.absolute=3D=3Dtrue)=0A=
{this.div_lightbox.style.position=3D'absolute';}=0A=
this.div_lightbox.style.width=3Diwp+'px';this.div_lightbox.style.height=3D=
ihp+'px';if(this.ie)=0A=
{if(this.ie_version<7){mmlog('this is =
IE');this.getScroll();this.prepareIE('100%','hidden');this.setScroll(0,0)=
;this.div_lightbox.style.position=3D'absolute';this.div_lightbox.style.ov=
erflow=3D'auto';}}=0A=
this.div_lightbox.style.top=3DworkingTop+'px';this.div_lightbox.style.lef=
t=3DworkingLeft+'px';},on:function(ev)=0A=
{this.init();ev=3Dev||window.event;var =
evt=3Dev.target||ev.srcElement;var href=3Devt.href;var url=3Dhref;var =
rel=3Devt.rel;var inlined_el;var =
queryString=3Durl.replace(/^[^\?]+\??/,'');if(this.params)=0A=
{this.params=3Dthis.parseQuery(queryString);this.lb_width=3D(this.params.=
width*1)+30||400;this.lb_height=3D(this.params.height*1)+40||300;this.div=
_lightbox.style.left=3D"50%";this.div_lightbox.style.right=3D"50%";}=0A=
if(this.ie){if(this.ie_version<7){this.getScroll();this.prepareIE('100%',=
'hidden');this.setScroll(0,0);this.hideSelects('hidden');}}=0A=
if(this.params.inlineId)=0A=
{inlined_el=3Dthis.params.inlineId;this.inline(inlined_el);}=0A=
else if(this.params.url)=0A=
{var ajaxURL=3Dthis.params.url;if(url.indexOf("?")!=3D=3D-1)=0A=
{inlined_el=3Durl.substr(0,url.indexOf("?"));}=0A=
this.ajax(ajaxURL);}=0A=
return false;},ajax:function(contentURL,params)=0A=
{if(contentURL)=0A=
{this.init();if(params)=0A=
{this.setParams(params);}=0A=
this.setPosition();if(this.ie){if(this.ie_version<7){this.getScroll();thi=
s.prepareIE('100%','hidden');this.setScroll(0,0);this.hideSelects('hidden=
');}}=0A=
var wasShowing=3Dthis.isShowing('LT_LB');var uid=3D0;var =
ajaxparams=3D{};if(params)=0A=
{if(params['ajaxparams'])=0A=
{ajaxparams=3Dparams['ajaxparams'];}}=0A=
ajaxparams.uid=3Duid;var lightboxResponse=3Dfunction(t)=0A=
{var rt=3Dt.responseText;if(rt=3D=3D=3D'')=0A=
{LibraryThing.lightbox.showhide('LT_LB_loading',false);LibraryThing.light=
box.showhide('LT_LB_content',true);LibraryThing.lightbox.div_content.styl=
e.display=3D'block';LibraryThing.lightbox.div_content.innerHTML=3D'There =
was a problem retrieving the data. Please try again. (<a href=3D"#" =
onclick=3D"LibraryThing.lightbox.off()">close</a>)';}=0A=
else=0A=
{LibraryThing.lightbox.showhide('LT_LB_loading',false);LibraryThing.light=
box.showhide('LT_LB_content',true);LibraryThing.lightbox.div_content.styl=
e.display=3D'block';LibraryThing.lightbox.div_content.innerHTML=3Drt;if(L=
ibraryThing.lightbox.params.catalogCK)=0A=
{LibraryThing.lightbox.enterCKEditMode();}=0A=
rt.evalScripts();LibraryThing.lightbox.ready();if(LibraryThing.lightbox.p=
arams.scriptwhendone)=0A=
{eval(LibraryThing.lightbox.params.scriptwhendone);}}};LibraryThing.light=
box.div_content.innerHTML=3D'';this.showhide('LT_LB_overlay',true);this.s=
howhide('LT_LB',true);this.showhide('LT_LB_loading',true);basic_ajax(cont=
entURL,ajaxparams,lightboxResponse);this.unload=3Dfunction(){LibraryThing=
.lightbox.div_content.innerHTML=3D'';};this.modalCheck();}},iframe:functi=
on(contentURL,params)=0A=
{if(contentURL)=0A=
{if(typeof(window.parent.LibraryThing.lightbox)!=3D'undefined'&&LibraryTh=
ing.lightbox.hasiframe=3D=3Dfalse&&window.parent.LibraryThing.lightbox.ha=
siframe=3D=3Dtrue)=0A=
{window.parent.LibraryThing.lightbox.iframe(contentURL,params);return =
false;}=0A=
this.init();if(params)=0A=
{this.setParams(params);}=0A=
this.setPosition();if(this.ie){if(this.ie_version<7){this.getScroll();thi=
s.prepareIE('100%','hidden');this.setScroll(0,0);this.hideSelects('hidden=
');}}=0A=
var wasShowing=3Dthis.isShowing('LT_LB');var uid=3D0;var =
ajaxparams=3D{};if(params)=0A=
{if(params['ajaxparams'])=0A=
{ajaxparams=3Dparams['ajaxparams'];}}=0A=
ajaxparams.uid=3Duid;LibraryThing.lightbox.div_content.innerHTML=3D'';var=
 currentWidth=3D$('LT_LB').getWidth()-4;var =
currentHeight=3D$('LT_LB').getHeight()-4;var iframeS=3D"<iframe =
id=3D'LT_iframe' src=3D'"+contentURL;iframeS+=3D"' frameborder=3D'0' =
scrolling=3D'auto' width=3D'"+currentWidth;iframeS+=3D"' =
height=3D'"+currentHeight+"'></iframe>";$('LT_LB_content').innerHTML=3Dif=
rameS;this.showhide('LT_LB_overlay',true);this.showhide('LT_LB',true);Lib=
raryThing.lightbox.showhide('LT_LB_content',true);LibraryThing.lightbox.d=
iv_content.style.display=3D'block';LibraryThing.lightbox.ready();this.unl=
oad=3Dfunction(){LibraryThing.lightbox.div_content.innerHTML=3D'';};this.=
modalCheck();}},enterCKEditMode:function(fieldname)=0A=
{var =
pencils=3Ddocument.getElementsByClassName('fwikiEditPencil');if(pencils)=0A=
{for(var i=3D0;i<pencils.length;i++)=0A=
{var =
pencil=3Dpencils[i];pencil.onclick();}}},inline:function(elt_id,params)=0A=
{var =
elt=3Ddocument.getElementById(elt_id);this.inline_container=3Delt;if(elt!=
=3D'undefined')=0A=
{this.init();if(params)=0A=
{this.setParams(params);}=0A=
this.setPosition();if(this.ie){if(this.ie_version<7){this.getScroll();thi=
s.prepareIE('100%','hidden');this.setScroll(0,0);this.hideSelects('hidden=
');}}=0A=
LibraryThing.lightbox.div_content.innerHTML=3D'';LibraryThing.lightbox.di=
v_content.innerHTML=3D'';this.showhide('LT_LB_overlay',true);this.showhid=
e('LT_LB',true);this.showhide('LT_LB_loading',true);if(1)=0A=
{var =
cloned=3Delt.cloneNode(true);this.div_content.appendChild(cloned);cloned.=
style.display=3D"block";}=0A=
else=0A=
{var childs=3Delt.children||elt.childNodes;for(var =
i=3D0;i<childs.length;i++)=0A=
{var =
child=3Dchilds[i];LibraryThing.lightbox.div_content.appendChild(child);}=0A=
this.unload=3Dfunction(){var =
childs=3Dthis.div_content.children||this.div_content.childNodes;for(var =
i=3D0;i<childs.length;i++)=0A=
{var child=3Dchilds[i];this.inline_container.appendChild(child);}};}=0A=
LibraryThing.lightbox.showhide('LT_LB_loading',false);LibraryThing.lightb=
ox.showhide('LT_LB_content',true);this.modalCheck();}=0A=
this.ready();},off:function(success){this.unload();if(this.ie)=0A=
{if(this.ie_version<7){this.setScroll(0,this.yPos);this.prepareIE("auto",=
"auto");this.hideSelects("visible");}}=0A=
if(this.params.absolute)=0A=
{this.prepareIE("auto","auto");this.setScroll(0,this.yPos+1);}=0A=
if(this.safari)=0A=
{this.prepareIE("auto","scroll");}=0A=
this.showhide('LT_LB_overlay',false);this.showhide('LT_LB',false);if(succ=
ess)=0A=
{if(this.params&&this.params.callbackSuccess)=0A=
{LibraryThing.lightbox.cbRun(this.params.callbackSuccess,this.params.call=
backParams);this.params.callbackSuccess=3Dnull;}}=0A=
else=0A=
{if(this.params&&this.params.callbackFailure)=0A=
{LibraryThing.lightbox.cbRun(this.params.callbackFailure,this.params.call=
backParams);this.params.callbackFailure=3Dnull;}}},cbRun:function(f,p)=0A=
{if(typeof f=3D=3D=3D'function')=0A=
{f(p);}=0A=
else if(typeof f!=3D=3D'undefined')=0A=
{var fstring=3Df+'(';if(p)=0A=
{fstring+=3D'p';}=0A=
fstring+=3D')';if(fstring&&(fstring!=3D=3Dnull)&&(fstring!=3D=3D'undefine=
d')){eval(fstring);}}},ready:function()=0A=
{if(this.params&&this.params.callbackReady)=0A=
{LibraryThing.lightbox.cbRun(this.params.callbackReady);}},modalCheck:fun=
ction()=0A=
{if(this.params)=0A=
{if(this.params.modal=3D=3Dtrue)=0A=
{$('LT_LB_overlay').stopObserving('click');this.div_overlay.style.cursor=3D=
'default';}=0A=
else=0A=
{$('LT_LB_overlay').observe('click',function(event){event.stop();LibraryT=
hing.lightbox.off();});this.div_overlay.style.cursor=3D'hand';}}=0A=
else=0A=
{$('LT_LB_overlay').observe('click',function(event){event.stop();LibraryT=
hing.lightbox.off();});this.div_overlay.style.cursor=3D'hand';}},addEvent=
:function(elt,evt,func)=0A=
{if(typeof elt=3D=3D'string'){elt=3Ddocument.getElementById(elt);}=0A=
if(elt.addEventListener){elt.addEventListener(evt,func,false);}=0A=
else{elt.attachEvent("on"+evt,func);}},removeEvent:function(elt,evt,func)=0A=
{if(typeof elt=3D=3D'string'){elt=3Ddocument.getElementById(elt);}=0A=
if(elt.removeEventListener){elt.removeEventListener(evt,func,false);}=0A=
else{elt.detachEvent("on"+evt,elt[evt+func]);elt[evt+func]=3Dnull;elt['e'=
+evt+func]=3Dnull;}},showhide:function(elt_id,bool)=0A=
{var elt=3Ddocument.getElementById(elt_id);if(elt)=0A=
{elt.style.display=3Dbool?'block':'none';}},isShowing:function(elt_id)=0A=
{var =
elt=3Ddocument.getElementById(elt_id);if(elt.style.display=3D=3D'none')=0A=
{return false;}=0A=
return true;},prepareIE:function(height,overflow)=0A=
{var =
htm=3Ddocument.getElementsByTagName('html')[0];htm.style.height=3Dheight;=
htm.style.overflow=3Doverflow;htm.style.display=3D'block';},hideSelects:f=
unction(visibility){var =
selects=3Ddocument.getElementsByTagName('select');for(var =
i=3D0;i<selects.length;i++){selects[i].style.visibility=3Dvisibility;}},g=
etScroll:function(){if(self.pageYOffset){this.yPos=3Dself.pageYOffset;}el=
se =
if(document.documentElement&&document.documentElement.scrollTop){this.yPo=
s=3Ddocument.documentElement.scrollTop;}else =
if(document.body){this.yPos=3Ddocument.body.scrollTop;}},setScroll:functi=
on(x,y){window.scrollTo(x,y);},addScriptURL:function(url){var =
script=3Ddocument.createElement('script');script.type=3D'text/javascript'=
;script.src=3Durl;this.dochead.appendChild(script);},load:function(respon=
se,container){container=3Dcontainer||"LT_LB_content";var =
lb=3Ddocument.getElementById(container);lb.innerHTML=3Dresponse;LibraryTh=
ing.showhide('LT_LB_loading',false);LibraryThing.showhide('LT_LB_content'=
,true);},parseQuery:function(query){var Params=3D{};if(!query){return =
Params;}=0A=
var Pairs=3Dquery.split(/[;&]/);for(var i=3D0;i<Pairs.length;i++){var =
KeyVal=3DPairs[i].split('=3D');if(!KeyVal||KeyVal.length!=3D2){continue;}=0A=
var key=3Dunescape(KeyVal[0]);var =
val=3Dunescape(KeyVal[1]);val=3Dval.replace(/\+/g,' =
');Params[key]=3Dval;}=0A=
return Params;}}; =0A=
 /* 2003:minified:js2/mmlog.js */ =0A=
=0A=
var mmlogging=3Dtrue;var mmgrouping=3Dmmlogging?true:false;var =
mmlog=3Dfunction(msg,type){if(mmlogging=3D=3D=3Dfalse){return;}=0A=
type=3Dtype||'log';if(window.console&&(window.console!=3Dundefined)){if((=
type=3D=3D=3D'dir')&&WebKitDetect.isWebKit()){type=3D'log';}=0A=
if(typeof console[type]=3D=3D=3D'function'){console[type](msg);}}}=0A=
var =
mmgroup=3Dfunction(title,collapsed){if(!mmgrouping||mmlogging=3D=3D=3Dfal=
se||WebKitDetect.isWebKit()){mmlog(title,'info');return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.group=3D=3D'function'){if(collapsed&&!(WebKitDetect.isWebKit())){=
console.groupCollapsed(title);}=0A=
else{console.group(title);}}}}=0A=
var =
mmgroupend=3Dfunction(){if(!mmgrouping||mmlogging=3D=3D=3Dfalse||WebKitDe=
tect.isWebKit()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.groupEnd=3D=3D'function'){console.groupEnd();}}}=0A=
var =
mmtime=3Dfunction(name){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.isWebKit=
()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.time=3D=3D'function'){console.time(name);}}}=0A=
var =
mmtimeend=3Dfunction(name){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.isWeb=
Kit()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.timeEnd=3D=3D'function'){console.timeEnd(name);}}}=0A=
var =
mmprofile=3Dfunction(name){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.isWeb=
Kit()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.profile=3D=3D'function'){console.profile(name);}}};var =
mmprofileend=3Dfunction(name){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.is=
WebKit()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.profileEnd=3D=3D'function'){console.profileEnd(name);}}};var =
mmtrace=3Dfunction(){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.isWebKit())=
{return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.trace=3D=3D'function'){console.trace();}}};function =
print_rr(ob,indent){indent=3Dindent||1;var out=3D"";if(typeof =
ob=3D=3D=3D'undefined'){out+=3D'undefined';return out;}=0A=
if(typeof ob=3D=3D=3D'string'){out+=3Dob;return out;}=0A=
if(typeof ob=3D=3D=3D'number'){out+=3Dob;return out;}=0A=
if(typeof ob=3D=3D=3D'boolean'){if(ob){out+=3D'TRUE';}=0A=
else{out+=3D'FALSE';}=0A=
return out;}=0A=
if(typeof ob=3D=3D=3D'object'){var open=3D'{';var closed=3D'}';var =
t=3D'Object';if(ob.length){open=3D'[';closed=3D']';t=3D'Array';}=0A=
out+=3Dt+"\n";for(i=3D0;i<(indent-1);i++){out+=3D"\t";}=0A=
out+=3Dopen;$.each(ob,function(k,v){out+=3D"\n";for(i=3D0;i<indent;i++){o=
ut+=3D"\t";}=0A=
out+=3Dprint_rr(k,(indent))+' : =
'+print_rr(v,(indent+1));});out+=3D"\n";for(i=3D0;i<(indent-1);i++){out+=3D=
"\t";}=0A=
out+=3Dclosed;return out;}=0A=
if(typeof ob=3D=3D=3D'function'){out+=3D'function();';return out;}=0A=
return(typeof ob);};
------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/slider.js

// script.aculo.us slider.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008=0A=
=0A=
// Copyright (c) 2005-2007 Marty Haught, Thomas Fuchs =0A=
//=0A=
// script.aculo.us is freely distributable under the terms of an =
MIT-style license.=0A=
// For details, see the script.aculo.us web site: http://script.aculo.us/=0A=
=0A=
if (!Control) var Control =3D { };=0A=
=0A=
// options:=0A=
//  axis: 'vertical', or 'horizontal' (default)=0A=
//=0A=
// callbacks:=0A=
//  onChange(value)=0A=
//  onSlide(value)=0A=
Control.Slider =3D Class.create({=0A=
  initialize: function(handle, track, options) {=0A=
    var slider =3D this;=0A=
    =0A=
    if (Object.isArray(handle)) {=0A=
      this.handles =3D handle.collect( function(e) { return $(e) });=0A=
    } else {=0A=
      this.handles =3D [$(handle)];=0A=
    }=0A=
    =0A=
    this.track   =3D $(track);=0A=
    this.options =3D options || { };=0A=
=0A=
    this.axis      =3D this.options.axis || 'horizontal';=0A=
    this.increment =3D this.options.increment || 1;=0A=
    this.step      =3D parseInt(this.options.step || '1');=0A=
    this.range     =3D this.options.range || $R(0,1);=0A=
    =0A=
    this.value     =3D 0; // assure backwards compat=0A=
    this.values    =3D this.handles.map( function() { return 0 });=0A=
    this.spans     =3D this.options.spans ? =
this.options.spans.map(function(s){ return $(s) }) : false;=0A=
    this.options.startSpan =3D $(this.options.startSpan || null);=0A=
    this.options.endSpan   =3D $(this.options.endSpan || null);=0A=
=0A=
    this.restricted =3D this.options.restricted || false;=0A=
=0A=
    this.maximum   =3D this.options.maximum || this.range.end;=0A=
    this.minimum   =3D this.options.minimum || this.range.start;=0A=
=0A=
    // Will be used to align the handle onto the track, if necessary=0A=
    this.alignX =3D parseInt(this.options.alignX || '0');=0A=
    this.alignY =3D parseInt(this.options.alignY || '0');=0A=
    =0A=
    this.trackLength =3D this.maximumOffset() - this.minimumOffset();=0A=
=0A=
    this.handleLength =3D this.isVertical() ? =0A=
      (this.handles[0].offsetHeight !=3D 0 ? =0A=
        this.handles[0].offsetHeight : =
this.handles[0].style.height.replace(/px$/,"")) : =0A=
      (this.handles[0].offsetWidth !=3D 0 ? this.handles[0].offsetWidth =
: =0A=
        this.handles[0].style.width.replace(/px$/,""));=0A=
=0A=
    this.active   =3D false;=0A=
    this.dragging =3D false;=0A=
    this.disabled =3D false;=0A=
=0A=
    if (this.options.disabled) this.setDisabled();=0A=
=0A=
    // Allowed values array=0A=
    this.allowedValues =3D this.options.values ? =
this.options.values.sortBy(Prototype.K) : false;=0A=
    if (this.allowedValues) {=0A=
      this.minimum =3D this.allowedValues.min();=0A=
      this.maximum =3D this.allowedValues.max();=0A=
    }=0A=
=0A=
    this.eventMouseDown =3D this.startDrag.bindAsEventListener(this);=0A=
    this.eventMouseUp   =3D this.endDrag.bindAsEventListener(this);=0A=
    this.eventMouseMove =3D this.update.bindAsEventListener(this);=0A=
=0A=
    // Initialize handles in reverse (make sure first handle is active)=0A=
    this.handles.each( function(h,i) {=0A=
      i =3D slider.handles.length-1-i;=0A=
      slider.setValue(parseFloat(=0A=
        (Object.isArray(slider.options.sliderValue) ? =0A=
          slider.options.sliderValue[i] : slider.options.sliderValue) || =0A=
         slider.range.start), i);=0A=
      h.makePositioned().observe("mousedown", slider.eventMouseDown);=0A=
    });=0A=
    =0A=
    this.track.observe("mousedown", this.eventMouseDown);=0A=
    document.observe("mouseup", this.eventMouseUp);=0A=
    document.observe("mousemove", this.eventMouseMove);=0A=
    =0A=
    this.initialized =3D true;=0A=
  },=0A=
  dispose: function() {=0A=
    var slider =3D this;    =0A=
    Event.stopObserving(this.track, "mousedown", this.eventMouseDown);=0A=
    Event.stopObserving(document, "mouseup", this.eventMouseUp);=0A=
    Event.stopObserving(document, "mousemove", this.eventMouseMove);=0A=
    this.handles.each( function(h) {=0A=
      Event.stopObserving(h, "mousedown", slider.eventMouseDown);=0A=
    });=0A=
  },=0A=
  setDisabled: function(){=0A=
    this.disabled =3D true;=0A=
  },=0A=
  setEnabled: function(){=0A=
    this.disabled =3D false;=0A=
  },  =0A=
  getNearestValue: function(value){=0A=
    if (this.allowedValues){=0A=
      if (value >=3D this.allowedValues.max()) =
return(this.allowedValues.max());=0A=
      if (value <=3D this.allowedValues.min()) =
return(this.allowedValues.min());=0A=
      =0A=
      var offset =3D Math.abs(this.allowedValues[0] - value);=0A=
      var newValue =3D this.allowedValues[0];=0A=
      this.allowedValues.each( function(v) {=0A=
        var currentOffset =3D Math.abs(v - value);=0A=
        if (currentOffset <=3D offset){=0A=
          newValue =3D v;=0A=
          offset =3D currentOffset;=0A=
        } =0A=
      });=0A=
      return newValue;=0A=
    }=0A=
    if (value > this.range.end) return this.range.end;=0A=
    if (value < this.range.start) return this.range.start;=0A=
    return value;=0A=
  },=0A=
  setValue: function(sliderValue, handleIdx){=0A=
    if (!this.active) {=0A=
      this.activeHandleIdx =3D handleIdx || 0;=0A=
      this.activeHandle    =3D this.handles[this.activeHandleIdx];=0A=
      this.updateStyles();=0A=
    }=0A=
    handleIdx =3D handleIdx || this.activeHandleIdx || 0;=0A=
    if (this.initialized && this.restricted) {=0A=
      if ((handleIdx>0) && (sliderValue<this.values[handleIdx-1]))=0A=
        sliderValue =3D this.values[handleIdx-1];=0A=
      if ((handleIdx < (this.handles.length-1)) && =
(sliderValue>this.values[handleIdx+1]))=0A=
        sliderValue =3D this.values[handleIdx+1];=0A=
    }=0A=
    sliderValue =3D this.getNearestValue(sliderValue);=0A=
    this.values[handleIdx] =3D sliderValue;=0A=
    this.value =3D this.values[0]; // assure backwards compat=0A=
    =0A=
    this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] =
=3D =0A=
      this.translateToPx(sliderValue);=0A=
    =0A=
    this.drawSpans();=0A=
    if (!this.dragging || !this.event) this.updateFinished();=0A=
  },=0A=
  setValueBy: function(delta, handleIdx) {=0A=
    this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + =
delta, =0A=
      handleIdx || this.activeHandleIdx || 0);=0A=
  },=0A=
  translateToPx: function(value) {=0A=
    return Math.round(=0A=
      =
((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) =
* =0A=
      (value - this.range.start)) + "px";=0A=
  },=0A=
  translateToValue: function(offset) {=0A=
    return ((offset/(this.trackLength-this.handleLength) * =0A=
      (this.range.end-this.range.start)) + this.range.start);=0A=
  },=0A=
  getRange: function(range) {=0A=
    var v =3D this.values.sortBy(Prototype.K); =0A=
    range =3D range || 0;=0A=
    return $R(v[range],v[range+1]);=0A=
  },=0A=
  minimumOffset: function(){=0A=
    return(this.isVertical() ? this.alignY : this.alignX);=0A=
  },=0A=
  maximumOffset: function(){=0A=
    return(this.isVertical() ? =0A=
      (this.track.offsetHeight !=3D 0 ? this.track.offsetHeight :=0A=
        this.track.style.height.replace(/px$/,"")) - this.alignY : =0A=
      (this.track.offsetWidth !=3D 0 ? this.track.offsetWidth : =0A=
        this.track.style.width.replace(/px$/,"")) - this.alignX);=0A=
  },  =0A=
  isVertical:  function(){=0A=
    return (this.axis =3D=3D 'vertical');=0A=
  },=0A=
  drawSpans: function() {=0A=
    var slider =3D this;=0A=
    if (this.spans)=0A=
      $R(0, this.spans.length-1).each(function(r) { =
slider.setSpan(slider.spans[r], slider.getRange(r)) });=0A=
    if (this.options.startSpan)=0A=
      this.setSpan(this.options.startSpan,=0A=
        $R(0, this.values.length>1 ? this.getRange(0).min() : this.value =
));=0A=
    if (this.options.endSpan)=0A=
      this.setSpan(this.options.endSpan, =0A=
        $R(this.values.length>1 ? =
this.getRange(this.spans.length-1).max() : this.value, this.maximum));=0A=
  },=0A=
  setSpan: function(span, range) {=0A=
    if (this.isVertical()) {=0A=
      span.style.top =3D this.translateToPx(range.start);=0A=
      span.style.height =3D this.translateToPx(range.end - range.start + =
this.range.start);=0A=
    } else {=0A=
      span.style.left =3D this.translateToPx(range.start);=0A=
      span.style.width =3D this.translateToPx(range.end - range.start + =
this.range.start);=0A=
    }=0A=
  },=0A=
  updateStyles: function() {=0A=
    this.handles.each( function(h){ Element.removeClassName(h, =
'selected') });=0A=
    Element.addClassName(this.activeHandle, 'selected');=0A=
  },=0A=
  startDrag: function(event) {=0A=
    if (Event.isLeftClick(event)) {=0A=
      if (!this.disabled){=0A=
        this.active =3D true;=0A=
        =0A=
        var handle =3D Event.element(event);=0A=
        var pointer  =3D [Event.pointerX(event), Event.pointerY(event)];=0A=
        var track =3D handle;=0A=
        if (track=3D=3Dthis.track) {=0A=
          var offsets  =3D Position.cumulativeOffset(this.track); =0A=
          this.event =3D event;=0A=
          this.setValue(this.translateToValue( =0A=
           (this.isVertical() ? pointer[1]-offsets[1] : =
pointer[0]-offsets[0])-(this.handleLength/2)=0A=
          ));=0A=
          var offsets  =3D Position.cumulativeOffset(this.activeHandle);=0A=
          this.offsetX =3D (pointer[0] - offsets[0]);=0A=
          this.offsetY =3D (pointer[1] - offsets[1]);=0A=
        } else {=0A=
          // find the handle (prevents issues with Safari)=0A=
          while((this.handles.indexOf(handle) =3D=3D -1) && =
handle.parentNode) =0A=
            handle =3D handle.parentNode;=0A=
            =0A=
          if (this.handles.indexOf(handle)!=3D-1) {=0A=
            this.activeHandle    =3D handle;=0A=
            this.activeHandleIdx =3D =
this.handles.indexOf(this.activeHandle);=0A=
            this.updateStyles();=0A=
            =0A=
            var offsets  =3D =
Position.cumulativeOffset(this.activeHandle);=0A=
            this.offsetX =3D (pointer[0] - offsets[0]);=0A=
            this.offsetY =3D (pointer[1] - offsets[1]);=0A=
          }=0A=
        }=0A=
      }=0A=
      Event.stop(event);=0A=
    }=0A=
  },=0A=
  update: function(event) {=0A=
   if (this.active) {=0A=
      if (!this.dragging) this.dragging =3D true;=0A=
      this.draw(event);=0A=
      if (Prototype.Browser.WebKit) window.scrollBy(0,0);=0A=
      Event.stop(event);=0A=
   }=0A=
  },=0A=
  draw: function(event) {=0A=
    var pointer =3D [Event.pointerX(event), Event.pointerY(event)];=0A=
    var offsets =3D Position.cumulativeOffset(this.track);=0A=
    pointer[0] -=3D this.offsetX + offsets[0];=0A=
    pointer[1] -=3D this.offsetY + offsets[1];=0A=
    this.event =3D event;=0A=
    this.setValue(this.translateToValue( this.isVertical() ? pointer[1] =
: pointer[0] ));=0A=
    if (this.initialized && this.options.onSlide)=0A=
      this.options.onSlide(this.values.length>1 ? this.values : =
this.value, this);=0A=
  },=0A=
  endDrag: function(event) {=0A=
    if (this.active && this.dragging) {=0A=
      this.finishDrag(event, true);=0A=
      Event.stop(event);=0A=
    }=0A=
    this.active =3D false;=0A=
    this.dragging =3D false;=0A=
  },  =0A=
  finishDrag: function(event, success) {=0A=
    this.active =3D false;=0A=
    this.dragging =3D false;=0A=
    this.updateFinished();=0A=
  },=0A=
  updateFinished: function() {=0A=
    if (this.initialized && this.options.onChange) =0A=
      this.options.onChange(this.values.length>1 ? this.values : =
this.value, this);=0A=
    this.event =3D null;=0A=
  }=0A=
});=0A=

------=_NextPart_000_0000_01CD17C2.61CCD300
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.librarything.com/minified/js/9685b3a1cc70d3d46a8cce10f87516a2.js

=0A=
 /* 2003:minified:js/catalogandshelf.js */ =0A=
=0A=
var currentshown=3D-1;var tagEdit=3D'';var commentEdit=3D'';var =
findvisible=3Dnew Array(0,0);var powervisible=3Dnew Array(0,0);var =
BooksSelected=3D0;var change_id=3D0;var change_rating=3D0;var =
boxopen=3D'';var originallanguage=3D0;var =
documentisloaded=3Dfalse;document.observe("dom:loaded",function(){documen=
tisloaded=3Dtrue;});var expireDate=3Dnew Date(2050,10,23);function =
cookieVal(cookieName)=0A=
{thisCookie=3Ddocument.cookie.split("; =
");for(i=3D0;i<thisCookie.length;i++)=0A=
{if(cookieName=3D=3DthisCookie[i].split("=3D")[0])=0A=
{return thisCookie[i].split("=3D")[1];}}=0A=
return 0;}=0A=
function setCookie(cookieName,cookieContent,transientBoolean)=0A=
{if(transientBoolean)=0A=
{document.cookie=3DcookieName+"=3D"+cookieContent;}=0A=
else=0A=
{document.cookie=3DcookieName+"=3D"+cookieContent+";expires=3D"+expireDat=
e.toGMTString();}}=0A=
function showhideCatalog(id,card_or_edit)=0A=
{if(navigator.appName=3D=3D"Netscape"&&parseFloat(navigator.appVersion)<5=
.0)=0A=
{alert("Sorry. LibaryThing does not work on older browsers.");return;}=0A=
if(currentshown=3D=3Did)=0A=
{x=3Ddocument.getElementById("p"+id);x.style.display=3D"none";currentshow=
n=3D-1;}=0A=
else=0A=
{if(currentshown>=3D0)=0A=
{}=0A=
for(i=3D0;eval(x=3Ddocument.getElementById("p"+i));i++)=0A=
{x.style.display=3D"none";}=0A=
eval(x=3Ddocument.getElementById("p"+id));x.style.display=3D"table-row";c=
urrentshown=3Did;pElement=3Ddocument.getElementById("a"+id);frameURL=3D'h=
ttp://www.librarything.com/card.php?book=3D'+id+'&mode=3D'+card_or_edit;f=
rames["cf"+id].location.href=3DframeURL;window.scrollTo(0,pElement.offset=
Top+38);}}=0A=
function setSort(sortvalue)=0A=
{if(sortvalue!=3DcookieVal("cookie_sort"))=0A=
{setCookie("cookie_was_sort",cookieVal("cookie_sort"),false);setCookie("c=
ookie_was_desc",cookieVal("cookie_desc"),false);}=0A=
if((sortvalue=3D=3DcookieVal("cookie_sort"))&&(!cookieVal("cookie_desc"))=
)=0A=
{setCookie("cookie_desc",'desc',false);}=0A=
else=0A=
{setCookie("cookie_desc",'',false);}=0A=
setCookie("cookie_sort",sortvalue,false);}=0A=
function setSort_rev(sortvalue)=0A=
{if(sortvalue!=3DcookieVal("cookie_sort"))=0A=
{setCookie("cookie_was_sort",cookieVal("cookie_sort"),false);setCookie("c=
ookie_was_desc",cookieVal("cookie_desc"),false);}=0A=
if((sortvalue=3D=3DcookieVal("cookie_sort"))&&(cookieVal("cookie_desc")))=0A=
{setCookie("cookie_desc",'',false);}=0A=
else=0A=
{setCookie("cookie_desc",'desc',false);}=0A=
setCookie("cookie_sort",sortvalue,false);}=0A=
function washValues()=0A=
{parent.document.books.form_find.value=3D"";parent.document.books.form_ta=
gs.value=3D"";parent.document.books.form_find.focus();}=0A=
function selectCardOption(selection)=0A=
{document.getElementById("body").className=3Dselection;}=0A=
function showhide_find(num)=0A=
{x=3Ddocument.getElementById("finddiv"+num);form=3Ddocument.getElementByI=
d("searchform"+num);if(findvisible[num])=0A=
{x.style.display=3D"none";findvisible[num]=3D0;}=0A=
else=0A=
{x.style.display=3D"block";findvisible[num]=3D1;form.searchbox.focus();}}=0A=
function showhide_power(num)=0A=
{x=3Ddocument.getElementById("powerdiv"+num);if(powervisible[num])=0A=
{x.style.display=3D"none";powervisible[num]=3D0;}=0A=
else=0A=
{x.style.display=3D"block";powervisible[num]=3D1;}}=0A=
function addbook(haveit)=0A=
{if(haveit)=0A=
{return confirm("You have this book. Add ANOTHER copy to your =
library?");}=0A=
else=0A=
{return confirm("Add this book to your library?");}}=0A=
function deletebook()=0A=
{return confirm("Delete this book from all collections?");}=0A=
function deletebooks()=0A=
{return confirm("Delete these books from all collections?");}=0A=
function makewindow(whereto,width,height)=0A=
{if(!width){width=3D350;}=0A=
if(!height){height=3D200;}=0A=
var left=3D(screen.width/2)-(width/2);var =
top=3D(screen.height/2)-(height/2);var boilerplate=3D" channelmode =3D =
no, directories =3D no, fullscreen =3D no, location =3D no, menubar =3D =
no, resizable =3D no, scrollbars =3D yes, status =3D no, titlebar =3D =
no, toolbar =3D no";window.open(whereto,'tip','width=3D'+width+', =
height=3D'+height+' top=3D'+top+' left=3D'+left+boilerplate);}=0A=
function setSnapBack(snapback)=0A=
{setCookie("cookie_snapback",snapback,1);}=0A=
function setSeemore()=0A=
{if(cookieVal("cookie_seemore")){setCookie("cookie_seemore",'',true);}=0A=
else{setCookie("cookie_seemore",'1',true);}}=0A=
function setListShelf()=0A=
{if(cookieVal("cookie_shelf")){setCookie("cookie_shelf",'',true);}=0A=
else{setCookie("cookie_shelf",'1',true);}}=0A=
function setViewMode(mode)=0A=
{setCookie("cookie_viewmode",mode,true);}=0A=
function setViewModeAndGo(mode,url)=0A=
{setCookie("cookie_viewmode",mode,true);if(typeof =
url=3D=3D=3D'undefined')=0A=
{url=3D'/catalog_bottom.php?';}=0A=
if(typeof coversCurrentOffset!=3D=3D'undefined')=0A=
{url+=3D'&previousOffset=3D'+coversCurrentOffset;}=0A=
location.href=3Durl;}=0A=
function togglePowerEdit(url)=0A=
{if(typeof coversCurrentOffset!=3D=3D'undefined')=0A=
{url+=3D'&previousOffset=3D'+coversCurrentOffset;}=0A=
location.href=3Durl;}=0A=
function showlibraries()=0A=
{x=3Ddocument.getElementById('libraries');x.style.display=3D"inherit";}=0A=
var replaceimages=3D1;var =
allloaded=3D0;if(navigator.userAgent.match(/Opera/)){var =
offset=3D10;}else{var offset=3D10;}=0A=
function findPosX(obj)=0A=
{var curleft=3D0;if(obj.offsetParent)=0A=
{while(obj.offsetParent)=0A=
{curleft+=3Dobj.offsetLeft;obj=3Dobj.offsetParent;}}=0A=
else if(obj.x)=0A=
curleft+=3Dobj.x;return curleft-offset;}=0A=
function findPosY(obj)=0A=
{var curtop=3D0;if(obj.offsetParent)=0A=
{while(obj.offsetParent)=0A=
{curtop+=3Dobj.offsetTop;obj=3Dobj.offsetParent;}}=0A=
else if(obj.y)=0A=
curtop+=3Dobj.y;return(curtop-offset);}=0A=
function resizeonload(imgObj)=0A=
{if(imgObj.width<5)=0A=
{imgObj.src=3D'pics/qmb.gif';}}=0A=
function showtitles(){try{for(var =
i=3D1;i<=3Dbooksonpage;i++){imgObj=3Ddocument.getElementById("img"+i);div=
Obj=3Ddocument.getElementById("d"+i);tagObj=3Ddocument.getElementById("ta=
g"+i);rolloverObj=3Ddocument.getElementById("ro"+i);if(imgObj.width>2){va=
r x=3DfindPosX(imgObj);var =
y=3DfindPosY(imgObj);y=3Dy-8;x=3Dx+0;divObj.style.position=3D"absolute";d=
ivObj.style.left=3Dx+"px";divObj.style.top=3Dy+"px";divObj.style.width=3D=
imgObj.width+"px";divObj.style.height=3DimgObj.height+"px";rolloverObj.st=
yle.position=3D"absolute";rolloverObj.style.left=3Dx+"px";rolloverObj.sty=
le.top=3Dy+"px";rolloverObj.style.width=3D(imgObj.width-4)+"px";rolloverO=
bj.style.height=3D(imgObj.height-4)+"px";if(imgObj.src.match(/(nb_s|picsi=
zes)/)){divObj.style.display=3D"block";}}}}=0A=
catch(e){}}=0A=
function showbookinfo(count)=0A=
{divObj=3Ddocument.getElementById("ro"+count);divObj.style.display=3D"blo=
ck";}=0A=
function showtags(count)=0A=
{tagObj=3Ddocument.getElementById("tag"+count);tagObj.style.display=3D"bl=
ock";tagObj=3Ddocument.getElementById("ro"+count);tagObj.style.display=3D=
"none";}=0A=
function hidebookinfo(count)=0A=
{divObj=3Ddocument.getElementById("ro"+count);divObj.style.display=3D"non=
e";}=0A=
function checkload()=0A=
{var allloaded=3D1;try{for(var =
i=3D1;i<=3Dbooksonpage;i++){imgObj=3Ddocument.getElementById("img"+i);if(=
imgObj&&(imgObj.width<5)){allloaded=3D0;}}}=0A=
catch(e){}=0A=
if(allloaded=3D=3D1){showtitles();}}=0A=
function changeBooksSelected(change)=0A=
{if(typeof(change)=3D=3D'undefined'){var change=3D0;}=0A=
if(change=3D=3D0)=0A=
{document.getElementById("booksselected_div").className=3D'';}=0A=
else=0A=
{document.getElementById("booksselected_div").className=3D'active';}=0A=
document.getElementById("booksselected").innerHTML=3Dchange;}=0A=
function checkall(check,trulyall)=0A=
{var =
arrayofchoicesA=3D$$('input.choiceA');for(i=3D0;i<arrayofchoicesA.length;=
i++)=0A=
{var num=3DarrayofchoicesA[i].id.replace(/[a-z]/ig,'');var =
checkbox=3Ddocument.getElementById("b"+num);var =
row=3Ddocument.getElementById("r"+num);var =
checked=3Dcheckbox.checked;if(check&&!checked)=0A=
{checkbox.checked=3Dtrue;row.className=3D'lit';BooksSelected++;$('choiceA=
'+num).value=3D1;}=0A=
else if(!check&&checked)=0A=
{checkbox.checked=3Dfalse;row.className=3D'notlit';BooksSelected--;$('cho=
iceA'+num).value=3D0;}=0A=
changeBooksSelected(BooksSelected);}=0A=
if(check&&trulyall)=0A=
{$('form_set').value=3DresultsetA_cachekey;changeBooksSelected(trulyall);=
BooksSelected=3Dtrulyall;}=0A=
else if(!check)=0A=
{$('form_set').value=3D'';changeBooksSelected(0);BooksSelected=3D0;}}=0A=
function update()=0A=
{BooksSelected=3D0;for(var i=3D0;i<document.books.elements.length;i++)=0A=
{var e=3Ddocument.books.elements[i];if(e.checked)=0A=
{var bid=3De.id;bid=3Dbid.replace(/^b/,"");if(bid>0||bid=3D=3D=3D'0')=0A=
{bid=3D'r'+bid;var =
row=3Ddocument.getElementById(bid);row.className=3D'lit';BooksSelected++;=
}}}=0A=
changeBooksSelected(BooksSelected);}=0A=
function choosepe(num,mode)=0A=
{for(var i=3D1;i<7;i++)=0A=
{var menu=3Ddocument.getElementById("menu"+i);var =
table=3Ddocument.getElementById("table"+i);if(i=3D=3Dnum)=0A=
{menu.className=3D"thisone";table.className=3D"";}=0A=
else=0A=
{menu.className=3D"";table.className=3D"hidden";}}=0A=
document.books.mode.value=3Dmode;}=0A=
function changestars(thisobject,books_id)=0A=
{var =
num=3Dthisobject.src.charAt(34);newnum=3Dnum;newnum++;if(newnum>5){newnum=
=3D0;}=0A=
newsrc=3Dthisobject.src.replace(/[0-9]/,newnum);thisobject.src=3Dnewsrc;c=
hange_id=3Dbooks_id;change_rating=3Dnewnum;}=0A=
function updatestars()=0A=
{if(!change_id){return 1;}=0A=
document.getElementById("hiddeniframe").src=3D"/u.php?a=3D"+change_id+"&b=
=3D"+change_rating;change_id=3D0;}=0A=
function star(starnum,books_id)=0A=
{var reset=3D0;var =
half=3D0;if(document.getElementById(books_id+"-"+starnum).src[35]=3D=3D"f=
")=0A=
{reset=3D1;}=0A=
if(document.getElementById(books_id+"-"+starnum).src[35]=3D=3D"s")=0A=
{if(starnum=3D=3D5)=0A=
{half=3D1;}=0A=
else=0A=
{if(document.getElementById(books_id+"-"+(starnum+1)).src[35]!=3D"g")=0A=
{}=0A=
else=0A=
{half=3D1;}}}=0A=
if(reset){starnum=3D0;}=0A=
var i=3D1;while(i<=3Dstarnum)=0A=
{document.getElementById(books_id+"-"+i).src=3D'http://www.librarything.c=
om/pics/s-s.gif';i++;}=0A=
if(half)=0A=
{document.getElementById(books_id+"-"+(i-1)).src=3D'http://www.librarythi=
ng.com/pics/s-f.gif';}=0A=
while(i<=3D5)=0A=
{document.getElementById(books_id+"-"+i).src=3D'http://www.librarything.c=
om/pics/s-g.gif';i++;}=0A=
starnum=3D(starnum*2)-half;var =
getstring=3D"http://www.librarything.com/u.php?a=3D"+books_id+"&b=3D"+sta=
rnum;frames['hiddeniframe'].location.href=3Dgetstring;}=0A=
function star_gifcom(starnum,books_id)=0A=
{var reset=3D0;var =
half=3D0;if(document.getElementById(books_id+"-"+starnum).src[35]=3D=3D"f=
")=0A=
{reset=3D1;}=0A=
if(document.getElementById(books_id+"-"+starnum).src[35]=3D=3D"s")=0A=
{if(starnum=3D=3D5)=0A=
{half=3D1;}=0A=
else=0A=
{if(document.getElementById(books_id+"-"+(starnum+1)).src[35]!=3D"g")=0A=
{}=0A=
else=0A=
{half=3D1;}}}=0A=
if(reset){starnum=3D0;}=0A=
var i=3D1;while(i<=3Dstarnum)=0A=
{document.getElementById(books_id+"-"+i).src=3D'http://www.librarything.c=
om/pics/s-s.gif';i++;}=0A=
if(half)=0A=
{document.getElementById(books_id+"-"+(i-1)).src=3D'http://www.librarythi=
ng.com/pics/s-f.gif';}=0A=
while(i<=3D5)=0A=
{document.getElementById(books_id+"-"+i).src=3D'http://www.librarything.c=
om/pics/s-g.gif';i++;}=0A=
starnum=3D(starnum*2)-half;var =
getstring=3D"/gifcom-stars"+Math.random()+".gif?a=3D"+books_id+"&b=3D"+st=
arnum;document.getElementById("gifcom").src=3Dgetstring;}=0A=
var currentid=3D0;var xmlHttp;function createXMLHttpRequest()=0A=
{if(window.ActiveXObject)=0A=
{xmlHttp=3Dnew ActiveXObject("Microsoft.XMLHTTP");}=0A=
else if(window.XMLHttpRequest)=0A=
{xmlHttp=3Dnew XMLHttpRequest();}}=0A=
function startRequest()=0A=
{createXMLHttpRequest();xmlHttp.onreadystatechange=3DhandleStateChange;xm=
lHttp.open("GET","innerHTML.xml",true);xmlHttp.send(null);}=0A=
function handleStateChange()=0A=
{if(xmlHttp.readyState=3D=3D4)=0A=
{if(xmlHttp.status=3D=3D200)=0A=
{document.getElementById(currentid).innerHTML=3DxmlHttp.responseText;}}}=0A=
function showhide(id,state)=0A=
{document.getElementById(id).style.display=3Dstate;}=0A=
function showpages()=0A=
{var ie=3Dnavigator.appName=3D=3D"Microsoft Internet =
Explorer"?true:false;var =
topmarginof_topBarThing=3DparseInt($('topBarThing').getStyle('marginTop')=
);if(topmarginof_topBarThing=3D=3D=3D0)=0A=
{var =
height_old_pagebar=3Ddocument.getElementById('pages').offsetHeight;var =
height_old_breadcrumb=3DparseInt(document.getElementById('breadcrumbConta=
iner').style.marginTop);}=0A=
document.getElementById('pages').className=3D"showall";if(topmarginof_top=
BarThing=3D=3D=3D0)=0A=
{var =
height_new_pagebar=3Ddocument.getElementById('pages').offsetHeight;var =
height_new_breadcrumb=3DparseInt(document.getElementById('breadcrumbConta=
iner').style.marginTop);var =
change=3Dheight_new_pagebar-height_old_pagebar;if(change!=3D=3D0)=0A=
{var =
margin_new_breadcrumb=3Dheight_old_breadcrumb+change;document.getElementB=
yId('breadcrumbContainer').style.marginTop=3Dmargin_new_breadcrumb+"px";}=
}=0A=
if(document.getElementById('pages2')!=3D=3Dnull&&document.getElementById(=
'pages2')!=3D=3D'undefined')=0A=
{document.getElementById('pages2').className=3D"showall";}}=0A=
function changetag_open(id,tag)=0A=
{if(boxopen){showhide(boxopen,"none");}=0A=
currentid=3D"t"+id;boxopen=3D"tageditbox";var =
row=3Ddocument.getElementById("t"+id);var =
tageditbox=3Ddocument.getElementById("tageditbox");var =
y=3DfindPosY(row);tageditbox.style.top=3Dy+"px";showhide("tageditbox","bl=
ock");document.getElementById("form_tags").value=3Dtag;document.tagedit.f=
orm_tags.focus();}=0A=
function changelanguage_open(book,lang,lang2,all,original)=0A=
{if(boxopen){showhide(boxopen,"none");}=0A=
if(original){var letter=3D'o';}else{var letter=3D'l';}=0A=
originallanguage=3Doriginal;var =
editlink=3Ddocument.getElementById(letter+book);var =
box=3Ddocument.getElementById("languageeditbox");currentid=3D'languagelis=
t';boxopen=3D'languageeditbox';createXMLHttpRequest();xmlHttp.onreadystat=
echange=3DhandleStateChange;xmlHttp.open("GET","ajax_languagemenu.php?boo=
k=3D"+book+"&lang=3D"+lang+"&lang2=3D"+lang2+"&all=3D"+all+"&original=3D"=
+original,true);xmlHttp.send(null);document.getElementById(currentid).inn=
erHTML=3D"Loading...";var =
y=3DfindPosY(editlink);box.style.top=3Dy+"px";showhide("languageeditbox",=
"block");}=0A=
function changetag_submit()=0A=
{boxopen=3D'';var =
queryString=3D"form_tags=3D"+document.tagedit.form_tags.value+"&form_id=3D=
"+currentid;createXMLHttpRequest();xmlHttp.onreadystatechange=3DhandleSta=
teChange;xmlHttp.open("GET","ajax_changetags.php?"+queryString,true);xmlH=
ttp.send(null);document.getElementById(currentid).innerHTML=3D"Updating..=
.";showhide("tageditbox","none");return false;}=0A=
function changelanguage_submit()=0A=
{boxopen=3D'';if(!originallanguage)=0A=
{var =
queryString=3D"book=3D"+document.languageedit.field_book.value+"&lang=3D"=
+document.languageedit.field_lang.value+"&lang2=3D"+document.languageedit=
.field_lang2.value;}=0A=
else=0A=
{var =
queryString=3D"book=3D"+document.languageedit.field_book.value+"&lang=3D"=
+document.languageedit.field_lang.value;}=0A=
queryString=3DqueryString+"&original=3D"+originallanguage;createXMLHttpRe=
quest();xmlHttp.onreadystatechange=3DhandleStateChange;xmlHttp.open("GET"=
,"ajax_changelanguage.php?"+queryString,true);xmlHttp.send(null);if(!orig=
inallanguage)=0A=
{currentid=3D"l"+document.languageedit.field_book.value;}=0A=
else=0A=
{currentid=3D"o"+document.languageedit.field_book.value;}=0A=
document.getElementById(currentid).innerHTML=3D"Updating...";showhide("la=
nguageeditbox","none");return false;}=0A=
function showhide_extranav()=0A=
{document.getElementById("extranav").style.display=3D'block';}=0A=
var expireDate=3Dnew Date(2050,10,23);var g_tempEuroCookie;function =
cookieVal(cookieName)=0A=
{thisCookie=3Ddocument.cookie.split("; =
");for(i=3D0;i<thisCookie.length;i++)=0A=
{if(cookieName=3D=3DthisCookie[i].split("=3D")[0])=0A=
{return thisCookie[i].split("=3D")[1];}}=0A=
return 0;}=0A=
function setCookie(cookieName,cookieContent,transientBoolean)=0A=
{if(transientBoolean)=0A=
document.cookie=3DcookieName+"=3D"+cookieContent;else=0A=
document.cookie=3DcookieName+"=3D"+cookieContent+";expires=3D"+expireDate=
.toGMTString();}=0A=
function getCookie(name){return cookieVal(name);}=0A=
function =
MM_reloadPage(init){if(init=3D=3Dtrue)with(navigator){if((appName=3D=3D"N=
etscape")&&(parseInt(appVersion)=3D=3D4)){document.MM_pgW=3DinnerWidth;do=
cument.MM_pgH=3DinnerHeight;onresize=3DMM_reloadPage;}}=0A=
else =
if(innerWidth!=3Ddocument.MM_pgW||innerHeight!=3Ddocument.MM_pgH)location=
.reload();}=0A=
function MM_preloadImages(){var =
d=3Ddocument;if(d.images){if(!d.MM_p)d.MM_p=3Dnew Array();var =
i,j=3Dd.MM_p.length,a=3DMM_preloadImages.arguments;for(i=3D0;i<a.length;i=
++)=0A=
if(a[i].indexOf("#")!=3D0){d.MM_p[j]=3Dnew =
Image;d.MM_p[j++].src=3Da[i];}}}=0A=
function MM_findObj(n,d){var =
p,i,x;if(!d)d=3Ddocument;if((p=3Dn.indexOf("?"))>0&&parent.frames.length)=
{d=3Dparent.frames[n.substring(p+1)].document;n=3Dn.substring(0,p);}=0A=
if(!(x=3Dd[n])&&d.all)=0A=
x=3Dd.all[n];if(d.forms)=0A=
for(i=3D0;!x&&i<d.forms.length;i++)x=3Dd.forms[i][n];for(i=3D0;!x&&d.laye=
rs&&i<d.layers.length;i++)x=3DMM_findObj(n,d.layers[i].document);if(!x&&d=
.getElementById)x=3Dd.getElementById(n);return x;}=0A=
function LT_findObj(objectId){return getStyleObject(objectId);}=0A=
function MM_changeProp(objName,x,theProp,theValue){var =
obj=3DMM_findObj(objName);if(obj&&(theProp.indexOf("style.")=3D=3D-1||obj=
.style)){if(theValue=3D=3Dtrue||theValue=3D=3Dfalse)=0A=
eval("obj."+theProp+"=3D"+theValue);else =
eval("obj."+theProp+"=3D'"+theValue+"'");}}=0A=
function =
getStyleObject(objectId){if(document.getElementById&&document.getElementB=
yId(objectId)){return document.getElementById(objectId);}else =
if(document.all&&document.all(objectId)){return =
document.all(objectId);}else =
if(document.layers&&document.layers[objectId]){return =
document.layers[objectId];}=0A=
return false;}=0A=
function changeObjectVisibility(objectId,newVisibility){var =
styleObject=3DgetStyleObject(objectId);if(styleObject){styleObject.visibi=
lity=3DnewVisibility;return true;}else{return false;}}=0A=
function moveObject(objectId,newXCoordinate,newYCoordinate){var =
styleObject=3DgetStyleObject(objectId);if(styleObject){styleObject.left=3D=
newXCoordinate;styleObject.top=3DnewYCoordinate;return true;}else{return =
false;}}=0A=
function CH_toggleLeftNavDisplay(){if(document.getElementById){var =
leftNav=3DMM_findObj('leftNav');var =
mainContent=3DMM_findObj('mainContent');var =
thumbBar=3DMM_findObj('thumbBar');var =
catList=3DMM_findObj("lt_catalog_list");if(leftNav.style.left!=3D"0px"){l=
eftNav.style.left=3D"0px";thumbBar.style.left=3D"140px";mainContent.style=
.marginLeft=3D"165px";}=0A=
else{leftNav.style.left=3D"-140px";thumbBar.style.left=3D"0px";mainConten=
t.style.marginLeft=3D"25px";}}}=0A=
function nilEvent(){return;}=0A=
function LT_findObjectsByClass(className,parentID){var p,i,x;var =
parentObject;var tagsArray=3Dnew Array();if(!parentID)=0A=
parentObject=3Ddocument;else=0A=
parentObject=3DMM_findObj(parentID);var =
children=3DparentObject.childNodes;for(i=3D0;i<children.length;i++)=0A=
{var =
child=3Dchildren[i];if(child.className=3D=3DclassName){tagsArray.push(chi=
ld.innerHTML);}=0A=
else if(child.className=3D=3D'workdata')=0A=
{tagsArray.push(child.innerHTML);}}=0A=
return tagsArray;}=0A=
var editObjects=3Dnew Array();function =
handleCoverClick(id,bookid){obj=3DMM_findObj(id);if(obj.style.display=3D=3D=
"block")=0A=
{obj.style.display=3D"none";obj.style.visibility=3D"hidden";obj.parentNod=
e.style.width=3D"50px";}=0A=
else=0A=
{obj.style.display=3D"block";obj.style.visibility=3D"visible";obj.parentN=
ode.style.width=3D"170px";}}=0A=
function eventTrigger(e){if(!e)=0A=
e=3Devent;return e.target||e.srcElement;}=0A=
function cloneObject(obj){for(i in obj)=0A=
this[i]=3Dobj[i];}=0A=
function cancelEdit(id){var eo=3DeditObjects[id];var =
obj=3DLT_findObj(id);obj.onclick=3Deo.onclick;obj.ondblclick=3Deo.ondblcl=
ick;obj.innerHTML=3D'';obj.innerHTML=3Deo.innerHTML;obj.className=3D'ipe'=
;}=0A=
function showAjaxError(id,text){var i;var =
obj=3DMM_findObj(id);obj.style.color=3D"red";var =
errorText;errorText=3D'<div class=3D"ajaxErrorText">Error processing =
changes! <br/>'+text+'</div>';var =
temp=3Dobj.innerHTML;obj.innerHTML=3D'';obj.innerHTML=3Dtemp+errorText;}=0A=
function submitEdit(id,url,datatype){var =
eo=3DeditObjects[id];obj=3DMM_findObj(id);var =
splitURL=3Ddocument.URL.split('?');var formName=3D'form'+id;var =
newData;var euroDate;var codedData;var getargs;var =
args=3D{id:id,datatype:datatype,newData:newData}=0A=
if((datatype=3D=3D'lt-lang')||(datatype=3D=3D'lt-lang_original'))=0A=
{var lang1=3Ddocument.forms[formName].elements[0].value;var =
lang2=3Ddocument.forms[formName].elements[1].value;var =
lang1index=3Ddocument.forms[formName].elements[0].selectedIndex;var =
lang1long=3Ddocument.forms[formName].elements[0].options[lang1index].labe=
l;getargs=3D'id=3D'+id+'&datatype=3D'+datatype+'&lang1=3D'+lang1+'&lang2=3D=
'+lang2+'&lang1long=3D'+lang1long;}=0A=
else if(datatype=3D=3D'lt-bcid')=0A=
{var bcid1=3Ddocument.forms[formName].elements['bcid1'].value;var =
bcid2=3Ddocument.forms[formName].elements['bcid2'].value;if(bcid1&&bcid2)=0A=
newData=3Dbcid1+'-'+bcid2;codedData=3DencodeURIComponent(newData);getargs=
=3D'id=3D'+id+'&datatype=3D'+datatype+'&newData=3D'+codedData;}=0A=
else{newData=3Ddocument.forms[formName].elements[0].value;codedData=3Denc=
odeURIComponent(newData);getargs=3D'id=3D'+id+'&datatype=3D'+datatype+'&n=
ewData=3D'+codedData;euroDate=3Ddocument.forms[formName].elements['euroda=
te'];if(euroDate!=3Dnull)=0A=
getargs+=3D'&eurodate=3D'+euroDate.checked;}=0A=
if(splitURL[1])=0A=
args+=3D'&'+splitURL[1];obj.className=3D'ipeSaving';obj.innerHTML=3D'';ob=
j.innerHTML=3D"Saving...";new =
Ajax.Request(url+'?'+getargs,{onSuccess:successFunction,onFailure:failure=
Function});}=0A=
var updateSuccessFunction=3Dfunction(t)=0A=
{updateObj.innerHTML=3D'';updateObj.innerHTML=3Dt.responseText;}=0A=
var updateFailureFunction=3Dfunction(t){showAjaxError(updateCellID);}=0A=
var successFunction=3Dfunction(t){var rt=3Dt.responseText;var =
error=3Drt.indexOf('LT_AJAX_ERROR:');if(error!=3D-1){cancelEdit(id);showA=
jaxError(id,rt.substring(error+14));}=0A=
else{regex=3D/^\D+/i;regex2=3D/\d+/;var tdType=3Dregex.exec(obj.id);var =
tdBookID=3Dregex2.exec(obj.id);var updateField=3Dnull;var =
updateFields=3Dnew Array();if(tdType=3D=3D'author')=0A=
updateFields.push('authorunflip');else if(tdType=3D=3D'authorunflip')=0A=
updateFields.push('author');for(var i=3D0;i<updateFields.length;i++)=0A=
{var =
updateCellID=3DupdateFields[i]+tdBookID;if(updateObj=3DMM_findObj(updateC=
ellID))=0A=
{updateObj.innerHTML=3D'';updateObj.innerHTML=3D"Updating...";var =
updateArgs=3D'id=3D'+tdBookID+'&column=3D'+updateFields[i];new =
Ajax.Request('ajax_updateCell.php?'+updateArgs,{onSuccess:updateSuccessFu=
nction,onFailure:updateFailureFunction});}=0A=
i++;}=0A=
var tempid=3Dobj.id;var =
eo1=3DeditObjects[tempid];obj.className=3Deo1.className;obj.innerHTML=3D'=
';obj.innerHTML=3Drt;if(obj.ondblclick)=0A=
obj.ondblclick=3Deo1.ondblclick;if(obj.onclick)=0A=
obj.onclick=3Deo1.onclick;}}=0A=
var failureFunction=3Dfunction(t){cancelEdit(id);showAjaxError(id);}=0A=
function LT_editLang(e,tag,lang1,lang2,doall,original,container){var =
url=3D'ajax_modifyData.php';var obj;var found=3D0;if(container)=0A=
{obj=3DMM_findObj(container);found=3D1;}=0A=
else=0A=
obj=3DeventTrigger(e);while(!found)=0A=
{if(((obj.className=3D=3D'ipe')||(obj.className=3D=3D'ipeHover'))&&(obj.t=
agName=3D=3D'TD'))=0A=
found=3D1;else=0A=
obj=3Dobj.parentNode;}=0A=
var id=3Dobj.id;var regex=3D/^\D+/i;var regex2=3D/\d+/;var =
tdType=3Dregex.exec(obj.id);var =
bookID=3Dregex2.exec(obj.id);if(!container)=0A=
editObjects[id]=3Dnew cloneObject(obj);var =
tagsArray=3DLT_findObjectsByClass(tag,id);obj.onclick=3DnilEvent;obj.ondb=
lclick=3DnilEvent;obj.onmouseover=3DnilEvent;obj.onmouseout=3DnilEvent;ob=
j.className=3D'ipeActive';var i;if(obj.clientHeight<=3D30)=0A=
cssh=3D30;else=0A=
cssh=3Dobj.clientHeight;if(obj.clientWidth<=3D135)=0A=
cssw=3D135;else=0A=
cssw=3Dobj.clientWidth-12;var formID=3D'formLang'+id;var =
formHTML=3D'<form class=3D"editForm" name=3D"form'+id+'" =
id=3D"form'+id+'" style=3D"margin:0">';formHTML+=3D'<div =
id=3D"IPElanguagelist"></div>';formHTML+=3D'<div class=3D"formButtons"> \=0A=
          <a class=3D"cancelButton" =
onclick=3D"cancelEdit(\''+id+'\');"><img src=3D"pics/cancel-0.gif" =
alt=3D"Cancel"></a> \=0A=
          <a class=3D"submitForm" =
onclick=3D"submitEdit(\''+id+'\',\''+url+'\',\''+tag+'\');"><img =
src=3D"pics/save-0.gif" alt=3D"Save"></a> \=0A=
         </div> \=0A=
         </form>';obj.innerHTML=3D'';obj.innerHTML=3DformHTML;var =
menuURL=3D"ajax_ipeLanguageMenu.php";var =
controlDiv=3DLT_findObj('IPElanguagelist');controlDiv.innerHTML=3D'Loadin=
g menus...';var langSuccessFunction=3Dfunction(t){var =
rt=3Dt.responseText;controlDiv.innerHTML=3D'';controlDiv.innerHTML=3Drt;v=
ar form=3DcontrolDiv.parentNode;var w=3Dform.field_lang.offsetWidth;var =
minwidth=3D135;w=3D(w>minwidth)?w:minwidth;controlDiv.style.width=3Dw+"px=
;";}=0A=
var =
getargs=3D"container=3D"+obj.id+"&tag=3D"+tag+"&book=3D"+bookID+"&lang=3D=
"+lang1+"&lang2=3D"+lang2+"&all=3D"+doall+"&original=3D"+original;new =
Ajax.Request(menuURL+'?'+getargs,{onSuccess:langSuccessFunction,onFailure=
:failureFunction});}=0A=
function handleEuroClick(e){var obj=3DeventTrigger(e);var =
val=3Dobj.checked;if(obj.checked)=0A=
{setCookie("cookie_euroformat",'1',false);g_tempEuroCookie=3D1;}=0A=
else=0A=
{setCookie("cookie_euroformat",'0',false);g_tempEuroCookie=3D0;}}=0A=
function setClassName(e,cn){var =
obj=3DeventTrigger(e);obj.className=3Dcn;}=0A=
function setCoverSize(change)=0A=
{var currentSize=3DcookieVal("cookie_coversize");var =
newsize=3D(currentSize*1)+change;var =
url=3Ddocument.location;if(newsize<0){newsize=3D0;}=0A=
if(newsize>5){newsize=3D5;}=0A=
if(change=3D=3D0){newsize=3D2;}=0A=
setCookie("cookie_coversize",newsize,false);if(typeof =
coversCurrentOffset!=3D=3D'undefined')=0A=
{url+=3D'&previousOffset=3D'+coversCurrentOffset;}=0A=
document.location=3Durl;}=0A=
function setCoverRows(rows)=0A=
{var url=3Ddocument.location+'&shelf_rows=3D'+rows;if(typeof =
coversCurrentOffset!=3D=3D'undefined')=0A=
{url+=3D'&previousOffset=3D'+coversCurrentOffset;}=0A=
document.location=3Durl;}=0A=
function setBooksPerPage(booksPerPage)=0A=
{var =
url=3Ddocument.location+'&shelf_booksperpage=3D'+booksPerPage;if(typeof =
coversCurrentOffset!=3D=3D'undefined')=0A=
{url+=3D'&previousOffset=3D'+coversCurrentOffset;}=0A=
document.location=3Durl;}=0A=
function setShelfLayout(layout)=0A=
{layout=3Dlayout||'grid';setCookie("cookie_shelf_layout",layout,false);va=
r url=3Ddocument.location+'&shelf_layout=3D'+layout;if(typeof =
coversCurrentOffset!=3D=3D'undefined')=0A=
{url+=3D'&previousOffset=3D'+coversCurrentOffset;}=0A=
document.location=3Durl;}=0A=
function seeasuser(change)=0A=
{setCookie("cookie_seeasuser",change,false);document.location.reload();}=0A=
function ProcessGBSBookInfo(booksInfo)=0A=
{var gbsLink=3Dnew Array();var gbsA_name=3Dnew Array("No =
information","Book info","Partial view","Full view");for(i in booksInfo)=0A=
{var book=3DbooksInfo[i];if(book.preview=3D=3D"noview"){quality=3D1;}=0A=
if(book.preview=3D=3D"partial"){quality=3D2;}=0A=
if(book.preview=3D=3D"full"){quality=3D3;}=0A=
var key=3D'gbs'+book.bib_key.replace(/:/,'');$(key).innerHTML=3D'<a =
href=3D"'+book.preview_url+'" =
target=3D"_top">'+gbsA_name[quality]+'</a>';}}=0A=
function loanBook(bookid)=0A=
{var url=3D'/ajax_loanBook.php?bookid=3D'+bookid;var =
editparams=3D{v:1.0,width:460,w:460,height:325,modal:false};LibraryThing.=
lightbox.ajax(url,editparams);}=0A=
if(false&&viewmode=3D=3D'shelf')=0A=
{Event.observe(window,'load',function(){setTimeout('checkload()',1);self.=
focus();LT_preloadImages(static_pics+'pics/editBG-stars.gif',static_pics+=
'pics/savingBG.gif',static_pics+'pics/editBG-2click.gif',static_pics+'pic=
s/save-0.gif',static_pics+'pics/cancel-0.gif',static_pics+'pics/lp-drop.g=
if',static_pics+'pics/lp-drop.gif');});}=0A=
else if(typeof viewmode!=3D=3D'undefined'&&viewmode=3D=3D'poweredit')=0A=
{Event.observe(window,'load',function(){update();self.focus();});}=0A=
else=0A=
{Event.observe(window,'load',function(){makeIERollovers();self.focus();LT=
_preloadImages(static_pics+'pics/editBG-stars.gif',static_pics+'pics/savi=
ngBG.gif',static_pics+'pics/editBG-2click.gif',static_pics+'pics/save-0.g=
if',static_pics+'pics/cancel-0.gif',static_pics+'pics/lp-drop.gif',static=
_pics+'pics/lp-drop.gif');});}=0A=
function openCK(cellid,workcode,field,fieldname)=0A=
{var url=3D'/ajax_editCKItemLB.php?w=3D'+workcode+'&f=3D'+field;var =
callback=3DupdateCKCell;var =
callbackParams=3D{id:cellid,w:workcode,f:field,fn:fieldname};var =
idel=3Ddocument.getElementById(cellid);var =
params=3D{v:1.0,width:500,w:500,height:350,callbackSuccess:'updateCKCell'=
,callbackFailure:'cancelCKCell',callbackParams:callbackParams,catalogCK:t=
rue,modal:false}=0A=
var agreed=3DCKAgreement();if(agreed)=0A=
{if(idel)=0A=
{idel.className=3D'ipeActive';}=0A=
LibraryThing.lightbox.ajax(url,params);}}=0A=
function updateCKCell(inparams)=0A=
{var id=3Dinparams.id;var contentURL=3D'/ajax_catalog_ck.php';var =
uid=3DLT_GetRandomID(5);var idel=3Ddocument.getElementById(id);var =
params=3D{w:inparams.w,f:inparams.f,fn:inparams.fn,uid:uid};var =
happyResponse=3Dfunction(t)=0A=
{var rt=3Dt.responseText;if(rt=3D=3D'ERROR:-1')=0A=
{if(idel)=0A=
{idel.innerHTML=3D'There was an error while trying to save. Reload page =
to check data integrity.';}}=0A=
else=0A=
{if(idel)=0A=
{idel.className=3D'ipe';idel.innerHTML=3Drt;}}};if(idel)=0A=
{idel.className=3D'ipeSaving';idel.innerHTML=3D"Saving...";}=0A=
basic_ajax(contentURL,params,happyResponse);}=0A=
function cancelCKCell(inparams)=0A=
{var id=3Dinparams.id;var contentURL=3D'/ajax_catalog_ck.php';var =
uid=3DLT_GetRandomID(5);var =
idel=3Ddocument.getElementById(id);idel.className=3D'ipe';}=0A=
function CKAgreement()=0A=
{var confirmExpirey=3D(60*60*24*30);var =
monthAgo=3DparseInt(LibraryThing.time()-confirmExpirey);var =
agreed=3D(LibraryThing.getCookie('CKagreed'));if(agreed&&(agreed<monthAgo=
))=0A=
{agreed=3D0;}=0A=
if(!agreed)=0A=
{var agreed=3Dconfirm('The information that you are about to edit is =
part of Common Knowledge, a set of data that is shared by all =
LibraryThing users. Please read the Common Knowlege help before =
continuing.');if(agreed)=0A=
{LibraryThing.setCookie('CKagreed',LibraryThing.time());}}=0A=
return agreed;}=0A=
function LT_editPhysDescData(event,datatype,bookid,cellid)=0A=
{var url=3D'/ajax_editPhysDescItem.php?books_id=3D'+bookid;var =
idel=3D$(cellid);var =
params=3D{width:600,w:500,height:410,modal:false,ajaxparams:{'book':booki=
d},callbackFailure:function(){stopObservingSaveOnReturn();},callbackSucce=
ss:function(){stopObservingSaveOnReturn();}}=0A=
LibraryThing.lightbox.ajax(url,params);}=0A=
var physDescSaving=3Dfalse;function savePhysDescForBook()=0A=
{var form=3D$('editPhysDescItemForm');var physdata=3D{};var =
dimsets=3D$$('fieldset');dimsets.each(function(s){var =
inputs=3Ds.getElementsBySelector('input,* =
input,input[type=3Dhidden],select');var =
d=3DForm.serializeElements(inputs,true);if(typeof(physdata[d.type])!=3D"u=
ndefined")=0A=
{physdata[d.type]=3Dphysdata[d.type];}=0A=
else=0A=
{physdata[d.type]=3D{};}=0A=
physdata[d.type][d.id]=3Dd;});var =
j=3DObject.toJSON(physdata);j=3Dj.replace("length_dim","length");var =
hiddenPhysElement=3D$('physinfo_json');hiddenPhysElement.value=3Dj;var =
contentTable=3D$('book_bookInformationTable');if(contentTable){contentTab=
le.style.opacity=3D0.3;contentTable.style.filter=3D'alpha(opacity=3D'+30+=
')';}=0A=
var =
formser=3Dform.serialize(true);formser['length']=3Dformser['length_dim'];=
var formdata=3DObject.toJSON(formser);var =
url=3D'ajax_catalog_ipe_onchange_update.php';var =
params=3D{'j':j,'formdata':formdata,'dtype':'physdims'};var =
successFunction=3Dfunction(t){var =
rt=3Dt.responseText;if(rt!=3D=3D'0'){LibraryThing.lightbox.off();var =
ret=3Drt.evalJSON();$H(ret).each(function(pair){var =
colVal=3Dpair.value;var =
foundElements=3D$$('td.'+pair.key);foundElements.each(function(s){s.updat=
e(pair.value);});});}=0A=
else{if(contentTable){contentTable.style.opacity=3D1.0;contentTable.style=
.filter=3D'alpha(opacity=3D'+100+')';}=0A=
alert('There was a problem saving the data. Try =
again.');}};basic_ajax(url,params,successFunction);}=0A=
function =
observeSaveOnReturn(){Event.observe(document,'keyup',function(e){if(e.key=
Code=3D=3D=3D13){savePhysDescForBook();}});}=0A=
function =
stopObservingSaveOnReturn(){Event.stopObserving(document,'keyup');} =0A=
 /* 2003:minified:js/poweredit.js */ =0A=
=0A=
var poweredit_setlanguageloaded=3D0;function changelanguage_poweredit()=0A=
{if(!poweredit_setlanguageloaded)=0A=
{poweredit_setlanguageloaded=3D1;currentid=3D'powereditchangelanguage';cr=
eateXMLHttpRequest();xmlHttp.onreadystatechange=3DhandleStateChange;xmlHt=
tp.open("GET","ajax_poweredit_loadlanguages.php",true);xmlHttp.send(null)=
;}}=0A=
function poweredit_submit()=0A=
{var valueS=3D'';console.log('-----------------');for(book in =
selectedBooks)=0A=
{if(selectedBooks.hasOwnProperty(book))=0A=
{valueS=3DvalueS+book+'=3D'+selectedBooks[book]+',';if(selectedBooks[book=
]=3D=3D1)=0A=
{}}}=0A=
$('form_bookvaluesA').value=3DvalueS;}=0A=
function poweredit_turnoffon_display_set(book,on,className,shiftPosition)=0A=
{if(on)=0A=
{className=3D'selected';shiftPosition=3D-5;}=0A=
else=0A=
{className=3D'';shiftPosition=3D5;}=0A=
$('catalogCovers_img_'+book).className=3DclassName;var =
coords=3D$('catalogCovers_img_'+book).positionedOffset();$('catalogCovers=
_img_'+book).setStyle({left:(coords.left+shiftPosition)+'px',top:(coords.=
top+shiftPosition)+'px'});}=0A=
function poweredit_turnoffon_display(book,on)=0A=
{if(viewmode=3D=3D'shelf')=0A=
{if(typeof($('catalogCovers_img_'+book))!=3D=3D'undefined'&&typeof(select=
edBooks[book])!=3D=3D'undefined'&&on!=3D=3DselectedBooks[book])=0A=
{poweredit_turnoffon_display_set(book,on);}}=0A=
else=0A=
{if(typeof($('r'+book))!=3D=3D'undefined'&&typeof(selectedBooks[book])!=3D=
=3D'undefined'&&on!=3D=3DselectedBooks[book])=0A=
{if(on)=0A=
{className=3D'lit';}=0A=
else=0A=
{className=3D'notlit';}=0A=
$('r'+book).className=3DclassName;}=0A=
if(typeof($('b'+book))!=3D=3D'undefined')=0A=
{var checkbox=3D$('b'+book);if(on)=0A=
{checkbox.checked=3Dtrue;}=0A=
else=0A=
{checkbox.checked=3Dfalse;}}}}=0A=
function poweredit_covers_checkall(selectall)=0A=
{for(book in selectedBooks)=0A=
{if(selectedBooks.hasOwnProperty(book)&&selectedBooks[book]!=3D=3Dselecta=
ll)=0A=
{poweredit_selectbook(book);}}}=0A=
function poweredit_list_checkall(selectall)=0A=
{for(book in selectedBooks)=0A=
{if(selectedBooks.hasOwnProperty(book)&&selectedBooks[book]!=3D=3Dselecta=
ll)=0A=
{poweredit_selectbook(book);}}}=0A=
function poweredit_checkall(selectall,trulyall)=0A=
{if(!documentisloaded)=0A=
{document.observe("dom:loaded",function(){poweredit_checkall(selectall,tr=
ulyall);});return;}=0A=
if(viewmode=3D=3D'shelf')=0A=
{poweredit_covers_checkall(selectall);}=0A=
else=0A=
{poweredit_list_checkall(selectall);}=0A=
if(selectall&&trulyall)=0A=
{$('form_set').value=3DresultsetA_cachekey;BooksSelected=3Dnumrows;change=
BooksSelected(BooksSelected);}=0A=
else if(!selectall)=0A=
{$('form_set').value=3D'';BooksSelected=3D0;changeBooksSelected(BooksSele=
cted);}}=0A=
function poweredit_selectbook(book)=0A=
{if(!documentisloaded)=0A=
{document.observe("dom:loaded",function(){poweredit_selectbook(book);});r=
eturn;}=0A=
if(selectedBooks[book]=3D=3D1)=0A=
{poweredit_turnoffon_display(book,0);selectedBooks[book]=3D0;BooksSelecte=
d=3DBooksSelected-1;}=0A=
else=0A=
{poweredit_turnoffon_display(book,1);selectedBooks[book]=3D1;BooksSelecte=
d=3DBooksSelected+1;}=0A=
changeBooksSelected(BooksSelected);} =0A=
 /* 2003:minified:js/catalogIPE.js */ =0A=
=0A=
var g_tempEuroCookie;function =
makeIERollovers(){initMouseOvers(LT_findObj('lt_catalog_list'),"td",'ipe'=
,'ipeHover','ipe',false);}=0A=
LibraryThing.catalog=3D{};function =
moveObject(objectId,newXCoordinate,newYCoordinate){var =
styleObject=3DgetStyleObject(objectId);if(styleObject){styleObject.left=3D=
newXCoordinate;styleObject.top=3DnewYCoordinate;return true;}else{return =
false;}}=0A=
function LT_findObjectsByClass(className,parentID){var p,i,x;var =
parentObject;var tagsArray=3Dnew Array();if(!parentID)=0A=
parentObject=3Ddocument;else=0A=
parentObject=3DLT_findObj(parentID);var =
children=3DparentObject.childNodes;for(i=3D0;i<children.length;i++)=0A=
{var =
child=3Dchildren[i];if(child.className=3D=3DclassName){tagsArray.push(chi=
ld.innerHTML);}=0A=
else if(child.className=3D=3D'workdata')=0A=
{tagsArray.push(child.innerHTML);}}=0A=
return tagsArray;}=0A=
var editObjects=3Dnew Array();function checkForEnterKey(e,id,url,tag)=0A=
{var triggerForm=3DeventTrigger(e);var characterCode;if(!e)=0A=
e=3Devent;if(!e)=0A=
e=3Dwindow.event;if(e&&e.which)=0A=
{e=3De=0A=
characterCode=3De.which}=0A=
else=0A=
{e=3Devent=0A=
characterCode=3De.keyCode}=0A=
if(characterCode=3D=3D13)=0A=
{submitEdit(id,url,tag);return false}=0A=
else=0A=
{return true}}=0A=
function =
handleCoverClick(id,bookid){obj=3DLT_findObj(id);if(obj.style.display=3D=3D=
"block")=0A=
{obj.style.display=3D"none";obj.style.visibility=3D"hidden";obj.parentNod=
e.style.width=3D"50px";}=0A=
else=0A=
{obj.style.display=3D"block";obj.style.visibility=3D"visible";obj.parentN=
ode.style.width=3D"170px";}}=0A=
function cancelEdit(id){var eo=3DeditObjects[id];var =
obj=3DLT_findObj(id);obj.onclick=3Deo.onclick;obj.ondblclick=3Deo.ondblcl=
ick;obj.innerHTML=3D'';obj.innerHTML=3Deo.innerHTML;obj.className=3D'ipe'=
;}=0A=
function showAjaxError(id,text){var i;var =
obj=3DLT_findObj(id);obj.style.color=3D"red";var =
errorText;errorText=3D'<div class=3D"ajaxErrorText">Error processing =
changes! <br/>'+text+'</div>';var =
temp=3Dobj.innerHTML;obj.innerHTML=3D'';obj.innerHTML=3Dtemp+errorText;}=0A=
function submitEdit(id,url,datatype){var =
eo=3DeditObjects[id];obj=3DLT_findObj(id);var =
splitURL=3Ddocument.URL.split('?');var formName=3D'form'+id;var =
newData;var euroDate;var codedData;var getargs;var =
args=3D{id:id,datatype:datatype,newData:newData}=0A=
if((datatype=3D=3D'lt-lang')||(datatype=3D=3D'lt-lang_original'))=0A=
{var lang1=3Ddocument.forms[formName].elements[0].value;var =
lang2=3Ddocument.forms[formName].elements[1].value;var =
lang1index=3Ddocument.forms[formName].elements[0].selectedIndex;var =
lang1long=3Ddocument.forms[formName].elements[0].options[lang1index].labe=
l;getargs=3D'id=3D'+id+'&datatype=3D'+datatype+'&lang1=3D'+lang1+'&lang2=3D=
'+lang2+'&lang1long=3D'+lang1long;}=0A=
else if(datatype=3D=3D'lt-bcid')=0A=
{var bcid1=3Ddocument.forms[formName].elements['bcid1'].value;var =
bcid2=3Ddocument.forms[formName].elements['bcid2'].value;if(bcid1&&bcid2)=0A=
newData=3Dbcid1+'-'+bcid2;else=0A=
newData=3D'';codedData=3DencodeURIComponent(newData);getargs=3D'id=3D'+id=
+'&datatype=3D'+datatype+'&newData=3D'+codedData;}=0A=
else=0A=
{newData=3Ddocument.forms[formName].elements[0].value;codedData=3DencodeU=
RIComponent(newData);getargs=3D'id=3D'+id+'&datatype=3D'+datatype+'&newDa=
ta=3D'+codedData;euroDate=3Ddocument.forms[formName].elements['eurodate']=
;if(euroDate!=3Dnull)=0A=
{getargs+=3D'&eurodate=3D'+euroDate.checked;}}=0A=
twitShare=3Ddocument.forms[formName].elements['twitShare'];if(twitShare!=3D=
null)=0A=
{getargs+=3D'&twitShare=3D'+twitShare.checked;}=0A=
fbShare=3Ddocument.forms[formName].elements['fbShare'];if(fbShare!=3Dnull=
)=0A=
{getargs+=3D'&fbShare=3D'+fbShare.checked;}=0A=
if(splitURL[1])=0A=
{getargs+=3D'&'+splitURL[1];}=0A=
var =
rnum=3DLT_GetRandomID(32);getargs+=3D'&procID=3D'+rnum;obj.className=3D'i=
peSaving';obj.innerHTML=3D'';obj.innerHTML=3D"Saving...";new =
Ajax.Request(url,{method:'post',postBody:getargs,onSuccess:successFunctio=
n,onFailure:failureFunction});}=0A=
var updateSuccessFunction=3Dfunction(t)=0A=
{updateObj.innerHTML=3D'';updateObj.innerHTML=3Dt.responseText;}=0A=
var updateFailureFunction=3Dfunction(t){showAjaxError(updateCellID);}=0A=
var successFunction=3Dfunction(t){var rt=3Dt.responseText;var =
error=3Drt.indexOf('LT_AJAX_ERROR:');if(error!=3D-1){cancelEdit(id);showA=
jaxError(id,rt.substring(error+14));}=0A=
else{regex=3D/^\D+/i;regex2=3D/\d+/;var tdType=3Dregex.exec(obj.id);var =
tdBookID=3Dregex2.exec(obj.id);var updateField=3Dnull;var =
updateFields=3Dnew Array();if(tdType=3D=3D'author')=0A=
updateFields.push('authorunflip');else if(tdType=3D=3D'authorunflip')=0A=
updateFields.push('author');for(var i=3D0;i<updateFields.length;i++)=0A=
{var =
updateCellID=3DupdateFields[i]+tdBookID;if(updateObj=3DLT_findObj(updateC=
ellID))=0A=
{updateObj.innerHTML=3D'';updateObj.innerHTML=3D"Updating...";var =
rnum=3DLT_GetRandomID(32);var =
updateArgs=3D'id=3D'+tdBookID+'&column=3D'+updateFields[i]+'&procID=3D'+r=
num;new =
Ajax.Request('ajax_updateCell.php?'+updateArgs,{onSuccess:updateSuccessFu=
nction,onFailure:updateFailureFunction});}=0A=
i++;}=0A=
var tempid=3Dobj.id;var =
eo1=3DeditObjects[tempid];obj.innerHTML=3D'';obj.innerHTML=3Drt;if(obj.on=
mouseover)=0A=
obj.onmouseover=3Deo1.onmouseover;if(obj.onmouseout)=0A=
obj.onmouseout=3Deo1.onmouseout;if(obj.ondblclick)=0A=
obj.ondblclick=3Deo1.ondblclick;if(obj.onclick)=0A=
obj.onclick=3Deo1.onclick;obj.className=3Deo1.className;}=0A=
checkBlast();}=0A=
var failureFunction=3Dfunction(t){cancelEdit(id);showAjaxError(id);}=0A=
function LT_getCollectionsForBook(id,bookid)=0A=
{var url=3D'/ajax_collections_listForBook.php';var =
eo=3DeditObjects[id];var =
obj=3DLT_findObj(id);obj.onclick=3Deo.onclick;obj.ondblclick=3Deo.ondblcl=
ick;obj.innerHTML=3D'Updating...';obj.className=3D'ipe';var =
params=3D{bookid:bookid,includePause:true};var =
handleResponse=3Dfunction(t)=0A=
{var =
rt=3Dt.responseText;obj.innerHTML=3Drt;};basic_ajax(url,params,handleResp=
onse);}=0A=
function LT_saveCollectionsForBook(tdid,bookid)=0A=
{var td=3D$(tdid);var form=3D$('form'+tdid);var =
inputs=3Dform.getInputs();var junk=3D0;var collectionsAdd=3D$H();var =
il=3Dinputs.length;var =
eo=3DeditObjects[tdid];td.onclick=3Deo.onclick;td.ondblclick=3Deo.ondblcl=
ick;td.innerHTML=3D'Updating...';td.className=3D'ipe';for(var =
x=3D0;x<il;x++)=0A=
{var inputItem=3Dinputs[x];var =
c_id=3DinputItem.value;if(inputItem.checked)=0A=
{collectionsAdd.set(c_id,1);}=0A=
else=0A=
{collectionsAdd.set(c_id,0);}}=0A=
var collectionsJSON=3DObject.toJSON(collectionsAdd);var =
url=3D'ajax_collections_setCollectionsForBook.php';var =
params=3D{bookid:bookid,collections:collectionsJSON};var =
handleResponse=3Dfunction(t)=0A=
{var =
rt=3Dt.responseText;td.innerHTML=3Drt;td.toggleClassName('ipeSaving');rt.=
evalScripts();};td.toggleClassName('ipeSaving');td.innerHTML=3D'';td.inne=
rHTML=3D"Updating...";basic_ajax(url,params,handleResponse);}=0A=
function LT_editCollections(e,tag,container)=0A=
{var obj=3Dcontainer;var found=3D0;var =
url=3D'ajax_collections_buildUI.php';while(!found)=0A=
{if(((obj.className=3D=3D'ipe')||(obj.className=3D=3D'ipeHover'))&&(obj.t=
agName=3D=3D'TD'))=0A=
found=3D1;else=0A=
obj=3Dobj.parentNode;}=0A=
var id=3Dobj.id;var regex=3D/^\D+/i;var regex2=3D/\d+/;var =
tdType=3Dregex.exec(obj.id);var =
bookID=3Dregex2.exec(obj.id);editObjects[id]=3Dnew cloneObject(obj);var =
tagsArray=3DLT_findObjectsByClass(tag,id);obj.onclick=3DnilEvent;obj.ondb=
lclick=3DnilEvent;obj.onmouseover=3DnilEvent;obj.onmouseout=3DnilEvent;ob=
j.className=3D'ipeActive';var =
params=3D{collectionUI_type:'checkbox',collectionUI_rel:'catalogIPE',coll=
ectionUI_useMaster:1,collectionUI_bookid:bookID[0]};var =
formID=3D'formCollection'+id;var formHTML=3D'<form class=3D"editForm" =
name=3D"form'+id+'" id=3D"form'+id+'" =
style=3D"margin:0;">';formHTML+=3D'<div class=3D"collectionsCheckMenu" =
id=3D"IPEcollectionlist_'+id+'"></div>';formHTML+=3D'<div =
class=3D"formButtons"> \=0A=
   <a class=3D"cancelButton" onclick=3D"cancelEdit(\''+id+'\');"><img =
src=3D"/pics/cancel-0.gif" alt=3D"Cancel"></a> \=0A=
   <a class=3D"submitForm" =
onclick=3D"LT_saveCollectionsForBook(\''+id+'\', \''+bookID+'\');"><img =
src=3D"/pics/ok-0.gif" alt=3D"OK"></a> \=0A=
  </div> \=0A=
  </form>';obj.innerHTML=3D'';obj.innerHTML=3DformHTML;var =
controlDiv=3DLT_findObj('IPEcollectionlist_'+id);controlDiv.innerHTML=3D'=
Loading collections...';var handleResponse=3Dfunction(t)=0A=
{var =
rt=3Dt.responseText;controlDiv.innerHTML=3D'';controlDiv.innerHTML=3Drt;v=
ar form=3DcontrolDiv.parentNode;var cell=3Dform.parentNode;var =
w=3D150;form.style.width=3Dw+'px';controlDiv.style.width=3Dw+"px;";cell.s=
tyle.minWidth=3Dw+'px';controlDiv.style.textAlign=3D'left';}=0A=
basic_ajax(url,params,handleResponse);}=0A=
function LT_editLang(e,tag,lang1,lang2,doall,original,container){var =
url=3D'ajax_modifyData.php';var obj;var found=3D0;if(container)=0A=
{obj=3DLT_findObj(container);found=3D1;}=0A=
else=0A=
obj=3DeventTrigger(e);while(!found)=0A=
{if(((obj.className=3D=3D'ipe')||(obj.className=3D=3D'ipeHover'))&&(obj.t=
agName=3D=3D'TD'))=0A=
found=3D1;else=0A=
obj=3Dobj.parentNode;}=0A=
var id=3Dobj.id;var regex=3D/^\D+/i;var regex2=3D/\d+/;var =
tdType=3Dregex.exec(obj.id);var =
bookID=3Dregex2.exec(obj.id);if(!container)=0A=
editObjects[id]=3Dnew cloneObject(obj);var =
tagsArray=3DLT_findObjectsByClass(tag,id);obj.onclick=3DnilEvent;obj.ondb=
lclick=3DnilEvent;obj.onmouseover=3DnilEvent;obj.onmouseout=3DnilEvent;ob=
j.className=3D'ipeActive';var i;if(obj.clientHeight<=3D30)=0A=
cssh=3D30;else=0A=
cssh=3Dobj.clientHeight;if(obj.clientWidth<=3D135)=0A=
cssw=3D135;else=0A=
cssw=3Dobj.clientWidth-12;var formID=3D'formLang'+id;var =
formHTML=3D'<form class=3D"editForm" name=3D"form'+id+'" =
id=3D"form'+id+'" style=3D"margin:0">';formHTML+=3D'<div =
id=3D"IPElanguagelist"></div>';formHTML+=3D'<div class=3D"formButtons"> \=0A=
   <div>XXX</div> \=0A=
          <a class=3D"cancelButton" =
onclick=3D"cancelEdit(\''+id+'\');"><img src=3D"/pics/cancel-0.gif" =
alt=3D"Cancel"></a> \=0A=
          <a class=3D"submitForm" =
onclick=3D"submitEdit(\''+id+'\',\''+url+'\',\''+tag+'\');"><img =
src=3D"/pics/save-0.gif" alt=3D"Save"></a> \=0A=
         </div> \=0A=
         </form>';obj.innerHTML=3D'';obj.innerHTML=3DformHTML;var =
menuURL=3D"ajax_ipeLanguageMenu.php";var =
controlDiv=3DLT_findObj('IPElanguagelist');controlDiv.innerHTML=3D'Loadin=
g menus...';var langSuccessFunction=3Dfunction(t){var =
rt=3Dt.responseText;controlDiv.innerHTML=3D'';controlDiv.innerHTML=3Drt;v=
ar form=3DcontrolDiv.parentNode;var w=3Dform.field_lang.offsetWidth;var =
minwidth=3D135;w=3D(w>minwidth)?w:minwidth;controlDiv.style.width=3Dw+"px=
;";}=0A=
var rnum=3DLT_GetRandomID(32);var =
getargs=3D"container=3D"+obj.id+"&tag=3D"+tag+"&book=3D"+bookID+"&lang=3D=
"+lang1+"&lang2=3D"+lang2+"&all=3D"+doall+"&original=3D"+original+'&procI=
D=3D'+rnum;new =
Ajax.Request(menuURL+'?'+getargs,{onSuccess:langSuccessFunction,onFailure=
:failureFunction});}=0A=
function LT_editCRData(event,tag,whichType,crbutton){var =
obj=3DeventTrigger(e);var =
found=3D0;while(!found){if(((obj.className=3D=3D'ipe')||(obj.className=3D=
=3D'ipeHover'))&&(obj.tagName=3D=3D'TD')){found=3D1;}=0A=
else{obj=3Dobj.parentNode;}}=0A=
var id=3Dobj.id;var regex=3D/^\D+/i;var regex2=3D/\d+/;var =
tdType=3Dregex.exec(obj.id);var bookID=3Dregex2.exec(obj.id);}=0A=
function handleEuroClick(e){var obj=3DeventTrigger(e);var =
val=3Dobj.checked;if(obj.checked)=0A=
{setCookie("cookie_euroformat",'1',false);g_tempEuroCookie=3D1;}=0A=
else=0A=
{setCookie("cookie_euroformat",'0',false);g_tempEuroCookie=3D0;}}=0A=
function setClassName(e,cn){var =
obj=3DeventTrigger(e);obj.className=3Dcn;}=0A=
function handleQuickSearchMenu(e)=0A=
{var searchForm=3D$('quickSearchForm');var =
searchMenu=3Ddocument.forms.searchform.searchmode;var =
searchmode=3DsearchMenu.value;}=0A=
function handleQuickSearchMenu2(searchmode,title)=0A=
{LibraryThing.setCookie('cat_searchmode',searchmode);$('cat_searchmenu_bo=
dy').innerHTML=3Dtitle;try{var =
searchmodeinput=3D$('searchmode');searchmodeinput.value=3Dsearchmode;}cat=
ch(e){}=0A=
var menu=3D$('catalog_quicksearch_menu');var =
menuItems=3Dmenu.select('a');menuItems.each(function(item){item.removeCla=
ssName('menuBuilderMenuItemSelected');});$('cat_quicksearch_item_'+search=
mode).addClassName('menuBuilderMenuItemSelected');}=0A=
function quickSearchCheckOnType(e)=0A=
{var searchForm=3DLT_findObj('quickSearchForm');var =
sbval=3DsearchForm.searchbox.value;if(isbnCheck(sbval)=3D=3D'goodisbn')=0A=
searchForm.searchbox.style.backgroundColor=3D'#ff7';else =
if(isbnCheck(sbval)=3D=3D'badisbn')=0A=
searchForm.searchbox.style.backgroundColor=3D'#f77';else=0A=
searchForm.searchbox.style.backgroundColor=3D'#fff';return true;}=0A=
function submitQuickSearchForm(){var =
searchForm=3D$('quickSearchForm');var =
sbval=3D$('quickSearchbox').value;if(sbval&&(sbval!=3D'')){searchForm.sub=
mit();return true;}=0A=
return false;} =0A=
 /* 2003:minified:commonknowledge/fwiki.js */ =0A=
=0A=
var =
ckSearchPlaceholder=3D'search';Event.observe(window,'load',function(){sea=
rchBoxOnLoad();});if(typeof fieldType5labels=3D=3D'undefined')=0A=
{fieldType5labels=3D['male','female','other/contested/unknown','n/a','(ma=
ke blank)'];}=0A=
LibraryThing=3DLibraryThing||{};if(!LibraryThing.fwiki)=0A=
{LibraryThing.fwiki=3D{};LibraryThing.fwiki.controls=3D[];LibraryThing.fw=
iki.useAutocompleteMenu=3Dtrue;LibraryThing.fwiki.confirmCancels=3Dfalse;=
}=0A=
LibraryThing.fwiki.stripslashes=3Dfunction(str){return(str+'').replace(/\=
\(.?)/g,function(s,n1){switch(n1){case'\\':return'\\';case'0':return'\u00=
00';case'':return'';default:return =
n1;}});};LibraryThing.fwiki.loadCKCloud=3Dfunction(title,wiki_type,field,=
limit,el){var element=3D$(el);var =
url=3D'/commonknowledge/loadCKCloud.php';var =
params=3D{'title':LibraryThing.fwiki.stripslashes(title),'wiki_type':wiki=
_type,'field':field,'limit':limit};var callback=3Dfunction(r){var =
rt=3Dr.responseText;element.replace(rt);new =
Effect.Opacity(element,{from:0.25,to:1.0,duration:0.2});};if(el)=0A=
{new =
Effect.Opacity(element,{from:1.0,to:0.25,duration:1.0});basic_ajax(url,pa=
rams,callback);}};function fwiki_showmore(elid){var el=3D$(elid);var =
el2=3D$('show-'+elid);el.style.display=3D"inline";el2.style.display=3D'no=
ne';}=0A=
function fwikiEditPencil(imgObject,off)=0A=
{if(off)=0A=
{imgObject.src=3D'/pics/edit-pencil_sm_gray.png';}=0A=
else=0A=
{imgObject.src=3D'/pics/edit-pencil_sm.gif';}=0A=
return;}=0A=
function getValueForObject(obj)=0A=
{var out=3D'';if(obj.value)=0A=
{out=3Dobj.value;}=0A=
else if(obj.innerText)=0A=
{out=3Dobj.innerText;}=0A=
else=0A=
{if(obj.textContent)=0A=
{out=3Dobj.textContent;}=0A=
else=0A=
{out=3D'';}}=0A=
out=3Dout.replace(/^\s\s*/,'').replace(/\s\s*$/,'');return out;}=0A=
function stripTags(instring)=0A=
{return instring.replace(/(<([^>]+)>)/ig,"");}=0A=
function setFwikiSort(column,url)=0A=
{var ckey=3D'fwikiBrowseSortColumn';var =
ckey2=3D'fwikiBrowseSortOrder';var col=3DgetCookie(ckey);var =
dir=3DgetCookie(ckey2);if(col=3D=3D=3Dcolumn)=0A=
{if(dir=3D=3D=3D'DESC')=0A=
{setCookie(ckey2,'ASC');}=0A=
else=0A=
{setCookie(ckey2,'DESC');}}=0A=
else=0A=
{setCookie(ckey,column);setCookie(ckey2,'DESC');}=0A=
window.location.href=3Dwindow.location.href;window.location.reload();}=0A=
function fwikiEdit(itemID,fieldName,event)=0A=
{var agt=3Dnavigator.userAgent.toLowerCase();var =
is_ie=3D((agt.indexOf("msie")!=3D-1)&&(agt.indexOf("msie =
9.0")=3D=3D-1)&&(agt.indexOf("opera")=3D=3D-1));LibraryThing.fwiki.contro=
ls[itemID]=3D$(itemID);var =
groupElement=3D$(itemID);groupElement.fieldName=3DfieldName;var =
items=3DgroupElement.select('.fwikiItem');LibraryThing.fwiki.controls[ite=
mID].items=3Ditems;LibraryThing.fwiki.controls[itemID].pencilControl=3D$(=
'pencil-'+itemID);var =
pencilControl=3DLibraryThing.fwiki.controls[itemID].pencilControl;pencilC=
ontrol.hideFocus=3Dtrue;var bottomControlText=3D'<div =
class=3D"fwikiBottomControls"></div>';var =
itemType=3DgroupElement.readAttribute('itemType');var =
itemNum=3DgroupElement.readAttribute('itemNum');var =
fieldType=3DgroupElement.readAttribute('fieldType');var =
uiType=3DgroupElement.readAttribute('uitype');var =
allowmultiple=3DgroupElement.readAttribute('allowmultiple');var =
hint=3DgroupElement.readAttribute('hint');var =
lang=3DgroupElement.readAttribute('ltlang');var =
hashistory=3DgroupElement.readAttribute('hashistory');if((allowmultiple!=3D=
=3D1)&&(allowmultiple!=3D=3D0))=0A=
{if(groupElement.attributes.allowmultiple)=0A=
{allowmultiple=3DgroupElement.attributes.allowmultiple.nodeValue;}}=0A=
if((hashistory!=3D1)&&(hashistory!=3D0))=0A=
{if(groupElement.attributes.hashistory)=0A=
{hashistory=3DgroupElement.attributes.hashistory.nodeValue;}}=0A=
groupElement.fieldType=3DfieldType;groupElement.itemType=3DitemType;group=
Element.itemNum=3DitemNum;groupElement.lang=3Dlang;groupElement.hint=3Dhi=
nt;groupElement.uiType=3DuiType;groupElement.allowmultiple=3Dallowmultipl=
e;groupElement.hashistory=3Dhashistory;var =
itemsLen=3Ditems.length;for(var i=3D0;i<items.length;i++){var =
item=3Ditems[i];item.originalClassName=3Ditem.className;var =
itemTextDiv=3Ditem.select('.fwikiItemText')[0];var =
atomicValueDiv=3DitemTextDiv.select('.fwikiAtomicValue')[0];if(!groupElem=
ent.inEditState)=0A=
{var =
itdata=3D'';itemTextDiv.originalHTML=3DitemTextDiv.innerHTML;itemTextDiv.=
originalClassName=3DitemTextDiv.className;item.originalClassName=3Ditem.c=
lassName;itemTextDiv.originalOndblclick=3DitemTextDiv.ondblclick;itemText=
Div.ondblclick=3Dfunction(){return;};}=0A=
itemTextDiv.addClassName('fwikiEditItem');var =
input;if((uiType=3D=3D1)||(uiType=3D=3D3)||(uiType=3D=3D5))=0A=
{if(groupElement.uiType=3D=3D3)=0A=
{input=3Ddocument.createElement('textarea');}=0A=
else=0A=
{input=3Ddocument.createElement('input');input.type=3D'text';}=0A=
Element.extend(input);input.className=3D'fwikiFormInputItem';if(uiType=3D=
=3D3)=0A=
{$(input).addClassName('fwikiFormInputItemLong');}=0A=
if(uiType=3D=3D3)=0A=
{input.value=3DatomicValueDiv.innerHTML;}=0A=
else if(fieldType=3D=3D37)=0A=
{var =
editVal=3DatomicValueDiv.readAttribute('editVal');input.value=3DeditVal;}=0A=
else if(uiType=3D=3D5)=0A=
{var =
editVal=3DatomicValueDiv.readAttribute('editVal');input.value=3DeditVal;}=0A=
else if(itemType=3D=3D130&&fieldType=3D=3D33)=0A=
{input.value=3DatomicValueDiv.innerHTML;}=0A=
else=0A=
{input.value=3DgetValueForObject(atomicValueDiv);}=0A=
input.originalValue=3Dinput.value;if(LibraryThing.fwiki.useAutocompleteMe=
nu)=0A=
{input.itemDetails=3D{itemID:itemID,fieldType:fieldType,itemType:itemType=
};if((uiType!=3D3)&&(uiType!=3D5)&&(fieldType!=3D8)&&(fieldType!=3D12)&&(=
fieldType!=3D5))=0A=
{$(input).observe('keyup',function(e){autoCompleteFwikiField(e);});}}=0A=
itemTextDiv.innerHTML=3D'';itemTextDiv.appendChild(input);}=0A=
else if(uiType=3D=3D2)=0A=
{groupElement.originalValue=3DgetValueForObject(itemTextDiv);var =
radioForm=3D$(document.createElement('form'));var =
uniqueida=3DLT_GetRandomID(8);radioForm.id=3Duniqueida;radioForm.addClass=
Name('fwikiForm');itemTextDiv.innerHTML=3D'';itemTextDiv.appendChild(radi=
oForm);var labels;if(fieldType=3D=3D5)=0A=
{labels=3DfieldType5labels;}=0A=
var labelCount=3Dlabels.length;for(var li=3D0;li<labelCount;li++)=0A=
{var label=3Dlabels[li];if(is_ie)=0A=
{input=3D$(document.createElement('<input =
name=3D"r'+groupElement.fieldType+'">'));}=0A=
else=0A=
{input=3D$(document.createElement('input'));}=0A=
input.className=3D'fwikiFormInputItem =
fwikiRadio';if(groupElement.originalValue=3D=3Dlabel)=0A=
{input.checked=3Dtrue;}=0A=
input.type=3D'radio';input.name=3D'r'+groupElement.fieldType;input.value=3D=
label;var =
mtext=3D$(document.createElement('span'));mtext.className=3D'fwikiRadioTe=
xt';mtext.innerHTML=3Dlabel;var =
containerDiv=3D$(document.createElement('div'));containerDiv.className=3D=
'fwikiRadioContainer';radioForm.appendChild(containerDiv);containerDiv.ap=
pendChild(input);containerDiv.appendChild(mtext);}}}=0A=
if(groupElement.inEditState)=0A=
{returnToNormal(true,false);}=0A=
else=0A=
{groupElement.inEditState=3Dtrue;pencilControl.originalOnclick=3DpencilCo=
ntrol.onclick;pencilControl.onclick=3Dfunction()=0A=
{returnToNormal(true,false);return false;};var =
bottomControls=3Ddocument.createElement('div');Element.extend(bottomContr=
ols);LibraryThing.fwiki.controls[itemID].bottomControls=3DbottomControls;=
bottomControls.addClassName('fwikiBottomControls');var =
hintdiv=3D$(document.createElement('div'));hintdiv.addClassName('fwikiHin=
t');hintdiv.innerHTML=3Dhint;groupElement.appendChild(hintdiv);var =
buttons=3D'<div title=3D"Save changes" class=3D"fwikiButton =
fwikiSubmitButton" =
id=3D"fwikiSubmit-'+itemID+'">Save</div>';if(allowmultiple=3D=3D1)=0A=
{buttons+=3D'<div title=3D"Add new data line" class=3D"fwikiButton =
fwikiPlusButton" id=3D"fwikiPlus-'+itemID+'">+ Add item</div>';}=0A=
buttons+=3D'<div title=3D"Discard changes" class=3D"fwikiButton =
fwikiCancelButton" =
id=3D"fwikiCancel-'+itemID+'">Cancel</div>';if(hashistory=3D=3D1)=0A=
{buttons+=3D'<div title=3D"View edit history for this data" =
class=3D"fwikiButton fwikiHistoryButton" =
id=3D"fwikiHistory-'+itemID+'">History</a></div>';}=0A=
bottomControls.innerHTML=3Dbuttons;groupElement.appendChild(bottomControl=
s);var submitButton=3D$('fwikiSubmit-'+itemID);var =
cancelButton=3D$('fwikiCancel-'+itemID);var =
historyButton=3D$('fwikiHistory-'+itemID);var =
plusButton=3D$('fwikiPlus-'+itemID);if(plusButton)=0A=
{plusButton.onclick=3Dfunction()=0A=
{var parentElement=3DgroupElement.parentNode;var =
newField=3Ddocument.createElement('div');Element.extend(newField);newFiel=
d.className=3D'fwikiItem';newField.isNewItem=3Dtrue;var =
itemInt=3Ddocument.createElement('div');Element.extend(itemInt);itemInt.c=
lassName=3D'fwikiItemText';itemInt.originalClassName=3D'fwikiItemText';it=
emInt.addClassName('fwikiEditItem');itemInt.Ondblclick=3Dfunction(){};ite=
mInt.originalOndblclick=3Dfunction(){fwikiEdit("'"+groupElement.name+"'",=
groupElement.fieldname,event);};var =
itemInput;if(groupElement.uiType=3D=3D3)=0A=
{itemInput=3Ddocument.createElement('textarea');}=0A=
else=0A=
{itemInput=3Ddocument.createElement('input');itemInput.type=3D'text';}=0A=
Element.extend(itemInput);itemInput.className=3D'fwikiFormInputItem';if(u=
iType=3D=3D3)=0A=
{$(itemInput).addClassName('fwikiFormInputItemLong');}=0A=
itemInput.value=3D'';itemInt.appendChild(itemInput);if(LibraryThing.fwiki=
.useAutocompleteMenu)=0A=
{itemInput.itemDetails=3D{itemID:itemID,fieldType:fieldType,itemType:item=
Type};$(itemInput).observe('keyup',function(e){autoCompleteFwikiField(e);=
});}=0A=
newField.appendChild(itemInt);groupElement.insertBefore(newField,hintdiv)=
;items.push(newField);itemInput.focus();};}=0A=
if(historyButton)=0A=
{historyButton.onclick=3Dfunction()=0A=
{var uniqueid=3DLT_GetRandomID(32);var =
url=3D'/commonknowledge/changelog.php?item=3D'+itemNum+'&type=3D'+itemTyp=
e+'&field=3D'+fieldType;gotoaURL(url);var =
params=3D{itemID:itemID,uniqueid:uniqueid};};}=0A=
submitButton.onclick=3Dfunction(){submitChanges();};cancelButton.onclick=3D=
function(){returnToNormal(true,false);};groupElement.LTsubmit=3Dfunction(=
){submitChanges();};}=0A=
function submitChanges()=0A=
{submitButton.originalOnClick=3DsubmitButton.onclick;submitButton.onclick=
=3Dfunction(){};var fieldVals=3D[];var concatvals=3D'';var =
tempCRC=3Dnull;var =
inputs=3D$(groupElement).select('.fwikiFormInputItem');for(var =
i=3D0;i<inputs.length;i++){var =
item=3Dinputs[i];if(groupElement.uiType=3D=3D2)=0A=
{if(item.checked)=0A=
{if(item.value=3D=3D'on')=0A=
{fieldVals.push('male');}=0A=
else=0A=
{fieldVals.push(item.value);}}}=0A=
else if((groupElement.uiType!=3D4))=0A=
{var fval=3DgetValueForObject(item);if(fval.replace(' ','')!=3D=3D'')=0A=
{if(((groupElement.itemType=3D=3D130)&&(groupElement.fieldType=3D=3D33))|=
|(groupElement.uiType=3D=3D3)){}=0A=
else{fval=3DstripTags(fval);}=0A=
fieldVals.push(fval);concatvals+=3Dfval;}}}=0A=
var uid=3DLT_GetRandomID(5);var =
url=3D"/commonknowledge/ajax_updateFwikiItem.php";var =
fieldValsReady=3DObject.toJSON(fieldVals);var crc=3D'';var =
params=3D{itemType:itemType,itemNum:itemNum,fieldName:fieldName,fieldType=
:fieldType,lang:lang,values:fieldValsReady,uniqueid:uid,checksum:crc};var=
 responseFunction=3Dfunction(t)=0A=
{var rt=3Dt.responseText.strip();if(t.responseText=3D=3D'0')=0A=
{submitButton.originalOnClick=3DsubmitButton.onclick;submitButton.onclick=
=3Dfunction(){};}=0A=
else=0A=
{returnToNormal(false,false,t.responseText);}};basic_ajax(url,params,resp=
onseFunction);}=0A=
function formatFwikiLink(text)=0A=
{text=3Dtext.replace(' =
','');text=3Dtext.toLowerCase();text=3DencodeURIComponent(text);return =
text;}=0A=
function returnToNormal(cancel,override,vvalues)=0A=
{var confirmVal=3Dfalse;if(vvalues)=0A=
{var validatedValues=3Dvvalues.evalJSON(true);}=0A=
var =
somethingChanged=3Dfalse;LibraryThing.fwiki.controls[itemID]=3D$(itemID);=
var groupElement=3DLibraryThing.fwiki.controls[itemID];var =
items=3DgroupElement.select('.fwikiItemText');var =
hintdiv=3DgroupElement.select('.fwikiHint')[0];var =
bottomControls=3DgroupElement.bottomControls;var =
pencilControl=3DgroupElement.pencilControl;items=3DgroupElement.items;var=
 lightboxCanceled=3Dfalse;if(cancel)=0A=
{if(LibraryThing&&LibraryThing.lightbox&&LibraryThing.lightbox.active)=0A=
{LibraryThing.lightbox.off(0);lightboxCanceled=3Dtrue;}=0A=
var inputItems=3DgroupElement.select('.fwikiFormInputItem');for(var =
i=3D0;i<inputItems.length;i++)=0A=
{var ii=3DinputItems[i];if(ii.value!=3Dii.originalValue)=0A=
{somethingChanged=3Dtrue;}}=0A=
if(!override)=0A=
{if(somethingChanged)=0A=
{if(LibraryThing.fwiki.confirmCancels)=0A=
{confirmVal=3Dconfirm('You have unsaved changes.\nDo you want to save =
them?');}}=0A=
if(confirmVal)=0A=
{submitChanges();return;}}}=0A=
destroyAutocompleteMenu(itemID);if(bottomControls)=0A=
{$(bottomControls).remove();}=0A=
if(hintdiv)=0A=
{$(hintdiv).remove();}=0A=
pencilControl.onclick=3DpencilControl.originalOnclick;groupElement.inEdit=
State=3Dfalse;var itemCounter=3D0;for(var i=3D0;i<items.length;i++)=0A=
{var item=3Ditems[i];var itemTextDiv=3Ditem.firstChild;var =
children=3Ditem.childNodes;var =
inputItem=3Ditem.childNodes[0].childNodes[0];if(cancel)=0A=
{if(item.isNewItem)=0A=
{item.parentNode.removeChild(item);}=0A=
else=0A=
{itemTextDiv.innerHTML=3DitemTextDiv.originalHTML;}}=0A=
else=0A=
{var tempNewVal;var validatedValue=3D'';var =
validatedVisibleValue=3D'';var =
validatedValueRecord=3D{};if(validatedValues[itemCounter])=0A=
{if(groupElement.fieldType=3D=3D37)=0A=
{validatedValueRecord=3DvalidatedValues[itemCounter];validatedValue=3Dval=
idatedValueRecord.editVal;validatedVisibleValue=3DvalidatedValueRecord.sh=
ownVal;}=0A=
else if(groupElement.uiType=3D=3D5)=0A=
{validatedValueRecord.editVal=3DvalidatedValues[itemCounter];var =
shownVal=3DvalidatedValues[itemCounter];var =
base=3DstripParenSuffix(validatedValues[itemCounter]);var =
linkVal=3DvalidatedValues[itemCounter];if(base!=3D=3DvalidatedValues[item=
Counter]){linkVal=3DcheckURLForSchema(base);shownVal=3DgetParenSuffix(val=
idatedValues[itemCounter]);}=0A=
validatedValueRecord.shownVal=3D'<a target=3D"_top" rel=3D"nofollow" =
href=3D"'+linkVal+'">'+shownVal+'</a>';validatedValue=3DvalidatedValueRec=
ord.editVal;validatedVisibleValue=3DvalidatedValueRecord.shownVal;}=0A=
else=0A=
{validatedValue=3DvalidatedValues[itemCounter];}}=0A=
var inputs=3D$(item).select('.fwikiFormInputItem');if(inputs.length>0)=0A=
{if((inputs[0].type=3D=3D'text')||(inputs[0].type=3D=3D'textarea'))=0A=
{itemTextDiv.newHTML=3DvalidatedValue;}=0A=
else if(inputs[0].type=3D=3D'radio')=0A=
{var il=3Dinputs.length;for(var i=3D0;i<inputs.length;i++)=0A=
{var singleInput=3Dinputs[i];if(singleInput.checked)=0A=
{if(singleInput.value=3D=3D'(make blank)')=0A=
{itemTextDiv.newHTML=3D'';}=0A=
else if(singleInput.value=3D=3D'on')=0A=
{itemTextDiv.newHTML=3D'male';}=0A=
else=0A=
{itemTextDiv.newHTML=3DsingleInput.value;}}}}=0A=
if((itemCounter>0)&&(itemTextDiv.newHTML.replace(' ','')=3D=3D''))=0A=
{item.parentNode.removeChild(item);}=0A=
else=0A=
{var catchAll=3Dtrue;var fn=3DgroupElement.fieldName;var =
f=3DgroupElement.fieldType;var itemLink=3D'/commonknowledge/';var =
itemLinkLast=3DstripParenSuffix(itemTextDiv.newHTML);var =
parenData=3DgetParenSuffix(itemTextDiv.newHTML);itemLink+=3D'search.php?q=
=3D'+itemLinkLast+'&f=3D'+f+'&exact=3D1';if(groupElement.uiType=3D=3D3||g=
roupElement.fieldType=3D=3D48||groupElement.fieldType=3D=3D51||groupEleme=
nt.fieldType=3D=3D52||groupElement.fieldType=3D=3D53)=0A=
{itemTextDiv.innerHTML=3D'<div =
class=3D"fwikiAtomicValue">'+itemTextDiv.newHTML+'</div>';catchAll=3Dfals=
e;}=0A=
else if(groupElement.uiType=3D=3D5)=0A=
{itemTextDiv.innerHTML=3D'<div class=3D"fwikiAtomicValue" =
editVal=3D"'+validatedValue+'">'+validatedVisibleValue+'</div>';catchAll=3D=
false;}=0A=
else =
if((groupElement.fieldType=3D=3D33)&&(groupElement.itemType=3D=3D2)||(gro=
upElement.fieldType=3D=3D47)&&(groupElement.itemType=3D=3D130)||(groupEle=
ment.fieldType=3D=3D33)&&(groupElement.itemType=3D=3D130))=0A=
{itemTextDiv.innerHTML=3D'<div =
class=3D"fwikiAtomicValue">'+itemTextDiv.newHTML+'</div>';catchAll=3Dfals=
e;}=0A=
else if(groupElement.fieldType=3D=3D37)=0A=
{itemTextDiv.innerHTML=3D'<div class=3D"fwikiAtomicValue" =
editVal=3D"'+validatedValue+'">'+validatedVisibleValue+'</div>';catchAll=3D=
false;}=0A=
else if(groupElement.fieldType=3D=3D56)=0A=
{var interiorValue=3D'<a =
href=3D"/profile/'+itemLinkLast+'">'+itemLinkLast+'</a>';if(parenData!=3D=
=3D'undefined'&&parenData!=3D=3D''){interiorValue=3DinteriorValue+' =
('+parenData+')';}=0A=
itemTextDiv.innerHTML=3D'<div class=3D"fwikiAtomicValue" =
editVal=3D"'+validatedValue+'">'+interiorValue+'</div>';catchAll=3Dfalse;=
}=0A=
else=0A=
{itemLinkLast=3Descape(escape(itemLinkLast));if(groupElement.fieldType=3D=
=3D1)=0A=
{itemLink=3D'/publisherseditor/'+itemLinkLast;}=0A=
if(groupElement.fieldType=3D=3D2)=0A=
{itemLink=3D'/place/'+itemLinkLast;}=0A=
if(groupElement.fieldType=3D=3D3)=0A=
{itemLink=3D'/character/'+itemLinkLast;}=0A=
if((groupElement.fieldType=3D=3D4)&&(groupElement.itemType=3D=3D1))=0A=
{itemLink=3D'/bookaward/'+itemLinkLast;}=0A=
else if(groupElement.fieldType=3D=3D23)=0A=
{itemLink=3D'/series/'+itemLinkLast;}=0A=
else if(groupElement.fieldType=3D=3D40)=0A=
{itemLink=3D'/publisherseries/'+itemLinkLast;}=0A=
itemTextDiv.innerHTML=3D'<div class=3D"fwikiAtomicValue">'+'<a =
href=3D"'+itemLink+'">'+itemTextDiv.newHTML+'</a>'+'</div>';catchAll=3Dfa=
lse;}=0A=
if(catchAll)=0A=
{itemTextDiv.innerHTML=3D'<div class=3D"fwikiAtomicValue">'+'<a =
href=3D"'+itemLink+'">'+itemTextDiv.newHTML+'</a>'+'</div>';}}}}=0A=
if(itemTextDiv.originalClassName)=0A=
{itemTextDiv.className=3DitemTextDiv.originalClassName;itemTextDiv.remove=
ClassName=3D'fwikiEditItem';itemTextDiv.className=3D'fwikiItemText';}=0A=
if(itemTextDiv.originalOndblclick)=0A=
{itemTextDiv.ondblclick=3DitemTextDiv.originalOndblclick;}=0A=
if(item.originalClassName)=0A=
{item.className=3Ditem.originalClassName;}=0A=
if(item.isNewItem)=0A=
{item.isNewItem=3Dfalse;}=0A=
destroyAutocompleteMenu(itemID);itemCounter++;}=0A=
if(LibraryThing&&LibraryThing.lightbox&&LibraryThing.lightbox.active&&!li=
ghtboxCanceled)=0A=
{LibraryThing.lightbox.off(1);}}=0A=
return false;}=0A=
function ckrepairString(s){var =
temp_div=3Ddocument.createElement('div');temp_div.style.display=3D'none';=
temp_div.innerHTML=3Ds;var nv=3Dtemp_div.firstChild.nodeValue;return nv;}=0A=
LibraryThing.fwiki.ACAjaxObjects=3D{};function =
autoCompleteFwikiField(event)=0A=
{event=3DvalidateEvent(event);var =
inputElement=3D$(eventTrigger(event));var value=3DinputElement.value;var =
itemID=3DinputElement.itemDetails.itemID;var =
fieldType=3DinputElement.itemDetails.fieldType;var =
wikiType=3DinputElement.itemDetails.itemType;var =
MIN_INPUT_LENGTH=3D4;if((value=3D=3D'')||(value.length<(MIN_INPUT_LENGTH-=
1)))=0A=
{destroyAutocompleteMenu(itemID);return;}=0A=
destroyAllACMenus(itemID);var =
groupElement=3DLibraryThing.fwiki.controls[itemID]=3D$(itemID);if(!Librar=
yThing.fwiki.autocompleteMenus)=0A=
LibraryThing.fwiki.autocompleteMenus=3Dnew Array;var =
acmenus=3DLibraryThing.fwiki.autocompleteMenus;var =
uid=3DLT_GetRandomID(10);var =
url=3D"/commonknowledge/ajax_autocompleteFwikiField.php";var =
params=3D{wt:wikiType,q:value,ft:fieldType,uniqueid:uid};LibraryThing.fwi=
ki.currentMenuID=3Dparams.uniqueid;inputElement.params=3Dparams;inputElem=
ent.changedByMenu=3Dfalse;inputElement.responseFunction=3Dfunction(t)=0A=
{if(t.responseText=3D=3D'0')=0A=
{destroyAutocompleteMenu(itemID);}=0A=
else=0A=
{var jsonData=3Dt.responseText.evalJSON(true);var uid=3DjsonData.uid;var =
valarray=3DjsonData.data;if(uid!=3DLibraryThing.fwiki.currentMenuID)=0A=
{destroyAutocompleteMenu(uid);return;}=0A=
var keysExist=3D$H(valarray).keys().length;if(keysExist)=0A=
{var acmenu=3Dnull;if(!acmenus[itemID])=0A=
{acmenu=3Ddocument.createElement('div');Element.extend(acmenu);acmenus[it=
emID]=3Dacmenu;acmenu.className=3D'fwikiAutoMenu';acmenu.style.zIndex=3D5=
000;acmenu.style.opacity=3D0.9;document.body.appendChild(acmenu);}=0A=
else=0A=
{acmenu=3Dacmenus[itemID];}=0A=
var menuItems=3D$(acmenu).childNodes;if(menuItems.length)=0A=
{var men=3D$(acmenu);var ce=3Dacmenu.childElements();for(var =
i=3D0;i<ce.length;i++)=0A=
{var mi=3Dce[i];men.removeChild(mi);}}=0A=
$H(valarray).each(function(valitem)=0A=
{var valkey=3Dvalitem[0];var rank=3Dvalitem[1];var =
acmenuItem=3Ddocument.createElement('div');Element.extend(acmenuItem);$(a=
cmenuItem).addClassName('fwikiAutoMenuItem');var cc;var =
ranklines=3D'';for(cc=3D0;cc<rank;cc++)=0A=
{ranklines+=3D'<img class=3D"fwikiRankline" alt=3D"" =
src=3D"/pics/rankline.gif">';}=0A=
var rankspan=3D'<span title=3D"relative popularity" =
class=3D"fwikiRanks">'+ranklines+'</span>';acmenuItem.innerHTML=3Dvalkey+=
' =
'+rankspan;acmenuItem.menuKey=3Dvalkey;acmenuItem.value=3Dvalkey;acmenu.a=
ppendChild(acmenuItem);$(acmenuItem).observe('click',function(){inputElem=
ent.value=3DckrepairString(this.menuKey);inputElement.changedByMenu=3Dtru=
e;destroyAutocompleteMenu(itemID);},false);});Event.observe(document,'cli=
ck',function(){destroyAutocompleteMenu(itemID);},true);acmenu.currentSele=
ction=3Dnull;var inputOffset=3DgetPosition(inputElement);var =
ie=3D(navigator.appName=3D=3D"Microsoft Internet =
Explorer")?true:false;var mpos=3D'absolute';if(ie)=0A=
{acmenu.style.position=3Dmpos;acmenu.style.marginLeft=3DinputOffset.x-9+'=
px';acmenu.style.marginTop=3DinputOffset.y+13+'px';}=0A=
else=0A=
{if(LibraryThing.lightbox)=0A=
{if(LibraryThing.lightbox.initialized)=0A=
{mpos=3D'fixed';}}=0A=
acmenu.style.position=3Dmpos;acmenu.style.top=3DinputOffset.y+23+'px';acm=
enu.style.left=3DinputOffset.x+1+'px';}=0A=
acmenu.style.display=3D'block';}}};inputElement.acFunction=3D{fx:function=
(){if(inputElement.changedByMenu)=0A=
{inputElement.changedByMenu=3Dfalse;}=0A=
else=0A=
{inputElement.params['q']=3DinputElement.value;if(inputElement.value.leng=
th<MIN_INPUT_LENGTH){destroyAutocompleteMenu(inputElement.itemDetails.ite=
mID);}=0A=
else{LibraryThing.fwiki.ACAjaxObjects[inputElement.itemDetails.itemID]=3D=
basic_ajax(url,inputElement.params,inputElement.responseFunction,1,1,Libr=
aryThing.fwiki.ACAjaxObjects[inputElement.itemDetails.itemID]);}}}};funct=
ion addACMenuObserver()=0A=
{if(!inputElement.observer)=0A=
{inputElement.observer=3Dnew =
Form.Element.Observer(inputElement,1,inputElement.acFunction.fx);}}=0A=
addACMenuObserver();if((event.keyCode=3D=3D9)||(event.keyCode=3D=3D39))=0A=
{var madeChange=3Dfalse;var acmenu=3Dacmenus[itemID];if(acmenu)=0A=
{var menuItems=3Dacmenu.childElements();var =
itemcounter=3D0;if(menuItems.length)=0A=
{for(var i=3D0;i<menuItems.length;i++)=0A=
{var mi=3DmenuItems[i];if(mi.classNames().find(function(s)=0A=
{return(s=3D=3D'fwikiAutoMenuItemselected');}))=0A=
{inputElement.value=3Dmi.value;madeChange=3Dtrue;}=0A=
else=0A=
{itemcounter++;}}}}=0A=
if(event.keyCode=3D=3D9)=0A=
{var groupControls=3DLibraryThing.fwiki.controls[itemID].items;var =
max=3DgroupControls.length;for(var i=3D1;i<max;i++)=0A=
{var =
testelement=3DgroupControls[i-1].childNodes[0].childNodes[0];if(testeleme=
nt=3D=3DinputElement)=0A=
{if(i=3D=3D(max))=0A=
{groupControls[0].childNodes[0].childNodes[0].focus();}=0A=
else=0A=
{groupControls[i].childNodes[0].childNodes[0].focus();}}}}}=0A=
else if(event.keyCode=3D=3D40)=0A=
{var acmenu=3Dacmenus[itemID];if(acmenu)=0A=
{var =
max=3Dacmenu.childNodes.length-1;if(acmenu.currentSelection=3D=3Dnull)=0A=
{acmenu.currentSelection=3D0;acmenu.childNodes[acmenu.currentSelection].a=
ddClassName('fwikiAutoMenuItemselected');inputElement.value=3Dacmenu.chil=
dNodes[acmenu.currentSelection].value;inputElement.value=3DinputElement.v=
alue;}=0A=
else if(acmenu.currentSelection<max)=0A=
{acmenu.childNodes[acmenu.currentSelection].removeClassName('fwikiAutoMen=
uItemselected');acmenu.currentSelection++;acmenu.childNodes[acmenu.curren=
tSelection].addClassName('fwikiAutoMenuItemselected');inputElement.value=3D=
acmenu.childNodes[acmenu.currentSelection].value;inputElement.value=3Dinp=
utElement.value;}=0A=
else if(acmenu.currentSelection>=3Dmax)=0A=
{inputElement.value=3DinputElement.userValue;acmenu.childNodes[acmenu.cur=
rentSelection].removeClassName('fwikiAutoMenuItemselected');acmenu.curren=
tSelection=3Dnull;}=0A=
inputElement.changedByMenu=3Dtrue;}}=0A=
else if(event.keyCode=3D=3D38)=0A=
{var acmenu=3Dacmenus[itemID];if(acmenu)=0A=
{var menuItems=3Dacmenu.childElements();var =
max=3Dacmenu.childNodes.length-1;if(acmenu.currentSelection=3D=3Dnull)=0A=
{acmenu.currentSelection=3DmenuItems.length-1;acmenu.childNodes[acmenu.cu=
rrentSelection].addClassName('fwikiAutoMenuItemselected');inputElement.va=
lue=3Dacmenu.childNodes[acmenu.currentSelection].value;}=0A=
else if(acmenu.currentSelection>0)=0A=
{acmenu.childNodes[acmenu.currentSelection].removeClassName('fwikiAutoMen=
uItemselected');acmenu.currentSelection--;acmenu.childNodes[acmenu.curren=
tSelection].addClassName('fwikiAutoMenuItemselected');inputElement.value=3D=
acmenu.childNodes[acmenu.currentSelection].value;}=0A=
else=0A=
{inputElement.value=3DinputElement.userValue;acmenu.childNodes[acmenu.cur=
rentSelection].removeClassName('fwikiAutoMenuItemselected');acmenu.curren=
tSelection=3Dnull;}=0A=
inputElement.changedByMenu=3Dtrue;}}=0A=
else if(event.keyCode=3D=3D13)=0A=
{Event.stop(event);groupElement.LTsubmit();}=0A=
else =
if((event.keyCode!=3D16)&&(event.keyCode!=3D17)&&(event.keyCode!=3D18)&&(=
event.keyCode!=3D9)&&(event.keyCode!=3D37))=0A=
{inputElement.userValue=3DinputElement.value;inputElement.params['q']=3Di=
nputElement.value;}=0A=
if(madeChange)=0A=
{inputElement.changedByMenu=3Dtrue;destroyAutocompleteMenu(itemID);}}=0A=
function manageMenuLock(lock)=0A=
{if(!lock)=0A=
lock=3Dtrue;}=0A=
function destroyAutocompleteMenu(itemID)=0A=
{if(LibraryThing.fwiki.autocompleteMenus)=0A=
{if(LibraryThing.fwiki.autocompleteMenus[itemID])=0A=
{LibraryThing.fwiki.autocompleteMenus[itemID].parentNode.removeChild(Libr=
aryThing.fwiki.autocompleteMenus[itemID]);LibraryThing.fwiki.autocomplete=
Menus[itemID]=3Dnull;}}}=0A=
function getPosition(gp_obj)=0A=
{var gp_left=3D0;var gp_top=3D0;var =
blech;while(gp_obj.offsetParent){gp_left+=3Dgp_obj.offsetLeft;gp_top+=3Dg=
p_obj.offsetTop;gp_obj=3Dgp_obj.offsetParent;blech=3D'blech';}=0A=
gp_left+=3Dgp_obj.offsetLeft;gp_top+=3Dgp_obj.offsetTop;blech=3D'blech1';=
return{x:gp_left,y:gp_top};}=0A=
function fwikiRollBack(wiki_id,wikiversion_id,rollbackUIItem)=0A=
{var uid=3DLT_GetRandomID(32);var =
url=3D"/commonknowledge/ajax_rollBackFwikiItem.php";var =
params=3D{wiki_id:wiki_id,wikiversion_id:wikiversion_id,uniqueid:uid};var=
 =
rbitem=3D$(rollbackUIItem);rbitem.oInnerHTML=3Drbitem.innerHTML;rbitem.oS=
tyle=3Drbitem.style;rbitem.innerHTML=3D'working';var =
responseFunction=3Dfunction(t)=0A=
{if(t.responseText=3D=3D'\n1')=0A=
{rbitem.innerHTML=3D'saved';}=0A=
else=0A=
{rbitem.innerHTML=3Drbitem.oInnerHTML;}};basic_ajax(url,params,responseFu=
nction);return;}=0A=
function destroyAllACMenus(itemID)=0A=
{}=0A=
(function(){crc32=3Dfunction(str){str=3Dthis.utf8_encode(str);var =
table=3D"00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 =
9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 =
90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 =
83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 =
8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD =
A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF =
ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 =
B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB =
B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 =
E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 =
E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 =
F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 =
FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D =
D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F =
DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 =
CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B =
C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 =
73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 =
7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 =
6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 =
60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD =
48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF =
4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 =
5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B =
5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 =
05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 =
0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 =
18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 =
166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D =
3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F =
30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 =
23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B =
2D02EF8D";var crc=3D0;var x=3D0;var y=3D0;crc=3Dcrc^(-1);for(var =
i=3D0,iTop=3Dstr.length;i<iTop;i++){y=3D(crc^str.charCodeAt(i))&0xFF;x=3D=
"0x"+table.substr(y*9,8);crc=3D(crc>>>8)^x;}=0A=
return =
crc^(-1);};stripslashes=3Dfunction(str){return(str+'').replace(/\\(.?)/g,=
function(s,n1){switch(n1){case'\\':return'\\';case'0':return'\u0000';case=
'':return'';default:return =
n1;}});};utf8_encode=3Dfunction(argString){if(argString=3D=3D=3Dnull||typ=
eof argString=3D=3D=3D"undefined"){return"";}=0A=
var string=3D(argString+'');var =
utftext=3D"",start,end,stringl=3D0;start=3Dend=3D0;stringl=3Dstring.lengt=
h;for(var n=3D0;n<stringl;n++){var c1=3Dstring.charCodeAt(n);var =
enc=3Dnull;if(c1<128){end++;}else =
if(c1>127&&c1<2048){enc=3DString.fromCharCode((c1>>6)|192)+String.fromCha=
rCode((c1&63)|128);}else{enc=3DString.fromCharCode((c1>>12)|224)+String.f=
romCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}=0A=
if(enc!=3D=3Dnull){if(end>start){utftext+=3Dstring.slice(start,end);}=0A=
utftext+=3Denc;start=3Dend=3Dn+1;}}=0A=
if(end>start){utftext+=3Dstring.slice(start,stringl);}=0A=
return utftext;};})();function stripParenSuffix(text)=0A=
{if(text)=0A=
{var ppos=3Dtext.indexOf('(');if(ppos>0)=0A=
{text=3Dtext.substring(0,ppos);}=0A=
text=3Dtext.strip();}=0A=
return text;};function getParenSuffix(text)=0A=
{var matches;var regex=3D/\s*?\(.*?\)\s*?$/gi;var =
matches=3Dregex.exec(text);var =
match=3D'';if(matches&&matches!=3D=3D'undefined'){if(matches.length){matc=
h=3Dmatches[0];}}=0A=
var =
out=3Dmatch.replace(/^\s\s*\(/,'').replace(/\s\s*$/,'').replace(/\)$/,'')=
;return out;};function strpos(haystack,needle,offset){var =
i=3D(haystack+'').indexOf(needle,(offset||0));return =
i=3D=3D=3D-1?false:i;}=0A=
function checkURLForSchema(link){if(!link.match(/:/))=0A=
{if(strpos(link,'/')!=3D=3D0)=0A=
{link=3D'http://'+link;}}=0A=
return link;}=0A=
function searchBoxOnLoad()=0A=
{var sb=3D$('ltcksearchbox');if(sb)=0A=
{if(sb.value=3D=3DckSearchPlaceholder)=0A=
sb.style.color=3D'#999';sb.onfocus=3Dfunction(){if(sb.value=3D=3DckSearch=
Placeholder)sb.value=3D'';sb.style.color=3D'#222';}=0A=
sb.onblur=3Dfunction(){if(sb.value!=3D'')return;sb.style.color=3D'#999';s=
b.value=3DckSearchPlaceholder;}}}=0A=
function handleCKSearchMenu(e)=0A=
{var searchMenu=3D$('ltckSearchModeMenu');var =
searchmode=3DsearchMenu.value;LibraryThing.setCookie("fwiki:searchmode",s=
earchmode);}=0A=
function submitCKSearch()=0A=
{var searchForm=3D$('ltckSearchForm');var =
searchMenu=3D$('ltckSearchModeMenu');var =
searchbox=3D$('ltcksearchbox');var loc=3Ddocument.location;var =
searchmode=3DsearchMenu.value;var newloc;var sbval=3Dsearchbox.value;var =
uid=3DLT_GetRandomID(5);if((sbval!=3D'')&&(sbval!=3DckSearchPlaceholder))=0A=
{newloc=3D"/commonknowledge/search.php?";newloc+=3D'q=3D'+encodeURICompon=
ent(sbval);if((searchmode!=3D'All')&&(searchmode!=3D'All2')&&(searchmode!=
=3D'All3'))=0A=
{newloc+=3D"&f=3D"+searchmode;}=0A=
newloc+=3D'&uid=3D'+uid;var theDoc=3Ddocument;var =
myWin=3Dwindow;window.top.document.location=3Dnewloc;}}=0A=
function showHiddenfieldcontent(id)=0A=
{var =
linkid=3D'link_'+id;toggleShowHide(id,'block');toggleShowHide(linkid,'blo=
ck');}=0A=
function chooseCKlang(lang,id,wikiType,omitifemptyB)=0A=
{var url=3D'/ajax_chooseCKlang.php';var =
params=3D{'lang':lang,'id':id,'wikiType':wikiType,'omitifemptyB':omitifem=
ptyB};fancy_ajax_updater(url,params,'fwikiContainerTablediv');} =0A=
 /* 2003:minified:js2/collections.js */ =0A=
=0A=
LibraryThing=3DLibraryThing||{};var =
collections=3DLibraryThing.collections=3D{pickCollection:function(num,you=
rcatalog)=0A=
{if(yourcatalog)=0A=
{setCookie('collectionPick_change',num,true);}=0A=
else=0A=
{setCookie('collectionPickOthers_change',num,true);}=0A=
var lllx=3Dwindow.location;var url=3Dlocation.pathname;var =
qp=3Dlllx.search.toQueryParams();delete(qp.collection);var =
qps=3DObject.toQueryString(qp);window.location=3Dlllx.pathname+'?'+qps;},=
manage:function()=0A=
{var url=3D'/ajax_editCollections.php';var callbackParams=3D{};var =
params=3D{v:1.0,height:455,width:350,callbackSuccess:'collections.updateU=
I',callbackParams:callbackParams,modal:true,absolute:0,content_class:'col=
lectionsLB_content'}=0A=
LibraryThing.lightbox.ajax(url,params);},handleCollectionsSelector:functi=
on(e,formid)=0A=
{e=3DvalidateEvent(e);var blech=3D0;var menu=3De.target;var =
selectedIndex=3Dmenu.selectedIndex;var =
selectedItem=3Dmenu.options[selectedIndex];var =
collection=3DselectedItem.value;this.pickCollection(collection);},handleM=
enu:function(e,formid)=0A=
{e=3DvalidateEvent(e);var blech=3D0;var menu=3De.target;var =
selectedIndex=3Dmenu.selectedIndex;var =
menuLength=3Dmenu.childNodes.length;},updateUI:function()=0A=
{window.location.reload();return;},addMore:function(formid,addid)=0A=
{var formEl=3D$(formid);var uid=3DLT_GetRandomID(32);var =
url=3D"/ajax_collections_simple_menu.php";var =
prevItem=3D$(addid).up();var params=3D{formid:formid};var =
responseFunction=3Dfunction(t)=0A=
{if(t.responseText!=3D'0')=0A=
{var form=3D$(formid);var plus=3D$(addid).remove();var =
md=3Ddocument.createElement('div');md.innerHTML=3Dt.responseText;md.appen=
dChild(plus);form.appendChild(md);var anchorid=3DLT_GetRandomID(8);var =
spanid=3DLT_GetRandomID(8);var =
addremove=3Ddocument.createElement('span');addremove.id=3Dspanid;addremov=
e.className=3D'collectionAddremove';addremove.innerHTML=3D'('+"<a =
id=3D\""+anchorid+"\" =
href=3D\"javascript:collections.removeItem('"+formid+"', =
'"+spanid+"');\">remove</a>"+')';prevItem.appendChild(addremove);}};basic=
_ajax(url,params,responseFunction);},removeItem:function(formid,removeid)=0A=
{var =
item=3D$(removeid).up();$(item).remove();},updateCollectionTitle:function=
(inputid,c_id)=0A=
{var nameEl=3D$('collname_'+c_id);var inputEl=3D$(inputid);var =
newname=3DinputEl.value;if(newname!=3D'')=0A=
{nameEl.innerHTML=3Dnewname;}},editPanelToggle:function(c_id)=0A=
{var maindivid=3D'colldiv_'+c_id;var editid=3D'colEditBox_'+c_id;var =
edit=3D$(editid);var pencilid=3D'pencil_'+c_id;var =
pencil=3D$(pencilid);var maindiv=3D$(maindivid);var =
divot=3D$('divot_'+c_id);if(maindiv.ondblclick)=0A=
{maindiv.ondblclick=3D'';}=0A=
else=0A=
{maindiv.ondblclick=3Dfunction(){LibraryThing.collections.editPanelToggle=
(c_id);}}=0A=
if(pencil)=0A=
{$(pencilid).toggle();}=0A=
edit.toggle();if(edit.visible())=0A=
{$('name_'+c_id).activate();divot.innerHTML=3D'&#9662;';}=0A=
else=0A=
{divot.innerHTML=3D'&#9656;';}=0A=
return false;},closeCollectionPanel:function(c_id)=0A=
{var nameEl=3D$('collname_'+c_id);var inputEl=3D$('name_'+c_id);var =
newname=3DinputEl.value;if(newname=3D=3D'')=0A=
{new =
Effect.Highlight(nameField,{startcolor:'#ff9999',endcolor:'#fffffff'});re=
turn;}=0A=
else=0A=
{this.editPanelToggle(c_id);}},create:function(container,putOnTop)=0A=
{var url=3D'/ajax_collectionCreate.php';var params=3D{};var =
responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r!=3D'0')=0A=
{var co=3D$(container);var =
d=3Ddocument.createElement('div');d.innerHTML=3Dr;var =
inn=3D$(d).firstDescendant();if(putOnTop)=0A=
{var firstChild=3Dco.firstDescendant();co.insertBefore(inn,firstChild);}=0A=
else=0A=
{co.appendChild(inn);}=0A=
Position.includeScrollOffsets=3Dtrue;LibraryThing.collections.editSortabl=
e=3DSortable.create(container,{tag:'div'});var =
collectiondivs=3Ddocument.getElementsByClassName('collectionsCollectionDI=
V');var collectiondivid=3Dcollectiondivs[0].id;regex=3D/-?\d+/i;var =
c_id=3Dregex.exec(collectiondivid);LibraryThing.collections.editPanelTogg=
le(c_id);var namefield=3D$('name_'+c_id);namefield.activate();var =
button=3D$('addnewcollectionButton');if(button)=0A=
{button.toggleClassName('ltbtn-disabled');}}}=0A=
var button=3D$('addnewcollectionButton');if(button)=0A=
{button.toggleClassName('ltbtn-disabled');}=0A=
basic_ajax(url,params,responseFunction);},ignoreReturnKey:function(e,inpu=
t){input.focus;var key=3De.keyCode;if(key=3D=3D13){Event.stop(e);return =
false;};return true;},deleteCollection:function(c_id)=0A=
{var confirmed=3Dfalse;if(c_id<-5000)=0A=
{confirmed=3Dtrue;}=0A=
else=0A=
{confirmed=3Dconfirm('Are you sure you want to permanently delete this =
collection?\n\nBooks will be removed from the collection but remain in =
your account.');}=0A=
if(confirmed)=0A=
{var removeIt=3Dfunction()=0A=
{var collDiv=3D$('colldiv_'+c_id);if(collDiv)=0A=
{collDiv.remove();}}=0A=
var responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r!=3D'0')=0A=
{removeIt();}}=0A=
if(c_id<-5000)=0A=
{removeIt();return;}=0A=
var url=3D'/ajax_collectionDelete.php';var =
params=3D{c_id:c_id};basic_ajax(url,params,responseFunction);}},saveOrder=
:function()=0A=
{var collectionInfo=3D[];var settings=3D[];var index;var =
c_ids=3DSortable.sequence('manageCollectionsContainer');var =
cidcount=3Dc_ids.length;for(index=3D0;index<cidcount;index++)=0A=
{var c_id=3Dc_ids[index];var recommend=3D1;var priv=3D0;var =
include=3D1;var hide=3D0;var nameField=3D$('name_'+c_id);if(nameField)=0A=
{var newname=3DnameField.value;if(newname=3D=3D'')=0A=
{this.editPanelToggle(c_id);new =
Effect.Highlight(nameField,{startcolor:'#ff9999',endcolor:'#fffffff'});re=
turn;}}=0A=
var recommendField=3D$('recommend_'+c_id);if(recommendField)=0A=
{recommend=3D(recommendField.checked)?1:0;}=0A=
var privateField=3D$('private_'+c_id);if(privateField)=0A=
{priv=3D(privateField.checked)?1:0;}=0A=
var includeField=3D$('include_'+c_id);if(includeField)=0A=
{include=3D(includeField.checked)?1:0;}=0A=
var hideField=3D$('hide_'+c_id);if(hideField)=0A=
{hide=3D(hideField.checked)?0:1;}=0A=
settings[index]=3D{};settings[index].c_id=3Dc_id;settings[index].cn_name=3D=
newname;settings[index].c_hide=3Dhide;settings[index].c_include=3Dinclude=
;settings[index].c_recommend=3Drecommend;settings[index].c_private=3Dpriv=
;}=0A=
var params=3D{data:(Object.toJSON(settings))};var =
url=3D'/ajax_collectionsSaveOrder.php';var responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r!=3D'0')=0A=
{LibraryThing.lightbox.off(true);LibraryThing.collections.updateUI();}=0A=
else=0A=
{}}=0A=
var saveButton=3D$('collectionManagerSaveButton');var =
cancelButton=3D$('collectionManagerCancelButton');if(saveButton){saveButt=
on.addClassName('ltbtn-disabled');}=0A=
if(cancelButton){cancelButton.addClassName('ltbtn-disabled');}=0A=
basic_ajax(url,params,responseFunction);},saveCollectionInfo:function(c_i=
d)=0A=
{var url=3D'/ajax_collectionSaveCollectionInfo.php';var =
editid=3D'colEditBox_'+c_id;var form=3D$('editCollForm_'+c_id);var =
nameField=3Dform['name_'+c_id];if(nameField)=0A=
{var newname=3DnameField.value;if(newname=3D=3D'')=0A=
{new =
Effect.Highlight(nameField,{startcolor:'#ff9999',endcolor:'#fffffff'});re=
turn;}}=0A=
var recommendField=3Dform['recommend_'+c_id];if(recommendField)=0A=
{var rcheck=3DrecommendField.checked;var recommend=3D0;if(rcheck)=0A=
{recommend=3D1;}}=0A=
var hideField=3Dform['hide_'+c_id];if(hideField)=0A=
{var hcheck=3DhideField.checked;var hide=3D0;if(hcheck)=0A=
{hide=3D1;}}=0A=
var responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(1)=0A=
{var nameLine=3D$('collname_'+c_id);nameLine.innerHTML=3Dnewname;}=0A=
else=0A=
{}}=0A=
var =
params=3D{c_id:c_id,c_name:newname,c_hide:hide,c_recommend:recommend};var=
 pencil=3D$('pencil_'+c_id);if(pencil)=0A=
{Effect.toggle('pencil_'+c_id);}=0A=
Effect.toggle(editid,'blind',{duration:0.5});basic_ajax(url,params,respon=
seFunction);},toggleBook:function(bookid,inputEl)=0A=
{var c_id;var checked=3Dfalse;if(inputEl)=0A=
{$(inputEl).disable();checked=3DinputEl.checked;c_id=3DinputEl.readAttrib=
ute('c_id');}=0A=
if(checked)=0A=
{var onOff=3D1;}=0A=
else=0A=
{var onOff=3D0;}=0A=
var url=3D'/ajax_collectionsToggleBook.php';var =
params=3D{bookid:bookid,c_id:c_id,onOff:onOff};var =
responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r=3D=3D'0')=0A=
{inputEl.checked=3D!checked;}=0A=
else=0A=
{}};if(inputEl)=0A=
{$(inputEl).enable();}=0A=
basic_ajax(url,params,responseFunction);},addBookToLibrary:function(booki=
d,buttonid,container,collMenuID)=0A=
{var =
button=3D$(buttonid);if(button){button.addClassName('ltbtn-disabled');}=0A=
var menuitemid=3D$(collMenuID).select('[c_id=3D"1"]')[0].id;var =
blech=3D0;this.toggleBookForCollectionFromMenu(bookid,1,container,menuite=
mid);button.hide();},toggleBookForCollection:function(bookid,c_id,onOff)=0A=
{var url=3D'/ajax_collectionsToggleBook.php';var ooVal=3D(onOff)?1:0;var =
params=3D{bookid:bookid,c_id:c_id,onOff:ooVal};var =
responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r=3D=3D'0')=0A=
{return false;}=0A=
else=0A=
{return =
true;}};basic_ajax(url,params,responseFunction);},toggleBookForCollection=
FromMenu:function(bookid,c_id,container,menuitemid)=0A=
{var menuitem=3D$(menuitemid);var toolpad=3Dmenuitem.up().up();var =
tdel=3D$(container);if(tdel){var =
collectionUI_type=3Dtdel.readAttribute('lt_collectionui_type');}=0A=
if(menuitem){if(menuitem.hasClassName('menuBuilderMenuItemDisabled')){ret=
urn;}}=0A=
if(c_id=3D=3D2)=0A=
{var cancel_crdetails=3Dfunction(bookID){};var =
happyending_crdetails=3Dfunction(bookid){};LibraryThing.lightbox.ajax('/a=
jax_cr_details.php',{height:300,width:370,modal:true,ajaxparams:{bookid:b=
ookid,buttonid:'currentlyReadingButton'+bookid,lightboxed:true}});return;=
}=0A=
var url=3D'/ajax_collectionsToggleBook.php';var =
addRemove=3D(menuitem.hasClassName('menuBuilderMenuItemSelected'))?0:1;va=
r =
params=3D{bookid:bookid,c_id:c_id,addRemove:addRemove,returnUI:1,containe=
rID:container,collectionUI_type:collectionUI_type,excludeContainer:1};var=
 responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r=3D=3D'0')=0A=
{}=0A=
else=0A=
{if(tdel){tdel.toggleClassName('ipeSaving');tdel.innerHTML=3Dr;r.evalScri=
pts();new =
Effect.Highlight(container,{startcolor:'#ffff99',endcolor:'#F6F6F6'});}=0A=
if(toolpad){}=0A=
if(menuitem){menuitem.toggleClassName('menuBuilderMenuItemSelected');var =
selectedItems=3Dmenuitem.parentNode.select('.menuBuilderMenuItemSelected'=
);if(selectedItems.length=3D=3D=3D1)=0A=
{var =
lastItem=3DselectedItems[0];lastItem.addClassName('menuBuilderMenuItemDis=
abled');}=0A=
else=0A=
{selectedItems.each(function(uitem){uitem.removeClassName('menuBuilderMen=
uItemDisabled');});}}}};if(toolpad){if(!toolpad.hasClassName('noHighlight=
')){new =
Effect.Highlight(toolpad,{startcolor:'#F7EDA5',endcolor:'#FFF8EB',restore=
color:'#FFF8EB'});}}=0A=
if(tdel)=0A=
{tdel.toggleClassName('ipeSaving');}=0A=
basic_ajax(url,params,responseFunction);},hiliteClickedMenuItem:function(=
){},updateCollectionListing:function(container,book,collectionUI_type){va=
r c=3D$(container);var url=3D'/ajax_collections_buildUI.php';var =
params=3D{containerID:container,collectionUI_bookid:book,collectionUI_typ=
e:collectionUI_type};var response=3Dfunction(t){var =
rt=3Dt.responseText;if(rt!=3D=3D"0")=0A=
{c.innerHTML=3Drt;}};basic_ajax(url,params,response);},handleCollectionSe=
lection:function(formid,elid,errorboxid)=0A=
{var button=3D$(elid);var inputEl=3Dbutton;var form=3D$(formid);var =
errorbox=3D$(errorboxid);var =
collections;collections=3Dform.getInputs('checkbox','books_collections[]'=
);var c_id=3Dbutton.readAttribute('c_id');var =
somethingSelected=3Dfalse;var selectedCount=3D0;var =
selectedCookies=3D$H();collections.each(function(v,key){if(v.checked)=0A=
{selectedCount++;}});if(!selectedCount)=0A=
{errorbox.show();}=0A=
else=0A=
{errorbox.hide();}=0A=
return;},openCatalogCollectionsMenu:function(e)=0A=
{var menuButton=3D$('collNavMenuContainer');var =
menu=3D$('collNavMenu');if(typeof closetagbox=3D=3D'function')=0A=
{closetagbox();}=0A=
menu.toggle();var cl=3D$('collContainerLeft');var =
cr=3D$('collContainerRight');var mbw=3DmenuButton.clientWidth;var =
mw=3Dmenu.clientWidth;Event.stop(e);Event.observe(document.body,'click',f=
unction(event){LibraryThing.collections.closeCatalogCollectionsMenu(event=
);});},updateCollectionListForDiv:function(cdiv,book,type){var =
di=3D$(cdiv);if(di!=3Dundefined)=0A=
{var url=3D'/ajax_collections_listbuilder.php';var =
params=3D{book:book};}},closeCatalogCollectionsMenu:function(e)=0A=
{var menu=3D$('collNavMenu');var cl=3D$('collContainerLeft');var =
cr=3D$('collContainerRight');menu.hide();Event.stopObserving(document.bod=
y,'click');},initCollectionPickerMenu:function()=0A=
{Event.observe(window,'load',function(){LibraryThing.collections.handleRo=
lloversForIE();});},handleRolloversForIE:function()=0A=
{var agt=3Dnavigator.userAgent.toLowerCase();var =
msie=3Dagt.indexOf("msie");if((msie!=3D-1)&&(agt.indexOf("opera")=3D=3D-1=
))=0A=
{var menu=3D$('collNavMenu');var =
menuButton=3D$('collNavMenuContainer');var =
mbh=3DmenuButton.clientHeight;var mbl=3DmenuButton.offsetLeft;var =
cnl=3Dmenu.childNodes.length;for(i=3D0;i<cnl;i++)=0A=
{node=3D$(menu.childNodes[i]);if(!node.hasClassName('menuSeparator'))=0A=
{node.onmouseover=3Dfunction(){this.toggleClassName('over');}=0A=
node.onmouseout=3Dfunction(){this.toggleClassName('over');}}}}},handleCur=
rentlyReadingButton:function(workid,bookid,buttonid)=0A=
{var onOff=3D1;var button=3D$(buttonid);onOff=3Dbutton.checked;var =
url=3D'/ajax_cr_handleDetails.php';var =
params=3D{bookid:bookid,ureading:onOff,easyClick:1};var =
responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r=3D=3D'-1')=0A=
{}=0A=
if(r=3D=3D'1')=0A=
{button.checked=3Dtrue;var =
contentEls=3Dbutton.getElementsByClassName('ltbtn-button-base-content');v=
ar contents=3DcontentEls[0];var catrow=3D$('catrow_'+bookid);if(catrow)=0A=
{var cmenu=3Dcatrow.select('.toolpad.menuBuilderMenu')[0];var =
cmenuitem=3Dcmenu.select('[c_id=3D2]');}}=0A=
else=0A=
{button.checked=3Dfalse;var =
contentEls=3Dbutton.getElementsByClassName('ltbtn-button-base-content');v=
ar contents=3DcontentEls[0];}=0A=
button.enable();button.onclick=3Dbutton.onclickOrig;};button.toggleClassN=
ame('ltbtn-disabled');button.onclickOrig=3Dbutton.onclick;button.onclick=3D=
function(){};basic_ajax(url,params,responseFunction);},handleCurrentlyRea=
dingDetails:function(bookid,buttonid,formid)=0A=
{var form=3D$(formid);var ustart;var uend;var upage;var ustatus;var =
ureading;var upage;var button=3D$(buttonid);var =
temp;temp=3Dform.getInputs('checkbox','userreading');ureading=3D(temp[0].=
checked)?1:0;temp=3Dform.getInputs('text','userstart');ustart=3Dtemp[0].v=
alue;temp=3Dform.getInputs('text','userend');uend=3Dtemp[0].value;var =
url=3D'/ajax_cr_handleDetails.php';var =
params=3D{bookid:bookid,ustart:ustart,uend:uend,ureading:ureading,ustatus=
:ustatus,upage:upage,easyClick:0};var responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r=3D=3D'-1')=0A=
{}=0A=
else if(r.isJSON())=0A=
{var d=3Dr.evalJSON();if(d)=0A=
{var ds=3Dd.datestart?d.datestart:'';var de=3Dd.dateend?d.dateend:'';var =
startedTD=3D$('crstarted'+bookid);var =
finishedTD=3D$('crfinished'+bookid);button=3D$('currentlyReadingButton'+b=
ookid);workpageButton=3D$('currentlyReadingButton');if(startedTD&&(starte=
dTD!=3D=3D'undefined')){startedTD.innerHTML=3Dds;}=0A=
if(finishedTD&&(finishedTD!=3D=3D'undefined')){finishedTD.innerHTML=3Dde;=
}=0A=
if(button&&(button!=3D=3D'undefined')){if(d.cr_readingflag=3D=3D=3D'1'){b=
utton.checked=3Dtrue;}=0A=
else{button.checked=3Dfalse;}=0A=
button.enable();}=0A=
if(workpageButton&&(workpageButton!=3D=3D'undefined'))=0A=
{if(d.cr_readingflag=3D=3D=3D'1'){workpageButton.addClassName('ltbtn-sele=
cted');}=0A=
else{workpageButton.removeClassName('ltbtn-selected');}=0A=
if(workpageButton.onclickOrig){workpageButton.onclick=3DworkpageButton.on=
clickOrig;}=0A=
workpageButton.removeClassName('ltbtn-disabled');}=0A=
var catrow=3D$('catrow_'+bookid);if(catrow)=0A=
{var tools=3Dcatrow.select('.tools');var =
cmenus=3Dtools[0].select('.menuBuilderMenu');var =
cmenuitem=3Dcmenus[0].select('[c_id=3D2]');var =
menuitem=3Dcmenuitem[0];if(menuitem)=0A=
{if(d.cr_readingflag=3D=3D=3D'1')=0A=
{menuitem.addClassName('menuBuilderMenuItemSelected');var =
selectedItems=3Dmenuitem.parentNode.select('.menuBuilderMenuItemSelected'=
);if(selectedItems.length=3D=3D=3D1)=0A=
{var =
lastItem=3DselectedItems[0];lastItem.toggleClassName('menuBuilderMenuItem=
Disabled');lastItem.disabledOnclick=3DlastItem.onclick;lastItem.onclick=3D=
'';}=0A=
else=0A=
{menuitem.parentNode.select('.menuBuilderMenuItemDisabled').each(function=
(uitem){if(uitem.disabledOnclick){uitem.setAttribute('onclick',uitem.disa=
bledOnclick);uitem.blech=3D'blech';}=0A=
else{uitem.onclick=3Duitem.readAttribute('disabledOnclick');}=0A=
uitem.toggleClassName('menuBuilderMenuItemDisabled');});}}=0A=
else=0A=
{cmenuitem[0].removeClassName('menuBuilderMenuItemSelected');}}}=0A=
var =
spans=3D$$('td#collections'+bookid);spans.each(function(s){LibraryThing.c=
ollections.getCollectionListForBook(s,bookid);});}}=0A=
LibraryThing.menuBuilder.closeMenu(null,form.up().id);};basic_ajax(url,pa=
rams,responseFunction);},getCollectionListForBook:function(td,bookid)=0A=
{var =
url=3D'/ajax_collections_listForBook.php';td.innerHTML=3D'Updating...';va=
r params=3D{bookid:bookid,includePause:true};var =
handleResponse=3Dfunction(t)=0A=
{var =
rt=3Dt.responseText;td.innerHTML=3Drt;};basic_ajax(url,params,handleRespo=
nse);},handleEditionAddButton:function(workid,bookid,buttonid,addTo,useMo=
stPopular)=0A=
{var onOff=3D1;var =
button=3D$(buttonid);if(button.hasClassName('ltbtn-selected'))=0A=
{onOff=3D0;}=0A=
var url=3D'/ajax_pickEdition.php';if(useMostPopular)=0A=
{}=0A=
var callbackParams=3D{};var =
params=3D{height:550,width:400,callbackParams:callbackParams,modal:false,=
absolute:0,content_class:'editionPicker',work:workid,ajaxparams:{work:wor=
kid,addTo:addTo,buttonid:buttonid}}=0A=
LibraryThing.lightbox.ajax(url,params);},addItemTo:function(editionInfo,a=
ddTo,buttonid)=0A=
{var ed=3DeditionInfo.evalJSON();var button=3D$(buttonid);var =
success=3D1;button.toggleClassName('ltbtn-disabled');button.onclickOrig=3D=
button.onclick;button.onclick=3Dfunction(){};LibraryThing.lightbox.off();=
var url=3D'/addbook_usingExisting.php';var =
params=3D{bookdata:editionInfo};var responseFunction=3Dfunction(t)=0A=
{var r=3Dt.responseText;if(r=3D=3D'1')=0A=
{button.toggleClassName('ltbtn-selected');var =
contentEls=3Dbutton.getElementsByClassName('ltbtn-content');var =
contents=3DcontentEls[0];if(onOff)=0A=
{}=0A=
else=0A=
{}}=0A=
button.toggleClassName('ltbtn-disabled');button.onclick=3Dbutton.onclickO=
rig;};basic_ajax(url,params,responseFunction);}};collections.recentlyAdde=
dMakeDirty=3Dfunction(bookid,formid,errorboxid){var =
button=3D$('recentlyAddedSaveCollectionsButton'+bookid);if(button&&(butto=
n!=3D=3D'undefined')){LibraryThing.menuBuilder.enableButton(button);var =
form=3D$(formid);if(form&&(form!=3D=3D'undefined'))=0A=
{var errorbox=3D$(errorboxid);if(errorbox&&(errorbox!=3D=3D'undefined'))=0A=
{var =
collections=3Dform.getInputs('checkbox','books_collections[]');if(collect=
ions)=0A=
{var somethingSelected=3Dfalse;var =
selectedCount=3D0;collections.each(function(v,key){if(v.checked)=0A=
{selectedCount++;}});if(!selectedCount)=0A=
{errorbox.show();LibraryThing.menuBuilder.disableButton(button);}=0A=
else=0A=
{errorbox.hide();}}}}}};collections.saveRecentlyReadingCollections=3Dfunc=
tion(bookid){var =
button=3D$('recentlyAddedSaveCollectionsButton'+bookid);if(button&&(butto=
n!=3D=3D'undefined')){if(button.hasClassName('ltbtn-disabled'))=0A=
{return;}=0A=
var form=3D$('recentlyAddedCollectionsForm'+bookid);if(form)=0A=
{var url=3D'ajax_saveCollectionsForRecentlyAdded.php';var =
params=3D$(form).serialize(true);var response=3Dfunction(t){var =
r=3Dt.responseText;if(r!=3D=3D'0')=0A=
{LibraryThing.menuBuilder.disableButton(button);Effect.highlight(form);}=0A=
else=0A=
{alert('Error: could not save =
collections');}};basic_ajax(url,params,response);}}};collections.currentl=
yReading=3D{};collections.currentlyReading.handleStarted=3Dfunction(elID)=
{};collections.currentlyReading.handleEnded=3Dfunction(elID){};collection=
s.currentlyReading.handleCRButton=3Dfunction(elID){var =
us=3D$('userstart');var ue=3D$('userend');var =
button=3D$(elID);if(button.checked){if(!us.value){us.setValue('today');ne=
w Effect.Highlight(us,{startcolor:'#ffff99',endcolor:'#fffffff'});}}=0A=
else{if(us.value&&(us.value!=3D'today')&&!ue.value){ue.setValue('today');=
new =
Effect.Highlight(ue,{startcolor:'#ffff99',endcolor:'#fffffff'});}}};colle=
ctions.currentlyReading.togglePrevious=3Dfunction(bookid){var =
cpdiv=3D$('crprevArea');var =
cpb=3D$('previousReadingsButton');cpdiv.toggle();cpb.toggleClassName('ltb=
tn-selected');};collections.currentlyReading.openCRLightbox=3Dfunction(bo=
okid,crparams){var =
params=3D{height:300,width:370,modal:true,ajaxparams:{bookid:bookid,butto=
nid:'currentlyReadingButton'+bookid,lightboxed:true}};$H(crparams).each(f=
unction(pair){params[pair.key]=3Dpair.value;});LibraryThing.lightbox.ajax=
('/ajax_cr_details.php',params);};collections.currentlyReading.cancelLigh=
tbox=3Dfunction(bookid){LibraryThing.lightbox.off(false);var =
button=3D$('currentlyReadingButton'+bookid);if(button&&(button!=3D=3D'und=
efined')){button.enable();}};function toggleItem(itemID)=0A=
{var item=3D$(itemID);var showControl=3D$('collsa_'+itemID);var =
anchor=3DshowControl.select('.ltbtn-body');if(!item.visible()){anchor[0].=
innerHTML=3D'hide extra';Effect.BlindDown(item,{duration:0.5});}=0A=
else{anchor[0].innerHTML=3D'show =
all';Effect.BlindUp(item,{duration:0.5});}=0A=
return;}=0A=
function tbfcfm(bookid,c_id,container,menuitemid)=0A=
{LibraryThing.collections.toggleBookForCollectionFromMenu(bookid,c_id,con=
tainer,menuitemid);} =0A=
 /* 2003:minified:js2/tagedit.js */ =0A=
=0A=
var openword=3D-1;function tp(id)=0A=
{var url=3D'/link.php?t=3Dt&v=3D'+id;gotoaURL(url);}=0A=
function tedit(id)=0A=
{var url=3D'/ajax_tags_edit.php?tagnum=3D'+id;var =
params=3D{callbackReady:'lightboxReady',height:250,width:600,h:250,w:600}=0A=
LibraryThing.lightbox.ajax(url,params);}=0A=
function lightboxReady()=0A=
{$('tageditinput').focus();}=0A=
function tagSaved()=0A=
{$('loading').style.display=3D'none';}=0A=
function tagedit_expand()=0A=
{var LT_LB=3D$('LT_LB');}=0A=
function tedit_close()=0A=
{LibraryThing.lightbox.off();}=0A=
function savetagedit(collectionB)=0A=
{var serialized=3D$('tagedit').serialize();if(collectionB){var =
url=3D'ajax_collections_edit_submit.php?'+serialized;}=0A=
else{var url=3D'ajax_tags_edit_submit.php?'+serialized;}=0A=
var params=3D{callbackReady:'tagSaved'}=0A=
basic_ajax_updater(url,params,'columns');LibraryThing.lightbox.off();dimc=
olumns();$('loading').style.display=3D'block';return false;}=0A=
function leavetagarea()=0A=
{setTimeout("closetagbox();",15000);}=0A=
function closetagbox()=0A=
{clearTimeout(null);if(openword!=3D=3D-1)=0A=
{var tid=3Dopenword;if(document.getElementById(tid)!=3Dnull)=0A=
{$(tid).className=3D'tag closed';}}}=0A=
function te(id)=0A=
{var tid=3D't'+id;$(tid).className=3D'tag closed';}=0A=
function dimcolumns()=0A=
{$('tagtable').className=3D$('tagtable').className+' dim';}=0A=
function changecolumncount()=0A=
{var =
columncount=3D$('columncount').value;LibraryThing.setCookie('tags_columnc=
ount',columncount);loadcolumns(null,null);}=0A=
function organize_changeColumnSize(val,name)=0A=
{LibraryThing.setCookie('tags_columnsize',val);$('columns').className=3D'=
column_size'+val;loadcolumns(null,null);var =
menu=3D$('pb_org_size_menu');var =
menuItems=3Dmenu.select('a');menuItems.each(function(item){item.removeCla=
ssName('menuBuilderMenuItemSelected');});$('organize_changeColumnSize_'+v=
al).addClassName('menuBuilderMenuItemSelected');$('organize_colsize_body'=
).innerHTML=3Dname;}=0A=
function =
organize_changeColumnCount(val){LibraryThing.setCookie('tags_columncount'=
,val);loadcolumns(null,null);var menu=3D$('pb_org_count_menu');var =
menuItems=3Dmenu.select('a');menuItems.each(function(item){item.removeCla=
ssName('menuBuilderMenuItemSelected');});$('organize_changeColumnCount_'+=
val).addClassName('menuBuilderMenuItemSelected');$('organize_colcount_bod=
y').innerHTML=3Dval;}=0A=
function loadcolumns(type,downacross)=0A=
{var classn=3D'ltbtn-selected';if(type!=3Dnull)=0A=
{LibraryThing.setCookie('tagsort',type);var =
alpha=3D$('organize_order_alpha');var =
freq=3D$('organize_order_freq');try{if(type=3D=3D=3D0){alpha.addClassName=
(classn);freq.removeClassName(classn);}=0A=
else{alpha.removeClassName(classn);freq.addClassName(classn);}}=0A=
catch(e){}}=0A=
if(downacross!=3Dnull)=0A=
{LibraryThing.setCookie('tags_downacross',downacross);var =
down=3D$('organize_dir_down');var =
across=3D$('organize_dir_across');try{if(downacross=3D=3D=3D0){down.addCl=
assName(classn);across.removeClassName(classn);}=0A=
else{down.removeClassName(classn);across.addClassName(classn);}}=0A=
catch(e){}}=0A=
dimcolumns();$('loading').style.display=3D'block';url=3D'/ajaxinc_tag_col=
umns.php?viewnum=3D'+usernum;basic_ajax_updater(url,null,'columns');} =0A=
 /* 2003:minified:js2/book.js */ =0A=
=0A=
var book_editItems=3Dnew Array();var book_formItems=3Dnew Array();var =
book_selectedTab=3DcookieVal('bookDetailsTab')?cookieVal('bookDetailsTab'=
):2;var commonRoles=3Dnew Object();var pcount;var =
book_startInEditMode=3D0;var canSubmit=3Dtrue;var saveButton1;var =
saveButton2;var readFromMaster=3D0;var isNewManualBook=3Dfalse;if(typeof =
mmlog=3D=3D=3D'undefined')=0A=
{mmlog=3Dfunction(){};}=0A=
Event.observe(window,'load',getBasePersonCount);function =
book_selectBookTab(tabNum)=0A=
{book_selectBookTabSilent(tabNum);loadBookInformationBlock();}=0A=
function book_selectBookTabSilent(tabNum)=0A=
{book_selectedTab=3DtabNum;document.cookie=3D'bookDetailsTab=3D'+tabNum+"=
;expires=3D"+expireDate.toGMTString()+';path=3D/';}=0A=
function loadBookEditBlock()=0A=
{var progressSpinner=3D$('tabspinner');if(progressSpinner)=0A=
{$('tabspinner').style.display=3D'block';}=0A=
var url=3D'/ajax_bookInformationBlock.php';var =
bib_containerID=3D'book_editForm';var =
pcontainer=3D$('book_editForm');var uid=3DLT_GetRandomID(8);var =
showalltabsFlag=3D0;if(book_book&&book_work)=0A=
{showalltabsFlag=3D1;}=0A=
var =
params=3D{book_startInEditMode:1,selectedTab:book_selectedTab,container:b=
ib_containerID,work:book_work,book:book_book,showalltabs:showalltabsFlag,=
readFromMaster:readFromMaster,uid:uid};var =
contentArea=3D$('book_bookBitContent');var =
contentTable=3D$('book_bookInformationTable');if(contentTable)=0A=
{contentTable.style.opacity=3D0.3;contentTable.style.filter=3D'alpha(opac=
ity=3D'+30+')';}=0A=
var loadSuccessFunction=3Dfunction(t){if(t.responseText!=3D'')=0A=
{var =
fcontainer=3D$('book_editForm');fcontainer.innerHTML=3Dt.responseText;var=
 personItems=3Dfcontainer.getElementsByClassName('bookPersonName');var =
pis=3DpersonItems.length;setBasePersonCount(pis);registerEditFields();}};=
basic_ajax(url,params,loadSuccessFunction);readFromMaster=3D0;}=0A=
function loadBookInformationBlock()=0A=
{var progressSpinner=3D$('tabspinner');if(progressSpinner)=0A=
{$('tabspinner').style.display=3D'block';}=0A=
var url=3D'/ajax_bookInformationBlock.php';var =
bib_containerID=3D'book_editForm';var =
pcontainer=3D$('book_editForm');var uid=3DLT_GetRandomID(8);var =
showalltabsFlag=3D0;if(book_book&&book_work)=0A=
{showalltabsFlag=3D1;}=0A=
var =
params=3D{book_startInEditMode:0,selectedTab:book_selectedTab,container:b=
ib_containerID,work:book_work,book:book_book,showalltabs:showalltabsFlag,=
readFromMaster:readFromMaster,uid:uid};var =
contentArea=3D$('book_bookBitContent');var =
contentTable=3D$('book_bookInformationTable');if(contentTable)=0A=
{contentTable.style.opacity=3D0.3;contentTable.style.filter=3D'alpha(opac=
ity=3D'+30+')';}=0A=
var loadSuccessFunction=3Dfunction(t){if(t.responseText!=3D'')=0A=
{var =
fcontainer=3D$('book_editForm');fcontainer.innerHTML=3Dt.responseText;}};=
basic_ajax(url,params,loadSuccessFunction);readFromMaster=3D0;}=0A=
function book_fwikiEditPencil(clickedObject,off)=0A=
{}=0A=
function remove_XS_whitespace(text)=0A=
{text=3Dtext.replace(/\r/g," ");text=3Dtext.replace(/ +/g," =
");text=3Dtext.replace(/^\s+/g,"");text=3Dtext.replace(/\s+$/g,"");if(tex=
t=3D=3D' '){text=3D''};return text;}=0A=
function book_getValueForObject(obj,term)=0A=
{if(obj=3D=3Dnull){return null;}=0A=
var returnValue=3D'';var =
hasInnerText=3D(document.getElementsByTagName("body")[0].innerText!=3Dund=
efined)?true:false;if(hasInnerText&&obj&&(obj.className=3D=3D'hidden')&&!=
term)=0A=
{obj.className=3D'visible';returnValue=3Dbook_getValueForObject(obj,true)=
;obj.className=3D'hidden';return returnValue;}=0A=
if(!obj)=0A=
{returnValue=3D'';}=0A=
else if(obj.value)=0A=
{returnValue=3Dobj.value;}=0A=
else if(obj.innerText)=0A=
{returnValue=3Dobj.innerText;}=0A=
else=0A=
{if(obj.textContent)=0A=
{returnValue=3Dobj.textContent;}=0A=
else=0A=
{returnValue=3D'';}}=0A=
returnValue=3Dremove_XS_whitespace(returnValue);return returnValue;}=0A=
function book_updateLangMenus(showAll)=0A=
{book_createLangMenu('bookedit_lang',showAll);book_createLangMenu('booked=
it_lang2',showAll);book_createLangMenu('bookedit_lang_original',showAll);=
}=0A=
function book_createLangMenu(containerID,showall)=0A=
{var container=3DLT_findObj(containerID);var =
spanid=3DcontainerID+'-data';var =
inputName=3D'field_'+containerID.sub('bookedit_','');var =
dataValObject=3DLT_findObj(spanid);var =
dataVal=3Dbook_getValueForObject(dataValObject);var =
menuname=3DcontainerID.replace('bookedit','field');var =
dataVal=3D$F(menuname);container.innerHTML=3D'Loading menu...';var =
uid=3DLT_GetRandomID(8);var url=3D'/ajax_ipeLanguageMenu.php'=0A=
var =
params=3D{lang:dataVal,original:1,bookID:'',tag:'',container:containerID,=
fieldName:inputName,all:showall,bookpageedit:1,procID:uid};var =
langSuccessFunction=3Dfunction(t){var =
contents=3Ddocument.createElement('div');container.innerHTML=3D'';var =
rt=3Dt.responseText;contents.innerHTML=3D'';contents.innerHTML=3Drt;conta=
iner.appendChild(contents);}=0A=
basic_ajax(url,params,langSuccessFunction);}=0A=
function book_saveChanges()=0A=
{var form=3D$('book_editForm');var physdata=3D{};var =
dimsets=3D$$('fieldset');dimsets.each(function(s){var =
inputs=3Ds.getElementsBySelector('input,* =
input,input[type=3Dhidden],select');var =
d=3DForm.serializeElements(inputs,true);if(typeof(physdata[d.type])!=3D"u=
ndefined")=0A=
{physdata[d.type]=3Dphysdata[d.type];}=0A=
else=0A=
{physdata[d.type]=3D{};}=0A=
physdata[d.type][d.id]=3Dd;});var j=3DObject.toJSON(physdata);var =
hiddenPhysElement=3D$('physinfo_json');if(hiddenPhysElement)=0A=
{hiddenPhysElement.value=3Dj;}=0A=
if(!canSubmit){return false;}=0A=
var =
saveButtonItem1=3D$('book_editTabTextSave1');if(saveButtonItem1){saveButt=
onItem1.style.display=3D'none';}=0A=
var =
saveButtonItem2=3D$('book_editTabTextSave2');if(saveButtonItem2){saveButt=
onItem2.style.display=3D'none';}=0A=
var =
editcancelItem1=3D$('book_editTabTextEditCancel1');if(editcancelItem1){ed=
itcancelItem1.style.display=3D'none';}=0A=
var =
editcancelItem2=3D$('book_editTabTextEditCancel2');if(editcancelItem2){ed=
itcancelItem2.style.display=3D'none';}=0A=
var contentTable=3D$('book_bookInformationTable');if(contentTable)=0A=
{contentTable.style.opacity=3D0.3;contentTable.style.filter=3D'alpha(opac=
ity=3D'+30+')';}=0A=
document.editform.submit();return false;}=0A=
function book_registerEditItem(itemID)=0A=
{book_formItems.push(itemID);}=0A=
function registerEditFields()=0A=
{if(book_formItems)=0A=
{book_formItems.clear();}=0A=
var fields=3Ddocument.getElementsByClassName('bookEditInput');if(fields)=0A=
{for(var i=3D0;i<fields.length;i++)=0A=
{var field=3Dfields[i];if(field.id)=0A=
{book_registerEditItem(field.id)}}}=0A=
removeAutogenFormItems();}=0A=
function removeAutogenFormItems()=0A=
{var =
excluded=3Ddocument.getElementsByClassName('autogenval');if(excluded)=0A=
{for(var i=3D0;i<excluded.length;i++)=0A=
{var exitem=3Dexcluded[i];var =
agval=3DparseInt(book_getValueForObject(exitem));if(agval)=0A=
{var rawName=3Dexitem.id.sub('autogenFlag-','');var =
ex_id=3D'form_'+rawName;var =
findex=3Dbook_formItems.indexOf(ex_id);book_formItems.splice(findex,1);}}=
}}=0A=
function buildPersonBlock(pcount)=0A=
{var formHTML=3D'';var roleAvailable=3D0;var subHTML=3D'';var =
pnameo=3D$('data_personName-'+pcount);var =
proleo=3D$('data_personRole-'+pcount);var =
personName=3Dpnameo?book_getValueForObject(pnameo):'';var =
personRole=3Dproleo?book_getValueForObject(proleo):'';formHTML+=3D'<div =
class=3D"bookEditRole" =
id=3D"bookEditRole'+pcount+'">';formHTML+=3D'<input =
class=3D"bookEditInput bookPersonName"  id=3D"person_name-'+pcount+'" =
name=3D"person_name-'+pcount+'" style=3D"width:63%;" =
value=3D"'+personName+'" /> ';formHTML+=3D'<select =
class=3D"bookEditInput bookPersonRole" name=3D"person_role-'+pcount+'" =
id=3D"person_role-'+pcount+'" style=3D"width: 30%;" =
onChange=3D"onchange_show_userenter('+pcount+');">';if(personRole=3D=3D''=
)=0A=
{formHTML+=3D'<option value=3D"" selected>Enter =
role</option>';formHTML+=3D'<option =
value=3D"">--------------</option>';roleAvailable=3D1;}=0A=
for(var key in commonRoles)=0A=
{var roleName=3Dkey;var roleID=3DcommonRoles[key];subHTML+=3D'<option =
value=3D"'+roleName+'"';if(personRole=3D=3DroleName)=0A=
{subHTML+=3D' selected ';roleAvailable=3D1;}=0A=
subHTML+=3D'>'+roleName+'</option>';}=0A=
formHTML+=3DsubHTML;if(!roleAvailable)=0A=
{formHTML+=3D'<option value=3D"'+personRole+'" =
selected>'+personRole+'</option>';}=0A=
formHTML+=3D'<option =
value=3D"">--------------</option>';formHTML+=3D'<option =
value=3D"xxxOTHERxxx">Other...</option>';formHTML+=3D'</select>';formHTML=
+=3D'</div>';book_formItems.pop();book_formItems.push('person_name-'+pcou=
nt);book_formItems.push('person_role-'+pcount);return formHTML;}=0A=
function getBasePersonCount()=0A=
{var =
pcountObject=3D$('totalPersons');pcount=3DparseInt(book_getValueForObject=
(pcountObject));}=0A=
function setBasePersonCount(val)=0A=
{var =
pcountObject=3D$('totalPersons');pcountObject.innerHTML=3Dval;pcount=3Dva=
l;}=0A=
function addPerson()=0A=
{var crlength;var crArray=3D$H(commonRoles);var =
crlength=3DcrArray.size();if(!crlength)=0A=
{getCommonRoles();}=0A=
var blech=3Dpcount;num=3Dpcount;var sibling;var =
innerspan=3Ddocument.createElement('div');innerspan.innerHTML=3DbuildPers=
onBlock(num);var newRoleLine=3Dinnerspan.firstChild;var =
acontrol=3D$('addPersonControl');acontrol.parentNode.insertBefore(newRole=
Line,acontrol);pcount++;setBasePersonCount(pcount);}=0A=
function getCommonRoles()=0A=
{var url=3D'/ajax_getCommonRoles.php';var uid=3DLT_GetRandomID(8);var =
params=3D{book:book_book,uid:uid};var =
rolesSuccessFunction=3Dfunction(t){var =
ca=3Dt.responseText.evalJSON();commonRoles=3Dca;}=0A=
basic_ajax_sync(url,params,rolesSuccessFunction);}=0A=
function expandMe(inputName)=0A=
{var iblock=3DLT_findObj(inputName);new =
Effect.Scale(inputName,200,{scaleX:false,scaleContent:false});}=0A=
function getMore()=0A=
{if(serviceNum=3D=3D9){setDisplayforID('more','none');}=0A=
if(serviceNum=3D=3D10){alert("Sorry. You can only have ten!");return;}=0A=
serviceNum++;setDisplayforID("author"+serviceNum,'block');}=0A=
function onchange_show_userenter(number)=0A=
{var =
menu=3D$("person_role-"+number);if(menu.options.selectedIndex=3D=3D(menu.=
options.length-1))=0A=
{var userenteredtext=3Dwindow.prompt("Please enter a role for this =
person:","");if(userenteredtext)=0A=
{var lastoption=3Dmenu.options.length;menu.options[lastoption-2]=3Dnew =
Option(userenteredtext,userenteredtext);menu.options[lastoption-1]=3Dnew =
Option('--------------','');menu.options[lastoption]=3Dnew =
Option('Other...','');menu.options.selectedIndex=3Dlastoption-2;}}}=0A=
function checkCopiesForInt(el,hintID)=0A=
{var =
hint=3D$(hintID);hint.innerHTML=3D'';if(!(is_int(el.value)&&(parseInt(el.=
value)>=3D0)))=0A=
{hint.innerHTML=3D'Number of copies should be 0 or a positive integer =
(1, 2, 3, 12, etc.)';el.focus();setCanSave(false);}=0A=
else=0A=
{setCanSave(true);}}=0A=
function is_int(variable)=0A=
{return(String(parseInt(variable))=3D=3D=3Dvariable);}=0A=
function handleAutogenChange(id)=0A=
{var el=3D$(id);if(el){el.removeClassName('autogeneratedText');var =
findex=3Dbook_formItems.indexOf(id);if(findex=3D=3D-1){book_formItems.pus=
h(id);}=0A=
var =
forcesave=3D$('forcesave_'+id);if(forcesave){forcesave.writeAttribute({'v=
alue':'1'});}}}=0A=
function setCanSave(val)=0A=
{var saveButton1=3D$('book_editTabTextSave1');var =
saveButton2=3D$('book_editTabTextSave2');if(val)=0A=
{saveButton1.onclick=3Dfunction(){book_saveChanges();};saveButton2.onclic=
k=3Dfunction(){book_saveChanges();};saveButton1.className=3D'book_bitItem=
';saveButton2.className=3D'book_bitItem';}=0A=
else=0A=
{saveButton1.onclick=3Dfunction(){};saveButton2.onclick=3Dfunction(){};sa=
veButton1.className=3D'book_bitItemDisabled';saveButton2.className=3D'boo=
k_bitItemDisabled';}=0A=
canSubmit=3Dval;}=0A=
function book_cancelAddBook(){window.location=3D'/addbooks';}=0A=
function book_addBookSubmit(){book_saveChanges();}=0A=
function book_returnToAddBooks(){}=0A=
function book_addUIRow(type,elid){var fs=3D$(elid);var =
button=3D$('arb_'+elid);var url=3D"/ajax_book_addUIRow.php";var =
params=3D{'type':type,'id':elid};var success=3Dfunction(t){var =
rt=3Dt.responseText;var =
jd=3Drt.evalJSON();mmlog(jd);if(fs.parentNode){button.hide();var =
parent=3D$(fs.parentNode);parent.insert(jd.content);var =
fsA=3Dparent.getElementsBySelector('fieldset');mmlog(fsA);fsA.each(functi=
on(s){var lastfsid=3Ds.id;var =
minus=3D$('arbm_'+lastfsid);minus.show();});}};basic_ajax(url,params,succ=
ess);}=0A=
function book_deleteUIRow(elid){var fs=3D$(elid);mmlog(fs);var =
fsp=3Dfs.parentNode;mmlog(fsp);var button=3D$('arb_'+elid);var =
mbutton=3D$('arbm_'+elid);var =
del=3Dfs.getElementsBySelector('input[name=3D"deleted"]');$(del[0]).write=
Attribute('value','1');fs.hide();var =
fsA=3Dfsp.getElementsBySelector('fieldset').findAll(function(el){return =
el.visible();});if(fsA){mmlog(fsA);if(fsA.size()){var =
last=3DfsA.size()-1;var lastfs=3DfsA[last];var lastfsid=3Dlastfs.id;var =
minus=3D$('arbm_'+lastfsid);var =
lastplus=3D$('arb_'+lastfsid);if(fsA.size()=3D=3D=3D1){mmlog('this is =
the last item','warn');minus.hide();}=0A=
lastplus.show();}}}=0A=
function convertPhysDescUnits(units){var dimsets=3D$$('fieldset');var =
convertables=3D[];dimsets.each(function(s){var fsid=3Ds.id;var =
unitsA=3D$$('#'+fsid+' =
[phystag=3D"unit"]');unitsA.each(function(u){if(units!=3Du.getValue()){co=
nvertables.push(s);}});});if(convertables){$(convertables).each(function(=
c){var theVals=3Dc.select('input.bookEditInput');var =
isDim=3D0;isDim=3Dc.select('input[name=3D"type"][value=3D"dims"]')[0];var=
 =
unitInput=3Dc.select('select[phystag=3D"unit"]')[0];if(unitInput){if(unit=
Input.getValue()!=3Dunits){unitInput.select('option[value=3D"'+units+'"]'=
)[0].selected=3Dtrue;}}=0A=
theVals.each(function(tv){var =
newval;if(isDim){newval=3DconvertDims(units,tv.getValue());}=0A=
else{newval=3DconvertWeight(units,tv.getValue());}=0A=
tv.value=3Dnewval;handleAutogenChange(tv.id);});});}}=0A=
function roundNumber(number,digits){var =
multiple=3DMath.pow(10,digits);var =
rndedNum=3DMath.round(number*multiple)/multiple;return rndedNum;}=0A=
var unitsDecimalPlaces=3D2;function =
convertDims(units,toconvert){if(toconvert=3D=3D=3D''){return'';}=0A=
toconvert=3DparseFloat(toconvert);if(!toconvert){return 0;}=0A=
if(units=3D=3D0)=0A=
{return cmToInches(toconvert);}=0A=
else{return inchesToCm(toconvert);}}=0A=
function =
convertWeight(units,toconvert){if(toconvert=3D=3D=3D''){return'';}=0A=
toconvert=3DparseFloat(toconvert);if(!toconvert){return 0;}=0A=
if(units=3D=3D0)=0A=
{return kgToLbs(toconvert);}=0A=
else{return lbsToKg(toconvert);}}=0A=
function inchesToCm(input){return =
roundNumber((input*2.54),unitsDecimalPlaces);}=0A=
function cmToInches(input){return =
roundNumber((input/2.54),unitsDecimalPlaces);}=0A=
function lbsToKg(input){return =
roundNumber((input/2.2),unitsDecimalPlaces);}=0A=
function kgToLbs(input){return =
roundNumber((input*2.2),unitsDecimalPlaces);}=0A=
function toggleDetritusFields(){var d=3D$('detritusFields');if(d){var =
dt=3D$('detritusFieldsTitle');mmlog(dt);if(dt){var =
divot=3D$('detritusFieldsDivot');var =
dt_showmore=3Ddt.readAttribute('showmore');var =
dt_showless=3Ddt.readAttribute('showless');mmlog(dt_showmore);if(d.visibl=
e()){dt.innerHTML=3DLibraryThing.bookedit_showExtraFields;divot.innerHTML=
=3DLibraryThing.divotUp;var updatevalue=3D0;}=0A=
else{dt.innerHTML=3DLibraryThing.bookedit_hideExtraFields;divot.innerHTML=
=3DLibraryThing.divotDown;var updatevalue=3D1;}}=0A=
d.toggle();basic_ajax_silent('/ajax_set_users_boolean.php?type=3Dshowothe=
rfields&value=3D'+updatevalue);}} =0A=
 /* 2003:minified:js2/booklocation.js */ =0A=
=0A=
function booklocation_edit(book,incatalogB)=0A=
{var =
url=3D'/ajax_lb_booklocation.php?book=3D'+book+'&incatalogB=3D'+incatalog=
B;LibraryThing.lightbox.ajax(url,recparams);return false;}=0A=
function booklocation_search()=0A=
{var serialized=3D$('venuesearchform').serialize();var =
url=3D'/ajax_venuesearch.php?'+serialized;basic_ajax_updater(url,null,'ve=
nuelist');return null;}=0A=
function booklocation_alreadyusedlist(book,frequency,incatalogB)=0A=
{var =
url=3D'/ajax_lb_print_pastbooklocations.php?book=3D'+book+'&frequency=3D'=
+frequency+'&incatalogB=3D'+incatalogB;basic_ajax_updater(url,null,'locat=
ionlist');return false;}=0A=
function booklocation_freetext(book)=0A=
{if(book=3D=3D-1)=0A=
{$('booklocation_venue').value=3D'';$('booklocation_text').value=3D'';$('=
booklocation_textareacomments').value=3D$('textareacomments').getValue();=
poweredit_submit();$('booksform').submit();return false;}=0A=
var serialized=3D$('freetextform').serialize();var =
url=3D'/ajax_lb_booklocation_pick.php?'+serialized;basic_ajax_updater(url=
,null,'location'+book);LibraryThing.lightbox.off();return false;}=0A=
function booklocation_privacyform()=0A=
{var serialized=3D$('privacyform').serialize();var =
url=3D'/ajax_lb_privacyform.php?'+serialized;basic_ajax_updater(url,null,=
'privacyresponse');return false;}=0A=
function booklocation_search_pick(book,venue,incatalogB)=0A=
{if(book=3D=3D-1)=0A=
{$('booklocation_venue').value=3Dvenue;$('booklocation_text').value=3D'';=
$('booklocation_textareacomments').value=3D'';$('booklocation_delete').va=
lue=3D'';poweredit_submit();$('booksform').submit();return false;}=0A=
var =
url=3D'/ajax_lb_booklocation_pick.php?book=3D'+book+'&venue=3D'+venue+'&i=
ncatalogB=3D'+incatalogB;basic_ajax_updater(url,null,'location'+book);Lib=
raryThing.lightbox.off();return false;}=0A=
function booklocation_text_pick(book,textid,incatalogB)=0A=
{if(book=3D=3D-1)=0A=
{$('booklocation_venue').value=3D'';$('booklocation_text').value=3Dtextid=
;$('booklocation_textareacomments').value=3D'';$('booklocation_delete').v=
alue=3D'';poweredit_submit();$('booksform').submit();return false;}=0A=
var =
url=3D'/ajax_lb_booklocation_pick.php?book=3D'+book+'&text=3D'+textid+'&i=
ncatalogB=3D'+incatalogB;basic_ajax_updater(url,null,'location'+book);Lib=
raryThing.lightbox.off();return false;}=0A=
function booklocation_search_delete(book,incatalogB)=0A=
{if(book=3D=3D-1)=0A=
{$('booklocation_venue').value=3D'';$('booklocation_text').value=3D'';$('=
booklocation_textareacomments').value=3D'';$('booklocation_delete').value=
=3D1;poweredit_submit();$('booksform').submit();return false;}=0A=
var =
url=3D'/ajax_lb_booklocation_pick.php?book=3D'+book+'&delete=3D1&incatalo=
gB=3D'+incatalogB;basic_ajax_updater(url,null,'location'+book);LibraryThi=
ng.lightbox.off();return false;}=0A=
function booklocationSwitch(state,work)=0A=
{$('pickrelationship').className=3D'state'+state;$('worklist_pick').inner=
HTML=3D'';}=0A=
var recparams=3D{v:1.0,width:620,w:620,height:400,modal:true}; =0A=
 /* 2003:minified:js2/mmlog.js */ =0A=
=0A=
var mmlogging=3Dtrue;var mmgrouping=3Dmmlogging?true:false;var =
mmlog=3Dfunction(msg,type){if(mmlogging=3D=3D=3Dfalse){return;}=0A=
type=3Dtype||'log';if(window.console&&(window.console!=3Dundefined)){if((=
type=3D=3D=3D'dir')&&WebKitDetect.isWebKit()){type=3D'log';}=0A=
if(typeof console[type]=3D=3D=3D'function'){console[type](msg);}}}=0A=
var =
mmgroup=3Dfunction(title,collapsed){if(!mmgrouping||mmlogging=3D=3D=3Dfal=
se||WebKitDetect.isWebKit()){mmlog(title,'info');return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.group=3D=3D'function'){if(collapsed&&!(WebKitDetect.isWebKit())){=
console.groupCollapsed(title);}=0A=
else{console.group(title);}}}}=0A=
var =
mmgroupend=3Dfunction(){if(!mmgrouping||mmlogging=3D=3D=3Dfalse||WebKitDe=
tect.isWebKit()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.groupEnd=3D=3D'function'){console.groupEnd();}}}=0A=
var =
mmtime=3Dfunction(name){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.isWebKit=
()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.time=3D=3D'function'){console.time(name);}}}=0A=
var =
mmtimeend=3Dfunction(name){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.isWeb=
Kit()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.timeEnd=3D=3D'function'){console.timeEnd(name);}}}=0A=
var =
mmprofile=3Dfunction(name){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.isWeb=
Kit()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.profile=3D=3D'function'){console.profile(name);}}};var =
mmprofileend=3Dfunction(name){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.is=
WebKit()){return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.profileEnd=3D=3D'function'){console.profileEnd(name);}}};var =
mmtrace=3Dfunction(){if(mmlogging=3D=3D=3Dfalse||WebKitDetect.isWebKit())=
{return;}=0A=
if(window.console&&(window.console!=3Dundefined)){if(typeof =
console.trace=3D=3D'function'){console.trace();}}};function =
print_rr(ob,indent){indent=3Dindent||1;var out=3D"";if(typeof =
ob=3D=3D=3D'undefined'){out+=3D'undefined';return out;}=0A=
if(typeof ob=3D=3D=3D'string'){out+=3Dob;return out;}=0A=
if(typeof ob=3D=3D=3D'number'){out+=3Dob;return out;}=0A=
if(typeof ob=3D=3D=3D'boolean'){if(ob){out+=3D'TRUE';}=0A=
else{out+=3D'FALSE';}=0A=
return out;}=0A=
if(typeof ob=3D=3D=3D'object'){var open=3D'{';var closed=3D'}';var =
t=3D'Object';if(ob.length){open=3D'[';closed=3D']';t=3D'Array';}=0A=
out+=3Dt+"\n";for(i=3D0;i<(indent-1);i++){out+=3D"\t";}=0A=
out+=3Dopen;$.each(ob,function(k,v){out+=3D"\n";for(i=3D0;i<indent;i++){o=
ut+=3D"\t";}=0A=
out+=3Dprint_rr(k,(indent))+' : =
'+print_rr(v,(indent+1));});out+=3D"\n";for(i=3D0;i<(indent-1);i++){out+=3D=
"\t";}=0A=
out+=3Dclosed;return out;}=0A=
if(typeof ob=3D=3D=3D'function'){out+=3D'function();';return out;}=0A=
return(typeof ob);};
------=_NextPart_000_0000_01CD17C2.61CCD300--
