// ==UserScript==
// @name           vkontakte music download
// @namespace      http://vkontakte.net.ru
// @description    Music download for vkontakte.ru
// @include        http://vkontakte.ru/*
// ==/UserScript==


function addLyric(id) {
    var img = document.getElementById("imgbutton"+id);
	var str = img.getAttribute("onclick");
    var re=/operate\((\d+)[^0-9]+(\d+)[^0-9]+(\d+),[^0-9a-zA-Z]+([0-9a-zA-Z]+)/;
    var arr=re.exec(str);
    var addon=document.createElement("a");
    var user=arr[3];
    if (user<100000) {
	user=parseInt(user)+100000;
	user=(user.toString()).substr(1);
    }
    addon.setAttribute("href","http://cs"+arr[2]+".vkontakte.ru/u"+user+"/audio/"+arr[4]+".mp3");
    addon.innerHTML="\u0441\u043A\u0430\u0447\u0430\u0442\u044C";

	var span = document.getElementById("title"+id);
    var title=span.innerHTML.replace(/<[^>]+>/g,"");
    var artb=document.getElementById("performer"+id);
    var artist=artb.innerHTML.replace(/<[^>]+>/g,"");    
    var newdiv=document.createElement("div");
    var addon1=document.createElement("a");
    addon1.setAttribute("href","http://www.lyricsplugin.com/wmplayer03/plugin/?artist="+encodeURIComponent(artist)+"&title="+encodeURIComponent(title));
    addon1.setAttribute("target","_blank");
    addon1.innerHTML="\u0442\u0435\u043A\u0441\u0442";
    newdiv.appendChild(addon);
	newdiv.innerHTML += " | ";
    newdiv.appendChild(addon1);
    newdiv.className="duration";
    artb.parentNode.parentNode.appendChild(newdiv);
}

function addLyrics() {
	var parent = document.getElementById("audios");   
        if (!parent) {
	    parent = document.getElementById("bigResult");
        }
	if(parent){
		var audios = parent.getElementsByTagName("div");
		re=/audio(\d+)/;
		for (var i=0;i<audios.length;i++) {
		var m = audios[i].id.match(re);
			if (m) {
				addLyric(m[1]);
			}
		}
	}
}

addLyrics();

GM_registerMenuCommand('\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C', addLyrics);

window.addEventListener('load', function() { 
	var obj = document.evaluate('//div[@id="audiosWrap"]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
	if (obj.snapshotLength > 0){
		obj.snapshotItem(0).addEventListener('dblclick', addLyrics, false);
	}
}, true);