--- 0.11.user.js 2005-09-30 20:42:36.000000000 +0200
+++ 0.12r.user.js 2005-06-23 17:16:14.000000000 +0200
@@ -1,11 +1,15 @@
/*
- Bookburro Ajax Panel for GreaseMonkey
+ Bookburro Ajax Panel for GreaseMonkey and Turnabout
- Version 0.11
+ Version 0.12r
(C) 2005 Jesse Andrews, Britt Selvitelle under cc-by-sa
License: Creative Commons "Attribution-ShareAlike 1.0"
http://creativecommons.org/licenses/by-sa/1.0/
+ (C) 2005 Reify
+ License: Creative Commons "Attribution-ShareAlike 1.0"
+ http://creativecommons.org/licenses/by-sa/1.0/
+
Snipits used from RSS Reader for GreaseMonkey
http://www.xs4all.nl/~jlpoutre/BoT/Javascript/RSSpanel/
Version: 1.03 (C) 2005 Johannes la Poutre
@@ -13,6 +17,18 @@
Changelog:
+ * 2005-06-21 *
+
+ 0.12r - works when injected before the page has finished loading; fixed price-parsing on Powells.com; removed Powells from list in the Burro box
+
+ 0.11r - modified by Reify to work in Internet Explorer with Turnabout:
+ - The price wouldn't render on Amazon for some reason, so we now render with DIVs + SPANs
+ - Set style in a way that works in IE (element.setAttribute("style", str) doesn't work in IE)
+ - Moved data: URIs to one place to make the script easier to read
+ - Show/hide the price table rather than changing the box's dimensions to make code easier to maintain (don't have dimensions scattered throughout)
+ - Anchored top right icons to the top right instead of top left so their position will update automatically if the box has to be wider
+ - Branch to use MS or Mozilla XML parser
+
* 2005-04-25 *
0.11 - improved skin & add link to message if no results
@@ -34,7 +50,7 @@
// ==UserScript==
// @name Book Burro - Remixing the bookstore
// @namespace http://overstimulate.com/userscripts/
-// @description Find the cheapest books
+// @description Compare book prices on Amazon, Barnes and Noble, Buy.com, and Half.com
// @include http://amazon.com*
// @include http://www.amazon.com*
// @include http://www.powells.com*
@@ -47,7 +63,16 @@
// @exclude
// ==/UserScript==
-(function() {
+var hasFetched = false;
+
+var Icons =
+{
+ title: "data:image/gif;base64,R0lGODlheAAOAOYAAAAAAOmUUUOGfx1eVj8/M1ijnqBhLrmFVv//zNi6oCUIAO/vwJqEbGk4EL+/mm9vWZmZmVpaWvfAl7ydiC8vJo+PcwAPCaJtSylNS////4tCC9/fs0MeAa+vjefy9LR1QpnMzH9/Zny3s7WIazttbG5MMVyVj09PQJ+fgMvO11UwEwMWGq10R5K6ugg2Nh8fGdiecOaxhdiKTAAACZlqPnWtqu/dxTxlYXNeS1o6IU8rEZqytlp2d4p4bDZ/dn+Eh4pWL2JNOFKLhf/frtusjtGFS750N8ulfo1qVM/Ppm2HhsSQa615UvSlYy5HS9rb1hAEDqdvPjgpJg8PDP/vx4S2s6toMzRERKmlmrS8vkFfXwAhHnI7Ek06K+3x8D92c6/M0DNmZk5nb4xNGr+8s9uNT8x9OysRAtSniJWOlq6GYwAICZGtsP+4dGVCLkaVj4GpqF9fTMuLW8q/ra1rOV1UTXpKJmaZmb+SabGzstWXZEtMTmg9G4RZN4rFwVZeYSH5BAUUAAgALAAAAAB4AA4AAAf/gAiCg4MzM4SIgyo5hGcKj1JTiZOUlZaXmJmagmtrPEprlRN9TA0ICjpIaiMjSEhdm7Gys7SInXd3JiQ3oZN8Bx9jXGpoaEtLFzRumkkEKLTNz4nRtbWGbHBVJttCJBaTDQYaYzASSzAHQCxEmw4AIbTu8Iny1bMzWTtwcH4Fbz4DBHhLZGfMmCJy5NCwY0qWuwdxCHQYVIHAiYmCkkR8sABBvQ4hkgx6GBFjCGknPYYkUCGEgwcnNix4QCCOyEsrVoBpUUOEvwIAw4T5RkjFmA8faPDhU8sdgAcUADhA8ODpCQATN0yhEGKrx3coAMQh5BSqVAQACAhKiyAEgCnv/94CAICAwpQQdjdcmiFmRQuf/nwICDMAA4ZeCLrouBClMR8VJUrMcjd2A4CYlwVNeYEgDgCRFQCgcHdVLVmxCCyfQGuardvVaD8jCFsBQRLUllY40eICRA0BwL8I7ZRhUA8VNAx8sIOGSoISy2LVYz2dAF3rguQ5xT3y3Vq1bFm3PSt+/NTyliyIwbAFhB+BJIinKC5oAh8WBqzAoEKFA5ISONTxRwqZPITAApfdNhYCL0hylV60uUNBVedl99SBmYXnGnnhhfaMapmsgYEY7bWwxRoZZJBCGlAMMgEQdMhghR5DxKAADWokYMMTWeyBiTtTdODZM3Z1EBo8HYjlgL9dC8izwBSmWRjkkAhMMeWG54WnFQUOeFbhJWtoocWJHqj4gyGE6MBCGQHIUIQZetBwAB5qBEGGF3n8KNYLFx541RQPDIICnxSIVE9Y0nwVB5+BzgbXCRSo5VaWUSYR1QuJhniFBRlkAQEAiA1yBgtFtNGEEUbQYUAUeKDBABYZPBGBPbTWWs1cP4BKyRk06NFEAKdawUIUTBBhgxfI+mjrssxiMpclXdhBRxlmmJEUDTQckcAcXnjwRKPNhltrIAA7",
+ about: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAuJAAALiQE3ycutAAAAB3RJTUUH1QQYCDkprC+64gAAAOdJREFUKM+FkrFOAkEURc9ddrJZCgsqCwtCIiUFJa2df2CwNXRS8AmGisLEaGGs3VhTYDUtxZaED/AriGHjPhuEDC5wq3l5czL3vjeyzBlHtC6KoI4BuPk8Qqx3549rov3+YPBIp3NHq3VLlnkkBf0AWK2+6fevWCze8H7CaPRKUfzgnKsG0jSh272kLEuWyy/a7QvSNKnIsJEk6vWE2SxnPH5nOn3YWopjh9VqIbDBGA5fyPNnGo2znZVIEEWhJTNDgmbzfHvZzA6H/pP3k3/TqQQkIYle7z6oT74wnz8d3KNOfY19/QKFiTrWqbiPtAAAAABJRU5ErkJggg==",
+ carrotRight: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYCR020Q08hgAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAiklEQVQY07XPIQoCURSF4e8NAzYxGicNuAa1WlyCO3AlZnfiNgwahQFxikkcBIsGfaZpzgODJ/4c/nMvPyR8g7EsephgH6q6aXnWIelhjkUsi0EL88TqFUfMYlnscMoS5wUccMYS4yxhfuGNPho88oQ5xxQjrHHpKkcMccMqVPU99eATG2zb4n/zAS4OHrV1hIB/AAAAAElFTkSuQmCC",
+ carrotDown: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYCRoeq/kCuwAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAmElEQVQY083QMUoDARSE4W92U2xhkxSpAgY0AXMQ29zCM3iSXEXQTrCws44Im85CkO1jnq2KKQWnGxiY+Yd/oXw1tTrr7D86CYdD5Xk3HA8vTi8la7xW1T5Jg8IEN6PvPXnEAkOa5l5Viwuc4yk/d9VyfoLrqnpIMmCGu2z79/wGUsv5FFcYY5Nt/wKjI+BvuEWnbfu///kTargo75QVC5oAAAAASUVORK5CYII=",
+ close: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAuJAAALiQE3ycutAAAAB3RJTUUH1QQYCDcSg6d+SAAAAPBJREFUKM+Fkr1qAkEURs9dnWBrJT5IHkEw4gtEsBQs/AlpkiKlJGnEJlqIjRbrPoAQYhPio1hGsPAHFoW5KSIxo7J7qvlgDty534j6Rolgt987OQnA7XuEsTuegwIeMYiIkx2hVnsjCL7+su9/0mz2Lox0oNOpUiw+kc2mUVWGww8mkxYiYK09F4xJMho9kMs9IiJMpy8Y83vFWkUTCVcAWCxWLJcrRIT1OiSTOczuCXieK2y3IeXyK4PBPZtNSKn0zGzWJpW6uvyGer1LpVIgn78GYD7/ptHo0e/fHbemvtHIHv4zvonv4ayXuK9xyg8qt0tfe9qKPAAAAABJRU5ErkJggg=="
+};
function checkISBN( isbn ) {
try {
@@ -55,15 +80,15 @@
if (isbn.length != 10) return false;
var checksum = 0;
for (var i=0; i<9; i++) {
- if (isbn[i] == 'x') {
+ if (isbn.charAt(i) == 'x') {
checksum += 10 * (i+1);
} else {
- checksum += isbn[i] * (i+1);
+ checksum += isbn.charAt(i) * (i+1);
}
}
checksum = checksum % 11;
if (checksum == 10) checksum = 'x';
- if (isbn[9] == checksum)
+ if (isbn.charAt(9) == checksum)
return isbn;
else
return false;
@@ -73,38 +98,61 @@
function dom_createLink(url, txt, title) {
var a = document.createElement("a");
a.setAttribute("href", url);
- a.setAttribute("style", "color: #00a; text-decoration: none; font-weight: bold");
+ with (a.style) {
+ color="#00a";
+ textDecoration="none";
+ fontWeight="bold";
+ }
if (title) a.setAttribute("title", title);
a.appendChild(document.createTextNode(txt));
return a;
}
function add_site(url, title, loc_id ) {
+ var tr = document.createElement("div");
+
+ var td_left = document.createElement("span");
var a = dom_createLink( url, title, title + ' Search' );
- var b = document.createElement("b");
- b.innerHTML = 'fetching';
- b.setAttribute("id", loc_id);
-
- var tr = document.createElement("tr");
- var td_left = document.createElement("td");
- var td_right = document.createElement("td");
td_left.appendChild(a);
- td_right.appendChild(b);
- td_right.setAttribute("align", "right");
tr.appendChild(td_left);
+
+ var td_right = document.createElement("span");
+ td_right.innerHTML = 'fetching';
+ td_right.id = loc_id;
tr.appendChild(td_right);
- return tr;
+
+ if (document.all) // IE only
+ {
+ tr.style.position = "relative";
+ td_right.style.textAlign = "right";
+ td_right.style.position = "absolute";
+ td_right.style.left = "10em";
+ td_right.style.width = "4em";
+ }
+ else // other browsers
+ {
+ tr.style.display = "table-row";
+ td_left.style.display = "table-cell";
+ td_right.style.display = "table-cell";
}
-function str2xml(strXML) {
+ return tr;
+}
- //create a DOMParser
+function str2xml(strXML)
+{
+ if (window.ActiveXObject)
+ {
+ var domdoc = new ActiveXObject("Microsoft.XMLDOM");
+ domdoc.async = "false";
+ domdoc.loadXML(strXML);
+ return domdoc;
+ }
+ else
+ {
var objDOMParser = new DOMParser();
-
- //create new document from string
- var objDoc = objDOMParser.parseFromString(strXML, "text/xml");
-
- return objDoc;
+ return objDOMParser.parseFromString(strXML, "text/xml");
+ }
}
function int2money( cents ) {
@@ -128,15 +176,17 @@
function run_queries(isbn) {
- var errmsg = 'Either there are no books available,\\nor there is a parsing error because of\\nsome change to their website.\\n\\nNot everyone has a nice webservice like Amazon';
+ var errmsg = 'Oops! Either there are no books available,\\nor there is a parsing error because of\\nsome change to their website.';
////// AJAX for BN.com /////
GM_xmlhttpRequest({ method:"POST", url:'http://search.barnesandnoble.com/booksearch/isbninquiry.asp?isbn='+isbn, data:"",
onload:function(result) {
try {
- document.getElementById('burro_bn').innerHTML = result.responseText.match('priceRightBNPrice[^>]*>\([^<]*\)')[1];
- } catch (e) { document.getElementById('burro_bn').parentNode.innerHTML = 'none'; }
+ document.getElementById('burro_bn').firstChild.nodeValue = result.responseText.match('priceRightBNPrice[^>]*>\([^<]*\)')[1];
+ } catch (e) {
+ document.getElementById('burro_buy').innerHTML = 'Error';
+ }
}
});
@@ -145,8 +195,10 @@
GM_xmlhttpRequest({ method:"POST", url:'http://www.buy.com/retail/GlobalSearchAction.asp?qu='+isbn, data:"",
onload:function(result) {
try {
- document.getElementById('burro_buy').innerHTML = result.responseText.match('productPrice[^>]*>\([^<]*\)')[1];
- } catch (e) { document.getElementById('burro_buy').parentNode.innerHTML = 'none'; }
+ document.getElementById('burro_buy').firstChild.nodeValue = result.responseText.match('productPrice[^>]*>\([^<]*\)')[1];
+ } catch (e) {
+ document.getElementById('burro_buy').innerHTML = 'Error';
+ }
}
});
@@ -155,8 +207,10 @@
GM_xmlhttpRequest({ method:"POST", url:'http://half.ebay.com/search/search.jsp?product=books:isbn&query='+isbn, data:"",
onload:function(result) {
try {
- document.getElementById('burro_half').innerHTML = result.responseText.match('Best[^P]*Price[^\$]*\([^<]*\)<')[1];
- } catch (e) { document.getElementById('burro_half').parentNode.innerHTML = 'none'; }
+ document.getElementById('burro_half').firstChild.nodeValue = result.responseText.match('Best[^P]*Price[^\$]*\([^<]*\)<')[1];
+ } catch (e) {
+ document.getElementById('burro_half').innerHTML = 'none';
+ }
}
});
@@ -167,126 +221,191 @@
var x = str2xml( result.responseText );
var ourprices = x.getElementsByTagName('OurPrice');
if (ourprices.length == 0) {
- document.getElementById('burro_amazon').parentNode.innerHTML = 'none';
+ document.getElementById('burro_amazon').innerHTML = 'Error';
} else {
- document.getElementById('burro_amazon').innerHTML = ourprices[0].childNodes[0].nodeValue;
+ document.getElementById('burro_amazon').firstChild.nodeValue = ourprices[0].childNodes[0].nodeValue;
}
+
var usedprices = x.getElementsByTagName('UsedPrice');
if (usedprices.length == 0) {
- document.getElementById('burro_amazonmarket').parentNode.innerHTML = 'none';
+ document.getElementById('burro_amazonmarket').innerHTML = 'none';
} else {
- document.getElementById('burro_amazonmarket').innerHTML = usedprices[0].childNodes[0].nodeValue;
+ document.getElementById('burro_amazonmarket').firstChild.nodeValue = usedprices[0].childNodes[0].nodeValue;
}
}
});
var msg = 'We want to check with them regarding the traffic of querying for prices from their site on every click...';
- document.getElementById('burro_powell').parentNode.innerHTML = '(info)';
-
}
function burro( location, isbn ) {
var box = document.createElement("div");
- box.setAttribute("title","Click box to expand/collapse");
- box.setAttribute("style","position:fixed;z-index:99;top:15px;left:15px;background-color:#ffc;border:1px solid orange;padding:4px;text-align:left;opacity:.85;font:8pt sans-serif;overflow:hidden;width:200px;height:15px;margin-bottom:15px;");
- var carrot = document.createElement("img");
- carrot.setAttribute("style", "top:-10px");
- carrot.setAttribute("src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYCR020Q08hgAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAiklEQVQY07XPIQoCURSF4e8NAzYxGicNuAa1WlyCO3AlZnfiNgwahQFxikkcBIsGfaZpzgODJ/4c/nMvPyR8g7EsephgH6q6aXnWIelhjkUsi0EL88TqFUfMYlnscMoS5wUccMYS4yxhfuGNPho88oQ5xxQjrHHpKkcMccMqVPU99eATG2zb4n/zAS4OHrV1hIB/AAAAAElFTkSuQmCC");
+ box.title = "Click box to expand/collapse";
+ with (box.style) {
+ position = "absolute";
+ zIndex = "1000";
+ if (location == "half")
+ top = "240px";
+ else
+ top = "120px";
- //carrot.setAttribute("src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYCRoeq/kCuwAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAmElEQVQY083QMUoDARSE4W92U2xhkxSpAgY0AXMQ29zCM3iSXEXQTrCws44Im85CkO1jnq2KKQWnGxiY+Yd/oXw1tTrr7D86CYdD5Xk3HA8vTi8la7xW1T5Jg8IEN6PvPXnEAkOa5l5Viwuc4yk/d9VyfoLrqnpIMmCGu2z79/wGUsv5FFcYY5Nt/wKjI+BvuEWnbfu///kTargo75QVC5oAAAAASUVORK5CYII=");
+ if (location == "bn" || location == "half")
+ right = "15px";
+ else
+ left = "15px";
+ backgroundColor = "#ffc";
+ border = "1px solid orange";
+ padding = "4px";
+ textAlign = "left";
+ font = "8pt sans-serif";
+ width = "200px";
+ marginBottom = "15px";
+ opacity = "0.93";
+ filter = "alpha(opacity=90)";
+ }
- //iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYBgYTOGNkZgAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAiklEQVQYV83PIQoCURSF4e+JME2MxkkDrkGtFpfgDlyJ2Z24DYNGYUCcYpIZBIsGfQadNq974Jafn8s5/EVCF4xFnmGKQyirpuW9LhkZFljGIh+2sJ+QocYJ81jke5xTn8PvjrhghUlKhhfeGKDBI1Uj+FacYYwNrik5YoQb1qGs7qQHPrHFrhXhA2IhHrUQNp+6AAAAAElFTkSuQmCC");
- carrot.setAttribute("id", "hide_show_carrot");
+ var carrot = document.createElement("img");
+ carrot.style.top="-10px";
+ carrot.src = Icons.carrotRight;
+ carrot.id = "hide_show_carrot";
box.appendChild( carrot );
+
var title_image = document.createElement("img");
- title_image.setAttribute("style", "padding-left:6px");
- title_image.setAttribute("src", "data:image/gif;base64,R0lGODlheAAOAOYAAAAAAOmUUUOGfx1eVj8/M1ijnqBhLrmFVv//zNi6oCUIAO/vwJqEbGk4EL+/mm9vWZmZmVpaWvfAl7ydiC8vJo+PcwAPCaJtSylNS////4tCC9/fs0MeAa+vjefy9LR1QpnMzH9/Zny3s7WIazttbG5MMVyVj09PQJ+fgMvO11UwEwMWGq10R5K6ugg2Nh8fGdiecOaxhdiKTAAACZlqPnWtqu/dxTxlYXNeS1o6IU8rEZqytlp2d4p4bDZ/dn+Eh4pWL2JNOFKLhf/frtusjtGFS750N8ulfo1qVM/Ppm2HhsSQa615UvSlYy5HS9rb1hAEDqdvPjgpJg8PDP/vx4S2s6toMzRERKmlmrS8vkFfXwAhHnI7Ek06K+3x8D92c6/M0DNmZk5nb4xNGr+8s9uNT8x9OysRAtSniJWOlq6GYwAICZGtsP+4dGVCLkaVj4GpqF9fTMuLW8q/ra1rOV1UTXpKJmaZmb+SabGzstWXZEtMTmg9G4RZN4rFwVZeYSH5BAUUAAgALAAAAAB4AA4AAAf/gAiCg4MzM4SIgyo5hGcKj1JTiZOUlZaXmJmagmtrPEprlRN9TA0ICjpIaiMjSEhdm7Gys7SInXd3JiQ3oZN8Bx9jXGpoaEtLFzRumkkEKLTNz4nRtbWGbHBVJttCJBaTDQYaYzASSzAHQCxEmw4AIbTu8Iny1bMzWTtwcH4Fbz4DBHhLZGfMmCJy5NCwY0qWuwdxCHQYVIHAiYmCkkR8sABBvQ4hkgx6GBFjCGknPYYkUCGEgwcnNix4QCCOyEsrVoBpUUOEvwIAw4T5RkjFmA8faPDhU8sdgAcUADhA8ODpCQATN0yhEGKrx3coAMQh5BSqVAQACAhKiyAEgCnv/94CAICAwpQQdjdcmiFmRQuf/nwICDMAA4ZeCLrouBClMR8VJUrMcjd2A4CYlwVNeYEgDgCRFQCgcHdVLVmxCCyfQGuardvVaD8jCFsBQRLUllY40eICRA0BwL8I7ZRhUA8VNAx8sIOGSoISy2LVYz2dAF3rguQ5xT3y3Vq1bFm3PSt+/NTyliyIwbAFhB+BJIinKC5oAh8WBqzAoEKFA5ISONTxRwqZPITAApfdNhYCL0hylV60uUNBVedl99SBmYXnGnnhhfaMapmsgYEY7bWwxRoZZJBCGlAMMgEQdMhghR5DxKAADWokYMMTWeyBiTtTdODZM3Z1EBo8HYjlgL9dC8izwBSmWRjkkAhMMeWG54WnFQUOeFbhJWtoocWJHqj4gyGE6MBCGQHIUIQZetBwAB5qBEGGF3n8KNYLFx541RQPDIICnxSIVE9Y0nwVB5+BzgbXCRSo5VaWUSYR1QuJhniFBRlkAQEAiA1yBgtFtNGEEUbQYUAUeKDBABYZPBGBPbTWWs1cP4BKyRk06NFEAKdawUIUTBBhgxfI+mjrssxiMpclXdhBRxlmmJEUDTQckcAcXnjwRKPNhltrIAA7");
+ title_image.style.marginLeft="6px";
+ title_image.src = Icons.title;
box.appendChild( title_image );
var close = document.createElement("img");
- close.setAttribute("src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAuJAAALiQE3ycutAAAAB3RJTUUH1QQYCDcSg6d+SAAAAPBJREFUKM+Fkr1qAkEURs9dnWBrJT5IHkEw4gtEsBQs/AlpkiKlJGnEJlqIjRbrPoAQYhPio1hGsPAHFoW5KSIxo7J7qvlgDty534j6Rolgt987OQnA7XuEsTuegwIeMYiIkx2hVnsjCL7+su9/0mz2Lox0oNOpUiw+kc2mUVWGww8mkxYiYK09F4xJMho9kMs9IiJMpy8Y83vFWkUTCVcAWCxWLJcrRIT1OiSTOczuCXieK2y3IeXyK4PBPZtNSKn0zGzWJpW6uvyGer1LpVIgn78GYD7/ptHo0e/fHbemvtHIHv4zvonv4ayXuK9xyg8qt0tfe9qKPAAAAABJRU5ErkJggg==");
- close.setAttribute("style", "position:absolute;left:190px;top:3px;margin:2px;width:12px;height:12px;background-color:#ffb;border:none;line-height:8px;text-align:center;");
+ close.src = Icons.close;
+ with (close.style) {
+ position = "absolute";
+ right = "3px";
+ top = "3px";
+ margin = "2px";
+ width = "12px";
+ height = "12px";
+ backgroundColor = "#ffb";
+ border = "none";
+ lineHeight = "8px";
+ textAlign = "center";
+ }
close.setAttribute("title","Click To Remove");
-
close.onclick = function() { this.parentNode.style.display = "none"; };
box.appendChild(close);
var about = document.createElement("a");
var about_img = document.createElement("img");
- about_img.setAttribute("border", "0");
- about_img.setAttribute("src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAuJAAALiQE3ycutAAAAB3RJTUUH1QQYCDkprC+64gAAAOdJREFUKM+FkrFOAkEURc9ddrJZCgsqCwtCIiUFJa2df2CwNXRS8AmGisLEaGGs3VhTYDUtxZaED/AriGHjPhuEDC5wq3l5czL3vjeyzBlHtC6KoI4BuPk8Qqx3549rov3+YPBIp3NHq3VLlnkkBf0AWK2+6fevWCze8H7CaPRKUfzgnKsG0jSh272kLEuWyy/a7QvSNKnIsJEk6vWE2SxnPH5nOn3YWopjh9VqIbDBGA5fyPNnGo2znZVIEEWhJTNDgmbzfHvZzA6H/pP3k3/TqQQkIYle7z6oT74wnz8d3KNOfY19/QKFiTrWqbiPtAAAAABJRU5ErkJggg==");
+ about_img.src = Icons.about;
+ about_img.style.border = "none";
about.appendChild(about_img);
- about.setAttribute("style", "position:absolute;left:175px;top:3px;margin:2px;width:12px;height:12px;background-color:#ffb;border:none;line-height:12px;text-align:center;text-decoration:none;");
- about.setAttribute("title","OverStimulate");
- about.setAttribute("href","http://overstimulate.com/articles/2005/04/24/greasemonkey-book-burro-find-cheap-books" );
+ with (about.style) {
+ position = "absolute";
+ right = "18px";
+ top = "3px";
+ margin = "2px";
+ width = "12px";
+ height = "12px";
+ backgroundColor = "#ffb";
+ lineHeight = "12px";
+ textAlign = "center";
+ textDecoration = "none";
+ }
+ about.title = "OverStimulate / modified by Reify";
+ about.href ="http://overstimulate.com/articles/2005/04/24/greasemonkey-book-burro-find-cheap-books";
box.appendChild(about);
- var table = document.createElement("table");
- table.setAttribute("style", "padding:0 5px;width:100%;font:10pt sans-serif;");
+ var table = document.createElement("div");
+ with (table.style) {
+ marginTop = "5px";
+ padding = "0 5px";
+ width = "100%";
+ height = "5em";
+ font = "10pt sans-serif";
+ display = "none";
+ }
+ table.id = "bookburro-pricesTable";
table.appendChild( add_site("http://www.amazon.com/exec/obidos/ASIN/" + isbn + "/" + amazon_associate_code, "Amazon", "burro_amazon" ));
table.appendChild( add_site("http://www.amazon.com/exec/obidos/redirect?tag="+amazon_associate_code+"&path=tg/stores/offering/list/-/"+isbn+"/all/", "Amazon (used)", "burro_amazonmarket" ));
table.appendChild( add_site( 'http://service.bfast.com/bfast/click?bfmid=2181&sourceid=' + bn_associate_code +'&bfpid=' + isbn + '&bfmtype=book', "Barnes & Noble", "burro_bn"));
table.appendChild( add_site("http://www.buy.com/retail/GlobalSearchAction.asp?qu=" + isbn, "Buy.com", "burro_buy"));
-
table.appendChild( add_site( 'http://www.tkqlhce.com/click-'+half_associate_code+'?ISBN=' + isbn, 'Half.com', 'burro_half' ));
- table.appendChild( add_site("http://www.powells.com/cgi-bin/biblio?isbn=" + isbn, "Powell's Books", "burro_powell"));
-
+ // table.appendChild( add_site("http://www.powells.com/cgi-bin/biblio?isbn=" + isbn, "Powell's Books", "burro_powell"));
box.appendChild(table);
box.onclick = function() {
+ var pricesTable = document.getElementById("bookburro-pricesTable");
var carrot = document.getElementById('hide_show_carrot');
- if (this.style.height != "auto") {
- if (this.style.height == "15px") run_queries( isbn ); // height is 15 only first time you expand, thus only 1 query
- this.style.height = "auto";
- //carrot["src"] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYBhc2IL6TMQAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAl0lEQVQYV93OMUoDARSE4W92Lbaw0cJKUDAR9CC23sIzeBKvEtBOsLBLvUFYOwtBto95aRQTQi7gdDP8Mwz/XNk0dX3RWX53ElaryuJ93A9Pz24kt/ioqmWSBoVjzA42YckrphjTNM+qWlxhgvnWMtTl+SHuq+olyYhTPKUfvnbgn8IJ7nCEh/TDG2zf+NMnHtFp2+E3XAMGOijvdRA+cwAAAABJRU5ErkJggg==";
- carrot["src"] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYCRoeq/kCuwAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAmElEQVQY083QMUoDARSE4W92U2xhkxSpAgY0AXMQ29zCM3iSXEXQTrCws44Im85CkO1jnq2KKQWnGxiY+Yd/oXw1tTrr7D86CYdD5Xk3HA8vTi8la7xW1T5Jg8IEN6PvPXnEAkOa5l5Viwuc4yk/d9VyfoLrqnpIMmCGu2z79/wGUsv5FFcYY5Nt/wKjI+BvuEWnbfu///kTargo75QVC5oAAAAASUVORK5CYII=";
- } else {
- carrot["src"] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYCRoeq/kCuwAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAmElEQVQY083QMUoDARSE4W92U2xhkxSpAgY0AXMQ29zCM3iSXEXQTrCws44Im85CkO1jnq2KKQWnGxiY+Yd/oXw1tTrr7D86CYdD5Xk3HA8vTi8la7xW1T5Jg8IEN6PvPXnEAkOa5l5Viwuc4yk/d9VyfoLrqnpIMmCGu2z79/wGUsv5FFcYY5Nt/wKjI+BvuEWnbfu///kTargo75QVC5oAAAAASUVORK5CYII=";
-
- //carrot["src"] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYBgYTOGNkZgAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAiklEQVQYV83PIQoCURSF4e+JME2MxkkDrkGtFpfgDlyJ2Z24DYNGYUCcYpIZBIsGfQadNq974Jafn8s5/EVCF4xFnmGKQyirpuW9LhkZFljGIh+2sJ+QocYJ81jke5xTn8PvjrhghUlKhhfeGKDBI1Uj+FacYYwNrik5YoQb1qGs7qQHPrHFrhXhA2IhHrUQNp+6AAAAAElFTkSuQmCC";
- carrot["src"] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QQYCR020Q08hgAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAiklEQVQY07XPIQoCURSF4e8NAzYxGicNuAa1WlyCO3AlZnfiNgwahQFxikkcBIsGfaZpzgODJ/4c/nMvPyR8g7EsephgH6q6aXnWIelhjkUsi0EL88TqFUfMYlnscMoS5wUccMYS4yxhfuGNPho88oQ5xxQjrHHpKkcMccMqVPU99eATG2zb4n/zAS4OHrV1hIB/AAAAAElFTkSuQmCC";
- this.style.height = "14px";
+ if (pricesTable.style.display == "none")
+ {
+ if (!hasFetched) run_queries(isbn);
+ pricesTable.style.display = document.all ? "block" : "table";
+ carrot.src = Icons.carrotDown;
+ }
+ else
+ {
+ pricesTable.style.display = "none";
+ carrot.src = Icons.carrotRight;
}
};
document.getElementsByTagName("body")[0].appendChild(box);
}
+function init()
+{
if (document.location.href.match('amazon.com') && !document.location.href.match('rate-this')) {
+ try {
isbn = checkISBN(document.location.href.match(/\/([0-9X]{10})(\/|\?|$)/)[1]);
if (isbn) burro( 'amazon', isbn );
+ } catch (e) { }
}
-if (document.location.href.match('barnesandnoble.com')) {
+ else if (document.location.href.match('barnesandnoble.com')) {
+ try {
isbn = checkISBN( document.location.href.match(/[iI][sS][Bb][Nn]=([0-9X]{10})(\&|\?|$)/)[1] );
if (isbn) burro( 'bn', isbn );
+ } catch (e) { }
}
-if (document.location.href.match('buy.com')) {
+ else if (document.location.href.match('buy.com')) {
+ try {
isbn = checkISBN( document.title.match(/ISBN ([0-9X]{10})/)[1] );
if (isbn) burro( 'buy', isbn );
+ } catch (e) { }
}
-if (document.location.href.match('powells.com')) {
+ else if (document.location.href.match('powells.com')) {
bs = document.getElementsByTagName('b');
for (i=0; i