// ==UserScript==
// @name           goPirate: Last.fm
// @namespace      www.daddy.sk
// @description    Adds a link to bitTorrent search engine to the last.fm music pages
// @include        http://www.last.fm/music/*
// ==/UserScript==

var encodedTitle;
var searchUrlPrefix		= 'http://isohunt.com/torrents/?ihq=';
var searchUrlPostfix	= '';
var linkText 			= 'Download';
var linkIcon			= 'http://www.searchweaver.net/images/icons/7/isohunt.gif'

function urlEncode(inputString) {
	var encodedInputString = escape(inputString);
	encodedInputString = encodedInputString.replace("+", "%2B");
	encodedInputString = encodedInputString.replace("/", "%2F");
	return encodedInputString;
}

function extractTitle() {
	var title, xpathRes, thisCell, pos;
	xpathRes = document.evaluate(
	    '//div[@id="LastHeadline"]/h1/a',
	    document,
	    null,
	    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
	    null);
	thisCell = xpathRes.snapshotItem(0);
	pos = thisCell.innerHTML.indexOf('<',1);
	if (pos == -1) {
		title = thisCell.innerHTML;
	} else {
		title = thisCell.innerHTML.substring(0, pos);
	}
	return title;
}

function createSearchLink(title) {
	var url, link, bold;
	url = searchUrlPrefix + urlEncode(title) + searchUrlPostfix;
	link = document.createElement('a');
	link.setAttribute('href', url);
	link.setAttribute('target', '_blank');
	bold = document.createElement('b');
	linkText = document.createTextNode(linkText);
	bold.appendChild(linkText);
	if (linkIcon !=''){
		var img;
		img = document.createElement('img');
		img.setAttribute('src',linkIcon);
		link.appendChild(img);
	}
	link.appendChild(bold);
	return link;
}

function appendLink(link) {
	var title, xpathRes, thisCell, pos;
	xpathRes = document.evaluate(
	    '//div[@id="wikiAbstract"]',
	    document,
	    null,
	    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
	    null);
	thisCell = xpathRes.snapshotItem(0);
	thisCell.appendChild(document.createElement('br'));
	thisCell.appendChild(link);
}

encodedTitle = createSearchLink(extractTitle());
appendLink(encodedTitle);


