Source for "Flickr Camera Images"

By Paul Bausch
Has no other scripts.


// ==UserScript==
// @name          Flickr Camera Images
// @namespace     http://www.onfocus.com/
// @description   Adds camera images from Amazon to Flickr "More properties" Exif pages
// @include       http://www.flickr.com/photo_exif*
// @include       http://flickr.com/photo_exif*
// ==/UserScript==

(

function()
{

var head, style;
head = document.getElementsByTagName('head')[0];
if (!head) { return; }
style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = '#cam { border:solid #fff 1px;padding:5px; } #GoodStuff div a:hover {color:#fff;background:#fff;}';
head.appendChild(style);

var amazonurl = 'http://webservices.amazon.com/onca/xml?Service=AWSECommerceService&SubscriptionId=1JJAECP7T6ZA5DFVERG2&';
var thisInbox = document.getElementById('Inbox');
var thisCameraNode = thisInbox.childNodes[1].childNodes[0].childNodes[3];
var thisCamera = thisCameraNode.textContent;
	
	if (!GM_xmlhttpRequest) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	amazonurl = amazonurl+'&Operation=ItemSearch&Keywords='+thisCamera+'&SearchIndex=Photo&ResponseGroup=Images&MerchantId=All&BrowseNode=281052';
	GM_xmlhttpRequest(
	{
		method: 'GET',
		url: amazonurl,
		headers: {
		'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3',
		'Accept': 'application/atom+xml,application/xml,text/xml',
		},
		onload: function(responseDetails) {
			var resultxml = responseDetails.responseText.replace(
			/<\?xml version="1.0" encoding="UTF-8"\?>/ ,'');
			try{
			var resultdom = new XML(resultxml);
			}catch(ex){
				GM_log(ex.toString());
			}
			var amzns = new Namespace('http://webservices.amazon.com/AWSECommerceService/2005-10-05');
			var imagenodes = resultdom..amzns::Item.amzns::MediumImage.amzns::URL;
			var heightnodes = resultdom..amzns::Item.amzns::MediumImage.amzns::Height;
			var widthnodes = resultdom..amzns::Item.amzns::MediumImage.amzns::Width;
			var asins = resultdom..amzns::Item.amzns::ASIN;
			if (imagenodes.length() > 0) {
				var divElement = document.createElement('div');
				var gs = document.getElementById('Inbox');
                	        gs.parentNode.insertBefore(divElement,gs);
				imageElement = document.createElement('img');
	                	imageElement.src = imagenodes[0].text();
				imageElement.width = widthnodes[0].text();
				imageElement.height = heightnodes[0].text();
				imageElement.border = '0';
				imageElement.id = 'cam';
				aElement = document.createElement('a');
				aElement.href = 'http://amazon.com/o/ASIN/'+asins[0].text()+'/ref=nosim/onfocus';
				aElement.id = 'camlink';
				aElement.appendChild(imageElement);
				divElement.appendChild(aElement);
			} else {
				var googLink = 'http://google.com/search?q='+escape(thisCamera);
				thisCameraNode.innerHTML = '<a href='+googLink+'>'+thisCamera+'</a>';				
			}
		}
        });
}
)();