Source for "Compare StumbleUpon Likes"

By Thlayli
Has 20 other scripts.


// ==UserScript==
// @name           Compare StumbleUpon Likes
// @namespace      http://thlayli.detrave.net/comparelikes.html
// @description    Highlights common Likes on StumbleUpon About pages.
// @include        http://*.stumbleupon.com/about/
// @license         http://www.gnu.org/copyleft/gpl.html
// @version		   1.2
// ==/UserScript==
var stumbler = GM_getValue("Stumbler", "");
var url = document.location.href.split('.');
rows = document.getElementsByTagName('tr');
for(i=0;i<rows.length;i++){
	sectionTitle = rows[i].textContent.substr(1,6);
	if(sectionTitle=='Things'&&!music){
	  var likes = rows[i].nextSibling;
	}
	if(sectionTitle==' Music'&&!music){
	  var music = rows[i].nextSibling;
	}
	if(sectionTitle==' Books'&&!books){
	  var books = rows[i].nextSibling;
	}
	if(sectionTitle==' Movie'&&!movies){
	  var movies = rows[i].nextSibling;
	}
	if(sectionTitle.substr(0,3)==' TV'&&!tv){
	  var tv = rows[i].nextSibling;
	}
	if(rows[i].textContent.substr(0,10)=='Stumbler #'){
	  var buttonLoc = rows[i];
	  if(stumbler!=url[0].split('/')[2]){
		buttonLoc.firstChild.innerHTML = "<a href='#' id='sset' style='cursor: pointer;'>Start Comparing Likes to " + buttonLoc.firstChild.innerHTML + "</a>";
	  } else {
		buttonLoc.firstChild.innerHTML = buttonLoc.firstChild.textContent + " is being used to Compare Likes";
	  }
	}
}
if(document.getElementById("sset")){
	unsafeWindow.document.getElementById("sset").onclick = setStumbler;
}
if(url[0]=="http://"+stumbler){
	unsafeWindow.onload = storeLikes;
} else {
	unsafeWindow.onload = compareLikes;
}
function setStumbler(){
	GM_setValue("Stumbler", url[0].split('/')[2]);
	document.location.href=document.location.href;
	alert("Now comparing Likes to " + url[0].split('/')[2]);
}
function storeLikes(){
	GM_setValue("Likes", "");
	GM_setValue("Music", "");
	GM_setValue("Books", "");
	GM_setValue("Movies", "");
	GM_setValue("Tv", "");
	if(likes){
		likesRaw = likes.innerHTML.split('&nbsp;');
		myLikes = new Array(Math.round(likesRaw.length/2));
		var n = 0;
		for(i=0;i<likesRaw.length;i++){
			if(i%2==0){
			  myLikes[n] = likesRaw[i].replace(/(<([^>]+)>)/ig,'');
			  n++;
			}
		}
		if(!myLikes[myLikes.length]){
			myLikes.length--;
		}
		for(i=0;i<myLikes.length;i++){
			if(!myLikesString){
				var myLikesString = myLikes[i];
			} else {
				myLikesString += myLikes[i].substr(1);
			}
			if(myLikes[i+1]) {
				myLikesString += ",";
			}
		}
		GM_setValue("Likes", myLikesString);
	}
	if(music){
		musicRaw = music.innerHTML.split('&nbsp;');
		var myMusic=new Array(Math.round(musicRaw.length/2));
		n = 0;
		for(i=0;i<musicRaw.length;i++){
			if(i%2==1){
			  myMusic[n] = musicRaw[i].replace(/(<([^>]+)>)/ig,'');
			  n++;
			}
		}
		if(!myMusic[myMusic.length]){
			myMusic.length--;
		}
		for(i=0;i<myMusic.length;i++){
			if(!myMusicString){
				var myMusicString = myMusic[i];
			} else {
				myMusicString += myMusic[i];
			}
			if(myMusic[i+1]) {
				myMusicString += ",";
			}
		}
		GM_setValue("Music", myMusicString);
	}
	if(books){
		booksRaw = books.innerHTML.split('&nbsp;');
		myBooks = new Array(Math.round(booksRaw.length/2));
		n = 0;
		for(i=0;i<booksRaw.length;i++){
			if(i%2==1){
			  myBooks[n] = booksRaw[i].replace(/(<([^>]+)>)/ig,'');
			  n++;
			}
		}
		if(!myBooks[myBooks.length]){
			myBooks.length--;
		}
		for(i=0;i<myBooks.length;i++){
			if(!myBooksString){
				var myBooksString = myBooks[i];
			} else {
				myBooksString += myBooks[i];
			}
			if(myBooks[i+1]) {
				myBooksString += ",";
			}
		}
		GM_setValue("Books", myBooksString);
	}
	if(movies){
		moviesRaw = movies.innerHTML.split('&nbsp;');
		myMovies = new Array(Math.round(moviesRaw.length/2));
		n = 0;
		for(i=0;i<moviesRaw.length;i++){
			if(i%2==1){
			  myMovies[n] = moviesRaw[i].replace(/(<([^>]+)>)/ig,'');
			  n++;
			}
		}
		if(!myMovies[myMovies.length]){
			myMovies.length--;
		}
		for(i=0;i<myMovies.length;i++){
			if(!myMoviesString){
				var myMoviesString = myMovies[i];
			} else {
				myMoviesString += myMovies[i];
			}
			if(myMovies[i+1]) {
				myMoviesString += ",";
			}
		}
		GM_setValue("Movies", myMoviesString);
	}
	if(tv){
		tvRaw = tv.innerHTML.split('&nbsp;');
		myTv = new Array(Math.round(tvRaw.length/2));
		n = 0;
		for(i=0;i<tvRaw.length;i++){
			if(i%2==1){
			  myTv[n] = tvRaw[i].replace(/(<([^>]+)>)/ig,'');
			  n++;
			}
		}
		if(!myTv[myTv.length]){
			myTv.length--;
		}
		for(i=0;i<myTv.length;i++){
			if(!myTvString){
				var myTvString = myTv[i];
			} else {
				myTvString += myTv[i];
			}
			if(myTv[i+1]) {
				myTvString += ",";
			}
		}
		GM_setValue("Tv", myTvString);
	}
}

function compareLikes(){
	if(likes){
		var masterLikes = GM_getValue("Likes", "").split(",");
		var likesNodes = likes.childNodes.item(0).childNodes;
		for(i=0;i<likesNodes.length;i++){
			if(likesNodes.item(i).nodeName=="A"){
				for(n=0;n<masterLikes.length;n++){
					if(likesNodes.item(i).text==masterLikes[n]){
						likesNodes.item(i).style.textDecoration = "underline";
					}
				}
			}
		}
	}
	if(music){
		var masterMusic = GM_getValue("Music", "").split(",");
		var musicParentNodes = music.childNodes.item(0).firstChild.firstChild.firstChild.childNodes;
		for(x=0;x<musicParentNodes.length;x++){
			var musicNodes = musicParentNodes.item(x).childNodes;
			for(i=0;i<musicNodes.length;i++){
				if(musicNodes.item(i).nodeName=="A"){
					for(n=0;n<masterMusic.length;n++){
						if(musicNodes.item(i).text==masterMusic[n]){
							musicNodes.item(i).style.textDecoration = "underline";
						}
					}
				}
			}
		}
	}
	if(books){
		var masterBooks = GM_getValue("Books", "").split(",");
		var booksParentNodes = books.childNodes.item(0).firstChild.firstChild.firstChild.childNodes;
		for(x=0;x<booksParentNodes.length;x++){
			var booksNodes = booksParentNodes.item(x).childNodes;
			for(i=0;i<booksNodes.length;i++){
				if(booksNodes.item(i).nodeName=="A"){
					for(n=0;n<masterBooks.length;n++){
						if(booksNodes.item(i).text==masterBooks[n]){
							booksNodes.item(i).style.textDecoration = "underline";
						}
					}
				}
			}
		}
	}
	if(movies){
		var masterMovies = GM_getValue("Movies", "").split(",");
		var moviesParentNodes = movies.childNodes.item(0).firstChild.firstChild.firstChild.childNodes;
		for(x=0;x<moviesParentNodes.length;x++){
			var moviesNodes = moviesParentNodes.item(x).childNodes;
			for(i=0;i<moviesNodes.length;i++){
				if(moviesNodes.item(i).nodeName=="A"){
					for(n=0;n<masterMovies.length;n++){
						if(moviesNodes.item(i).text==masterMovies[n]){
							moviesNodes.item(i).style.textDecoration = "underline";
						}
					}
				}
			}
		}
	}
	if(tv){
		var masterTv = GM_getValue("Tv", "").split(",");
		var tvParentNodes = tv.childNodes.item(0).firstChild.firstChild.firstChild.childNodes;
		for(x=0;x<tvParentNodes.length;x++){
			var tvNodes = tvParentNodes.item(x).childNodes;
			for(i=0;i<tvNodes.length;i++){
				if(tvNodes.item(i).nodeName=="A"){
					for(n=0;n<masterTv.length;n++){
						if(tvNodes.item(i).text==masterTv[n]){
							tvNodes.item(i).style.textDecoration = "underline";
						}
					}
				}
			}
		}
	}
}