Last.fm Torrent Search Links

By brtkrbzhnv Last update May 13, 2012 — Installed 11,917 times.

There are 31 previous versions of this script.

Add Syntax Highlighting (this will take a few seconds, probably freezing your browser while it works)

// ==UserScript==
// @name          Last.fm Torrent Search Links
// @description   Script to add some search links to last.fm artist, album, similar-artists and recommended-artists pages.
// @include       http://last.fm/music/*
// @include       http://lastfm.*/music/*
// @include       http://www.last.fm/music/*
// @include       http://www.lastfm.*/music/*
// @include       http://last.fm/home/recs*
// @include       http://lastfm.*/home/recs*
// @include       http://www.last.fm/home/recs*
// @include       http://www.lastfm.*/home/recs*
// @include       http://playground.last.fm/sterec/filter*
// @include       http://playground.last.fm/multitag/artists/*
// @include       http://rateyourmusic.com/artist/*
// @include       http://rateyourmusic.com/release/*
// @include       http://www.discogs.com/*/release/*
// @include       http://www.discogs.com/artist/*
// @include       /^https?:\/\/(?:\w+\.)?what\.cd?\/torrents\.php.*/
// @include       /^https?:\/\/(?:\w+\.)?what\.cd?\/artist\.php.*/
// ==/UserScript==
// 2008-01-15 update: It now works with non-ASCII and has all images embedded. I don't know whether I broke anything in the process.
// 2008-01-21 update: Libble seem to have changed their syntax. 
// 2008-02-04 update: Added Discogs. 
// 2008-02-04 update: Added Rate Your Music. 
// 2008-02-05 update: Added MusicBrainz, Amazon and allmusic.
// 2008-02-07 update: Improved MusicBrainz, Discogs and Wikipedia links by using Last.fm's own links when available.
// 2008-08-05 update: Last.fm has changed, and so must we all.
// 2008-08-05 update: Only do stuff on artist pages.
// 2008-08-23 update: Added bit-torrent.bz (Russian private tracker with open reg.) with some (quite possibly buggy) handling of artist names with Cyrillic characters for that site. 
// 2008-08-30 update: Added jpopsuki (with ugly home-made icon) and Demonoid (with non-ugly home-cropped icon).
// 2009-03-09 update: Structural changes and new What.cd icon, plus now there are links for albums and similar artists. 
// 2009-03-13 update: Links on the list of recommended artists.
// 2009-03-17 update: zShare (instead of Google) icon for the Google direct download link; no quotation marks for YouTorrent.
// 2009-03-18 update: added BitTorrentMonster.
// 2009-03-25 update: tiny bugfix
// 2009-05-03 update: restructured some code and added links on rateyourmusic.com artist and album pages
// 2009-06-03 update: fixed Discogs problem
// 2009-10-12 update: added Spotify links
// 2009-11-25 update: fixed Jpopsuki link and image and What link and commented out a bunch of links
// 2010-04-05 update: Redesigned code and added Grooveshark. 
// 2010-04-05 update: Replaced images that were 32x32 in Chrome (16x16 in Firefox). 
// 2010-04-06 update: Added Lossless.ru.
// 2010-05-29 update: http://userscripts.org/topics/53950?page=1#posts-257410 bugfix
// 2011-01-17 update: AllMusic search fix
// 2011-09-01 update: Added ability to disable/enable search links from the Greasemonkey menu; added Blogspot search
// 2011-09-19 update: Fixed bug with dummy entries in Opera menu; fixed bug where script crashed on album pages.
// 2012-04-13 update: Last.fm album page change. http://userscripts.org/topics/102295
// 2012-05-03 update: Added links from Discogs. 
// 2012-05-06 update: Added links to RuTracker. 
// 2012-05-12 update: Added links from What.cd.
var wafflesimg = "data:application/octet-stream;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAAAAD36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8AAAAAD36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/AAAA/wAAAP8AAAD/AAAA/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/w9+qP8LyfL/C8ny/w9+qP8LyfL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/C8ny/w9+qP8LyfL/C8ny/w9+qP8Pfqj/D36o/w9+qP8Pfqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8Pfqj/D36o/w9+qP8Pfqj/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/wvJ8v8FlcX/D36o/wAAAP8FlcX/D36o/wvJ8v8FlcX/D36o/wAAAP8FlcX/D36o/wvJ8v8FlcX/D36o/w9+qP8LyfL/C8ny/w9+qP8AAAD/AAAA/w9+qP8LyfL/C8ny/w9+qP8AAAD/AAAA/w9+qP8LyfL/C8ny/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/wvJ8v8FlcX/D36o/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8LyfL/C8ny/w9+qP8AAAAAD36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8Pfqj/D36o/w9+qP8AAAAAAABlewAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D";
var whatimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA6ElEQVR4nNVTLQ/CMBB9JRUnJxBIBKI/AjHCL1j6O5cJsmSCBQRiEoGoQEwgJidPNCmirNnSJYgZONPLfbx77yUVzjksidWi7Z8AkEOSF3lkhs60+NaTw8BmvYFSCpAASUJ1riYLaZqCJIGZYYxBXuROZ1oECdvd1icWYOaYqwXYMiBHs2MJgB9ommZW6/V29Uz2nkkMYP2TJAmOh6OY01tfasfMk7MhHRp93wfT5kxky+FYBEBEUEqBJOH+uE8kDPXgxSeCie2r9Sy+mMjM6F7dlIHOtChPpTNPEy9+YtwjSUGe+P/P9AaVLHC/vqb8mAAAAABJRU5ErkJggg%3D%3D";
var stmimg = "data:application/octet-stream;base64,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%3D%3D"; 
var libimg = "data:image/x-icon;base64,AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAABMLAAATCwAAAAEAAAAAAACURgQArG4sAOTKtACcWgwA7N7UAKRiJADk1sQAnFIEALSCTACkYhwA9OrkANS6nACkXhwAlE4EAMymhADk0rwAnFoUAOzm3ACkaiQA7N7MALyKVADMpnwAtH5MAOTOvADs2swAnFIMAPTu7ACkXhQAlEoEAMyifACscjQA5M60AKRmJADs2sQAtIZMAKRmHAD07uQAnE4EAPTm3ACsaiwAnFYMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQ0lDSUNJQ0lDSUNJQ0lDQ0lDSUNJQ0lDSUNJQ0lDSUNJRwAHBwcHBwcHBwcHBwlJRwDJyMDIAkoIyAoIyAHDQcAFBEPHSQmDiQKFSYaFAAHAAgTFwkFBQcgIBkjIAcNDQAWIR8QABwlAAAlABwcJQcAIgQGCRwlDQcNJQ0lJQ0lAAgYHwwADSUNJQ0lDSUNBwAWIQIbHCUNJQ0lDSUNJQcAFCQECQANJQ0NJQ0lDSUNHBAeAQ0NDRwNJQ0lDSUNJQ0cABwNHAcdBw0lDSUcJQ0cEAccHBwoFygADRwHAxwDGSISGQMoCR8JKCgZHggZCwYEBhgGBhgRGAYYBhgYBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D"; 
var kgimg = "data:image/x-icon;base64,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"; 
var btimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAB3RJTUUH2AgNAgArX5uK0AAAABd0RVh0U29mdHdhcmUAR0xEUE5HIHZlciAzLjRxhaThAAAACHRwTkdHTEQzAAAAAEqAKR8AAAAEZ0FNQQAAsY8L/GEFAAACfElEQVR4nJVTT0jaURxPHME6mJ6UpSSyJEuwUEvzT2K5MtwUTYUt9yvJiCJR2xpCrBoYCzsE67BDh50lBEHx5OjY1cMOHZyHeesw2K3D/Oz73khjENsefHj/vu/zPu/z/b6ent/t4cTExIeRkZHXarVaR3NRz/80kUj0zGQyoV6vo1AotIeGhr7odLr3MpnMQtsP/krQ19f3djWx2ga109NT5PN5tNttJBIJzM/PfzMYDB+VSqWXKb2PQzwwMGCcnp5+p1Ao6pVK5Wej0cDY2BiazSZarRYmJyexu7v7fWZmpjA+Pv6CFMvufRHd9piIMhR4cXl5ebO3t4d0KsUE4uzsDKFQCLOe2R+CINj4CXrrc71eL4yOjgpkpECSBTYnHwSVSvVGLpdfpFKpm3K5DK/Xi3g8jrm5ORCBlRMEAgG+yLCysoLl5WXe387vjtleKp2G76nvumOwx+PBwsICotFoB5FIBOFwGIuLYQSDQfj9fvh8Pq7A5XKBvGh2Hm2327mk8/NzVKtVXF1doVgsolQqIZfLoVar4eTkBEwpI3E6nYyoS2A2mznr+vo6l7m2tsZVbG5u8p7JZirYYc8TDywWC9xud5eAjOOLsZcxvNrextbWFpLJJMfGxgbid3xhBCy9FN8loPIFOY/EagLHx8c4OjrCwcEBL6jD3CGf7+/vI5vNkhcBsAuJpEtAeQelDEtLMezs7CCTySBIuXY4HLDZbJiamoLVauUqWUENDw+D0twloKJpazQa0IfiAX+CrbO/YjQaQcUFFqvVar92Kq+3t/ezRCJBf38/qKhwO76FVCrtjNkeg1gs/tRRMDg4qCbYCPZ/hJXwiJ39BU+5Xm9kka0mAAAAAElFTkSuQmCC";
var jpsimg = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA8Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gMTAwCv/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIABAAEAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP200Kx/aP8A2v8AxD4k+Dnxr+Ifi64k8KZ8TeNPAGueGtFsdO8OePo7qWKHw/F4V0fRQ93a6PFYQaxo8moav4k8OaPZSDVdEW81W6Ouz/OXg/wH44+FXjvwr421Gy1iw+EHwY+PPh9L34haJYW/9n+D/Emqa74fu/FNzpukm7jsLDV9U8N2Uia9q+maLaprYj0zQdf1W5S8tLC4+o/23PCnxc/Z8/aC+LHxA0W2l/4Vl8e7W0e61m5i1P8AsGeVodDvbvw/f63pV5pc/hzX9H8T6JNqVkr6lZNrGg6hZrZRa5bR+I9Nsvkf4a+H/jN+0n47Pw50HUJtWvvHepXw8S3lhYWup2+haP4l1vRdW8YeIPEevRW/meH/AAwt/oWi+KNT09JbWDxDr/hvw5p9lBeai9lYSf3Vkdenisgjm+CxGQZXwfjspwmLxeEweGp0cDlVWvhFDiCVOGHhCnSxsFVxGEtXVSNKNOCxTxEpToQ/nLMMBkdPBTwWLwdDG8X4KhXy+OMx84YvPMbjsNKrRy2Snj3icwnUxDpYPHYF0a8Xiq+IdTBQw1JYapL/2Q%3D%3D";
var tjimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABuUlEQVR4nMWTvYriYBiFH4e0ikIMW8gqKl5BIGir5gpM0MJGbCzEgI21VZqAVjZi6Re9AGWGlILFNhbWo8JioQM24g+rsNXObGG1Fvv253n/zvHpuv7KEyUBdLtd/V/EjUbj7eWZ7gA+SZJ+3W43CSAQCFAqlRBCUCqVSKfTuK4LQLFYRNM0jscj/X4fIQSyLL9Lu91OCoVCABwOB/L5POv1mlgsxmazoVKpADAYDNA0Ddd1CQaDrNdrFEX5LimKchsOhxJAtVr9HK1Wq+F5HoZhoKoq9Xr94QqSLMsfwDeATCZDNBrFNE3G4zGGYdBqtUilUmia9hDwecT7/Q6AZVkkEgls2yYej9Pr9ahWqziOw3a7/RTu9/svwPl8ZrfbAdDpdFgulxQKBWazGeVymX6/TzKZpFAoAHC9XtlsNl+A0+nE8XgEQAiBZVnYtk2z2cQwDBaLBbquY5omjuOgKArT6RRZlj9eAC6XC5fLBYBwOMx+v8fzPBKJBKPRiFwuR7vdJpvNIoTA7/czmUyIRCI/faqq/pBlWf3z6/l8/tAHoVAIIQR/+2W1Wr35dF1//a9Wfj4Lz8b5N5nnryWakutQAAAAAElFTkSuQmCC";
var demimg = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAASUkqAAgAAAAEABoBBQABAAAAPgAAABsBBQABAAAARgAAACgBAwABAAAAAgAAADEBAgAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABAAAAUGFpbnQuTkVUIHYzLjM2AP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIABAAEAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP1X/Ze/av8A+Cg/jrw14gPhH9r74b694Q1X46/tNeDtU8c/Fn4FeEPiWngDTPhX8fvir4V8OX/wi+IXgb4ufBfQ/F3w+8ceGPCWiWvhy+1zQvjLf6NBr+kzWM1l4ai0WJvN/wBsb9tr9vX4bfAT4maxrX7ZfgK4+H/hz4YeOPG9r43+DP7O0nwd+O3irxHYWDp4c+FuseLtU+Mnxi8OeBNK8Qautldatr/g34Y+FPifpOkanc6P4I8TeEvEGljxBbfL/wAJPjR+yB+xv8U/it+yv+1NceMPHLeBfi/8Qv2fIPjtrHhjVPFXwZ8TfCrw9e+FfGGhQ6Pa+GtFs/BHw/8AHPgK0hPwi+IfgHwF4YS+8K/ElfibFc6pD4WvrG2usn9qX9uT9jT9pdbLTvAGieDfgjNrtn4j1T4iftMeMfD3hz4c/DX4Z/Cv4KoyeJrrS5tU0BrP9oPx74u8BXHj3UPAf7Mfg3QfF7/FPxFq1hH4m8NSaRoeqalpX8xLh7xVxOcVKtPx14ceFxWayngeC8LhuHcxxNGhGrLESwKzfEwWcU6kcNCpD29BOvGMG1GzkjaX1blahJudrJtvR6LRdO9ujsf/2Q%3D%3D";
var isoimg = "data:image/x-icon;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD39vX28e/5+fUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkim2EWjTazb0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkimdmMwDBq5oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQv6qymH4AAACulH1mMwCpi3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD08O16UCaAXDPs5N/Mu6xmMwCgfl8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7+viadFNzRRPl3tjn39dyRBaJYz4AAAAAAAAAAAC7qJaQbUvfzsYAAAAAAAAAAAAAAAC1m4ZmMwDGs57p4tqFXjh9VCXo4dgAAAAAAADZyrx1SByMbEUAAAAAAAAAAAAAAADJvKtsPQujh2n7+/qUd1dmMwB1Rxl3SRx3SRx1RxlmNAGKZj/l2NMAAAAAAAAAAADk1c5wQBGNZ0H18O2niGNmMwBtPA52SRx2SRx2SRxtPQxoNQPl2tQAAAAAAAAAAADz8eyHXz9xQxXt6OTMvrNpNwW1mYQAAAAAAAAAAACxloNmMwC6p40AAAAAAAAAAAAAAACjgGJsOgrTx7Xs49uFXjeXdlXv6uMAAAAAAADXzb9sPAujgWYAAAAAAAAAAAAAAAC/rZlmNAG4n4gAAAAAAAAAAAAAAAAAAAAAAADn39d3TCGDWS7PwbQAAAAAAAAAAADx7ei6pI7Yyr0AAAAAAAAAAAAAAAAAAAAAAAAAAACJZD9rOgrIs54AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGsZxmMwCkjnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSwLdtPQqDWjL08vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy7uju6eQAAADx/wAA8f8AAPH/AACR/wAAAf8AAAHHAACAxwAAgAMAAIADAACA4wAAwGMAAMfhAADH8QAA//EAAP/wAAD/+QAA";
var ytimg = "data:image/vnd.microsoft.icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAeP/PAHj//wB4//8AeP//AHj//wB4//8AeP//AHj//wB4//8AeP//AHj//wB4//8AeP//AHj//wB4//8AeP/VAHr//wB6//8Aev//AHr//wB6//8Aev//AHr//wB6//8Aev//AHr//wB6//8Aev//AHr//wB6//8Aev//AHr//AF9//8Bff//AX3//wF9//8BZc//AV6//wF17/8Bff//AX3//wF9//8hjf//QZ7//yGN//8Bff//AX3//wF9//8BgP//AYD//wGA//8BgP//ACBA/wAAAP8BYL//AYD//wGA//8BgP//gMD///////+AwP//AYD//wGA//8BgP//AYP//wGD//8Bg///AYP//wAhQP8AAAD/AWK//wGD//8Bg///AYP//4DB////////gMH//wGD//8Bg///AYP//wKH//8Ch///Aof//wKH//8BIkD/AAAA/wFlv/8Ch///Aof//wKH//+Bw////////4HD//8Ch///Aof//wKH//8Ci///Aov//wKL//8Ci///ASNA/wAAAP8BaL//Aov//wKL//8Ci///gcX///////+Bxf//Aov//wKL//8Ci///A4///wOP//8Dj///A4///wASIP8AAAD/Almf/wOP//8Dj///A4///4HH////////gcf//wOP//8Dj///A4///wOT//8Dk///A5P//wJ3z/8AAAD/AAAA/wEuUP8Dk///A5P//wOT//+Byf///////4HJ//8Dk///A5P//wOT//8El///BJf//wSX//8CS3//AAAA/wAAAP8ACRD/BJf//wSX//8El///gsv///////+Cy///BJf//wSX//8El///BJv//wSb//8Em///AR0w/wAAAP8AChD/AAAA/wNqr/8Em///BJv//4LN////////gs3//wSb//8Em///BJv//wWf//8Fn///BIvf/wAAAP8AChD/Ak9//wAAAP8CRnD/BZ///0S3//+h2////////6Hb//9Et///FaX//wWf//8Fov//BaL//wNbj/8AAAD/AjNQ/wR5v/8AAAD/ARQg/wWi/////////////////////////////0S5//8Fov//BaX//wWl//8DZ5//AlJ//wR8v/8Fpf//AlJ//wJSf/8Fpf//gtL//4LS//+C0v//gtL//4LS//8ksP//BaX//wao//8GqP//Bqj//wao//8GqP//Bqj//wao//8GqP//Bqj//wao//8GqP//Bqj//wao//8GqP//Bqj//wao//8Gqv/hBqr//waq//8Gqv//Bqr//waq//8Gqv//Bqr//waq//8Gqv//Bqr//waq//8Gqv//Bqr//waq//8Gqv/nAABpYwAAdC4AAGF0AABsYQAAL2sAAD4KAAAJCQAAbnQAAGVyAAA8LwAAdGUAAHI+AAAJCQAAZGkAAD4KAAA8Lw%3D%3D";
var tzimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZElEQVR4nGP8//8/g2n63P8MZIDTM5MZGU3S5pClGQaYKNHMwMDAwAJzCroEurdwqWHCJkEsOD0zmZFiL4waQK10QCzAluRJMgA5zZimz/1PdjqAaWZgICMMkDUzMJAZBshhAQDsRilZfCOEMAAAAABJRU5ErkJggg%3D%3D";
var zsimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAKXwAdrtEfK9jesBGfcRJ/2YAgchMhMxPi9JXl9llo+F0r9aStd2Xr+iCt+CZveWfvPSYw+mnyu6v0fK32Pa/3vnGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwezBmQAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAYdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4zNqnn4iUAAAB9SURBVChTXY0LDgIhDAVblj8iIMj9b1rbhTWukwDp5PEK9AccDC7IWktwtNbwIdyEUuomstY6/yayMeYrpLQ458pOyFYs3nsWAsi+WkMItZ6rgfDFxBjl4RDwh957Solv+cSCcIzx5HOWiCB8C7v0rMY555pXQsyeL0HXTB/wOmoV0sRHwQAAAABJRU5ErkJggg%3D%3D";
var bmimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgElEQVR4nG2TIYgbaRTHfzv9xEcJZSjH8YmKEStGrBjRg+9gRURExIqIiogNjCgl0FIiTkTcwXCsiDgRygYiToSrGVGxogeREcduuC5cRMWIFSMWOmLFJyI+Mcs7kW2SO/rEgwfv/fjz3v8diAj7MbnqCQqiKMZ8F+K9pyhLvHOg4PUP7w/2+w/2AZNPPbHP7UOlt9njAU11V1HeFLz+cQfZAv788osYYwBN53BIUznMzQYQA0k9fQDBcrncQgKAyT89MSbaDTdgcQOjDwOSn7tEQKb6W2VJkjD51BOAYHLVE5vYrVxz55hlKd0jGM7muLMce5aQ9i2kU8bPM7QOoYZ7uZcAtVvI8GRMvAayOeFRl/HHgjQfMr4o0Xee4raiXVeAx1rLdJkSxIcxoFmkM+bzghzQviDLc0KA24L82tHsdljVIXY+3i1ZQRCGIQBFqOkmEavTCN+O8JnFPbRmaZPcFfBXyejZYCe5hsB7jwb64w6J0Qw/lmASIKTIOqA80/WKxaqElsHsm0BBUJblw3E05WHCygHVCu9KXKNkaS0X+ZLotmAUO9oa9BrAbxS4tdsUQPdlSuckYnaU4AZTksGSsOHRKmZ4HDNaeIbHTZpmSP77BRsf1ODWDl2HNJM2Ixtjqwp3vaJvNX4wI4sjuKlYmDb+zkFDEx0Z+nYGIsL55alc/30tKlCiAiXnT5WcPVXyU6Dk5LGSOqilfteSxveH0nis5PzyVM4vT0VENoCvkMYTJfW7lqhXLTkOlPwWKKnfNqT1x0upfz3ewPeGReR/z3S1sadpppR1m+aLkPyzo2OgetOmMpuTf/OZvsa93Mt0mfKt6NsZjw4e/eed/wWAtTQMX7dAZAAAAABJRU5ErkJggg%3D%3D";
var wpimg = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1rUfGfiC2k8Y2ENnYz6zooS7toRHIEurRxnP3/v8ADj0yPer1l4t1DW9F/tTQ2sTa300EGmNNE/7zdjzGPzDIHz9MH5DTPH+iasfE2g674agEt6m7TbwF8D7NJzvI6fIRkfWoPh34V1Lw/rFzpV2DJoWlSNLpUztlpPOHzA/7nzj/ALaUAf/Z";
var gimg ="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8A//3/AP39/wD6/f8A+P3/AP/8/wD9/P8A+vz/AP/7/wD/+v8A/vr/APz6/wD4+v8A+/n/APP5/wD/+P8A+vj/AO/4/wDm+P8A2fj/AP/3/wD/9v8A9vb/AP/1/wD69f8A9PT/AO30/wD/8/8A//L/APnx/wD28P8A///+APj//gD2//4A9P/+AOP//gD//f4A6f/9AP///AD2//wA8//8APf9/AD///sA/v/7AOD/+wD/+vsA9/X7APr/+gDv/voA///5AP/9+QD/+/kA+e35AP//+ADm//gA4f/4AP/9+AD0+/gA///3APv/9wDz//cA8f/3AO3/9wD/8fcA//32AP369gDr+vYA8f/1AOv/9QD/+/UA///0APP/9ADq//QA///zAP/18wD///IA/fzyAP//8QD///AA9//wAPjw8AD//+8A8//vAP//7gD9/+4A9v/uAP/u7gD//+0A9v/tAP7/6wD/+eoA///pAP//6AD2/+gA//nnAP/45wD38eYA/fblAP/25AD29uQA7N/hAPzm4AD/690AEhjdAAAa3AAaJdsA//LXAC8g1gANH9YA+dnTAP/n0gDh5dIADyjSABkk0gAdH9EABxDRAP/l0AAAJs4AGRTOAPPczQAAKs0AIi7MAA4UywD56soA8tPKANTSygD/18kA6NLHAAAjxwDj28QA/s7CAP/1wQDw3r8A/9e8APrSrwDCtqoAzamjANmPiQDQj4YA35mBAOmefgDHj3wA1qR6AO+sbwDpmm8A2IVlAKmEYgCvaFoAvHNXAEq2VgA5s1UAPbhQAFWtTwBStU0ARbNNAEGxTQA7tEwAObZIAEq5RwDKdEYAULhDANtuQgBEtTwA1ls3ALhgMQCxNzEA2FsvAEC3LQB0MCkAiyYoANZTJwDLWyYAtjMlALE6JACZNSMAuW4iANlgIgDoWCEAylwgAMUuIAD3Vh8A52gdALRCHQCxWhwAsEkcALU4HACMOBwA0V4bAMYyGgCPJRoA218ZAJM7FwC/PxYA0msVAM9jFQD2XBUAqioVAIAfFQDhYRQAujMTAMUxEwCgLBMAnxIPAMsqDgCkFgsA6GMHALE2BAC9JQAAliIAAFYTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AsbGxsbGxsbGxsbGxsbGxd7IrMg8PDw8PDw8PUBQeJXjQYE9PcKPM2NfP2sWhcg+BzTE7dLjbmG03YWaV4JYye8MPbsLZlEouKRRCg9SXMoW/U53enGRAFzCRtNO7mTiAyliw30gRTg9VbJCKfYs0j9VmuscfLTFbIy8SOhA0Inq5Y77GNBMYIxQUJzM2Vxx2wEmfyCYWMRldXCg5MU0aicRUms58SUVeRkwjPBRSNIfBMkSgvWkyPxVHFIaMSx1/0S9nkq7WdWo1a43Jt2UqgtJERGJ5m6K8y92znpNWIYS1UQ89Mmg5cXNaX0EkGyyI3KSsp6mvpaqosaatq7axsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D";
var itimg = "data:image/x-icon;base64,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%3D";
var discimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABTUlEQVR42o1SLWwCMRT+YIiee5WVzB2OEyQgV4kDiZydnJxEImcnkeA2s9CJJSBxdw7MkhqSVpyoWNKJkrtyIFbTvr7ve+97Py3vPS7Py/NT9Z4vXhveVkwYjXoAikIHUwguRBfAZrO5QZBSKqWIKECJWJKIYT9tpGqHq9e7V0o1sg/76Xg6AaC2SkpZE6SURXFsoJNEANB6vdsXSSK0PgZOy3vPObfWVlAimk0ZgOXKZVkGQOtzuDw/3P2Wp8+v7xi9/bCDrBxk5ePMzRcGcAC0NmXpytNPu6EkxI5NrY3WpvrpxG7GcH1itXWXiIiIGKPlysXut6W9MTjOuRAcABELgwvCAtq5OoT3vhOPKfT+YQS1VdY6xlysJ027Z0l5frDWxZOy1sWFBs15fqhrCMZ4OnlfrXf7oqGbiIwxF0WHDavQoZhrdHNb/7Pef+sDpJ9L+f94AAAAAElFTkSuQmCC";
var lastimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACeElEQVR4nJ2SS0iUYRSGn/+bcaYcZ3B0rOyimWlBRVRaIZUJKRWiQZdNBFGbFi3auAm6CNWigoQiaRO1aRWtisxd10UuMnOki5hlOEMpMo5z+S/ff9qMZrUIe+FdHJ5zzuKc19B9PTv0nY4rfIpuZi6qWvPac/RUm5E53BBjYnzRnIanFS6OG8mmtfJfwzl5bUfPFAJIbp1hgDGrUQA3x9Qs5rVsjQtktUtKC8aSMiSTxjMxRsCjyFMGjitMaRe3vBJcjRoZpiDHGN5aKQO1FfL+fJvYqSmZ1uTgB+k90iLR2grpba2XqS+fZ1jq21fpa62XoS0rRGVMm0zVOladu0z85TOe1m/g1aE9iPKwuuM2cfESPnYSNT+f7qY6XhzcjaEU+TV1mJaDSpqaYGMzojUfz7YRGv+BL/qO/vbT+IuKCTUfwMUgLxiiYM16sqMxXuysYezeXWzLRWUsG9+ChVjJSZzvPxBbYzia9KvnpOIxlu5tIdpxheTwEHXXOtn18i3Vl29ghorIWg7KtjRmIoG/MEwmz0fKdEibDnbW5MvjhyzcWIt2XJ43bqdrWw09l9opb91PybETTJk2yrU1se4nAFSducio8pFYspyKMxcYuHkdbVts6ehEyiqYGBzkc1cX2rLwhovJ2hqelATlQaRA3ly7Kq7jzFx6PNov91cuk+6D+yQx/OsDIiKTI1/lUcM2eRQJivGwMF9cICuCDobIX1FJ5tsIMj6GHwMBsgjzVlajAgHQmnR/H/MxyDPAeBDwy29pAxR/p3Da/MG9nsiC0Wwstnh2vt1/5H+azystHVWbOm8d90ZK4o52mYu9kZL4ps5bx38CB8BuS5VfuXIAAAAASUVORK5CYII%3D";
var rymimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAXUlEQVQoz8WSuQ0AIAwDvX/NFmySpUCAxGMSvgYr5R2gYIQx3gsNAVigqgaiRRwNObBo5MxOE+jgQpOTBOslFSXnu1Dpixs2ArroQr9WjJlp5eMWdBOuq/FSvvN6R6LnF2dpV3xmAAAAAElFTkSuQmCC";
var mbimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA3UlEQVR4nIWRMQrCMBiFcwoHZ5cuHsFVFD2AY8VRujh4AI/gKoLgIognsAcQBzdvU+LXvvITQk3DayDJ95L3/3Xe+9328U/Dwcg5N13MsmzMEth1chzDQRfF/v39VHCuJWODUObT+Qhn6jbA8XpZPkM0ZWA3pAmTr1dspgy+QcljZfQbBGFYzjeo38AMJ5tGv0G9V0Pjov0rN5mBPGGLcNZHYvjuh4kFkIHl5Xatggag1iCaP0pDkS5Ti2wYrRQuzKq4Yc5IsYFaeTBlIJIeBVX6BN0UzWjqRmm0lvc/AwuT4n8BncUAAAAASUVORK5CYII%3D";
var amazonimg = "data:image/x-icon;base64,AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAA1NTcA////ADyn8QCampsANkNOADqLwwDZ2doAO5LOADhgfQA5daAAO5naAE5OUAA8oOUANTxDAEJCRADm5uYAOoO3AMrKygBoaGkAW1tdADdSZgA3WXEAgYGCAKenqADy8vMAdHR2ADZKWgA5bpQAhcHqAI2NjwCzs7QAOGeIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAUJCAQAAAAAAAAAAAAAFgICAgICCgkEAAAAAB8NAAAFCgICAgICAgUUAAAJBwAAAAAAGhUJBwICAhAEGgIIAAAAAAAAAAAECAUCDAQKBwAAAAAAAAAAAAAABBsNBQINAAsDAxYAHQ4VBQUbEAwCFAAPAQEBDwEGAAgQDAICBwQSAQEDFwEBBgAAAAAAAAAAEwEBGQABAQMAAAAAAAAAAAAGARgXAQEDAAAAAAAAAAAADgMRGAEBAwAAAAAAAAAAABERCwABAQMAAAAAAAAAAAARAQ8GAQEZAAAAAAAAAAAAEwYBAQEeAAAAAAAAAAAAAwAACxIOAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D";
var amimg = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAAAAr52Nba+djdWvnY3wr52N8K+djfCvnY3wr52N8K+djfCvnY3wr52N8K+djfCvnY3wr52N26+djYWvnY0Fr52NXK+djf+vnY3/r52N/6+djf+vnY3/r52N/6+djf+vnY3/r52N/6+djf+vnY3/r52N/6+djf+vnY3/r52NjK+djc2vnY3/rZuK/6qWhf+rmIf/rpyL/6uYh/+tm4v/r52N/6yZif+rmIf/r52N/66cjP+ql4b/rZqK/6+djeKvnY3xrZuK/7iomf/Z0cr/0si//7Oik//Mwbf/vK2f/6uZiP/CtKj/zsO6/66ci/+yoZH/0ce+/8Gzp/+tmorxrpuL8Laml//y7+3/6+fj/97X0f/z8O7/9vXz/7ammP/Ctaj//f38/+Td1/+tm4r/5N7Y///////Guq7/q5iI8KyZifDDtqr//f38/7Khkf+jj33/2dHJ/+3o5P+ploX/1czE//Hu6/+vno7/tKOT//7+/v/Qxrz/q5iH/6+djfCtm4vwtaSV//Pw7v/o49//uqqd/9rSyv/r5uL/qpeF/9XMxP/s6OT/rJqK/7SjlP/7+vn/xbit/6uZiP+vnY3wr52N8K2aiv+3p5j/29PL/+bg2//v7On/6ubh/6qXhv/VzMT/7enl/62bi/+0o5T/+/r5/8e6r/+rmYj/r52N8K+djfCunIz/vq+i/7SjlP+yoJH/6OLe/+rl4P+plYP/1szE/+3p5f+tm4v/tKOU//v6+f/Huq//q5mI/6+djfCvnY3wrZqK/93Wz//39fP/8u/s//Xz8v/CtKj/qJSC/9bNxf/t6eX/rZuL/7SjlP/7+vn/x7qv/6uZiP+vnY3wr52N8K+cjP+xoJD/wLGk/8O2qv+2ppf/rJmJ/6qXhv/WzcX/7enl/62bi/+0o5T/+/r5/8e6r/+rmYj/r52N8K+djfGvnY3/rpyM/6yaif+smYn/rZuL/6+djf+ql4b/2dDJ//Hu6/+tm4v/tKOU///////JvLH/q5mI/6+djfCvnY3vr52N/6+djf+vnY3/r52N/6+djf+vnY3/rZqK/8O1qf/Ow7n/rpyM/7Kgkf/VzMP/u6ye/62bi/+vnY3xr52Nv6+djf+vnY3/r52N/6+djf+vnY3/r52N/6+djf+smon/q5iH/6+djf+vnY3/qpaF/62bi/+vnY3/r52N3a+djUqvnY39r52N/6+djf+vnY3/r52N/6+djf+vnY3/r52N/6+djf+vnY3/r52N/6+djf+vnY3/r52N/6+djXQAAAAAr52NRK+djbqvnY3wr52N8K+djfCvnY3wr52N8K+djfCvnY3wr52N8K+djfCvnY3wr52Nxa+djWEAAAAAwAH//4AA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//+AAf//wAP//w%3D%3D";
var spotimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAArFJREFUOE+NU+0vlXEYvnDk7FAkOyTvL2WOlSbTpKQtbSFmXkMvmJgcUpOwc4gjcx7y0iiyJEKFDqGmPvQX+NiH/oC2VvnUh9aHq/s5yjTZerZrz/3cz++67vu+fr+fA7Z7zHDMXtP6aVw1ui9r/LZy//vnbddu/pFt1vk0jbmsdtgc2D7rQMusE9tmNWyzubB60HUwMRGabYWMvboyqxCtNmcqNi2VeTd2Lbiza96T1nkvdrz0YuusO3PN7kFbRMqt2jxFiD2v3Ni/7MG+xT3sXfTmvWVfDrwOkFwwe5fC2L0YxrY5PZNLdnluiKSWQacsaGka92BQOrj3DLgvBQxIBQPPSiwIzXRgVrOXdGVg11Ikb457ftoQqFC0/b1LejaM+jC+VMtSRc/WyRC2TweybmQn05rAoBzQOQHUnQDDcrW0zAcxoWjHfrvI7Sl3Dr4J59DbSD5YMbBxTM+iTjD/DljcA9aOguYXoElQoID+aeC1CYk7dXMq31FZ0Av5IIdXIhicDRqKwJgyMLZc4mKpngf6ZIJRJWDNY/D6JFg9DhbexQe7gNXmLSaFsnUG4jRk68BWqdbyB5JvmALjqkRIPLohcZUInFfw0T6CacKTpudgsxAuSMvp7WCGtJ/RAaZZwJQ2yfcJ8ek62SjkyjH534L3doGcBrxrfCYzCppVIYEaq7kmwa1p8PIAmGyWEUSk8gl4RUaJyUSGXeBIJkLqRLVRFqrvpHoxKh/0k9mP1oDlD3/PLcZdFXKFVM/vwY+/DlOqETOhF0Gc2oQkiVUkgq6n1yur5JJh8FAqkrecRo0Bq+piFb6yG2oHmpPyfVxwDHSMk1GGxMwC1G97H3ZHoPZSN35WPpJ2pZrqdlSpCMSCTgfw1TcS0f91K8MTER2bBUt8IUaiz8Hofxi+/yL+Au/OXt9xQVOtAAAAAElFTkSuQmCC";
var gsimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADAklEQVR4nI2NTWhcVRxHz73vzczLTD4abT6IlujC2loCIlq7qBZUjFR3giAGwVXpThTdaMG2IGJRFLsU3Yko6MKF0I20YAmt1dpYbUxNJsnkTdJkPt58vnffu/fvolBcenY/OPyOaoXzB73F9z8t6qVDBEUY3AvFFhSB4EkghvgidHageQ2aKbRguzdxMd7/0XHicw9UXfit/D8yESmLSEXcymlpf16s+qrzz6QkTdzyJygvgNwwKlcCVkEWAUBNg+khxoG1oAfARORNPOkTK6S7CroAvgM1gKTriF1CqQwQxN1EySgiwe3z/CDSLOMS0JlVOGsRbxCXpdjoT868eIZff7xOFrVxUQ3XauO6FcQ0EN8HP8NpDzeo8F2mkMygvAJ253eUH3B9tc3Cu7/x8MwQc2/tY3QIJLMoqUNtAz06jd3ZwqyAziIFXgFVMuixB3E6oCUQiXBhoc07r19loxxjuwYbG9LaLWy9gkge21fodE1Iw79JK8uYlQXqNxdpOuhoTVsplhsZb5+6wXY1JutnuH6KCdfI6lWyRKFNQ2HjPunmGrbd4MLlOj2l6AAdoKsUa5Hl1BdVTJySdRJsbMl6MXFF0FkCkRvG9lNWNvqc/W6NntboiXHU+Bg9relpzaWVhLPfbxOpe7GJxZEjaYJubMD8oyc5+dU6cx/+QdgxdF3GgZfnmHnlVbouo4fQE8c3CxlXnvqMX65ZzFYDUwPvnnM/v3d5Yy/3Pf8MqlDAGxpk9o03GZ09xsxjhynu2YVVwkNHj/Ls6Q8om2mKR17g4/M1djevooonQnlpdgSTOI7sD7ilYXMzo9txbFZTnn5kgLikGXdw/q+YJBG0B4cPBPyUCqp4Yl0e3xcwMZXnv2yFhompPFuhIRjQxH1HLqe4ayx3x/lhvoPvL0VhfZdMjUx4pIkjV9DsrMfs3hNQKXfx85rCsEe/bzEpVMoGACl5eFdqoTr0dfjcjaXel8a4SXcpQh8cAcDNN6Dko2eGbu+F9p2yKnl4rXTz/ifufu1fYt/KJ9f1tE4AAAAASUVORK5CYII%3D";
var lrimg = "data:image/x-icon;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBdY4AU2QBXnIBXnIBXnIBXnIAO0gALzkALzkBgZwBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQAU2QAAAAADA4AR1YBXnIBXnIALzkAU2QBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQAU2QBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBjasAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBgZwAAAABXnIBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQAO0gAAAAALzkBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBdY4AO0gALzkALzkALzkAR1YBaYABvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQBvOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
var _4img = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABtElEQVR4nKWTv2tTURTHP99LKVKc8oLEWeif4OImjq4OOjg4uDj0ZVZBBEfRSZCCCQWlg6h1tKKI7axDyeAi1KXaNmli8pq83HuPQ14k8VeEHjhwONxzvj8uR2bGUcIdaRqYm/WgvPTotJxbk1kFiwwaGyc7r+t7ZuZnMiintfNy7p1izLGILJJvN0rA/EwJ5bR+VdKagv/Ufb96QRZRDNigtzDJ/I8Lymn9jsRDfL7Rfnn/4uGH9R3FABbhF9OnPJA0nyzVliUuMzh82lq9fT20djKgg0WI/u8LJB1P0tpzwTnrtR/sL6d3gT7QATKihxCA6QUOIKmuVJK0tik4G9u7N4vhDDgAMjOLhABx+DuDpLqyKGxd2Inwbfta68mtV0C3QM7NLAKj4eBHPkzKTtL6vrASftiw/vctyXnnXI6IioEJ5CsKntg7eCGpg5n/+uxeVeW0ZjJj/M8/3R5rLpAVPIRRbWGIgqfz8e0pAQtACThWsIpFTkXl0o3PBE/zzeMz+e6XPSAH+nNF0WTWXYyRJT82F4jOzLyZZWbW/WcWtJEi0C/6mf73nCWNpQI0zSwD+AGkvCdYQgyatwAAAABJRU5ErkJggg%3D%3D";
var bspotimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kCDwkVGYdJ0SoAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAA0klEQVQ4y2NkgIJ/aUz/GUgATLP+MTIwMDAwkqMZ2RBGcjXDAAuGSEQPA4NFAgMDhwBC7MIGBoYlKQwMXz5gugJDs0MBqmYGBgYGgwAGhow12L2BwrNIQLAXJEDwD6itKg4MDDIGBLwAs3lNAQPDiSUI8YQFCJcwMDAwPLkAl0INxBl/iAu5DBYcXqBKLMC8sGcKqphLDgNDyAQCBvz4AAmHkAmYUQbT/OMDHgNOLIBEI3LAoYMTC/AYsKIEEZ3oaeHHB4hmmBqssUAGoDwzUZqdAUkvQ+WlCtraAAAAAElFTkSuQmCC";
var rtimg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oHGggCHa3WoeEAAAJ0SURBVDhPjZJNSJNxHMc/z/bAprOZs5aP0xH5LMXEPHQRbTOQpBUKnaTwkB7qYgRCRnTo6MEIxC5StAIJu4xeIMjDQjBECk0wfMH15GLw+OgK3RrsxX+Hcmov2Of6+34//Pj9/7AHs7OzQtd1sVfuDwzDEFuEQiGxvLwsYrHY/4uWlpZEYnBEfG2/IXYSDodFJBLJiUy/FzVNE2tra0JRFL4/fEbq9QQrxadYrToPQCAQIJVK5fK7BJFIRLjdbhYXF1m4fJvNT9HczD5wHb//LKWlpVRUVEh/FZSXl0uXPtbj8XiYaDjCZmHBz9DBItIfFmhra0VV1Z0V5Lm5OfG+8BXf0qsY6SihWBCHw4Hdbkd3FqAO9mLzN5J89JIWXw0zMzO7BCbDMLhQco2n+j1CsSAATe+KWK4f5/jEE4a/LOL1+rg6/pyNjQ0SiQSapuWOKLvdbrLZLCbJzKbIAtDlukWH0kN3dzeB4RX2F1/EWa4yFNC50lnL2NjY9gZCCMxmM5X5dXS6bgLQofTg9foIvVlAyCdJpE4QeqvS0lxHOp3GZNo+nclms7G+vo53uot9EypD1SEAamqOUVXbi8XWimQuA8nKuTMH6Ovro6qqelug6zrBYJB4PE40GmXkzgvi8Tia9pm7fR4sFislhyT8py3cf5ykv78fszn3isiKotDY2Igsy2QyGSYnJ5mensbn8yJJEpVHZR4MFHLksPlXpYz5+fmcYFu1g3A4LLLZLMlkElVVaW9vx+VykZeXR35+Pk1NTTQ3N0v/FGwxNTUlRkdHcTqdNDQ0YLVayWQy2Gw2nE7n3gJN04RhGDgcjl3fdyc/AGM4B8aQvyP0AAAAAElFTkSuQmCC";

var searches = new Array();
var lastSearch, rymSearch, discogsSearch, whatSearch;
searches.push(whatSearch = {alt:"What",
	artistTemplate:"http://what.cd/artist.php?artistname=%artist%",
	albumTemplate:"http://what.cd/torrents.php?action=advanced&artistname=%artist%&torrentname=%album%",
	imgsrc:whatimg
});
searches.push({
	alt:"Bit-Torrent.bz",
	template:"http://www.bit-torrent.bz/browse.php?c36=1&search=%artist%+%album%",
	imgsrc:btimg
});
searches.push({
	alt:"jpopsuki",
	artistTemplate:"http://jpopsuki.eu/artist.php?name=%artist%",
	imgsrc:jpsimg,
	albumTemplate:"http://jpopsuki.eu/torrents.php?action=advanced&artistname=%artist%&torrentname=%album%"
});
searches.push({
	alt:"RuTracker",
	template:"http://rutracker.org/forum/search.php?nm=%artist%+%album%",
	imgsrc:rtimg,
	post:rtpost
});
searches.push({
	alt:"Demonoid",
	template:"http://www.demonoid.com/files/?category=2&query=%artist%+%album%",
	imgsrc:demimg
});
searches.push({
	alt:"isoHunt",
	template:'http://isohunt.com/torrents/?iht=2&ihq="%artist%"+"%album%"',
	imgsrc:isoimg
});
searches.push({
	alt:"YouTorrent",
	template:"http://www.youtorrent.com/tag/?q=%artist%+%album%",
	imgsrc:ytimg
});
searches.push({
	alt:"Torrentz",
	template:'http://torrentz.com/search?q="%artist%"+"%album%"',
	imgsrc:tzimg
});
searches.push({
	alt:"BitTorrentMonster",
	template:'http://www.btmon.com/torrent-Audio-0/"%artist%"+"%album%"',
	imgsrc:bmimg
});
/*doesn't seem to work: searches.push({
	alt:"Lossless.ru",
	template:"http://www.lossless.ru/music/search/%artist%+%album%/1.html",
	imgsrc:lrimg
});*/
searches.push({
	alt:"4shared",
	template:"http://search.4shared.com/q/CKADAw/1/%artist%+%album%",
	imgsrc:_4img
});
searches.push({
	alt:"Google direct downloads",
	template:'http://www.google.com/search?q=4shared|indomp3z|indowebster|ziddu|megaupload|rapidshare|mediafire|rayfile|sharebee|zshare|badongo|rayfile|brsbox|asianload|japanimusic|japandata+"%artist%"+"%album%"',
	imgsrc:zsimg
});
searches.push({
	alt:"Google Blogspot",
	template:'http://www.google.com/search?q=site%3Ablogspot.com+"%artist%"+"%album%"',
	imgsrc:bspotimg
});
searches.push({
	alt:"Spotify",
	template:"spotify:search:%artist%+%album%",
	imgsrc:spotimg
});
searches.push({
	alt:"Grooveshark",
	template:"http://listen.grooveshark.com/#/search/artists/?query=%artist%",
	imgsrc:gsimg})
searches.push({
	alt:"Wikipedia",
	template:'http://en.wikipedia.org/wiki/Special:Search?search=%artist%+%album%',
	imgsrc:wpimg
});
searches.push({
	alt:"Google",
	template:'http://google.com/search?q="%artist%"+"%album%"',
	imgsrc:gimg
});
searches.push(discogsSearch = {alt:"Discogs",
	artistTemplate:"http://www.discogs.com/artist/%artist%",
	imgsrc:discimg,
	albumTemplate:'http://www.discogs.com/advanced_search?artist=%artist%&release_title=%album%'
});
searches.push(lastSearch = {alt:"Last.fm",
	artistTemplate:"http://www.last.fm/music/%artist%",
	albumTemplate:"http://www.last.fm/music/%artist%/%album%",
	imgsrc:lastimg
});
searches.push(rymSearch = {alt:"Rate Your Music",
	artistTemplate:"http://rateyourmusic.com/search?searchtype=a&searchterm=%artist%",
	imgsrc:rymimg,
	albumTemplate:"http://rateyourmusic.com/search?searchtype=l&searchterm=%artist%+%album%"
});
searches.push({
	alt:"MusicBrainz",
	artistTemplate:"http://www.musicbrainz.org/search/textsearch.html?type=artist&limit=25&handlearguments=1&query=%artist%",
	albumTemplate:"http://musicbrainz.org/search/textsearch.html?type=release&adv=on&handlearguments=1&query=artist:%artist%+AND+%album%",
	imgsrc:mbimg
});
searches.push({
	alt:"Amazon",
	template:"http://www.amazon.com/s/?search-alias=popular&field-keywords=%artist%+%album%",
	imgsrc:amazonimg
});
searches.push({
	alt:"allmusic",
	artistTemplate:"http://allmusic.com/search/artist/%artist%",
	albumTemplate:"http://allmusic.com/search/album/%album%",
	imgsrc:amimg
});

var sites = new Array();
//last.fm artist
sites.push({
    url:/^http:\/\/(?:\w+\.)?last(?:\.fm|fm\.(?:com\.)?\w\w)\/music(\/\+noredirect)?\/[\w#!:.+=&%@!\-]+\/?(?:\?.*)?$/i, 
    artistPath:"//div[@id='catalogueHead']/h1", 
    search:lastSearch, 
    placePath:"//div[@id='catalogueHead']/h1", 
    post:lastpost
    });
//last.fm album
sites.push({
	url:/^http:\/\/(?:\w+\.)?last(?:\.fm|fm\.(?:com\.)?\w\w)\/music(\/\+noredirect)?\/[\w#!:.+=&%@!\-]+\/[\w#!:.=&%@!\-][\w#!:.+=&%@!\-]+\/?(?:\?.*)?$/i,
	search:lastSearch,
	artistPath:"//div[@id='catalogueHead']/h1/a",
	albumPath:"//div[@id='content']/div[2]/div/div[1]/span",
	placePath:"//div[@id='content']/div[2]/div/div[1]"
});
// last.fm similar
sites.push({
	url:/^http:\/\/(?:\w+\.)?last(?:\.fm|fm\.(?:com\.)?\w\w)\/music\/[\w#!:.+=&%@!\-]+\/\+similar\/?(?:\?.*)?$/i,
	search:lastSearch,
	
manyPath:"//ul[@class='artistsWithInfo']/li",
	artistPath:"./a/strong",
	placePath:".",
	beforePath:"./p"
});
// last.fm recs
sites.push({
	url:/^http:\/\/(?:\w+\.)?last(?:\.fm|fm\.(?:com\.)?\w\w)\/home\/recs\/?(?:\?.*)?$/i,
	artistPath:"./a[@class='name']",
	search:lastSearch,
	
manyPath:"//ul[@id='artistRecs']/li/div/h2",
	placePath:"."
});
// last.fm playground sterec and multitag
sites.push({
	url:/^http:\/\/playground\.last\.fm\/(?:sterec)|(?:multitag\/artists)\/.*$/i,
	
artistPath:"./td[2]/a[1]",
	search:lastSearch,
	manyPath:"//div[@id='bottombox']/table/tbody/tr",
	placePath:"./td[2]",
	beforePath:"./td/br[1]"
});
// rym artist
sites.push({
	url:/^http:\/\/(?:www\.)?rateyourmusic\.com\/artist\/[\w#!:.?+=&%@!\-]+\/?$/i,
	artistPath:"//div[@id='content']/div[4]/div/span/span",
	search:rymSearch,
	placePath:"//div[@id='content']/div[4]/div/span/span"
});
// rym album
sites.push({
	url:/^http:\/\/(?:www\.)?rateyourmusic\.com\/release\/\w+\/[\w#!:.?+=&%@!\-]+\/[\w#!:.?+=&%@!\-]+\/?$/i,
	search:rymSearch,
	
artistPath:"//div[@id='albuminfo']/table[1]/tbody/tr[1]/td[2]/a",
	albumPath:"//div[@id='album_page_hdr']",
	placePath:"//div[@id='album_page_hdr']"
});
// discogs artist:
sites.push({
	url:/^http:\/\/(?:www\.)?discogs\.com\/artist\/[\w#!:.?+=&%@!\-]+\/?$/i,
	artistPath:"//h1",
	search:discogsSearch,
	placePath:"//h1"
});
// discogs album
sites.push({
	url:/^http:\/\/(?:www\.)?discogs\.com\/[\w#!:.?+=&%@!\-]+\/release\/[\w#!:.?+=&%@!\-]+\/?$/i,
	search:discogsSearch,
    artistPath:"//h1/a",
	albumPath:"//h1",
	placePath:"//h1"
});
// what.cd albums:
sites.push({
	url:/^https?:\/\/(?:\w+\.)?what\.cd?\/torrents\.php.*/i,
    search:whatSearch,
    artistPath:"//div[@id='content']/div[@class='thin']/h2/span/a",
    albumPath:"//div[@id='content']/div[@class='thin']/h2/span",
    placePath:"//div[@id='content']/div[@class='thin']/h2",
    albumFunction: function(album)    {
        return album.split(" - ")[1];
    }	
});
// what.cd artists:
sites.push({
	url:/^https?:\/\/(?:\w+\.)?what\.cd?\/artist\.php.*/i,
    search:whatSearch,
    placePath:"//div[@id='content']/div[@class='thin']/h2",
    artistPath:"//div[@id='content']/div[@class='thin']/h2",
});

function main() {
	var site = getSite();
	if(! site) return;
	populateMenu();
	makeLinks(site);
	if (site.post) site.post();
}
function populateMenu()	{
	for(var i = 0; i < searches.length; ++i) GM_registerMenuCommand("Toggle " + searches[i].alt + " link", toggleSearchFunction(searches[i]));	
}
function toggleSearchFunction(search)	{
	return function() {
		var disabled = GM_getValue(alt = search.alt, false);
		if(disabled) GM_deleteValue(search.alt); else GM_setValue(search.alt, true);
		search.imgElement.style.display = disabled ? "inline" : "none";
	}
}
// Return the site we're currently on
function getSite() {
	for(i = 0; site = sites[i]; ++i) if (location.href.match(site.url)) return site;
}
// Create all the links and put them in their places
function makeLinks(site) {
	if(site.manyPath) makeManyLinks(site);
	else makeLinksHelper(site);
}
// Helper function for multi-artist pages
function makeManyLinks(site) {
	for(P = xpath(site.manyPath), i = 0; p=P.snapshotItem(i); ++i) makeLinksHelper(site, p);
}
// Create all the links for the artist name found @ artistPath (and album name @ albumPath) and place them in a span in node.
function makeLinksHelper(site, node) {
	var container = document.createElement("span");
	if(! (artistName = extract(site.artistPath, node))) return;
    if(site.artistFunction) artistName = site.artistFunction(artistName);
	albumName = site.albumPath ? extract(site.albumPath, node) : "";
	if(site.albumFunction) albumName = site.albumFunction(albumName);
	var parameters = {artist:artistName, album:albumName};
	for(j = 0; search = searches[j]; ++j) if(search != site.search) addLink(container, search, parameters);
	if (site.beforePath) x(site.placePath, node).insertBefore(container, x(site.beforePath, node));
	else x(site.placePath, node).appendChild(container);		
}
function addLink(container, search, parameters) {
	var img = document.createElement("img");
	img.src = search.imgsrc;
	img.alt = search.alt;
	img.id = search.alt+"Img";
	img.style.border = "0";
	var a = document.createElement("a");
	a.appendChild(img);
	a.href = makeUrl(search, parameters);
	a.id = search.alt + "Link";
	a.style.border = "0";
	container.appendChild(document.createTextNode(" "));
	container.appendChild(a);
	search.aElement = a;
	search.imgElement = img;
	if (GM_getValue(search.alt, false)) img.style.display = "none";
	if (search.post) search.post(a);
}
function makeUrl(search, parameters) {
	var url = parameters.album ? if2(search.albumTemplate, search.template) : if2(search.artistTemplate, search.template);
	for(p in parameters) url = url.replace('%'+p+'%', parameters[p])
	return url;
}

function if2(e1, e2) {
	return e1 ? e1 : e2;
}

// Convert Cyrillic characters to the format used by RuTracker.
function rtpost(link) {
	link.href = link.href.replace(/%D0%9/g,"%C");
	link.href = link.href.replace(/%D0%A/g,"%D");
	link.href = link.href.replace(/%D0%B/g,"%E");
	link.href = link.href.replace(/%D1%8/g,"%F");
}

// Improve some of the links with info from miniCol on Last.fm. 
function lastpost() {
	var miniCol = xpath("//dl[@class='factbox clearit']").snapshotItem(0);
	if(miniCol); else return;
	var as = miniCol.getElementsByTagName("a");
	for(var i = 0; i < as.length; ++i) {
		var a = as[i];
		var discogsLink = document.getElementById("DiscogsLink");
		var wpLink = document.getElementById("WikipediaLink");
		var mbLink = document.getElementById("MusicBrainzLink");
		
		if (improveLink(a, "http://www.discogs.com/artist/", discogsLink));
		else if (improveLink(a, "http://en.wikipedia.org/wiki/", wpLink));
		else if (improveLink(a, "http://www.musicbrainz.org/artist/", mbLink)){
			mbLink.setAttribute("href", mbLink.getAttribute("href") + "?short=0");
		}
	}
}
// Replace link's href with a's href and return true if a starts with prefix
function improveLink(a, prefix, link) {
	if(a.href.indexOf(prefix) == 0) {
		if(link) {
			link.setAttribute("href", a.getAttribute("href"));
			return true;
		}	
	}
	return false;
}
// Extract innerHTML of path and replace some URI-unfriendly stuff.
function extract(path, e) {
    return x(path + "/text()[last()]", e).textContent.replace("&amp;","%26").replace(/\s+\s.\s+\s/,"");
}
// Return the first element that matches the path query
function x(query, e) {
	return xpath(query, e).snapshotItem(0);
}
// Modified from Dive Into Greasemonkey:
function xpath(query, doc) {
	return document.evaluate(query, doc ? doc : document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
}
main();