SkreemN Monkey

By Neil Craig Last update Sep 17, 2009 — Installed 47 times. Daily Installs: 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

There are 1 previous version of this script.

// ==UserScript==
// @name           SkreemN Monkey
// @namespace      http://userscripts.org/users/7497/
// @include        http://skreemr.com/*
// @include        http://*.skreemr.com/*
// ==/UserScript==

// Add jQuery
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

// Check if jQuery's loaded
function GM_wait() {
	if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
	else { $ = unsafeWindow.jQuery; letsJQuery(); }
}
GM_wait();

function letsJQuery() {
	
	switch (window.location.pathname.substr(1)) {
		
		case "advanced_results.jsp":
			
			var results = $("table.resultbox");
			
			for (var i = 0, l = results.length; i < l; i++) {
				
				var link = $("ul.sharemenuitem li:last-child a", results.eq(i));
				
				var qs = link.attr("href").split("?")[1].split("&");
				
				var artist = "", song = "", album = "";
				
				for (var j = 0, k = qs.length; j < k; j++) {
					
					var q = qs[j].split("=");
					
					if (q[0] == "artist") artist = q[1].trim();
					if (q[0] == "title") song = q[1].trim();
					
				}
				
				var album = results.eq(i).children("tbody").children("tr:eq(3)").children("td:eq(1)").text().trim().substr(6).trim();
				
				if (artist.match(/(\w+),\s(\w+)/) != null && artist.match(/(\w+),\s(\w+)/).length > 0) {
					artist = artist.replace(/(\w+),\s(\w+)/, "$2 $1");
				}
				
				artist = artist.replace(/\s/gi, "+").replace("%20", "+", "gi");
				song = song.replace(/\s/gi, "+").replace("%20", "+", "gi");
				album = album.replace(/\s/gi, "+").replace("%20", "+", "gi");
				
				$("<tr><td class=\"darkleft\" width=\"16\"></td><td class=\"darkback\"><div class=\"info\">"
					
					+ "<a href=\"http://skreemr.com/advanced_results.jsp?advanced=true&song=&artist=" + artist + "&album=&genre=&bitrate=128000&length=00%3A00%3A00&button=SkreemR+Search\">More songs by this artist</a>"
					
					+ " | <a href=\"http://skreemr.com/advanced_results.jsp?advanced=true&song=%22" + song + "%22&artist=" + artist + "&album=&genre=&bitrate=0&length=00%3A00%3A00&button=SkreemR+Search\">More download locations of this song</a>"
					
					+ " | <a href=\"http://skreemr.com/advanced_results.jsp?advanced=true&song=&artist=" + artist + "&album=%22" + album + "%22&genre=&bitrate=0&length=00%3A00%3A00&button=SkreemR+Search\">More songs from this album</a>"
					
					+ "</div></td><td class=\"darkright\" width=\"16\"></td></tr>").insertBefore(results.eq(i).children("tbody").children("tr:last-child"));
				
			}
			
			var summary = $("div.results");
			
			if (summary.length > 0) {
				
				var search_artist = "", search_song = "", search_album = "";
				
				var items = summary.find("font > b");
				
				search_song = items.eq(0).text().trim();
				search_artist = items.eq(1).text().trim();
				search_album = items.eq(2).text().trim();
				
				search_artist = search_artist.replace(/\s/gi, "+").replace("%20", "+", "gi").replace("%22", "", "gi").replace("\"", "", "gi");
				search_song = search_song.replace(/\s/gi, "+").replace("%20", "+", "gi").replace("%22", "", "gi").replace("\"", "", "gi");
				search_album = search_album.replace(/\s/gi, "+").replace("%20", "+", "gi").replace("%22", "", "gi").replace("\"", "", "gi");
				
				summary.append("<div style=\"font-size:11px\"><a href=\"advanced_search.jsp?song=%22" + search_song + "%22&artist=" + search_artist + "&album=%22" + search_album + "%22\">Modify Search</a></div>");
				
			}
			
			break;
			
		case "advanced_search.jsp":
			
			var qs = window.location.search.substr(1).split("&");
			
			for (var i = 0, l = qs.length;  i < l; i++) {
				
				var q = qs[i].split("=");
				var v = q[1].replace("+", " ", "gi").replace("%22", "", "gi").replace("\"", "", "gi").trim();
				
				switch(q[0]) {
					
					case "song":
						if (q[1] != "") $("input[name='song']").val((v != "") ? "\"" + v + "\"" : "");
						break;
						
					case "artist":
						if (q[1] != "") $("input[name='artist']").val(v);
						break;
						
					case "album":
						if (q[1] != "") $("input[name='album']").val((v != "") ? "\"" + v + "\"" : "");
						break;
					
				}
				
			}
			
			break;
	}
	
}