// Written by Alex Buckley, 2006

// ==UserScript==
// @name          Wishlist
// @description   Calculate value of an Amazon wishlist
// @include       http://www.amazon.*/gp/registry/*
// ==/UserScript==

// Ought to be able to query for //span[@class='price']
// But some wishlist prices miss out that span, and are just
//   <td align="left" class="price"><b><span style="color:#000000">Price:</span> £12.99</b></td>

var total = 0.0;
var comments = document.evaluate("//td[@class='price']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < comments.snapshotLength; i++) {
  comments.snapshotItem(i).textContent.match(/(\D)(\d{1,}\.\d{2})/);  // Most general £x.xx regex
  total += parseFloat(RegExp.$2);
}
var currency = RegExp.$1;

var dest = document.evaluate("//td[starts-with(text(),'Total Items')]", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < dest.snapshotLength; i++) {
  dest.snapshotItem(i).innerHTML += " / Total Price: "+currency+total.toFixed(2)+" (for items shown on this page)";
}
