TGP Direct Linker

By Findlay Guy Last update May 1, 2006 — Installed 2,593 times.
// ==UserScript==
// @name          TGP Direct Linker
// @description	  Bypasses bounces for TGP links, and always takes you direct to the destination.
// @include       http://*
// ==/UserScript==

var allHrefs, thisHref;
var numHtmls = 0;
allHrefs = document.getElementsByTagName('a');

var regexp, ar;
for (var i = 0; i < allHrefs.length; i++) {
    thisHref = allHrefs[i];
    var url = thisHref.href;

    regexp = /url=([^&>"']+)/i;
    ar = regexp.exec(url);
    if( ar ) {
	thisHref.href = URLDecode(ar[1]);
    }

    regexp = /[?&]u=([^&>"']+)/i;
    ar = regexp.exec(url);
    if( ar ) {
	thisHref.href = URLDecode(ar[1]);
    }

}
function URLDecode(encoded)
{
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   return plaintext;
};