// ==UserScript==
// @name     	Audiobookbay nologin magnetlink
// @namespace 	//*.audiobookbay.*/*
// @match   	http://audiobookbay.nl/*
// @version  	0.1
// @require     //ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// ==/UserScript==

//Avoid conflicts

if (document.readyState !== 'loading') init()
else document.addEventListener('DOMContentLoaded', init);

function init(event) {
    var jqueryKey = Object.keys(this).filter(x => this[x] !== undefined && x.includes("jQuery"))[0]
    this.$ = this[jqueryKey]

    var infoHash = $('td:contains("Info:")');
    var h = $('td:contains("Info Hash:")');

    // Get trackers
    var trackersRaw = $('table.torrent_info').find('td').each((x) => x.innerHTML)
    var trackers = []

    for (let i = 0; i < trackersRaw.length; i++) {
        var cur = trackersRaw[i].innerText;

        if (cur.includes("udp://") || cur.includes("http://")) {
            trackers.push(cur)
        }
    }

    var data = "magnet:"
    + "?xt=urn:btih:" + $('td:contains("Info Hash:")').next().text()
    + "&dn=" + encodeURIComponent($('h1').text())

    for (let i = 0; i < trackers.length; i++) {
        data = data + '&tr=' + encodeURIComponent(trackers[i])
    }

    console.log('Magnet link')
    console.log(data)

    $('#magnetLink').text("Magnet Link Loading...");

    if (infoHash.length == 1 || h.length == 1) {
        var hashCode = $('td:contains("Info:")').next().text();
        $.ajax
            ({
                url: "/download-magnet.php?h=" + hashCode,
                success: function (ajaxresult) {
                    $('#magnetLink').text("Magnet");
                    $('#magnetIcon').attr("href", data);
                    $('#magnetIcon').show(500);
                }
            });
    }
}