var mwimesis = {
	'script': null,
	'term' : null,
	'text' : null,
	'init' : function() {
		this.cjsonp('http://search.twitter.com/trends/weekly.json?callback=mwimesis.cb_trend');
		reshuffle.fade_enabled = true;
	},
	'xnew' : function() {
		this.cjsonp('http://search.twitter.com/search.json?callback=mwimesis.cb_search&lang=en&rpp=25&page=1&q=' + encodeURIComponent(this.term));
	},
	'cb_trend': function(r) {
		if (!r || !r.trends || !r.trends) return;
		for (var k in r.trends) if (r.trends.hasOwnProperty(k)) {
			var a = r.trends[k];
			var n = Math.floor(Math.random() * a.length);
			this.term = a[n].name;
			var termel = document.getElementById('mwimterm');
			termel.innerHTML += '/' + this.term;
			this.xnew();
			break;
		}
	},
	'cb_search': function(r) {
		if (!r || !r.results || !r.results.length) return;
		var n = Math.floor(Math.random() * r.results.length);
		var isnew = false;
		if (r.results[n].text != this.text) {
			reshuffle.apply('mwimtxt', r.results[n].text);
			this.text = r.results[n].text;
			isnew = true;
		}
		setTimeout(function() { mwimesis.xnew(); }, isnew ? 5000 : 1000);
	},
	'cjsonp' : function(url) {
		var s = document.createElement('script');
		s.type = 'text/javascript';
		s.src = url;
		var h = document.getElementsByTagName('head')[0];
		if (!this.script) h.appendChild(s);
		else              h.replaceChild(s, this.script);
		this.script = s;
	}
}
