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(' ');
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(' ');
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(' ');
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(' ');
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(' ');
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";
}
}
}
}
}
}
}