// ==UserScript==
// @name deliciousTagTheNet.js
// @namespace http://opera.higeorange.com/
// @include http://del.icio.us/*?*url=*
// ==/UserScript==

(function () {
    var cont = document.getElementsByTagName('ul')[0]

    var li = document.createElement("li");
    var cls = document.createAttribute("class");
        cls.nodeValue = "bundle fold";
    var sty = document.createAttribute("style");
        sty.nodeValue = "display:block;";
    var id = document.createAttribute("id");
        id.nodeValue = "memanage";

        li.setAttributeNode(cls);
        li.setAttributeNode(sty);
        li.setAttributeNode(id);

        li.innerHTML = [
            '<div style="cursor: pointer" class="label arrow">',
                '<span>',
                    '<a href="http://tagthe.net">tagthe.net</a> suggestions',
                '</span>',
            '</div>',
            '<div id="memanageWait">'
                'Connecting to tagthe.net and retrieving tags, please be patient...',
            '</div>'].join("");
        cont.insertBefore(li, cont.firstChild);

    var l = document.getElementById('url').value;
    var s = 'http://tagthe.net/api/?url=' +
        encodeURI(l)+ '&view=json&callback=showTag';
    var sc = document.createElement('script');
        sc.src = s;
        sc.type = 'text/javascript';
    document.body.appendChild(sc);
})();

function showTag(data) {
    var tags = data.memes[0].dimensions.topic;
    var div = document.createElement('div');
    for(var i = 0, len = tags.length; i < len; i++) {
        var tag = tags[i].replace(/\s+/g, '').toLowerCase();
        var anc = document.createElement('a');
        anc.href = "javascript:swap('" + tag + "')";
        anc.className = 'tag';
        anc.appendChild(document.createTextNode(tag));
        anc.style.marginRight = "5px";
        div.appendChild(anc);
    }
    document.getElementById("memanageWait").innerHTML = div.innerHTML
};
