// ==UserScript==
// @name           goPirate: IMDB
// @namespace      www.daddy.sk
// @description    Adds a link to bitTorrent search engines to the imdb movie pages
// @include        http://www.imdb.com/title/*
// ==/UserScript==

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

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

function xpath(query) {
    return document.evaluate(query, document, null,
        XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
}

function extractTitle() {
	var title, xpathRes, thisCell, pos;
	xpathRes = xpath('//div[@id="tn15title"]/h1');
	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="tn15content"]/div/table/tbody/tr',
	    document,
	    null,
	    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
	    null);
	thisCell = xpathRes.snapshotItem(0);
	thisCell.appendChild(link);
}

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


