URL Lengthener

By DivineGod Uploaded Jun 16, 2009
/*
	@author: Anders Rasmussen (divinegod@gmail.com)
	@title: URL Lengthener
	@description: Makes shortened URLs longer
	@license: MPL
*/

function lengthenURLs(doc)
{
	var replace = function(data) {
		$.each(data, function(o, n) {
			if(n) {
				$(doc.querySelectorAll("a[href='"+o+"']")).attr('href', n);
			}
		});
	};
	var arr = $.unique(
		$.map($(doc).find('a[href]'),
			function (a) {
				return $(a).attr('href');
			}
		)
	);
	var reduced = [];
	for(var i = 0; i < arr.length; i+=10){
		reduced.push(arr.slice(i, i+10));
	}
	reduced.forEach(function(e) {
		var link = e;
		$.getJSON('http://www.longurlplease.com/api/v1.1?callback=?', {'q':link}, replace);
	});
}

jetpack.tabs.onReady(lengthenURLs);
lengthenURLs(jetpack.tabs.focused.contentDocument);