// Max's Amazing MooTools Javascript Thing That Improves Zone42.ca
// Optimized.

// Stores the incoming JSON. (Dirty). 
var stored_twitter;
function store(x) {
	stored_twitter = x;
}

// Compensating for Twitter's Stupidity
function twitterCallback(C){var A=[];for(var D=0;D<C.length;D++){var E=C[D].user.screen_name;var B=C[D].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,function(F){return'<a href="'+F+'">'+F+"</a>"}).replace(/\B@([_a-z0-9]+)/ig,function(F){return F.charAt(0)+'<a href="http://www.twitter.com/'+F.substring(1)+'">'+F.substring(1)+"</a>"});A.push("<li><span>"+B+'</span> <a style="font-size:85%" href="http://twitter.com/'+E+"/statuses/"+C[D].id+'">'+relative_time(C[D].created_at)+"</a></li>")}document.getElementById("twitter_update_list").innerHTML=A.join("")}function relative_time(C){var B=C.split(" ");C=B[1]+" "+B[2]+", "+B[5]+" "+B[3];var A=Date.parse(C);var D=(arguments.length>1)?arguments[1]:new Date();var E=parseInt((D.getTime()-A)/1000);E=E+(D.getTimezoneOffset()*60);if(E<60){return"less than a minute ago"}else{if(E<120){return"about a minute ago"}else{if(E<(60*60)){return(parseInt(E/60)).toString()+" minutes ago"}else{if(E<(120*60)){return"about an hour ago"}else{if(E<(24*60*60)){return"about "+(parseInt(E/3600)).toString()+" hours ago"}else{if(E<(48*60*60)){return"1 day ago"}else{return(parseInt(E/86400)).toString()+" days ago"}}}}}}};

// Main hook. 
window.addEvent('domready', function() {
	
	// Render Twitter Data. 
	if(stored_twitter && ($('twitter_update_list') != null)) twitterCallback(stored_twitter);

	// ---- Login Slider ---- //
	var slider = new Fx.Slide('login-header', {duration: 200});
	slider.hide();
	
	var base = 100;
	var sliderhelper = new Fx.Tween('content', {property: 'padding-top', duration: 200});
	sliderhelper.set(base);
	var headerslideheight = new Fx.Tween('header', {property: 'height', duration: 200});
	headerslideheight.set(110);
	var slideroff = true; 
	
	$('toggler').addEvent('click', function(){
    	slider.toggle();
		if(slideroff) {
			slideroff = false;
			headerslideheight.start(110 + 25);
			sliderhelper.start(base + 25);
		} else {
			slideroff = true;
			headerslideheight.start(110);
			sliderhelper.start(100);
		}
	});
	
	// ---- Menu Fading ---- //
	var opacity = 0.50; 
    $('menu').getElements('li').each(function(e) {   
         e.set('opacity', opacity);
    }); 
	
    $('menu').getElements('li').addEvents({
		'mouseenter': function(){
			if(!this.fxo) {
			 	this.fxo = new Fx.Tween(this, {property: 'opacity', wait: false, duration: 150,transition: Fx.Transitions.Quad.easeIn});
			}
			this.fxo.start(opacity, 1.00); 
    	},
    	'mouseleave': function(){
        	this.fxo.start(1.00, opacity);
    	}
	});
	
	
});

window.addEvent('load', function() {
	// Focuses on the command line box under the logo. 
    //$('command').focus(); 
	SyntaxHighlighter.all();

});
