var whitespaceMap=new Map();whitespaceMap.put("\u0009"," ");whitespaceMap.put("\u000A"," ");whitespaceMap.put("\u000D"," ");var currencyMap=new Map();currencyMap.put("\u00A3","GBP");currencyMap.put("\u20AC","EUR");function replaceIllegalCharacters(g,a){var e="";for(var c=0;c<g.length;c++){var f=g.charAt(c);var b=g.charCodeAt(c);var d=currencyMap.get(f);if(d!=null){e+=d;continue}if(a){d=whitespaceMap.get(f);if(d!=null){e+=d;continue}}e+=f}return(e)}function replaceUnicodeCharacters(e){var c="";for(var b=0;b<e.length;b++){var d=e.charAt(b);var a=e.charCodeAt(b);if(a<=127){c+=d}else{c+="&#"+a+";"}}return(c)}function List(){this.values=new Array();this.add=List_add;this.set=List_set;this.get=List_get;this.remove=List_remove;this.contains=List_contains;this.size=List_size}function List_add(a){this.values[this.values.length]=a}function List_set(a,b){if((a<this.values.length)&&(a>-1)){this.values[a]=b}else{alert("List Set - Invalid list index - "+a)}}function List_get(a){if((a<this.values.length)&&(a>-1)){return(this.values[a])}else{alert("List Get - Invalid list index - "+a);return(null)}}function List_remove(a){if((a<this.values.length)&&(a>-1)){var d=0;var c=new Array();for(var b=0;b<this.values.length;b++){if(b!=a){c[d++]=this.values[b]}}this.values=c}else{alert("List Remove - Invalid list index - "+a)}}function List_contains(b){if(this.values.length<1){return(false)}for(var a=0;a<this.values.length;a++){if(b==this.values[a]){return(true)}}return(false)}function List_size(){return(this.values.length)}function Map(){this.keys=new Array();this.values=new Array();this.put=Map_put;this.get=Map_get;this.keySet=Map_keySet;this.getKey=Map_getKey;this.remove=Map_remove;this.size=Map_size}function Map_put(b,c){var a=this.keys.length;this.keys[a]=b;this.values[a]=c}function Map_get(b){for(var a=0;a<this.keys.length;a++){if(this.keys[a]==b){return(this.values[a])}}return(null)}function Map_keySet(){return(this.keys)}function Map_getKey(a){if((a<this.keys.length)&&(a>-1)){return(this.keys[a])}else{alert("Map Get Key - Invalid map index - "+a);return(null)}}function Map_remove(a){if((a<this.keys.length)&&(a>-1)){var d=0;var e=new Array();var c=new Array();for(var b=0;b<this.keys.length;b++){if(b!=a){e[d]=this.keys[b];c[d++]=this.values[b]}}this.keys=e;this.values=c}else{alert("Map Remove - Invalid map index - "+a)}}function Map_size(){return(this.keys.length)}var wtParameterArray=new Array();function runSpellCheck(b,a){b.value=window.showModalDialog(a,b.value,"dialogHeight: 290px; dialogWidth: 280px; center: Yes; help: No; resizable: No; status: No;")}function gs_checkDate(e,a,c){var b=new Date(e,a,c,0,0,0);if((b.getDate()!=c)||(b.getMonth()!=a)||(b.getYear()!=e)){return false}return true}function gs_compareDates(d,b,f,c,a,e){var h=new Date(d,b,f,0,0,0);var g=new Date(c,a,e,0,0,0);if(h.getTime()<g.getTime()){return -1}else{if(h.getTime()>g.getTime()){return 1}else{return 0}}}var KC_BACKSPACE=8;var KC_DELETE=46;var KC_NUMERIC0=48;var KC_NUMERIC9=57;var KC_DECIMALPOINT=190;var KC_NUMLOCK_NUMERIC0=96;var KC_NUMLOCK_NUMERIC9=105;var KC_NUMLOCK_DECIMALPOINT=110;var KC_TAB=9;var KC_LEFT_ARROW=37;var KC_RIGHT_ARROW=39;function validateDoubleInput(a){k=window.event.keyCode;if((k==KC_BACKSPACE)||(k==KC_DELETE)||(k==KC_TAB)||(k==KC_LEFT_ARROW)||(k==KC_RIGHT_ARROW)){return true}decimalPosition=a.indexOf(".");if((decimalPosition!=-1)&&((k==KC_DECIMALPOINT)||(k==KC_NUMLOCK_DECIMALPOINT))){return false}if((k==KC_DECIMALPOINT)||(k==KC_NUMLOCK_DECIMALPOINT)||((k>=KC_NUMERIC0)&&(k<=KC_NUMERIC9))||((k>=KC_NUMLOCK_NUMERIC0)&&(k<=KC_NUMLOCK_NUMERIC9))){return true}else{return false}}function validateCurrencyInput(a){k=window.event.keyCode;if((k==KC_BACKSPACE)||(k==KC_DELETE)||(k==KC_TAB)||(k==KC_LEFT_ARROW)||(k==KC_RIGHT_ARROW)){return true}decimalPosition=a.indexOf(".");if((decimalPosition!=-1)&&((k==KC_DECIMALPOINT)||(k==KC_NUMLOCK_DECIMALPOINT))){return false}if((k==KC_DECIMALPOINT)||(k==KC_NUMLOCK_DECIMALPOINT)||((k>=KC_NUMERIC0)&&(k<=KC_NUMERIC9))||((k>=KC_NUMLOCK_NUMERIC0)&&(k<=KC_NUMLOCK_NUMERIC9))){return true}else{return false}}function validateIntegerInput(){k=window.event.keyCode;if((k==KC_BACKSPACE)||(k==KC_DELETE)||(k==KC_TAB)||(k==KC_LEFT_ARROW)||(k==KC_RIGHT_ARROW)||((k>=KC_NUMERIC0)&&(k<=KC_NUMERIC9))||((k>=KC_NUMLOCK_NUMERIC0)&&(k<=KC_NUMLOCK_NUMERIC9))){return true}else{return false}}function stripleadingblanks(d){var c="";var b=false;if(d==""){return c}for(var a=0;a<d.length;a++){if(!b){if(d.charAt(a)!=" "){b=true;c+=d.charAt(a)}}else{c+=d.charAt(a)}}return c}function striptrailingblanks(d){var c="";var b=false;for(var a=d.length-1;a>=0;a--){if(!b){if(d.charAt(a)!=" "){b=true;c=d.charAt(a)+c}}else{c=d.charAt(a)+c}}return c}function stripleadingtrailingblanks(b){var a=b;a=stripleadingblanks(a);a=striptrailingblanks(a);return a}function isempty(a){var b=stripleadingtrailingblanks(a);if((b=="")||(b==null)){return true}else{return false}}function checkCurrencyKey(a,b){TAB=9;DELETE=127;BACKSPACE=8;ENTER=13;key=a.which;if(typeof key=="undefined"||key==0){key=a.charCode;if(typeof key=="undefined"||key==0){key=a.keyCode}}if(key==TAB||key==DELETE||key==BACKSPACE||key==ENTER){return true}testValue=b+String.fromCharCode(key);returnVal=checkCurrencyInput(testValue);return returnVal}function checkCurrencyInput(a){re=new RegExp("^s*[£]?s*[0-9]+[.]?([0-9]{0,2})?s*$");return re.test(a)}function currencyFormatted(b){var a=parseFloat(b);if(isNaN(a)){a=0}var c="";if(a<0){c="-"}a=Math.abs(a);a=parseInt((a+0.005)*100);a=a/100;s=new String(a);if(s.indexOf(".")<0){s+=".00"}if(s.indexOf(".")==(s.length-2)){s+="0"}s=c+s;return s}function removeSpaces(a){rexp=/ /gi;return a.replace(rexp,"")}function validatePostcode(a){test=a.value;size=test.length;test=test.toUpperCase();while(test.slice(0,1)==" "){test=test.substr(1,size-1);size=test.length}while(test.slice(size-1,size)==" "){test=test.substr(0,size-1);size=test.length}if(size<6||size>8){a.focus();return false}if(!(isNaN(test.charAt(0)))){a.focus();return false}if(isNaN(test.charAt(size-3))){a.focus();return false}if(!(test.charAt(size-4)==" ")){a.focus();return false}count1=test.indexOf(" ");count2=test.lastIndexOf(" ");if(count1!=count2){a.focus();return false}return true}var wtParameterArray=new Array();var additionalParameters="";var additionalPageParameters="";var useDefaultPageTitle=false;var advancedWebTrendsTracking="";var gService=true;var gTimeZone=0;function dcsCookie(){if(typeof(dcsOther)=="function"){dcsOther()}else{if(typeof(dcsPlugin)=="function"){dcsPlugin()}else{if(typeof(dcsFPC)=="function"){dcsFPC(gTimeZone)}}}}function dcsGetCookie(b){var d=document.cookie.indexOf(b+"=");if(d!=-1){var c=d+b.length+1;var a=document.cookie.indexOf(";",c);if(a==-1){a=document.cookie.length}return unescape(document.cookie.substring(c,a))}return null}function dcsGetCrumb(d,c){var b=dcsGetCookie(d).split(":");for(var e=0;e<b.length;e++){var a=b[e].split("=");if(c==a[0]){return a[1]}}return null}function dcsGetIdCrumb(c,b){var e=dcsGetCookie(c);var f=e.substring(0,e.indexOf(":lv="));var a=f.split("=");for(var d=0;d<a.length;d++){if(b==a[0]){return a[1]}}return null}function dcsFPC(g){if(typeof(g)=="undefined"){return}if(document.cookie.indexOf("WTLOPTOUT=")!=-1){return}var a=gFpc;var m=new Date();var j=(m.getTimezoneOffset()*60000)+(g*3600000);m.setTime(m.getTime()+j);var e=new Date(m.getTime()+315360000000);var l=new Date(m.getTime());if(document.cookie.indexOf(a+"=")==-1){if((typeof(gWtId)!="undefined")&&(gWtId!="")){WT.co_f=gWtId}else{if((typeof(gTempWtId)!="undefined")&&(gTempWtId!="")){WT.co_f=gTempWtId;WT.vt_f="1"}else{WT.co_f="2";var n=m.getTime().toString();for(var h=2;h<=(32-n.length);h++){WT.co_f+=Math.floor(Math.random()*16).toString(16)}WT.co_f+=n;WT.vt_f="1"}}if(typeof(gWtAccountRollup)=="undefined"){WT.vt_f_a="1"}WT.vt_f_s="1";WT.vt_f_d="1"}else{var b=dcsGetIdCrumb(a,"id");var d=parseInt(dcsGetCrumb(a,"lv"));var o=parseInt(dcsGetCrumb(a,"ss"));if((b==null)||(b=="null")||isNaN(d)||isNaN(o)){return}WT.co_f=b;var f=new Date(d);l.setTime(o);if((m.getTime()>(f.getTime()+1800000))||(m.getTime()>(l.getTime()+28800000))){l.setTime(m.getTime());WT.vt_f_s="1"}if((m.getDay()!=f.getDay())||(m.getMonth()!=f.getMonth())||(m.getYear()!=f.getYear())){WT.vt_f_d="1"}}WT.co_f=escape(WT.co_f);WT.vt_sid=WT.co_f+"."+(l.getTime()-j);var c="; expires="+e.toGMTString();document.cookie=a+"=id="+WT.co_f+":lv="+m.getTime().toString()+":ss="+l.getTime().toString()+c+"; path=/"+(((typeof(gFpcDom)!="undefined")&&(gFpcDom!=""))?("; domain="+gFpcDom):(""));if(document.cookie.indexOf(a+"=")==-1){WT.co_f=WT.vt_sid=WT.vt_f_s=WT.vt_f_d="";WT.vt_f=WT.vt_f_a="2"}}var gFpc="WT_FPC";var gConvert=true;var gFpcDom=".waterstones.com";function dcsAdv(){dcsFunc("dcsET");dcsFunc("dcsCookie");dcsFunc("dcsAdSearch");dcsFunc("dcsTP")}var gHref=gTarget="";function dcsSaveHref(a){if(a.preventDefault&&a.currentTarget.href){a.preventDefault();gHref=a.currentTarget.href;gTarget=a.currentTarget.target}}function dcsLoadHref(a){if(gHref.length>0){if((gTarget!="")&&gTarget.toLowerCase()=="_blank"){window.open(gHref,"dcsHref")}else{window.location=gHref}gHref=gTarget=""}}function dcsEvt(b,a){var c=b.target||b.srcElement;while(c.tagName&&(c.tagName!=a)){c=c.parentElement||c.parentNode}return c}function dcsMultiTrack(){if(arguments.length%2==0){for(var b=0;b<arguments.length;b+=2){if(arguments[b].indexOf("WT.")==0){WT[arguments[b].substring(3)]=arguments[b+1]}else{if(arguments[b].indexOf("DCS.")==0){DCS[arguments[b].substring(4)]=arguments[b+1]}else{if(arguments[b].indexOf("DCSext.")==0){DCSext[arguments[b].substring(7)]=arguments[b+1]}}}}var a=new Date();DCS.dcsdat=a.getTime()}}function dcsHandler(a){a=a||(window.event||"");if(a){var c=dcsEvt(a,"A");var b=c.pathname?((c.pathname.indexOf("/")!=0)?"/"+c.pathname:c.pathname):"/";dcsSaveHref(a,c);dcsMultiTrack("DCS.dcssip",c.hostname,"DCS.dcsuri",b);DCS.dcssip=DCS.dcsuri=WT.ti=WT.si_n=WT.si_x=WT.pn_sku=WT.tx_e=""}}var gDomain="statse.webtrendslive.com";var gDcsId="dcscxdbrh100004nwvl9h9fwx_2k3t";if((typeof(gConvert)!="undefined")&&gConvert&&(document.cookie.indexOf(gFpc+"=")==-1)&&(document.cookie.indexOf("WTLOPTOUT=")==-1)){document.write("<SCRIPT TYPE='text/javascript' SRC='http"+(window.location.protocol.indexOf("https:")==0?"s":"")+"://"+gDomain+"/"+gDcsId+"/wtid.js'></SCRIPT>")}var gImages=new Array;var gIndex=0;var DCS=new Object();var WT=new Object();var DCSext=new Object();var gQP=new Array();var gI18n=false;if(window.RegExp){var RE={"%09":/\t/g,"%20":/ /g,"%23":/\#/g,"%26":/\&/g,"%2B":/\+/g,"%3F":/\?/g,"%5C":/\\/g};var I18NRE={"%25":/\%/g}}function DcsDynamicSearch(e){var c="WT_DSAI";var b=(typeof(WT)=="object")?WT:{};function d(){var f=a("cshift_ck");if(f.length>0){var h=new Date();var g=new Date(h.getTime()+315360000000);document.cookie=c+"="+f+"; expires="+g.toGMTString()+"; path=/"}}function a(g){var j=window.location.search.substring(1);if(j.length>0){var m=j.split("&");var h=m.length;for(var f=0;f<h;f++){var l=m[f].split("=");if(l[0]==g){return l[1]}}}return""}this.getClientId=function(){return e};this.getAdInfo=function(){return dcsGetCookie(c)||""};this.getIsNew=function(){return 1};d()}var dcsDS=new DcsDynamicSearch(5128);function dcsVar(){var b=new Date();WT.tz=b.getTimezoneOffset()/60*-1;if(WT.tz==0){WT.tz="0"}WT.bh=b.getHours();WT.ul=navigator.appName=="Netscape"?navigator.language:navigator.userLanguage;if(typeof(screen)=="object"){WT.cd=navigator.appName=="Netscape"?screen.pixelDepth:screen.colorDepth;WT.sr=screen.width+"x"+screen.height}if(typeof(navigator.javaEnabled())=="boolean"){WT.jo=navigator.javaEnabled()?"Yes":"No"}if(useDefaultPageTitle){if(document.title){WT.ti=gI18n?dcsEscape(dcsEncode(document.title),I18NRE):document.title}}WT.js="Yes";WT.jv=dcsJV();if(document.body&&document.body.addBehavior){document.body.addBehavior("#default#clientCaps");if(document.body.connectionType){WT.ct=document.body.connectionType}document.body.addBehavior("#default#homePage");WT.hp=document.body.isHomePage(location.href)?"1":"0"}if(parseInt(navigator.appVersion)>3){if((navigator.appName=="Microsoft Internet Explorer")&&document.body){WT.bs=document.body.offsetWidth+"x"+document.body.offsetHeight}else{if(navigator.appName=="Netscape"){WT.bs=window.innerWidth+"x"+window.innerHeight}}}WT.fi="No";if(window.ActiveXObject){for(var d=10;d>0;d--){try{var c=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+d);WT.fi="Yes";WT.fv=d+".0";break}catch(g){}}}else{if(navigator.plugins&&navigator.plugins.length){for(var d=0;d<navigator.plugins.length;d++){if(navigator.plugins[d].name.indexOf("Shockwave Flash")!=-1){WT.fi="Yes";WT.fv=navigator.plugins[d].description.split(" ")[2];break}}}}if(gI18n){WT.em=(typeof(encodeURIComponent)=="function")?"uri":"esc";if(typeof(document.defaultCharset)=="string"){WT.le=document.defaultCharset}else{if(typeof(document.characterSet)=="string"){WT.le=document.characterSet}}}DCS.dcsdat=b.getTime();DCS.dcssip=window.location.hostname;DCS.dcsuri=window.location.pathname;if(window.location.search){DCS.dcsqry=window.location.search;if(gQP.length>0){for(var d=0;d<gQP.length;d++){var h=DCS.dcsqry.indexOf(gQP[d]);if(h!=-1){var f=DCS.dcsqry.substring(0,h);var a=DCS.dcsqry.substring(h+gQP[d].length,DCS.dcsqry.length);DCS.dcsqry=f+a}}}}if((window.document.referrer!="")&&(window.document.referrer!="-")){if(!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4)){DCS.dcsref=gI18n?dcsEscape(window.document.referrer,I18NRE):window.document.referrer}}}function dcsA(b,a){return"&"+b+"="+dcsEscape(a,RE)}function dcsEscape(a,c){if(typeof(c)!="undefined"){var b=new String(a);for(R in c){b=b.replace(c[R],R)}return b}else{return escape(a)}}function dcsEncode(a){return(typeof(encodeURIComponent)=="function")?encodeURIComponent(a):escape(a)}function dcsCreateImage(a){if(document.images){gImages[gIndex]=new Image;if((typeof(gHref)!="undefined")&&(gHref.length>0)){gImages[gIndex].onload=gImages[gIndex].onerror=dcsLoadHref}gImages[gIndex].src=a;gIndex++}else{document.write('<IMG ALT="" BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="'+a+'">')}}function dcsMeta(){var a;if(document.all){a=document.all.tags("meta")}else{if(document.documentElement){a=document.getElementsByTagName("meta")}}if(typeof(a)!="undefined"){for(var b=1;b<=a.length;b++){var c=a.item(b-1);if(c.name){if(c.name.indexOf("WT.")==0){WT[c.name.substring(3)]=(gI18n&&(c.name.indexOf("WT.ti")==0))?dcsEscape(dcsEncode(c.content),I18NRE):c.content}else{if(c.name.indexOf("DCSext.")==0){DCSext[c.name.substring(7)]=c.content}else{if(c.name.indexOf("DCS.")==0){DCS[c.name.substring(4)]=(gI18n&&(c.name.indexOf("DCS.dcsref")==0))?dcsEscape(c.content,I18NRE):c.content}}}}}}}function dcsTag(){if(document.cookie.indexOf("WTLOPTOUT=")!=-1){return}var a="http"+(window.location.protocol.indexOf("https:")==0?"s":"")+"://"+gDomain+(gDcsId==""?"":"/"+gDcsId)+"/dcs.gif?";for(N in DCS){if(DCS[N]){a+=dcsA(N,DCS[N])}}for(N in WT){if(WT[N]){a+=dcsA("WT."+N,WT[N])}}for(N in DCSext){if(DCSext[N]){a+=dcsA(N,DCSext[N])}}if(a.length>2048&&navigator.userAgent.indexOf("MSIE")>=0){a=a.substring(0,2040)+"&WT.tu=1"}a=a+additionalParameters+additionalPageParameters;additionalParameters=additionalPageParameters="";dcsCreateImage(a)}function dcsJV(){var b=navigator.userAgent.toLowerCase();var i=parseInt(navigator.appVersion);var h=(b.indexOf("mac")!=-1);var n=((b.indexOf("mozilla")!=-1)&&(b.indexOf("compatible")==-1));var c=(n&&(i==4));var m=(n&&(i>=5));var a=((b.indexOf("msie")!=-1)&&(b.indexOf("opera")==-1));var d=(a&&(i==4)&&(b.indexOf("msie 4")!=-1));var e=(a&&!d);var g=(b.indexOf("opera")!=-1);var l=(b.indexOf("opera 5")!=-1||b.indexOf("opera/5")!=-1);var j=(b.indexOf("opera 6")!=-1||b.indexOf("opera/6")!=-1);var f=(g&&!l&&!j);var o="1.1";if(m||f){o="1.5"}else{if((h&&e)||j){o="1.4"}else{if(e||c||l){o="1.3"}else{if(d){o="1.2"}}}}return o}function dcsFunc(a){if(typeof(window[a])=="function"){window[a]()}}function doAuthorSearch(a){a=a.replace(/&#34;/g,"");a=a.replace(/&#39;/g,"");document.getElementById("authorSearchForm").author.value=a;document.getElementById("authorSearchForm").submit()}function openAlibrisBooksLink(b,a){var c=b+a;window.open(c,"alibrisBooksWindow","status=yes, resizable=yes, scrollbars=yes, titlebar=yes, toolbar=yes,  menubar=yes, location=yes")}function openAlibrisBooksKeywordLink(a,b,d){var c=a+d+"+"+b;window.open(c,"alibrisBooksWindow","status=yes, resizable=yes, scrollbars=yes, titlebar=yes, toolbar=yes,  menubar=yes, location=yes")}function submitZipAction(a){document.findLocalStore.adrPostcode.value=a;document.findLocalStore.submit()}function openWindow(c,b,d,a){openWin=window.open(c,b,"width="+d+",height="+a)};
