var mutex = false;
var slideWidth = 300;
		
function nextBottle() {
	
	if(mutex) { return false; }
	mutex = true;
	
	var el = $('sauce_inner');
	var w = el.getWidth();
	var l = parseInt(el.getStyle("left"));
	if(isNaN(l)) { l = 0; }
	
	if(l == -(w - slideWidth)) {
		
		var bottle = el.getElementsByClassName("sauce")[0];
		el.removeChild(bottle);
		el.setStyle({left: (l + slideWidth) + "px"});
		el.appendChild(bottle);
	}
	
	doMove(-slideWidth);
	
	return false;
}
 
function prevBottle() {
	
	if(mutex) { return false; }
	mutex = true;
	
	var el = $('sauce_inner');
	var w = el.getWidth();
	var l = parseInt(el.getStyle("left"));
	if(isNaN(l)) { l = 0; }
	
	if(l == 0) {
		
		var bottles = el.getElementsByClassName("sauce");
		var bottle = bottles[bottles.length - 1];
		
		el.removeChild(bottle);
		el.insertBefore(bottle, el.firstChild);
		el.setStyle({left: "-" + slideWidth + "px"});
		
	}
	
	doMove(slideWidth);
	
	return false;
}
 
function doMove(amt) {
	new Effect.Move(
		'sauce_inner', 
		{ 
			x: amt, 
			y: 0, 
			mode: 'relative', 
			duration: 0.7,
			afterFinish: function() { mutex = false; },
			transition: Effect.Transitions.spring
		}
	);
}

function doCallback(json) {
	var myDiv = document.getElementById("myDiv");
	for(var i=0; i<json.length; i++) {
		var child = document.createElement("div");
		var img = json[i]['user']['profile_image_url'];
		child.innerHTML = '<img src="' + img + '" alt="" /><div>' + linkify(json[i]['text']) + '</div>';
		myDiv.appendChild(child);
	}
}
 
function linkify(tweet) {
	var result = tweet;
	result = result.replace(/([a-z]+:\/\/[^\s\)]+)/gi, '<a href="$1">$1</a>');
	result = result.replace(/(#[^\s]+)/g, '<a href="http://twitter.com/search?q=$1">$1</a>');
	result = result.replace(/@([^\s]+)/g, '<a href="http://twitter.com/$1">@$1</a>');
	return result;
}

