function bitlyDataHandler(){}bitlyDataHandler.prototype.proccess=function(a){a.statusCode=="OK"?this.onSuccess(a.results):this.onError(a.errorCode,a.errorMessage);return true};bitlyDataHandler.prototype.onSuccess=function(a){try{console.info(a)}catch(b){}};bitlyDataHandler.prototype.onError=function(a,b){try{console.error("Bitly error: "+a+"\n"+b)}catch(c){}};
jQuery.fn.bitly=function(a,b,c){c=jQuery.extend({},jQuery.fn.bitly.defaults,c);var f=new bitlyDataHandler;if(typeof b=="function")f.onSuccess=b;var g=[];this.each(function(){var e=jQuery(this),d=e.val();d||(d=e.attr("href"));g.push(d)});return jQuery.post(c.url,{action:a,url:g.join(",")},function(e){return f.proccess(e)},"json")};jQuery.fn.bitly.defaults={url:"/bitly_handler"};
jQuery.fn.shortenUrl=function(a){return this.each(function(){var b=jQuery(this);b.bitly("shorten",function(c){var f=new RegExp('http://[^( |$|\\]|")]+',"g");if(f=b.val().match(f))for(var g=0;g<f.length;g++){var e=f[g];if(typeof c[e]!="undefined"){var d=c[e].shortUrl;b.val(b.val().replace(e,d))}}typeof a=="function"&&a(c)})})};
jQuery.fn.addPreview=function(a,b){var c=jQuery.extend({},jQuery.fn.addPreview.defaults,b),f=c.xOffset,g=c.yOffset,e;jQuery(this).hover(function(){if(!$(this).attr("href"))return false;jQuery("body").append('<div id="preview"/>');var d=jQuery("#preview").css("position","absolute").append("<em>"+c.message+"</em>").fadeIn();e=jQuery(this).bitly("info",function(h){d.children().remove();a(h)})},function(){e.abort();jQuery("#preview").fadeOut().remove()}).mousemove(function(d){var h=d.pageX+f;d=d.pageY+
g;jQuery("#preview").css("top",d+"px").css("left",h+"px")})};jQuery.fn.addPreview.defaults={xOffset:10,yOffset:10,message:"Loading..."};

