 /* 1592:minified:js2/basics1.js */ 

var expireDate=new Date(2050,10,23);var g_prototypeAvailable=false;try{document.execCommand('BackgroundImageCache',false,true);}catch(e){}
if((typeof Prototype!='undefined')&&(typeof Element!='undefined')&&(typeof Element.Methods!='undefined'))
{g_prototypeAvailable=true;var g_userControls=new Hash();}
function cookieVal(cookieName)
{thisCookie=document.cookie.split("; ")
for(i=0;i<thisCookie.length;i++)
{if(cookieName==thisCookie[i].split("=")[0])
{return thisCookie[i].split("=")[1]}}
return 0;}
function setCookie(cookieName,cookieContent,transientBoolean)
{if(transientBoolean)
{document.cookie=cookieName+"="+cookieContent;}
else
{document.cookie=cookieName+"="+cookieContent+";expires="+expireDate.toGMTString();}}
function setDisplayforID(id,display)
{document.getElementById(id).style.display=display;}
function toggleShowHide(id,state)
{if(document.getElementById(id).style.display=='none')
{setDisplayforID(id,state);}
else
{setDisplayforID(id,'none');}}
function gotoaURL(url)
{window.top.location=url;}
function checkSpans(page){var x=document.getElementById('*');var postArray='';if(x){x.parentNode.removeChild(x);}
for(var x=0,y=document.getElementsByTagName('*'),oStr='';y[x];x++){if(y[x].id&&y[x].tagName.match("span","i")){var saneStr=y[x].id.replace(/&/,'&amp;').replace(/</,'&lt;').replace(/>/,'&gt;').replace(/\"/,'&quot;');if(saneStr.match("tr[0-9]{6}")&&saneStr){void(postArray+=saneStr+',');}}}
postArray=postArray.replace(/,$/g,'');var tForm=document.createElement('form');void(tForm.name='translateForm');void(tForm.action='/translate.php?page='+page);void(tForm.method='POST');void(tForm.innerHTML='<input type="hidden" name="stuff" value="'+postArray+'">');void(document.body.appendChild(tForm));tForm.submit();}
function lightSpan()
{}
function scaleTextBox(id,size)
{document.getElementById("ms_"+id).style.display="none";new Effect.Scale(id,size,{scaleX:false,scaleContent:false});}
function basic_ajax_updater(url,params,elt_to_update)
{basic_ajax(url,params,function(r)
{$(elt_to_update).innerHTML=r.responseText;});}
function fancy_ajax_updater(url,params,elt_to_update,callback,async)
{$(elt_to_update).className+=' simpleajaxloading';basic_ajax(url,params,function(r)
{console.log('fancy callback');$(elt_to_update).innerHTML=r.responseText;$(elt_to_update).className=$(elt_to_update).className.replace(' simpleajaxloading','');if(typeof callback!=='undefined'&&callback!=null)
{callback();}},async);}
function basic_ajax(url,params,callback,async){if(typeof async==='undefined')
{async=true;}
var request=new Ajax.Request(url,{method:"post",asynchronous:true,parameters:params,onSuccess:callback});return request;}
function basic_ajax_sync(url,params,callback){var request=new Ajax.Request(url,{method:"post",asynchronous:false,parameters:params,onSuccess:callback});}
function basic_ajax_eval(url,params,callback){var request=new Ajax.Request(url,{method:"post",asynchronous:true,parameters:params,onSuccess:callback,evalJS:'force'});}
if(g_prototypeAvailable)
{Ajax.Request.prototype.abort=function()
{this.transport.onreadystatechange=Prototype.emptyFunction;this.transport.abort();{Ajax.activeRequestCount--;}};}
function disable_button(button,button_text){button_text=button_text||"loading...";button.setAttribute('disabled',true);button.value=button_text;button.form.submit();return false;}
function updateUserConnections(){var handleReturn=function(t){if(t.responseText)
{setTimeout('updateUserControls()',100);}};basic_ajax('/ajax_updateUserConnections.php',null,handleReturn);}
function updateUserControls(){var gsize=g_userControls.size();if(g_prototypeAvailable&&gsize)
{var i=0;var outString='objects=';var paramHash=new Hash();var len=g_userControls.size();g_userControls.each(function(uc){paramHash[uc.key]=uc.value.number;outString+=uc.key+':'+uc.value.number;if(i<(len-1))
outString+=',';i++;});var par=$H({objects:paramHash});var handleReturn1=function(t){var infoHash=$H(t.responseText.evalJSON(true));infoHash.each(function(pair){theUC=g_userControls[pair.key];affInfo=$H(pair.value);theUC.updateAffinityDisplay(affInfo.uc_percentile,affInfo.uc_overlap);});}
basic_ajax('/ajax_updateUserControls.php',outString,handleReturn1);}}
if(g_prototypeAvailable)
{var LTUserControl=Class.create();LTUserControl.prototype={initialize:function(el,paramList){var params=paramList.evalJSON(true);this.inputParams=params;this.element=$(el);this.controlid=params.controlid;this.controlcode=params.controlcode;this.name=params.name;this.number=params.number;this.isSelf=params.isSelf;this.element.className='userControlObject';this.originalHTML=this.element.innerHTML;this.affinity=new Object({percentile:parseInt(params.affinityPercentile),overlap:parseInt(params.affinityOverlap),control:$('ucaf_'+this.controlcode),textbox:$('ucafp_'+this.controlcode)});var afp=$('ucafp_'+this.controlcode);if((this.affinity.overlap>0)&&(!this.isSelf))
afp.innerHTML=this.affinity.percentile+'%';else
afp.innerHTML='';this.arrow=$('ucar_'+this.controlcode);this.rightside=$('ucrs_'+this.controlcode);this.mainMenu=document.createElement('div');this.mainMenu.className='ucoMenu ucoMainMenu';this.mainMenu.id='ucmm_'+this.controlcode;document.body.appendChild(this.mainMenu);this.mainMenu.style.position='absolute';this.mainMenu.style.zIndex='10';Position.absolutize(this.mainMenu);this.links=new Object();this.links.profile='/profile/'+this.name;this.links.catalog='/catalog/'+this.name;this.links.reviews='/profile_reviews.php?view='+this.name;this.links.tagcloud='/tagcloud.php?view='+this.name;this.links.authorcloud='/authorcloud.php?view='+this.name;this.registerEvents();},destroy:function(){},registerEvents:function(){Event.observe(this.arrow,"click",this.dropdown.bindAsEventListener(this));Event.observe($('ucrs_'+this.controlcode),"click",this.onclick.bindAsEventListener(this));Event.observe(document,"click",this.onmouseout.bindAsEventListener(this));},addMenuItem:function(parent,imgfile,text,link,disabled,hasSubmenu,afterElement)
{var menuItem=document.createElement('div');menuItem.className='ucoMenuItem';var base='<span class="ucoMenuIcon">';if(imgfile)
{base+='<img src="/pics/'+imgfile+'">';}
base+='</span><span class="ucoMenuItemText">'+text+'</span>';if(hasSubmenu)
{base='<div class="ucoMenuItemArrow">&#x25B6;</div>'+base;}
if(link)
{menuItem.onclick=function(){gotoaURL(link)};}
menuItem.update(base);if(disabled)
{menuItem.addClassName('ucoDisabled');}
if(parent)
{if(afterElement)
{var pels=parent.descendants();var pcount=pels.length;if(pels[pcount-1]==$(afterElement))
{parent.appendChild(menuItem);}
else
{var ae=$(afterElement);var ne=ae.next();var newel=this.mainMenu.insertBefore(menuItem,ne);}}
else
{parent.appendChild(menuItem);}}
return menuItem;},updateAffinityDisplay:function(percentile,overlap)
{if(!this.isSelf)
{this.affinity.percentile=percentile;this.affinity.overlap=overlap;if(this.menuItemsExist)
{var am1=$('ucafpm_'+this.controlcode);var am2=$('ucafom_'+this.controlcode);if(this.affinity.overlap)
{var s1=$('ucafsi_'+this.controlcode);if(!am1)
{afftext1=this.affinity.percentile+'% similar library';afftext2=this.affinity.overlap+' shared book'+plural;var am1=this.addMenuItem(this.mainMenu,'',afftext1,'',true,false,s1);am1.id='ucafpm_'+this.controlcode;var am2=this.addMenuItem(this.mainMenu,'',afftext2,'',true,false,s1);am2.id='ucafom_'+this.controlcode;this.addSeparatorItem(this.mainMenu);}
else
{var am1=$('ucafpm_'+this.controlcode);var am2=$('ucafom_'+this.controlcode);afftext1=this.affinity.percentile+'% similar library';afftext2=this.affinity.overlap+' shared book'+plural;am1.down('.ucoMenuItemText').innerHTML=afftext1;am2.down('.ucoMenuItemText').innerHTML=afftext2;}}}
if(this.affinity.overlap)
{var mainaff=$('ucafp_'+this.controlcode);mainaff.innerHTML=percentile+'%';var tt=overlap+' shared book';if(overlap!=1)
tt+='s';mainaff.title=tt;}}},addSeparatorItem:function(parent)
{var menuItem=document.createElement('div');menuItem.className='ucoMenuDivider';parent.appendChild(menuItem);return menuItem;},doNothing:function(event)
{},onclick:function(event)
{Event.stop(event);gotoaURL(this.profileURL);},onmouseout:function(event)
{this.mainMenu.hide();this.mainMenu.style.display='none';this.arrow.removeClassName('ucoArrowOn');this.element.removeClassName('userControlHover');},dropdown:function(event)
{Event.stop(event);g_userControls.each(function(o){o.value.onmouseout();});if(!this.menuItemsExist)
{var plural='';if(this.affinity.overlap>1)
plural='s';this.addMenuItem(this.mainMenu,'status_offline_tiny.png','Profile',this.links.profile,false,false,null);this.addMenuItem(this.mainMenu,'book_tiny.png','Catalog',this.links.catalog,false,false,null);var s1=this.addSeparatorItem(this.mainMenu);s1.id='ucafsi_'+this.controlcode;if(this.affinity.overlap)
{afftext1=this.affinity.percentile+'% similar library';afftext2=this.affinity.overlap+' shared book'+plural;var am1=this.addMenuItem(this.mainMenu,'',afftext1,'',true,false,null);am1.id='ucafpm_'+this.controlcode;var am2=this.addMenuItem(this.mainMenu,'',afftext2,'',true,false,null);am2.id='ucafom_'+this.controlcode;this.addSeparatorItem(this.mainMenu);}
this.addMenuItem(this.mainMenu,'reviews_tiny.png','Reviews',this.links.reviews,false,false,null);this.addMenuItem(this.mainMenu,'tag_yellow_tiny.png','Tag Cloud',this.links.tagcloud,false,false,null);this.addMenuItem(this.mainMenu,'author_cloud_tiny.png','Author Cloud',this.links.authorcloud,false,false,null);this.menuItemsExist=true;}
var elof=Position.positionedOffset(this.element);this.mainMenu.style.top=elof[1]+17+'px';this.mainMenu.style.left=elof[0]+1+'px';this.mainMenu.style.borderWidth='1px';this.mainMenu.show();this.mainMenu.style.display='block';this.arrow.addClassName('ucoArrowOn');this.element.addClassName('userControlHover');}};}
function registerUserControlObject(ucname,params){if(g_prototypeAvailable)
{var controlElement=$(ucname);var uc=new LTUserControl(controlElement,params);g_userControls[ucname]=uc;controlElement.userControlObject=uc;}}
function releaseMenu(menu)
{menu.style.display='none';}
function toggleCollectionMembership(checkbox,bookid,fullcode)
{checkbox.disabled=true;var url='/ajax_collectionsToggleMembership.php';var params={c_id:checkbox.value,newvalue:checkbox.checked,bookid:bookid,fullcode:fullcode};var responseFunction=function(t)
{if(t.responseText=='1')
{checkbox.disabled=false;}
else
{checkbox.checked=!checkbox.checked;checkbox.disabled=false;}};basic_ajax(url,params,responseFunction);}
function addCollection(name,omit,listcontainerID,bookid,fullcode)
{var url='/ajax_collectionsAddCollection.php';var params={name:name.value,omit:omit.checked,book:bookid};var responseFunction=function(t){var rArray=t.responseText.evalJSON();if(rArray.success)
{var container=$(listcontainerID);var newel=document.createElement('div');newel.className='collectionModItem';newel.id='collectionItem_'+rArray.c_id;var newlines='<input name="cList_'+rArray.c_id+'" id="cList_'+rArray.c_id+'" type="checkbox" value="'+rArray.c_id+'" ';if(rArray.inCollection)
newlines+=' checked ';newlines+='onChange="javascript:toggleCollectionMembership(this,'+bookid+','+fullcode+'); return false;">';newlines+=name.value;if(omit.checked)
newlines+=' * ';newlines+=' (<a href="#" onclick="javascript:deleteCollection('+rArray.c_id+'); return false;">delete</a>)';newel.innerHTML=newlines;container.appendChild(newel);}
else
{}};basic_ajax(url,params,responseFunction);}
function deleteCollection(c_id)
{var url='/ajax_collectionsDeleteCollection.php';var params={c_id:c_id};var responseFunction=function(t)
{if(t.responseText=='1')
{var clist=$('collectionModList');var item=$('collectionItem_'+c_id);item.style.display='none';clist.removeChild(item);}
else
{alert('failure');}};basic_ajax(url,params,responseFunction);}
function setRating(container,bookid,rating,editable,style)
{co=LT_findObj(container);var uid=LT_GetRandomID(8);var url='/ajax_setBookRating.php';var params={uid:uid,book:bookid,editable:editable,container:container,style:style,rating:rating};var rateSuccessF=function(t){if(co)
{if(t.responseText!='0')
{co.innerHTML=t.responseText;}
co.style.opacity=1;co.style.filter='alpha(opacity=100)';}};if(co)
{co.style.opacity=0.3;co.style.filter='alpha(opacity='+30+')';}
basic_ajax(url,params,rateSuccessF);}
function showuwyb()
{$('showmoreuwyb').style.display='none';$('uwybhide').style.display='inline';}
function showMore(element)
{var el=$(element);var className=el.className;className=className.replace("showmore","showmore_show");el.className=className;}
function showLess(element)
{var el=$(element);var className=el.className;className=className.replace("showmore_show","showmore");el.className=className;}
function toggleMore(name)
{$('more'+name).toggle();$('showless'+name).toggle();$('showmore'+name).toggle();}
if(typeof window.console=="undefined")
{window.console={};console.log=function(o)
{};console.debug=function(o)
{};console.info=function(o)
{};console.warn=function(o)
{};console.assert=function(expr)
{};console.error=function(o)
{};console.dir=function(o)
{};console.dirxml=function(node)
{};console.trace=function()
{};console.group=function(o)
{};console.groupEnd=function()
{};console.time=function(name)
{};console.timeEnd=function(name)
{};console.profile=function(title)
{};console.profileEnd=function()
{};console.profileEnd=function()
{};console.count=function(title)
{};}
function dovote(type,id,vote)
{var theid='vote_'+type+'_'+id;var url="/ajax_voter.php?type="+encodeURIComponent(type)+"&id="+encodeURIComponent(id)+"&vote="+encodeURIComponent(vote);$(theid).innerHTML="<span class='main'>Saving...</span>";basic_ajax_updater(url,null,$(theid));}
function confirmAction(action)
{return confirm(action+"?");}
function loadNewShelf(listtype,cachekey,displaymode,shelfoffset,numoffset,sort,subnum)
{$('linkdiv').hide();if(subnum>0)
{var theid=listtype+'-'+subnum;}
else
{var theid=listtype;}
var dimensions=$(theid).getDimensions();var params={listtype:listtype,cachekey:cachekey,displaymode:displaymode,shelfoffset:shelfoffset,numoffset:numoffset,sort:sort,xhr:true,width:dimensions.width};var callback;var url='/ajaxinc_newshelf.php';basic_ajax_updater(url,params,theid,callback);} 
 /* 1592:minified:js/response.js */ 

var currentshown=-1;var tagEdit='';var commentEdit='';var findvisible=new Array(0,0);var powervisible=new Array(0,0);function showhideCatalog(id,card_or_edit)
{if(navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)<5.0)
{alert("Sorry. LibaryThing does not work on older browsers.")
return;}
if(currentshown!=-1)
{}
if(currentshown==id)
{x=document.getElementById("p"+id);x.style.display="none";currentshown=-1;}
else
{if(currentshown>=0)
{}
for(i=0;eval(x=document.getElementById("p"+i));i++)
{x.style.display="none";}
eval(x=document.getElementById("p"+id));x.style.display="table-row";currentshown=id;pElement=document.getElementById("a"+id);frameURL='/card.php?book='+id+'&mode='+card_or_edit;frames["cf"+id].location.href=frameURL;window.scrollTo(0,pElement.offsetTop+38);}}
function showhide(id)
{if(navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)<5.0)
{alert("Sorry. Your browser doesn't support this feature.")
return;}
if(currentshown==id)
{document.getElementById("d"+id).src="pics/divet.gif";eval(x=document.getElementById("p"+id));x.style.display="none";currentshown=-1;}
else
{if(currentshown>=0)
{document.getElementById("d"+currentshown).src="pics/divet.gif";}
document.getElementById("d"+id).src="pics/divet-on.gif";for(i=0;eval(x=document.getElementById("p"+i));i++)
{x.style.display="none";}
eval(x=document.getElementById("p"+id));x.style.display="table-row";currentshown=id;}}
var expireDate=new Date(2050,10,23);function cookieVal(cookieName)
{thisCookie=document.cookie.split("; ")
for(i=0;i<thisCookie.length;i++)
{if(cookieName==thisCookie[i].split("=")[0])
{return thisCookie[i].split("=")[1]}}
return 0;}
function setCookie(cookieName,cookieContent,transientBoolean)
{if(transientBoolean)
{document.cookie=cookieName+"="+cookieContent;}
else
{document.cookie=cookieName+"="+cookieContent+";expires="+expireDate.toGMTString();}}
function setSort(sortvalue)
{if((sortvalue==cookieVal("cookie_sort"))&&(!cookieVal("cookie_desc")))
{setCookie("cookie_desc",'desc',true);}
else
{setCookie("cookie_desc",'',true);}
setCookie("cookie_sort",sortvalue,true);}
function washValues()
{parent.document.books.form_find.value="";parent.document.books.form_tags.value="";parent.document.books.form_find.focus();}
function selectCardOption(selection)
{document.getElementById("body").className=selection;}
function showhide_find(num)
{x=document.getElementById("finddiv"+num);form=document.getElementById("searchform"+num);if(findvisible[num])
{x.style.display="none";findvisible[num]=0;}
else
{x.style.display="block";findvisible[num]=1;form.searchbox.focus();}}
function showhide_power(num)
{x=document.getElementById("powerdiv"+num);if(powervisible[num])
{x.style.display="none";powervisible[num]=0;}
else
{x.style.display="block";powervisible[num]=1;}}
function addbook(haveit)
{if(haveit)
{return confirm("You have this book. Add ANOTHER copy to your library?");}
else
{return confirm("Add this book to your library?");}}
function deletebook()
{return confirm("Delete this book from all collections?");}
function makewindow(whereto,width,height)
{if(!width){width=350};if(!height){height=200};var left=(screen.width/2)-(width/2);var top=(screen.height/2)-(height/2);var boilerplate=" channelmode = no, directories = no, fullscreen = no, location = no, menubar = no, resizable = no, scrollbars = yes, status = no, titlebar = no, toolbar = no";window.open(whereto,'tip','width='+width+', height='+height+' top='+top+' left='+left+boilerplate);} 
 /* 1592:minified:colorPicker.js */ 

var currentColorSwatch;var colorText;function LT_findObj(objectId){if(document.getElementById&&document.getElementById(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];}
return false;}
function eventTrigger(e){if(!e)
e=event;if(!e)
e=window.event;if(e.target)
return e.target;if(e.srcElement){return e.srcElement;}
else
return 0;}
function validEvent(e){if(!e)
e=event;if(!e)
e=window.event;return e;}
function cookieVal(cookieName)
{thisCookie=document.cookie.split("; ")
for(i=0;i<thisCookie.length;i++)
{if(cookieName==thisCookie[i].split("=")[0])
{return thisCookie[i].split("=")[1]}}
return 0;}
function setCookie(cookieName,cookieContent,transientBoolean)
{var expireDate=new Date(2050,10,23);if(transientBoolean)
document.cookie=cookieName+"="+cookieContent;else
document.cookie=cookieName+"="+cookieContent+";expires="+expireDate.toGMTString();}
function getCookie(name){return cookieVal(name);}
function mouseX(evt){if(evt.pageX)return evt.pageX;else if(evt.clientX)
return evt.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);else return null;}
function mouseY(evt){if(evt.pageY)return evt.pageY;else if(evt.clientY)
return evt.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);else return null;}
var hD="0123456789ABCDEF";function d2h(d){var h=hD.substr(d&15,1);while(d>15){d>>=4;h=hD.substr(d&15,1)+h;}
return h;}
function h2d(h){return parseInt(h,16);}
function pad(number,length){var str=''+number;while(str.length<length)
str='0'+str;return str;}
function handleColorSwatch(e,target)
{currentColorSwatch=eventTrigger(e);var colorDiv=LT_findObj('colorPop');var swatch=LT_findObj('colorSwatch');var mx=mouseX(e);var my=mouseY(e);colorDiv.style.left=mx+"px";colorDiv.style.top=my+"px";colorDiv.style.display='block';colorText=target;}
function handleColorPick(color)
{var colorDiv=LT_findObj('colorPop');var swatch=currentColorSwatch;var target=LT_findObj(colorText);if(swatch.id=='tcolorSwatch')
{var textColor=LT_findObj('option_title_color');textColor.value="#"+color;target.value="#"+color;}
else
{var colorInput=LT_findObj('color');var border=LT_findObj('bcolor');var r,g,b;if(color=="FFFFFF")
border.value="#999";else
{r=h2d(color.substr(0,2));g=h2d(color.substr(3,2));b=h2d(color.substr(5,2));r=Math.floor(r*0.9);g=Math.floor(g*0.9);b=Math.floor(b*0.9);r=pad(d2h(r),2);g=pad(d2h(g),2);b=pad(d2h(b),2);border.value="#"+r+g+b;}
colorInput.value="#"+color;console.log(colorInput.name+" is the color input");}
colorDiv.style.display='none';swatch.style.backgroundColor="#"+color;} 
 /* 1592:minified:jscolor/jscolor.js */ 

var jscolor={dir:'',bindClass:'color',binding:true,preloading:true,install:function(){jscolor.addEvent(window,'load',jscolor.init)},init:function(){if(jscolor.binding){jscolor.bind()}
if(jscolor.preloading){jscolor.preload()}},getDir:function(){if(!jscolor.dir){var detected=jscolor.detectDir()
jscolor.dir=detected!=false?detected:'jscolor/'}
return jscolor.dir},detectDir:function(){var base=location.href
var e=document.getElementsByTagName('base')
for(var i=0;i<e.length;i++){if(e[i].href)base=e[i].href}
var e=document.getElementsByTagName('script')
for(var i=0;i<e.length;i++){if(e[i].src&&/(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)){var src=new jscolor.URI(e[i].src)
var srcAbs=src.toAbsolute(base)
srcAbs.path=srcAbs.path.replace(/[^\/]+$/,'')
delete srcAbs.query
delete srcAbs.fragment
return srcAbs.toString()}}
return false},bind:function(){var matchClass=new RegExp('(^|\\s)('+jscolor.bindClass+')\\s*(\\{[^}]*\\})?','i')
var e=document.getElementsByTagName('input')
for(var i=0;i<e.length;i++){var m
if(!e[i].color&&e[i].className&&(m=e[i].className.match(matchClass))){var prop={}
if(m[3]){try{eval('prop='+m[3])}catch(eInvalidProp){}}
e[i].color=new jscolor.color(e[i],prop)}}},preload:function(){for(var fn in jscolor.imgRequire){jscolor.loadImage(fn)}},images:{pad:[181,101],sld:[16,101],cross:[15,15],arrow:[7,11]},imgRequire:{},imgLoaded:{},requireImage:function(filename){jscolor.imgRequire[filename]=true},loadImage:function(filename){if(!jscolor.imgLoaded[filename]){jscolor.imgLoaded[filename]=new Image()
jscolor.imgLoaded[filename].src=jscolor.getDir()+filename}},fetchElement:function(mixed){return typeof(mixed)=='string'?document.getElementById(mixed):mixed},addEvent:function(el,evnt,func){if(el.addEventListener){return el.addEventListener(evnt,func,false)}else if(el.attachEvent){return el.attachEvent('on'+evnt,func)}else{return false}},fireEvent:function(el,evnt){if(!el){return false}else if(document.createEventObject){var ev=document.createEventObject()
return el.fireEvent('on'+evnt,ev)}else if(document.createEvent){var ev=document.createEvent('HTMLEvents')
ev.initEvent(evnt,true,true)
return el.dispatchEvent(ev)}else if(el['on'+evnt]){return el['on'+evnt]()}else{return false}},getElementPos:function(e){var e1=e,e2=e
var x=0,y=0
if(e1.offsetParent){do{x+=e1.offsetLeft
y+=e1.offsetTop}while(e1=e1.offsetParent)}
while((e2=e2.parentNode)&&e2.nodeName!='BODY'){x-=e2.scrollLeft
y-=e2.scrollTop}
return[x,y]},getElementSize:function(e){return[e.offsetWidth,e.offsetHeight]},getMousePos:function(e){if(!e)e=window.event
if(typeof e.pageX=='number'){return[e.pageX,e.pageY]}else if(typeof e.clientX=='number'){return[e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,e.clientY+document.body.scrollTop+document.documentElement.scrollTop]}},getViewPos:function(){if(typeof window.pageYOffset=='number'){return[window.pageXOffset,window.pageYOffset]}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){return[document.body.scrollLeft,document.body.scrollTop]}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}else{return[0,0]}},getViewSize:function(){if(typeof window.innerWidth=='number'){return[window.innerWidth,window.innerHeight]}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){return[document.body.clientWidth,document.body.clientHeight]}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){return[document.documentElement.clientWidth,document.documentElement.clientHeight]}else{return[0,0]}},URI:function(uri){this.scheme=null
this.authority=null
this.path=''
this.query=null
this.fragment=null
this.parse=function(uri){var m=uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/)
this.scheme=m[3]?m[2]:null
this.authority=m[5]?m[6]:null
this.path=m[7]
this.query=m[9]?m[10]:null
this.fragment=m[12]?m[13]:null
return this}
this.toString=function(){var result=''
if(this.scheme!=null)result=result+this.scheme+':'
if(this.authority!=null)result=result+'//'+this.authority
if(this.path!=null)result=result+this.path
if(this.query!=null)result=result+'?'+this.query
if(this.fragment!=null)result=result+'#'+this.fragment
return result}
this.toAbsolute=function(base){var base=new jscolor.URI(base)
var r=this
var t=new jscolor.URI
if(base.scheme==null)return false
if(r.scheme!=null&&r.scheme.toLowerCase()==base.scheme.toLowerCase()){r.scheme=null}
if(r.scheme!=null){t.scheme=r.scheme
t.authority=r.authority
t.path=removeDotSegments(r.path)
t.query=r.query}else{if(r.authority!=null){t.authority=r.authority
t.path=removeDotSegments(r.path)
t.query=r.query}else{if(r.path==''){t.path=base.path
if(r.query!=null){t.query=r.query}else{t.query=base.query}}else{if(r.path.substr(0,1)=='/'){t.path=removeDotSegments(r.path)}else{if(base.authority!=null&&base.path==''){t.path='/'+r.path}else{t.path=base.path.replace(/[^\/]+$/,'')+r.path}
t.path=removeDotSegments(t.path)}
t.query=r.query}
t.authority=base.authority}
t.scheme=base.scheme}
t.fragment=r.fragment
return t}
function removeDotSegments(path){var out=''
while(path){if(path.substr(0,3)=='../'||path.substr(0,2)=='./'){path=path.replace(/^\.+/,'').substr(1)}else if(path.substr(0,3)=='/./'||path=='/.'){path='/'+path.substr(3)}else if(path.substr(0,4)=='/../'||path=='/..'){path='/'+path.substr(4)
out=out.replace(/\/?[^\/]*$/,'')}else if(path=='.'||path=='..'){path=''}else{var rm=path.match(/^\/?[^\/]*/)[0]
path=path.substr(rm.length)
out=out+rm}}
return out}
if(uri){this.parse(uri)}},color:function(target,prop){this.required=true
this.adjust=true
this.hash=false
this.caps=true
this.valueElement=target
this.styleElement=target
this.hsv=[0,0,1]
this.rgb=[1,1,1]
this.pickerOnfocus=true
this.pickerMode='HSV'
this.pickerPosition='bottom'
this.pickerFace=10
this.pickerFaceColor='ThreeDFace'
this.pickerBorder=1
this.pickerBorderColor='ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight'
this.pickerInset=1
this.pickerInsetColor='ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow'
this.pickerZIndex=10000
for(var p in prop)this[p]=prop[p]
this.hidePicker=function(){if(isPickerOwner()){removePicker()}}
this.showPicker=function(){if(!isPickerOwner()){var tp=jscolor.getElementPos(target)
var ts=jscolor.getElementSize(target)
var vp=jscolor.getViewPos()
var vs=jscolor.getViewSize()
var ps=[2*this.pickerBorder+4*this.pickerInset+2*this.pickerFace+jscolor.images.pad[0]+2*jscolor.images.arrow[1]+jscolor.images.sld[0],2*this.pickerBorder+2*this.pickerInset+2*this.pickerFace+jscolor.images.pad[1]]
var a,b,c
switch(this.pickerPosition.toLowerCase()){case'left':a=1;b=0;c=-1;break
case'right':a=1;b=0;c=1;break
case'top':a=0;b=1;c=-1;break
default:a=0;b=1;c=1;break}
var l=(ts[b]+ps[b])/2
var pp=[-vp[a]+tp[a]+ps[a]>vs[a]?(-vp[a]+tp[a]+ts[a]/2>vs[a]/2&&tp[a]+ts[a]-ps[a]>=0?tp[a]+ts[a]-ps[a]:tp[a]):tp[a],-vp[b]+tp[b]+ts[b]+ps[b]-l+l*c>vs[b]?(-vp[b]+tp[b]+ts[b]/2>vs[b]/2&&tp[b]+ts[b]-l-l*c>=0?tp[b]+ts[b]-l-l*c:tp[b]+ts[b]-l+l*c):(tp[b]+ts[b]-l+l*c>=0?tp[b]+ts[b]-l+l*c:tp[b]+ts[b]-l-l*c)]
drawPicker(pp[a],pp[b])}}
this.importColor=function(){if(!valueElement){this.exportColor()}else{if(!this.adjust){if(!this.fromString(valueElement.value,leaveValue)){styleElement.style.backgroundColor=styleElement.jscStyle.backgroundColor
styleElement.style.color=styleElement.jscStyle.color
this.exportColor(leaveValue|leaveStyle)}}else if(!this.required&&/^\s*$/.test(valueElement.value)){valueElement.value=''
styleElement.style.backgroundColor=styleElement.jscStyle.backgroundColor
styleElement.style.color=styleElement.jscStyle.color
this.exportColor(leaveValue|leaveStyle)}else if(this.fromString(valueElement.value)){}else{this.exportColor()}}}
this.exportColor=function(flags){if(!(flags&leaveValue)&&valueElement){var value=this.toString()
if(this.caps)value=value.toUpperCase()
if(this.hash)value='#'+value
valueElement.value=value}
if(!(flags&leaveStyle)&&styleElement){styleElement.style.backgroundColor='#'+this.toString()
styleElement.style.color=0.213*this.rgb[0]+
0.715*this.rgb[1]+
0.072*this.rgb[2]<0.5?'#FFF':'#000'}
if(!(flags&leavePad)&&isPickerOwner()){redrawPad()}
if(!(flags&leaveSld)&&isPickerOwner()){redrawSld()}}
this.fromHSV=function(h,s,v,flags){h<0&&(h=0)||h>6&&(h=6)
s<0&&(s=0)||s>1&&(s=1)
v<0&&(v=0)||v>1&&(v=1)
this.rgb=HSV_RGB(h==null?this.hsv[0]:(this.hsv[0]=h),s==null?this.hsv[1]:(this.hsv[1]=s),v==null?this.hsv[2]:(this.hsv[2]=v))
this.exportColor(flags)}
this.fromRGB=function(r,g,b,flags){r<0&&(r=0)||r>1&&(r=1)
g<0&&(g=0)||g>1&&(g=1)
b<0&&(b=0)||b>1&&(b=1)
var hsv=RGB_HSV(r==null?this.rgb[0]:(this.rgb[0]=r),g==null?this.rgb[1]:(this.rgb[1]=g),b==null?this.rgb[2]:(this.rgb[2]=b))
if(hsv[0]!=null){this.hsv[0]=hsv[0]}
if(hsv[2]!=0){this.hsv[1]=hsv[1]}
this.hsv[2]=hsv[2]
this.exportColor(flags)}
this.fromString=function(hex,flags){var m=hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i)
if(!m){return false}else{if(m[1].length==6){this.fromRGB(parseInt(m[1].substr(0,2),16)/255,parseInt(m[1].substr(2,2),16)/255,parseInt(m[1].substr(4,2),16)/255,flags)}else{this.fromRGB(parseInt(m[1].charAt(0)+m[1].charAt(0),16)/255,parseInt(m[1].charAt(1)+m[1].charAt(1),16)/255,parseInt(m[1].charAt(2)+m[1].charAt(2),16)/255,flags)}
return true}}
this.toString=function(){return((0x100|Math.round(255*this.rgb[0])).toString(16).substr(1)+
(0x100|Math.round(255*this.rgb[1])).toString(16).substr(1)+
(0x100|Math.round(255*this.rgb[2])).toString(16).substr(1))}
function RGB_HSV(r,g,b){var n=Math.min(Math.min(r,g),b)
var v=Math.max(Math.max(r,g),b)
var m=v-n
if(m==0)return[null,0,v]
var h=r==n?3+(b-g)/m:(g==n?5+(r-b)/m:1+(g-r)/m)
return[h==6?0:h,m/v,v]}
function HSV_RGB(h,s,v){if(h==null)return[v,v,v]
var i=Math.floor(h)
var f=i%2?h-i:1-(h-i)
var m=v*(1-s)
var n=v*(1-s*f)
switch(i){case 6:case 0:return[v,n,m]
case 1:return[n,v,m]
case 2:return[m,v,n]
case 3:return[m,n,v]
case 4:return[n,m,v]
case 5:return[v,m,n]}}
function removePicker(){delete jscolor.picker.owner
document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB)}
function drawPicker(x,y){if(!jscolor.picker){jscolor.picker={box:document.createElement('div'),boxB:document.createElement('div'),pad:document.createElement('div'),padB:document.createElement('div'),padM:document.createElement('div'),sld:document.createElement('div'),sldB:document.createElement('div'),sldM:document.createElement('div')}
for(var i=0,segSize=4;i<jscolor.images.sld[1];i+=segSize){var seg=document.createElement('div')
seg.style.height=segSize+'px'
seg.style.fontSize='1px'
seg.style.lineHeight='0'
jscolor.picker.sld.appendChild(seg)}
jscolor.picker.sldB.appendChild(jscolor.picker.sld)
jscolor.picker.box.appendChild(jscolor.picker.sldB)
jscolor.picker.box.appendChild(jscolor.picker.sldM)
jscolor.picker.padB.appendChild(jscolor.picker.pad)
jscolor.picker.box.appendChild(jscolor.picker.padB)
jscolor.picker.box.appendChild(jscolor.picker.padM)
jscolor.picker.boxB.appendChild(jscolor.picker.box)}
var p=jscolor.picker
posPad=[x+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset,y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset]
posSld=[null,y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset]
p.box.onmouseup=p.box.onmouseout=function(){target.focus()}
p.box.onmousedown=function(){abortBlur=true}
p.box.onmousemove=function(e){holdPad&&setPad(e);holdSld&&setSld(e)}
p.padM.onmouseup=p.padM.onmouseout=function(){if(holdPad){holdPad=false;jscolor.fireEvent(valueElement,'change')}}
p.padM.onmousedown=function(e){holdPad=true;setPad(e)}
p.sldM.onmouseup=p.sldM.onmouseout=function(){if(holdSld){holdSld=false;jscolor.fireEvent(valueElement,'change')}}
p.sldM.onmousedown=function(e){holdSld=true;setSld(e)}
p.box.style.width=4*THIS.pickerInset+2*THIS.pickerFace+jscolor.images.pad[0]+2*jscolor.images.arrow[0]+jscolor.images.sld[0]+'px'
p.box.style.height=2*THIS.pickerInset+2*THIS.pickerFace+jscolor.images.pad[1]+'px'
p.boxB.style.position='absolute'
p.boxB.style.clear='both'
p.boxB.style.left=x+'px'
p.boxB.style.top=y+'px'
p.boxB.style.zIndex=THIS.pickerZIndex
p.boxB.style.border=THIS.pickerBorder+'px solid'
p.boxB.style.borderColor=THIS.pickerBorderColor
p.boxB.style.background=THIS.pickerFaceColor
p.pad.style.width=jscolor.images.pad[0]+'px'
p.pad.style.height=jscolor.images.pad[1]+'px'
p.padB.style.position='absolute'
p.padB.style.left=THIS.pickerFace+'px'
p.padB.style.top=THIS.pickerFace+'px'
p.padB.style.border=THIS.pickerInset+'px solid'
p.padB.style.borderColor=THIS.pickerInsetColor
p.padM.style.position='absolute'
p.padM.style.left='0'
p.padM.style.top='0'
p.padM.style.width=THIS.pickerFace+2*THIS.pickerInset+jscolor.images.pad[0]+jscolor.images.arrow[0]+'px'
p.padM.style.height=p.box.style.height
p.padM.style.cursor='crosshair'
p.sld.style.overflow='hidden'
p.sld.style.width=jscolor.images.sld[0]+'px'
p.sld.style.height=jscolor.images.sld[1]+'px'
p.sldB.style.position='absolute'
p.sldB.style.right=THIS.pickerFace+'px'
p.sldB.style.top=THIS.pickerFace+'px'
p.sldB.style.border=THIS.pickerInset+'px solid'
p.sldB.style.borderColor=THIS.pickerInsetColor
p.sldM.style.position='absolute'
p.sldM.style.right='0'
p.sldM.style.top='0'
p.sldM.style.width=jscolor.images.sld[0]+jscolor.images.arrow[0]+THIS.pickerFace+2*THIS.pickerInset+'px'
p.sldM.style.height=p.box.style.height
try{p.sldM.style.cursor='pointer'}catch(eOldIE){p.sldM.style.cursor='hand'}
switch(modeID){case 0:var padImg='hs.png';break
case 1:var padImg='hv.png';break}
p.padM.style.background="url('"+jscolor.getDir()+"cross.gif') no-repeat"
p.sldM.style.background="url('"+jscolor.getDir()+"arrow.gif') no-repeat"
p.pad.style.background="url('"+jscolor.getDir()+padImg+"') 0 0 no-repeat"
redrawPad()
redrawSld()
jscolor.picker.owner=THIS
document.getElementsByTagName('body')[0].appendChild(p.boxB)}
function redrawPad(){switch(modeID){case 0:var yComponent=1;break
case 1:var yComponent=2;break}
var x=Math.round((THIS.hsv[0]/6)*(jscolor.images.pad[0]-1))
var y=Math.round((1-THIS.hsv[yComponent])*(jscolor.images.pad[1]-1))
jscolor.picker.padM.style.backgroundPosition=(THIS.pickerFace+THIS.pickerInset+x-Math.floor(jscolor.images.cross[0]/2))+'px '+
(THIS.pickerFace+THIS.pickerInset+y-Math.floor(jscolor.images.cross[1]/2))+'px'
var seg=jscolor.picker.sld.childNodes
switch(modeID){case 0:var rgb=HSV_RGB(THIS.hsv[0],THIS.hsv[1],1)
for(var i=0;i<seg.length;i++){seg[i].style.backgroundColor='rgb('+
(rgb[0]*(1-i/seg.length)*100)+'%,'+
(rgb[1]*(1-i/seg.length)*100)+'%,'+
(rgb[2]*(1-i/seg.length)*100)+'%)'}
break
case 1:var rgb,s,c=[THIS.hsv[2],0,0]
var i=Math.floor(THIS.hsv[0])
var f=i%2?THIS.hsv[0]-i:1-(THIS.hsv[0]-i)
switch(i){case 6:case 0:rgb=[0,1,2];break
case 1:rgb=[1,0,2];break
case 2:rgb=[2,0,1];break
case 3:rgb=[2,1,0];break
case 4:rgb=[1,2,0];break
case 5:rgb=[0,2,1];break}
for(var i=0;i<seg.length;i++){s=1-1/(seg.length-1)*i
c[1]=c[0]*(1-s*f)
c[2]=c[0]*(1-s)
seg[i].style.backgroundColor='rgb('+
(c[rgb[0]]*100)+'%,'+
(c[rgb[1]]*100)+'%,'+
(c[rgb[2]]*100)+'%)'}
break}}
function redrawSld(){switch(modeID){case 0:var yComponent=2;break
case 1:var yComponent=1;break}
var y=Math.round((1-THIS.hsv[yComponent])*(jscolor.images.sld[1]-1))
jscolor.picker.sldM.style.backgroundPosition='0 '+(THIS.pickerFace+THIS.pickerInset+y-Math.floor(jscolor.images.arrow[1]/2))+'px'}
function isPickerOwner(){return jscolor.picker&&jscolor.picker.owner==THIS}
function blurTarget(){if(valueElement==target)THIS.importColor()
if(THIS.pickerOnfocus)THIS.hidePicker()}
function blurValue(){if(valueElement!=target)THIS.importColor()}
function setPad(e){var posM=jscolor.getMousePos(e)
var x=posM[0]-posPad[0]
var y=posM[1]-posPad[1]
switch(modeID){case 0:THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)),1-y/(jscolor.images.pad[1]-1),null,leaveSld);break
case 1:THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)),null,1-y/(jscolor.images.pad[1]-1),leaveSld);break}}
function setSld(e){var posM=jscolor.getMousePos(e)
var y=posM[1]-posPad[1]
switch(modeID){case 0:THIS.fromHSV(null,null,1-y/(jscolor.images.sld[1]-1),leavePad);break
case 1:THIS.fromHSV(null,1-y/(jscolor.images.sld[1]-1),null,leavePad);break}}
var THIS=this
var modeID=this.pickerMode.toLowerCase()=='hvs'?1:0
var abortBlur=false
var
valueElement=jscolor.fetchElement(this.valueElement),styleElement=jscolor.fetchElement(this.styleElement)
var
holdPad=false,holdSld=false
var
posPad,posSld
var
leaveValue=1<<0,leaveStyle=1<<1,leavePad=1<<2,leaveSld=1<<3
jscolor.addEvent(target,'focus',function(){if(THIS.pickerOnfocus)THIS.showPicker()})
jscolor.addEvent(target,'blur',function(){if(!abortBlur){setTimeout(function(){abortBlur||blurTarget();abortBlur=false},0)}else{abortBlur=false}})
if(valueElement){var updateField=function(){THIS.fromString(valueElement.value,leaveValue)}
jscolor.addEvent(valueElement,'keyup',updateField)
jscolor.addEvent(valueElement,'input',updateField)
jscolor.addEvent(valueElement,'blur',blurValue)
valueElement.setAttribute('autocomplete','off')}
if(styleElement){styleElement.jscStyle={backgroundColor:styleElement.style.backgroundColor,color:styleElement.style.color}}
switch(modeID){case 0:jscolor.requireImage('hs.png');break
case 1:jscolor.requireImage('hv.png');break}
jscolor.requireImage('cross.gif');jscolor.requireImage('arrow.gif');this.importColor()}}
jscolor.install() 
 /* 1592:minified:js/librarything.js */ 

var LibraryThing=LibraryThing||{};LibraryThing.namespace=function(namespace){var spaces=namespace.split('.');var currentSpace=LibraryThing;var i;for(i=0;i<spaces.length;i++)
{currentSpace[spaces[i]]=currentSpace[spaces[i]]||{};currentSpace=currentSpace[spaces[i]];}};LibraryThing.namespace("utils");LibraryThing.utils.loadScript=function(script,onLoaded){if(typeof LibraryThing.utils.loadScript.head==='undefined')
{LibraryThing.utils.loadScript.head=document.getElementsByTagName("head")[0];}
var s=document.createElement("script");s.type="text/javascript";s.src=script;if(typeof onLoaded!=='undefined')
{s.onloadDone=false;s.onload=function(){s.onloadDone=true;onLoaded();};s.onreadystatechange=function(){if(s.readyState==='loaded'&&!s.onloadDone){s.onloadDone=true;onLoaded();};};}
LibraryThing.utils.loadScript.head.appendChild(s);}; 
 /* 1592:minified:js/widget_bookswithtext.js */ 

if(!LibraryThing)
{var LibraryThing={};}
if(!LibraryThing.bookAPI)
{LibraryThing.bookAPI={};}
if(typeof(LibraryThing.bookAPI.textWidget)=="undefined"){if(!LibraryThing.bookAPI.textWidget)
{LibraryThing.bookAPI.textWidget={};}
LibraryThing.bookAPI.textWidget.bookLinkAA=new Array();LibraryThing.bookAPI.textWidget.AuthorLinkPattern='/author/MAGICNUMBER';LibraryThing.bookAPI.textWidget.AuthorLinkField='author_code';LibraryThing.bookAPI.textWidget.AuthorLinkString=function(book,widgetSettings)
{var link='http://'+widgetSettings.domain+LibraryThing.bookAPI.textWidget.AuthorLinkPattern;link=link.replace('MAGICNUMBER',book.author_code);return link;}
LibraryThing.bookAPI.textWidget.makeCoverimage=function(book,coverHeight,coverWidth,widgetSettings)
{if(book.cover)
{var coverimage=document.createElement("img");coverimage.className='LT_cover';coverimage.setAttribute('src',book.cover);coverimage.onclick=function getLightbox(){LibraryThing.bookAPI.wrapper.showLightbox(book.book_id,widgetSettings.uniqueKey,widgetSettings.domain);}
if(coverWidth==''){coverimage.setAttribute('height',coverHeight);}
else
{coverimage.setAttribute('width',coverWidth);}
coverimage.setAttribute('title',book.title);return coverimage;}
else
{return null;}}
LibraryThing.bookAPI.textWidget.makeTags=function(book,widgetSettings)
{if(widgetSettings.textsnippets.Tagged==undefined)
{var tagged_wording="Tagged";}
else
{var tagged_wording=widgetSettings.textsnippets.Tagged;}
var tagList=" "+tagged_wording+": "
var theTag=document.createElement("span");theTag.className='LT_tags';var count=0;if(book.tags)
{var tagdisplayA=new Array();for(count=0;count<book.tags.length;count++)
{tagdisplayA.push('<a href="/catalog/'+encodeURI(widgetSettings.theuser)+'&tag='+encodeURI(book.tags[count])+'" target="_top">'+book.tags[count]+'</a>');}
tagList=tagList+tagdisplayA.join(', ');theTag.innerHTML=tagList;return theTag;}
else
{return null;}}
LibraryThing.bookAPI.textWidget.makeTitleandauthorlink=function(book,showTitle,showAuthor,widgetSettings)
{if(widgetSettings.textsnippets.Tagged==undefined)
{var by_wording="by";}
else
{var by_wording=widgetSettings.textsnippets.by;}
var titleandauthorlink=document.createElement("span");titleandauthorlink.className='LT_titleandauthor';var theTitle=document.createElement("span");theTitle.className='LT_title';var theAuthor=document.createElement("span");theAuthor.className='LT_author';if(showTitle==1)
{if(book.title)
{theTitle.innerHTML=book.title;theTitle.onclick=function getLightbox(){LibraryThing.bookAPI.wrapper.showLightbox(book.book_id,widgetSettings.uniqueKey,widgetSettings.domain);}
titleandauthorlink.appendChild(theTitle);}}
if(showAuthor==1&&book.author_fl)
{if(LibraryThing.bookAPI.textWidget.AuthorLinkPattern)
{var byspan=document.createElement("span");byspan.className='by';if(showTitle==1)
{var byText='&nbsp;'+by_wording+' ';byspan.innerHTML=byText;}
theAuthor.appendChild(byspan);var authorlink=document.createElement("a");authorlink.setAttribute('href',LibraryThing.bookAPI.textWidget.AuthorLinkString(book,widgetSettings));authorlink.setAttribute('target','_top');authorlink.innerHTML=book.author_fl;theAuthor.appendChild(authorlink);titleandauthorlink.appendChild(theAuthor);}}
return titleandauthorlink;}
LibraryThing.bookAPI.textWidget.makeBookreview=function(book,widgetSettings)
{if(widgetSettings.textsnippets.readreview==undefined)
{var wording="read review";}
else
{var wording=widgetSettings.textsnippets.readreview;}
if(book.bookreview)
{var bookreview=document.createElement('div');bookreview.className='LT_bookreview';bookreview.innerHTML=book.bookreview;var bookreviewlink=document.createElement("span");bookreviewlink.innerHTML=" (<a href='http://"+widgetSettings.domain+"/review/"+book.book_id+"' target='_top'>"+wording+"</a>)";bookreview.appendChild(bookreviewlink);return bookreview;}
else
{return null;}}
LibraryThing.bookAPI.textWidget.makeBookreviewlink=function(book)
{if(book.hasreview&&book.hasreview==1)
{var bookreviewlink=document.createElement("span");bookreviewlink.className='LT_reviewlink';var readreviewlink=' (<a class="LT_reviewlink" href="http://www.librarything.com/review/'+book.book_id+'" target="_top" >'+'read review'+'</a>)';bookreviewlink.innerHTML=readreviewlink;return bookreviewlink;}
else
{return null;}}
LibraryThing.bookAPI.textWidget.makeRatingimage=function(book,widgetSettings)
{if(book.rating)
{var ratingimage=document.createElement("img");ratingimage.className='LT_rating';var url='http://static.librarything.com/pics/ss'+(book.rating*2)+'.gif';ratingimage.setAttribute('src',url);ratingimage.setAttribute('title',book.rating+widgetSettings.textsnippets.Tagged);return ratingimage;}
else
{return null;}}
LibraryThing.bookAPI.textWidget.makeBasicwidget=function(ltdata,theDiv,onDone){var count=0;var theDestination=document.getElementById(theDiv);var widgetSettings=ltdata.settings;for(i in ltdata.books)
{var book=ltdata.books[i];if(book.book_id)
{var itemdiv=document.createElement("div");if(i==ltdata.books.length-1){itemdiv.className='LT_item';}
else
{itemdiv.className='LT_itemLast';}
itemdiv.setAttribute('id',ltdata.settings.uniqueKey+book.book_id+'LT_item');if(ltdata.settings.show.showCovers)
{if(book.cover)
{itemdiv.appendChild(LibraryThing.bookAPI.textWidget.makeCoverimage(book,ltdata.settings.coverheight,ltdata.settings.coverwidth,widgetSettings));}}
var titleandauthor=LibraryThing.bookAPI.textWidget.makeTitleandauthorlink(book,ltdata.settings.show.showTitles,ltdata.settings.show.showAuthors,widgetSettings);titleandauthor.id=ltdata.settings.uniqueKey+book.book_id;itemdiv.appendChild(titleandauthor);if(ltdata.settings.show.showRatings==1)
{theRatings=LibraryThing.bookAPI.textWidget.makeRatingimage(book,widgetSettings);if(theRatings){itemdiv.appendChild(theRatings)}}
if(ltdata.settings.show.showTags==1)
{theTags=LibraryThing.bookAPI.textWidget.makeTags(book,widgetSettings);if(theTags){itemdiv.appendChild(theTags)}}
if(ltdata.settings.show.showReviews==1)
{theReviews=LibraryThing.bookAPI.textWidget.makeBookreview(book,widgetSettings);if(theReviews){itemdiv.appendChild(theReviews)}}
var theTable=document.getElementById("iframeTable");var clearOut=document.createElement("div");clearOut.className="clearer";itemdiv.appendChild(clearOut);theDestination.appendChild(itemdiv);count++;}}
var booklinksdiv=document.createElement("div");booklinksdiv.id='LT_booklinksdiv';booklinksdiv.className='LT_booklinks';booklinksdiv.style.display='none';booklinksdiv.style.position='absolute';theDestination.appendChild(booklinksdiv);if(typeof onDone!=='undefined')
{var maxImageHeight=parseInt(widgetSettings.coverwidth.substr(0,(widgetSettings.coverwidth.length-2)));onDone(Math.floor(maxImageHeight*0.7*count));}}} 
 /* 1592:minified:js/widget_wrapper.js */ 

LibraryThing.namespace("bookAPI.wrapper");LibraryThing.bookAPI.wrapper.addGlobalStyle=function(cssInput)
{var styleElement=document.createElement('style');styleElement.setAttribute('type','text/css');if(styleElement.styleSheet)
{styleElement.styleSheet.cssText=cssInput;}
else
{var textNode=document.createTextNode(cssInput);styleElement.appendChild(textNode);}
document.getElementsByTagName('head')[0].appendChild(styleElement);};LibraryThing.bookAPI.wrapper.showLightbox=function(bookID,widgetID,localDomain)
{var params={width:600,height:400,modal:false};if(typeof LibraryThing.bookArea!=='undefined'&&typeof LibraryThing.bookArea.kiosk!=='undefined')
{LibraryThing.bookArea.kiosk.pause();params.callbackFailure=function(){LibraryThing.bookArea.kiosk.unpause();};}
LibraryThing.lightbox.iframe('http://'+localDomain+'/widget_work.php?book='+bookID+'&id='+widgetID,params);};LibraryThing.bookAPI.wrapper.makeWidgetWrapper=function(ltdata,theDiv)
{LibraryThing.namespace("activeWidgets");LibraryThing.activeWidgets.all=LibraryThing.activeWidgets.all||{};LibraryThing.activeWidgets.info=LibraryThing.activeWidgets.info||{};LibraryThing.activeWidgets.info.animatedCount=LibraryThing.activeWidgets.info.animatedCount||0;if(typeof LibraryThing.activeWidgets.all[theDiv]==='undefined')
{var widgetType=ltdata.showWhat;LibraryThing.activeWidgets.all[theDiv]=widgetType;if(widgetType==='covers')
{LibraryThing.activeWidgets.info.animatedCount++;}}
else
{alert('You can only have one of the same widget on any given page.');return;}
var theDestination=document.getElementById(theDiv);LibraryThing.bookAPI.wrapper.addGlobalStyle(ltdata.style);if(ltdata.title!=="")
{var titleDiv=document.createElement("div");titleDiv.className='LT_header';var mainLink=document.createElement("a");if(ltdata.titleLink=='library')
{mainLink.setAttribute('href','http://www.librarything.com/catalog/'+ltdata.theuser);}
else
{mainLink.setAttribute('href','http://www.librarything.com/profile/'+ltdata.theuser);}
mainLink.setAttribute('target','_top');mainLink.innerHTML=ltdata.title;titleDiv.appendChild(mainLink);theDestination.appendChild(titleDiv);}
var contentDiv=document.createElement("div");contentDiv.className="LT_content";contentDiv.setAttribute("id",theDiv+"LT_Content");var preloadDiv=document.createElement("div");preloadDiv.setAttribute("id",theDiv+"preload");preloadDiv.className="LT_Preload";var preloadImg=document.createElement("img");preloadImg.setAttribute("src",ltdata.preloader);preloadDiv.appendChild(preloadImg);contentDiv.appendChild(preloadDiv);theDestination.appendChild(contentDiv);var poweredDiv=document.createElement("div");poweredDiv.setAttribute('style','vertical-align: middle;');var poweredImage=document.createElement("img");var poweredLink=document.createElement("a");var poweredImgLink=document.createElement("a");poweredDiv.className='LT_powered';poweredImage.className="favicon";poweredImage.setAttribute('src',"http://www.librarything.com/favicon.ico");poweredImage.setAttribute('width','16px');poweredImage.setAttribute('height','16px');poweredLink.setAttribute('href','http://www.librarything.com')
poweredLink.setAttribute('target','_top');poweredLink.innerHTML='Powered <span style="white-space: nowrap;">by LibraryThing</span>';poweredImgLink.setAttribute('href','http://www.librarything.com')
poweredImgLink.setAttribute('target','_top');poweredImgLink.appendChild(poweredImage);poweredDiv.appendChild(poweredImgLink);poweredDiv.appendChild(poweredLink);theDestination.appendChild(poweredDiv);return true;}; 
 /* 1592:minified:js/lt_lightbox_widget.js */ 

LibraryThing.lightbox={active:0,yPos:0,xPos:0,css_url:'/css/lt_lightbox.css',ie:(navigator.appName=="Microsoft Internet Explorer"?true:false),dochead:document.getElementsByTagName('head')[0],initialized:false,div_lightbox:null,div_overlay:null,div_content:null,div_loading:null,lb_width:400,lb_height:300,inline_container:null,params:null,hasiframe:false,unload:function(){this.active=false;},init:function()
{this.active=true;try
{if(!this.initialized)
{var body=document.getElementsByTagName('body')[0];this.div_overlay=document.createElement('div');this.div_overlay.id='LT_LB_overlay';this.div_lightbox=document.createElement('div');this.div_lightbox.id='LT_LB';this.div_lightbox.style.display="none";this.div_content=document.createElement('div');this.div_content.id='LT_LB_content';this.div_content.className='LT_LB_content';this.div_content.style.display="none";this.div_loading=document.createElement('div');this.div_loading.id='LT_LB_loading';this.div_loading.style.display="none";this.div_loading.innerHTML="Loading...";this.div_close=document.createElement('div');this.div_close.id='LT_LB_close';body.appendChild(this.div_overlay);body.appendChild(this.div_lightbox);body.appendChild(this.div_close);this.div_lightbox.appendChild(this.div_loading);this.div_lightbox.appendChild(this.div_content);this.params={};this.initialized=true;}}
catch(e)
{this.initialized=false;}},setParams:function(inparams)
{if(inparams)
{this.init();this.params={};for(pp in inparams)
{this.params[pp]=inparams[pp];if(pp=='content_class')
{this.div_content.className=inparams[pp];}
else
{this.div_content.className='LT_LB_content';}}}},setPosition:function()
{var iw=this.params.width;var ih=this.params.height;var iwp=(iw)?iw:this.lb_width;var ihp=(ih)?ih:this.lb_width;var winWidth=0,winHeight=0;var workingLeft=0,workingTop=0;if(typeof(window.innerWidth)=='number')
{winWidth=window.innerWidth;winHeight=window.innerHeight;}
else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight))
{winWidth=document.documentElement.clientWidth;winHeight=document.documentElement.clientHeight+20;}
else if(document.body&&(document.body.clientWidth||document.body.clientHeight))
{winWidth=document.body.clientWidth;winHeight=document.body.clientHeight;}
if(iwp>winWidth)
{iwp=winWidth;}
if(ihp>winHeight)
{ihp=winHeight;}
this.div_overlay.style.height=winHeight+'px';workingLeft=winWidth-iwp;workingTop=winHeight-ihp;if(workingLeft)
{workingLeft=Math.floor((winWidth-iwp)/2);}
else
{if(this.ie)
{iwp=iwp-40;}}
if(workingTop)
{workingTop=Math.floor((winHeight-ihp)/2);}
else
{if(this.ie)
{ihp=ihp-44;}}
if(this.params.absolute==true)
{this.div_lightbox.style.position='absolute';}
this.div_lightbox.style.width=iwp+'px';this.div_lightbox.style.height=ihp+'px';{this.getScroll();this.prepareIE('100%','hidden');this.setScroll(0,0);this.div_lightbox.style.position='absolute';this.div_lightbox.style.overflow='auto';}
this.div_lightbox.style.top=workingTop+'px';this.div_lightbox.style.left=workingLeft+'px';},iframe:function(contentURL,params)
{if(contentURL)
{if(typeof(window.parent.LibraryThing.lightbox)!='undefined'&&LibraryThing.lightbox.hasiframe==false&&window.parent.LibraryThing.lightbox.hasiframe==true)
{window.parent.LibraryThing.lightbox.iframe(contentURL,params);return false;}
this.init();if(params)
{this.setParams(params);}
this.setPosition();if(this.ie){this.getScroll();this.prepareIE('100%','hidden');this.setScroll(0,0);this.hideSelects('hidden');}
var wasShowing=this.isShowing('LT_LB');var uid=0;var ajaxparams={};if(params)
{if(params['ajaxparams'])
{ajaxparams=params['ajaxparams'];}}
ajaxparams.uid=uid;var lightbox=document.getElementById('LT_LB');var lightbox_content=document.getElementById('LT_LB_content');var lightbox_overlay=document.getElementById('LT_LB_overlay');lightbox_content.innerHTML='';lightbox.style.display='block';var currentWidth=lightbox.offsetWidth-4;var currentHeight=lightbox.offsetHeight-5;var iframeS="<iframe id='LT_iframe' src='"+contentURL;iframeS+="' frameborder='0' scrolling='auto' width='"+currentWidth;iframeS+="' height='"+currentHeight+"'></iframe>";lightbox_content.innerHTML=iframeS;lightbox_overlay.style.display='block';lightbox_content.style.display='block';this.div_close.style.position='absolute';this.div_close.style.padding='0px';this.div_close.style.margin='0px';this.div_close.style.top=lightbox.offsetTop+8+'px';this.div_close.style.left=lightbox.offsetLeft+530+'px';this.div_close.style.zIndex=100000;this.div_close.style.color="#FFFFFF";this.div_close.style.cursor="pointer";this.div_close.innerHTML='<span style="padding: 0px; margin: 0px; font-size:14px; font-family:Verdana,Arial,Helvetica,sans-serif; " onclick="LibraryThing.lightbox.off();">(close)</span>';this.div_close.style.display='inline';LibraryThing.lightbox.ready();this.unload=function(){lightbox_content.innerHTML='';};this.modalCheck();}},off:function(success){this.unload();{this.setScroll(0,this.yPos);this.prepareIE("auto","auto");this.hideSelects("visible");}
if(this.params.absolute)
{this.prepareIE("auto","auto");this.setScroll(0,this.yPos+1);}
this.showhide('LT_LB_overlay',false);this.showhide('LT_LB',false);this.showhide('LT_LB_close',false);if(success)
{if(this.params&&this.params.callbackSuccess)
{LibraryThing.lightbox.cbRun(this.params.callbackSuccess,this.params.callbackParams);this.params.callbackSuccess=null;}}
else
{if(this.params&&this.params.callbackFailure)
{LibraryThing.lightbox.cbRun(this.params.callbackFailure,this.params.callbackParams);this.params.callbackFailure=null;}}},cbRun:function(f,p)
{if(typeof f==='function')
{f(p);}
else if(typeof f!=='undefined')
{var fstring=f+'(';if(p)
{fstring+='p';}
fstring+=')';eval(fbstring);}},ready:function()
{if(this.params&&this.params.callbackReady)
{LibraryThing.lightbox.cbRun(this.params.callbackReady);}},modalCheck:function()
{var overlay=document.getElementById('LT_LB_overlay');if(this.params)
{if(this.params.modal==true)
{overlay.style.cursor='default';}
else
{if(typeof LibraryThing.lightbox.overlayInit==='undefined')
{this.addEvent(overlay,'click',function(event){event.cancelBubble=true;if(event.stopPropagation)
{event.stopPropagation();}
LibraryThing.lightbox.off();});LibraryThing.lightbox.overlayInit=true;}
overlay.style.cursor='default';}}
else
{if(typeof LibraryThing.lightbox.overlayInit==='undefined')
{this.addEvent(overlay,'click',function(event){event.cancelBubble=true;if(event.stopPropagation)
{event.stopPropagation();}
LibraryThing.lightbox.off();});LibraryThing.lightbox.overlayInit=true;}
overlay.style.cursor='hand';}},addEvent:function(elt,evt,func)
{if(typeof elt=='string'){elt=document.getElementById(elt);}
if(elt.addEventListener){elt.addEventListener(evt,func,false);}
else{elt.attachEvent("on"+evt,func);}},removeEvent:function(elt,evt,func)
{if(typeof elt=='string'){elt=document.getElementById(elt);}
if(elt.removeEventListener){elt.removeEventListener(evt,func,false);}
else{elt.detachEvent("on"+evt,elt[evt+func]);elt[evt+func]=null;elt['e'+evt+func]=null;}},showhide:function(elt_id,bool)
{var elt=document.getElementById(elt_id);if(elt)
{elt.style.display=bool?'block':'none';}},isShowing:function(elt_id)
{var elt=document.getElementById(elt_id);if(elt.style.display=='none')
{return false;}
return true;},prepareIE:function(height,overflow)
{var htm=document.getElementsByTagName('html')[0];htm.style.height=height;htm.style.overflow=overflow;htm.style.display='block';},hideSelects:function(visibility){var selects=document.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].style.visibility=visibility;}},getScroll:function(){if(self.pageYOffset){this.yPos=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){this.yPos=document.documentElement.scrollTop;}else if(document.body){this.yPos=document.body.scrollTop;}},setScroll:function(x,y){window.scrollTo(x,y);},addScriptURL:function(url){var script=document.createElement('script');script.type='text/javascript';script.src=url;this.dochead.appendChild(script);},load:function(response,container){container=container||"LT_LB_content";var lb=document.getElementById(container);lb.innerHTML=response;LibraryThing.showhide('LT_LB_loading',false);LibraryThing.showhide('LT_LB_content',true);LibraryThing.showhide('LT_LB_close',true);},parseQuery:function(query){var Params={};if(!query){return Params;}
var Pairs=query.split(/[;&]/);for(var i=0;i<Pairs.length;i++){var KeyVal=Pairs[i].split('=');if(!KeyVal||KeyVal.length!=2){continue;}
var key=unescape(KeyVal[0]);var val=unescape(KeyVal[1]);val=val.replace(/\+/g,' ');Params[key]=val;}
return Params;}}; 
 /* 1592:minified:js2/collections.js */ 

LibraryThing=LibraryThing||{};var collections=LibraryThing.collections={pickCollection:function(num,yourcatalog)
{if(yourcatalog)
{LibraryThing.setCookie('collectionPick',num);}
else
{LibraryThing.setCookie('collectionPickOthers',num);}
var lllx=window.location;var url=location.pathname;var qp=lllx.search.toQueryParams();delete(qp.collection);var qps=Object.toQueryString(qp);window.location=lllx.pathname+'?'+qps;},manage:function()
{var url='/ajax_editCollections.php';var callbackParams={};var params={v:1.0,height:455,width:350,callbackSuccess:'collections.updateUI',callbackParams:callbackParams,modal:true,absolute:0,content_class:'collectionsLB_content'}
LibraryThing.lightbox.ajax(url,params);},handleCollectionsSelector:function(e,formid)
{e=validateEvent(e);var blech=0;var menu=e.target;var selectedIndex=menu.selectedIndex;var selectedItem=menu.options[selectedIndex];var collection=selectedItem.value;this.pickCollection(collection);},handleMenu:function(e,formid)
{e=validateEvent(e);var blech=0;var menu=e.target;var selectedIndex=menu.selectedIndex;var menuLength=menu.childNodes.length;},updateUI:function()
{window.location.reload();return;},addMore:function(formid,addid)
{var formEl=$(formid);var uid=LT_GetRandomID(32);var url="/ajax_collections_simple_menu.php";var prevItem=$(addid).up();var params={formid:formid};var responseFunction=function(t)
{if(t.responseText!='0')
{var form=$(formid);var plus=$(addid).remove();var md=document.createElement('div');md.innerHTML=t.responseText;md.appendChild(plus);form.appendChild(md);var anchorid=LT_GetRandomID(8);var spanid=LT_GetRandomID(8);var addremove=document.createElement('span');addremove.id=spanid;addremove.className='collectionAddremove';addremove.innerHTML='('+"<a id=\""+anchorid+"\" href=\"javascript:collections.removeItem('"+formid+"', '"+spanid+"');\">remove</a>"+')';prevItem.appendChild(addremove);}};basic_ajax(url,params,responseFunction);},removeItem:function(formid,removeid)
{var item=$(removeid).up();$(item).remove();},updateCollectionTitle:function(inputid,c_id)
{var nameEl=$('collname_'+c_id);var inputEl=$(inputid);var newname=inputEl.value;if(newname!='')
{nameEl.innerHTML=newname;}},editPanelToggle:function(c_id)
{var maindivid='colldiv_'+c_id;var editid='colEditBox_'+c_id;var edit=$(editid);var pencilid='pencil_'+c_id;var pencil=$(pencilid);var maindiv=$(maindivid);var divot=$('divot_'+c_id);if(maindiv.ondblclick)
{maindiv.ondblclick='';}
else
{maindiv.ondblclick=function(){LibraryThing.collections.editPanelToggle(c_id);}}
if(pencil)
{$(pencilid).toggle();}
edit.toggle();if(edit.visible())
{$('name_'+c_id).activate();divot.innerHTML='&#9662;';}
else
{divot.innerHTML='&#9656;';}
return false;},closeCollectionPanel:function(c_id)
{var nameEl=$('collname_'+c_id);var inputEl=$('name_'+c_id);var newname=inputEl.value;if(newname=='')
{new Effect.Highlight(nameField,{startcolor:'#ff9999',endcolor:'#fffffff'});return;}
else
{this.editPanelToggle(c_id);}},create:function(container,putOnTop)
{var url='/ajax_collectionCreate.php';var params={};var responseFunction=function(t)
{var r=t.responseText;if(r!='0')
{var co=$(container);var d=document.createElement('div');d.innerHTML=r;var inn=$(d).firstDescendant();if(putOnTop)
{var firstChild=co.firstDescendant();co.insertBefore(inn,firstChild);}
else
{co.appendChild(inn);}
Position.includeScrollOffsets=true;LibraryThing.collections.editSortable=Sortable.create(container,{tag:'div'});var collectiondivs=document.getElementsByClassName('collectionsCollectionDIV');var collectiondivid=collectiondivs[0].id;regex=/-?\d+/i;var c_id=regex.exec(collectiondivid);LibraryThing.collections.editPanelToggle(c_id);var namefield=$('name_'+c_id);namefield.activate();var button=$('addnewcollectionButton');if(button)
{button.toggleClassName('ltbtn-disabled');}}}
var button=$('addnewcollectionButton');if(button)
{button.toggleClassName('ltbtn-disabled');}
basic_ajax(url,params,responseFunction);},ignoreReturnKey:function(e,input){input.focus;var key=e.keyCode;if(key==13){Event.stop(e);return false;};return true;},deleteCollection:function(c_id)
{var confirmed=false;if(c_id<-5000)
{confirmed=true;}
else
{confirmed=confirm('Are you sure you want to permanently delete this collection?\n\nBooks will be removed from the collection but remain in your account.');}
if(confirmed)
{var removeIt=function()
{var collDiv=$('colldiv_'+c_id);if(collDiv)
{collDiv.remove();}}
var responseFunction=function(t)
{var r=t.responseText;if(r!='0')
{removeIt();}}
if(c_id<-5000)
{removeIt();return;}
var url='/ajax_collectionDelete.php';var params={c_id:c_id};basic_ajax(url,params,responseFunction);}},saveOrder:function()
{var collectionInfo=[];var settings=[];var index;var c_ids=Sortable.sequence('manageCollectionsContainer');var cidcount=c_ids.length;for(index=0;index<cidcount;index++)
{var c_id=c_ids[index];var recommend=1;var priv=0;var include=1;var hide=0;var nameField=$('name_'+c_id);if(nameField)
{var newname=nameField.value;if(newname=='')
{this.editPanelToggle(c_id);new Effect.Highlight(nameField,{startcolor:'#ff9999',endcolor:'#fffffff'});return;}}
var recommendField=$('recommend_'+c_id);if(recommendField)
{recommend=(recommendField.checked)?1:0;}
var privateField=$('private_'+c_id);if(privateField)
{priv=(privateField.checked)?1:0;}
var includeField=$('include_'+c_id);if(includeField)
{include=(includeField.checked)?1:0;}
var hideField=$('hide_'+c_id);if(hideField)
{hide=(hideField.checked)?0:1;}
settings[index]={};settings[index].c_id=c_id;settings[index].cn_name=newname;settings[index].c_hide=hide;settings[index].c_include=include;settings[index].c_recommend=recommend;settings[index].c_private=priv;}
var params={data:(settings.toJSON())};var url='/ajax_collectionsSaveOrder.php';var responseFunction=function(t)
{var r=t.responseText;if(r!='0')
{LibraryThing.lightbox.off(true);LibraryThing.collections.updateUI();}
else
{}}
var saveButton=$('collectionManagerSaveButton');var cancelButton=$('collectionManagerCancelButton');if(saveButton){saveButton.addClassName('ltbtn-disabled');}
if(cancelButton){cancelButton.addClassName('ltbtn-disabled');}
basic_ajax(url,params,responseFunction);},saveCollectionInfo:function(c_id)
{var url='/ajax_collectionSaveCollectionInfo.php';var editid='colEditBox_'+c_id;var form=$('editCollForm_'+c_id);var nameField=form['name_'+c_id];if(nameField)
{var newname=nameField.value;if(newname=='')
{new Effect.Highlight(nameField,{startcolor:'#ff9999',endcolor:'#fffffff'});return;}}
var recommendField=form['recommend_'+c_id];if(recommendField)
{var rcheck=recommendField.checked;var recommend=0;if(rcheck)
{recommend=1;}}
var hideField=form['hide_'+c_id];if(hideField)
{var hcheck=hideField.checked;var hide=0;if(hcheck)
{hide=1;}}
var responseFunction=function(t)
{var r=t.responseText;if(1)
{var nameLine=$('collname_'+c_id);nameLine.innerHTML=newname;}
else
{}}
var params={c_id:c_id,c_name:newname,c_hide:hide,c_recommend:recommend};var pencil=$('pencil_'+c_id);if(pencil)
{Effect.toggle('pencil_'+c_id);}
Effect.toggle(editid,'blind',{duration:0.5});basic_ajax(url,params,responseFunction);},toggleBook:function(bookid,inputEl)
{var c_id;var checked=false;if(inputEl)
{$(inputEl).disable();checked=inputEl.checked;c_id=inputEl.readAttribute('c_id');}
if(checked)
{var onOff=1;}
else
{var onOff=0;}
var url='/ajax_collectionsToggleBook.php';var params={bookid:bookid,c_id:c_id,onOff:onOff};var responseFunction=function(t)
{var r=t.responseText;if(r=='0')
{inputEl.checked=!checked;}
else
{}};if(inputEl)
{$(inputEl).enable();}
basic_ajax(url,params,responseFunction);},addBookToLibrary:function(bookid,buttonid,container,collMenuID)
{var button=$(buttonid);if(button){button.addClassName('ltbtn-disabled');}
var menuitemid=$(collMenuID).select('[c_id="1"]')[0].id;var blech=0;this.toggleBookForCollectionFromMenu(bookid,1,container,menuitemid);button.hide();},toggleBookForCollection:function(bookid,c_id,onOff)
{var url='/ajax_collectionsToggleBook.php';var ooVal=(onOff)?1:0;var params={bookid:bookid,c_id:c_id,onOff:ooVal};var responseFunction=function(t)
{var r=t.responseText;if(r=='0')
{return false;}
else
{return true;}};basic_ajax(url,params,responseFunction);},toggleBookForCollectionFromMenu:function(bookid,c_id,container,menuitemid)
{var menuitem=$(menuitemid);var toolpad=menuitem.up().up();var tdel=$(container);if(tdel){var collectionUI_type=tdel.readAttribute('lt_collectionui_type');}
if(menuitem){if(menuitem.hasClassName('menuBuilderMenuItemDisabled')){return;}}
if(c_id==2)
{var cancel_crdetails=function(bookID){};var happyending_crdetails=function(bookid){};LibraryThing.lightbox.ajax('/ajax_cr_details.php',{height:300,width:370,modal:true,ajaxparams:{bookid:bookid,buttonid:'currentlyReadingButton'+bookid,lightboxed:true}});return;}
var url='/ajax_collectionsToggleBook.php';var addRemove=(menuitem.hasClassName('menuBuilderMenuItemSelected'))?0:1;var params={bookid:bookid,c_id:c_id,addRemove:addRemove,returnUI:1,containerID:container,collectionUI_type:collectionUI_type,excludeContainer:1};var responseFunction=function(t)
{var r=t.responseText;if(r=='0')
{}
else
{if(tdel){tdel.toggleClassName('ipeSaving');tdel.innerHTML=r;r.evalScripts();new Effect.Highlight(container,{startcolor:'#ffff99',endcolor:'#F6F6F6'});}
if(toolpad){}
if(menuitem){menuitem.toggleClassName('menuBuilderMenuItemSelected');var selectedItems=menuitem.parentNode.select('.menuBuilderMenuItemSelected');if(selectedItems.length===1)
{var lastItem=selectedItems[0];lastItem.addClassName('menuBuilderMenuItemDisabled');}
else
{selectedItems.each(function(uitem){uitem.removeClassName('menuBuilderMenuItemDisabled');});}}}};if(toolpad){if(!toolpad.hasClassName('noHighlight')){new Effect.Highlight(toolpad,{startcolor:'#F7EDA5',endcolor:'#FFF8EB',restorecolor:'#FFF8EB'});}}
if(tdel)
{tdel.toggleClassName('ipeSaving');}
basic_ajax(url,params,responseFunction);},hiliteClickedMenuItem:function(){},updateCollectionListing:function(container,book,collectionUI_type){var c=$(container);var url='/ajax_collections_buildUI.php';var params={containerID:container,collectionUI_bookid:book,collectionUI_type:collectionUI_type};var response=function(t){var rt=t.responseText;if(rt!=="0")
{c.innerHTML=rt;}};basic_ajax(url,params,response);},handleCollectionSelection:function(formid,elid,errorboxid)
{var button=$(elid);var inputEl=button;var form=$(formid);var errorbox=$(errorboxid);var collections;collections=form.getInputs('checkbox','books_collections[]');var c_id=button.readAttribute('c_id');var somethingSelected=false;var selectedCount=0;var selectedCookies=$H();collections.each(function(v,key){if(v.checked)
{selectedCount++;}});if(!selectedCount)
{errorbox.show();}
else
{errorbox.hide();}
return;},openCatalogCollectionsMenu:function(e)
{var menuButton=$('collNavMenuContainer');var menu=$('collNavMenu');if(typeof closetagbox=='function')
{closetagbox();}
menu.toggle();var cl=$('collContainerLeft');var cr=$('collContainerRight');var mbw=menuButton.clientWidth;var mw=menu.clientWidth;Event.stop(e);Event.observe(document.body,'click',function(event){LibraryThing.collections.closeCatalogCollectionsMenu(event);});},updateCollectionListForDiv:function(cdiv,book,type){var di=$(cdiv);if(di!=undefined)
{var url='/ajax_collections_listbuilder.php';var params={book:book};}},closeCatalogCollectionsMenu:function(e)
{var menu=$('collNavMenu');var cl=$('collContainerLeft');var cr=$('collContainerRight');menu.hide();Event.stopObserving(document.body,'click');},initCollectionPickerMenu:function()
{Event.observe(window,'load',function(){LibraryThing.collections.handleRolloversForIE();});},handleRolloversForIE:function()
{var agt=navigator.userAgent.toLowerCase();var msie=agt.indexOf("msie");if((msie!=-1)&&(agt.indexOf("opera")==-1))
{var menu=$('collNavMenu');var menuButton=$('collNavMenuContainer');var mbh=menuButton.clientHeight;var mbl=menuButton.offsetLeft;var cnl=menu.childNodes.length;for(i=0;i<cnl;i++)
{node=$(menu.childNodes[i]);if(!node.hasClassName('menuSeparator'))
{node.onmouseover=function(){this.toggleClassName('over');}
node.onmouseout=function(){this.toggleClassName('over');}}}}},handleCurrentlyReadingButton:function(workid,bookid,buttonid)
{var onOff=1;var button=$(buttonid);onOff=button.checked;var url='/ajax_cr_handleDetails.php';var params={bookid:bookid,ureading:onOff,easyClick:1};var responseFunction=function(t)
{var r=t.responseText;if(r=='-1')
{}
if(r=='1')
{button.checked=true;var contentEls=button.getElementsByClassName('ltbtn-button-base-content');var contents=contentEls[0];var catrow=$('catrow_'+bookid);if(catrow)
{var cmenu=catrow.select('.toolpad.menuBuilderMenu')[0];var cmenuitem=cmenu.select('[c_id=2]');}}
else
{button.checked=false;var contentEls=button.getElementsByClassName('ltbtn-button-base-content');var contents=contentEls[0];}
button.enable();button.onclick=button.onclickOrig;};button.toggleClassName('ltbtn-disabled');button.onclickOrig=button.onclick;button.onclick=function(){};basic_ajax(url,params,responseFunction);},handleCurrentlyReadingDetails:function(bookid,buttonid,formid)
{var form=$(formid);var ustart;var uend;var upage;var ustatus;var ureading;var upage;var button=$(buttonid);var temp;temp=form.getInputs('checkbox','userreading');ureading=(temp[0].checked)?1:0;temp=form.getInputs('text','userstart');ustart=temp[0].value;temp=form.getInputs('text','userend');uend=temp[0].value;var url='/ajax_cr_handleDetails.php';var params={bookid:bookid,ustart:ustart,uend:uend,ureading:ureading,ustatus:ustatus,upage:upage,easyClick:0};var responseFunction=function(t)
{var r=t.responseText;if(r=='-1')
{}
else if(r.isJSON())
{var d=r.evalJSON();if(d)
{var ds=d.datestart?d.datestart:'';var de=d.dateend?d.dateend:'';var startedTD=$('crstarted'+bookid);var finishedTD=$('crfinished'+bookid);button=$('currentlyReadingButton'+bookid);workpageButton=$('currentlyReadingButton');if(startedTD&&(startedTD!=='undefined')){startedTD.innerHTML=ds;}
if(finishedTD&&(finishedTD!=='undefined')){finishedTD.innerHTML=de;}
if(button&&(button!=='undefined')){if(d.cr_readingflag==='1'){button.checked=true;}
else{button.checked=false;}
button.enable();}
if(workpageButton&&(workpageButton!=='undefined'))
{if(d.cr_readingflag==='1'){workpageButton.addClassName('ltbtn-selected');}
else{workpageButton.removeClassName('ltbtn-selected');}
if(workpageButton.onclickOrig){workpageButton.onclick=workpageButton.onclickOrig;}
workpageButton.removeClassName('ltbtn-disabled');}
var catrow=$('catrow_'+bookid);if(catrow)
{var tools=catrow.select('.tools');var cmenus=tools[0].select('.menuBuilderMenu');var cmenuitem=cmenus[0].select('[c_id=2]');var menuitem=cmenuitem[0];if(menuitem)
{if(d.cr_readingflag==='1')
{menuitem.addClassName('menuBuilderMenuItemSelected');var selectedItems=menuitem.parentNode.select('.menuBuilderMenuItemSelected');if(selectedItems.length===1)
{var lastItem=selectedItems[0];lastItem.toggleClassName('menuBuilderMenuItemDisabled');lastItem.disabledOnclick=lastItem.onclick;lastItem.onclick='';}
else
{menuitem.parentNode.select('.menuBuilderMenuItemDisabled').each(function(uitem){if(uitem.disabledOnclick){uitem.setAttribute('onclick',uitem.disabledOnclick);uitem.blech='blech';}
else{uitem.onclick=uitem.readAttribute('disabledOnclick');}
uitem.toggleClassName('menuBuilderMenuItemDisabled');});}}
else
{cmenuitem[0].removeClassName('menuBuilderMenuItemSelected');}}}
var spans=$$('td#collections'+bookid);spans.each(function(s){LibraryThing.collections.getCollectionListForBook(s,bookid);});}}
LibraryThing.menuBuilder.closeMenu(null,form.up().id);};basic_ajax(url,params,responseFunction);},getCollectionListForBook:function(td,bookid)
{var url='/ajax_collections_listForBook.php';td.innerHTML='Updating...';var params={bookid:bookid,includePause:true};var handleResponse=function(t)
{var rt=t.responseText;td.innerHTML=rt;};basic_ajax(url,params,handleResponse);},handleEditionAddButton:function(workid,bookid,buttonid,addTo,useMostPopular)
{var onOff=1;var button=$(buttonid);if(button.hasClassName('ltbtn-selected'))
{onOff=0;}
var url='/ajax_pickEdition.php';if(useMostPopular)
{}
var callbackParams={};var params={height:550,width:400,callbackParams:callbackParams,modal:false,absolute:0,content_class:'editionPicker',work:workid,ajaxparams:{work:workid,addTo:addTo,buttonid:buttonid}}
LibraryThing.lightbox.ajax(url,params);},addItemTo:function(editionInfo,addTo,buttonid)
{var ed=editionInfo.evalJSON();var button=$(buttonid);var success=1;button.toggleClassName('ltbtn-disabled');button.onclickOrig=button.onclick;button.onclick=function(){};LibraryThing.lightbox.off();var url='/addbook_usingExisting.php';var params={bookdata:editionInfo};var responseFunction=function(t)
{var r=t.responseText;if(r=='1')
{button.toggleClassName('ltbtn-selected');var contentEls=button.getElementsByClassName('ltbtn-content');var contents=contentEls[0];if(onOff)
{}
else
{}}
button.toggleClassName('ltbtn-disabled');button.onclick=button.onclickOrig;};basic_ajax(url,params,responseFunction);}};collections.recentlyAddedMakeDirty=function(bookid,formid,errorboxid){var button=$('recentlyAddedSaveCollectionsButton'+bookid);if(button&&(button!=='undefined')){LibraryThing.menuBuilder.enableButton(button);var form=$(formid);if(form&&(form!=='undefined'))
{var errorbox=$(errorboxid);if(errorbox&&(errorbox!=='undefined'))
{var collections=form.getInputs('checkbox','books_collections[]');if(collections)
{var somethingSelected=false;var selectedCount=0;collections.each(function(v,key){if(v.checked)
{selectedCount++;}});if(!selectedCount)
{errorbox.show();LibraryThing.menuBuilder.disableButton(button);}
else
{errorbox.hide();}}}}}};collections.saveRecentlyReadingCollections=function(bookid){var button=$('recentlyAddedSaveCollectionsButton'+bookid);if(button&&(button!=='undefined')){if(button.hasClassName('ltbtn-disabled'))
{return;}
var form=$('recentlyAddedCollectionsForm'+bookid);if(form)
{var url='ajax_saveCollectionsForRecentlyAdded.php';var params=$(form).serialize(true);var response=function(t){var r=t.responseText;if(r!=='0')
{LibraryThing.menuBuilder.disableButton(button);Effect.highlight(form);}
else
{alert('Error: could not save collections');}};basic_ajax(url,params,response);}}};collections.currentlyReading={};collections.currentlyReading.handleStarted=function(elID){};collections.currentlyReading.handleEnded=function(elID){};collections.currentlyReading.handleCRButton=function(elID){var us=$('userstart');var ue=$('userend');var button=$(elID);if(button.checked){if(!us.value){us.setValue('today');new Effect.Highlight(us,{startcolor:'#ffff99',endcolor:'#fffffff'});}}
else{if(us.value&&(us.value!='today')&&!ue.value){ue.setValue('today');new Effect.Highlight(ue,{startcolor:'#ffff99',endcolor:'#fffffff'});}}};collections.currentlyReading.togglePrevious=function(bookid){var cpdiv=$('crprevArea');var cpb=$('previousReadingsButton');cpdiv.toggle();cpb.toggleClassName('ltbtn-selected');};collections.currentlyReading.openCRLightbox=function(bookid,crparams){var params={height:300,width:370,modal:true,ajaxparams:{bookid:bookid,buttonid:'currentlyReadingButton'+bookid,lightboxed:true}};$H(crparams).each(function(pair){params[pair.key]=pair.value;});LibraryThing.lightbox.ajax('/ajax_cr_details.php',params);};collections.currentlyReading.cancelLightbox=function(bookid){LibraryThing.lightbox.off(false);var button=$('currentlyReadingButton'+bookid);if(button&&(button!=='undefined')){button.enable();}};function toggleItem(itemID)
{var item=$(itemID);var showControl=$('collsa_'+itemID);var anchor=showControl.select('.ltbtn-body');if(!item.visible()){anchor[0].innerHTML='hide extra';Effect.BlindDown(item,{duration:0.5});}
else{anchor[0].innerHTML='show all';Effect.BlindUp(item,{duration:0.5});}
return;}
function tbfcfm(bookid,c_id,container,menuitemid)
{LibraryThing.collections.toggleBookForCollectionFromMenu(bookid,c_id,container,menuitemid);}
