Tweezr - Tweet Squeezr

By ruiz Last update Dec 31, 2008 — Installed 116 times.
// ==UserScript==
// @name           Tweezr - Tweet Squeezr
// @namespace      martin ruiz
// @description    Automatically Squeezes tweet into less characters as you type using TweetShrink.com
// @include        http://twitter.com/*
// @include        http://*.twitter.com
// ==/UserScript==

window.addEventListener('load',function() {
const url = "http://tweetshrink.com/shrink?text=";//one wonders why
const SPACE = 32;

var status = document.getElementById('status');
var chars = document.getElementById('status-field-char-counter');

if (!status || !chars) { return; }

status.addEventListener('keyup',function(e) {
	if (e.keyCode!=SPACE) return;
	translate(status.value, function(t) {
		if (t.difference>0) {
			var re = RegExp('^'+t.original_text);
			status.value = status.value.replace(re,t.text)
			chars.textContent = 140 - status.value.length;
		}
	});
},false);

function translate(phrase,callback) {
	var rurl = url + encodeURIComponent(phrase);
	GM_xmlhttpRequest({
		method: 'GET',
		url: rurl,
		headers: {"Content-Type": "application/atom+xml"},
		data: "",
		onload: function(detail){
			if (detail.status==200 || detail.status==201){
				GM_log(detail.responseText);
				var translation = eval('('+detail.responseText+')');
				return callback(translation)
			}else{
				GM_log("error: "+detail.responseText);
				return null;
			}
		},
		onerror: function(detail){
				GM_log("error2: "+detail.responseText);
				return null;
		}
	});
}

},false);