$j = jQuery.noConflict();
$j(document).ready(function(){
	if(!isFontFaceSupported()){	$j('link[href="font/stylesheet.css"]')	}
	addData('http://twitter.com/statuses/user_timeline/freekrai.json?callback=' + 'showtweets&count=1');
	$j("#twitter .twit_text a").text("[link]");
	$j('.s').each(function(){
		if($j(this).val()){
			$label = $j(this).parent('fieldset').find('label');
			$label.fadeOut('fast');
		}
	});
	$j('.search-form label').click(function(e){
		$j(this).parent('fieldset').find('.s').focus();
	});
	$j('.s').focus(function(e){
		$label = $j(this).parent('fieldset').find('label');
		if($j(this).val() == ""){
			$label.fadeOut('fast');
		}
	});
	$j('.s').blur(function(e){
		$label = $j(this).parent('fieldset').find('label');
		if($j(this).val() == "") $label.fadeIn('fast');
	});
	$j('#nav li ul.children').parent('li').addClass('hasChildren').mouseover(function(e){
		$j(this).addClass('hasChildrenHasHover');
	});
	$j('#nav li ul.children').parent('li').mouseout(function(e){
		$j(this).removeClass('hasChildrenHasHover');
	});
	$j("#nav li").mouseover(function(e){
		$j(this).addClass('sfhover');
	});
	$j("#nav li").mouseout(function(e){
		$j(this).removeClass('sfhover');
	});
});

String.prototype.linkify = function() {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g, function(m) {
		return '<a href="' + m + '">[link]</a>';
	}).replace(/@[\S]+/g, function(m) {
		return '<a href="http://twitter.com/' + m.substr(1) + '">' + m + '</a>';
	});
}


function addData(url){
	var script = document.createElement('script');
	script.src = url;
	script.type = 'text/javascript';
	document.getElementsByTagName('head')[0].appendChild(script);
}

function showtweets(data){
	var list = $j('<ul class="tweet_list" style="list-style:none;">').appendTo("#twitter .twit_text");
	$j.each(data, function(index, item){
		list.append('<li>' + item.text.linkify() + ' <em>' + relative_time(item.created_at) + '</em></li>');
	});
//	list.append('</ul>');
	list.children('li:first').addClass('tweet_first');
	list.children('li:odd').addClass('tweet_even');
	list.children('li:even').addClass('tweet_odd');
	$j('#twitter .twit_text')
}

function relative_time(time_value) {
	var values = time_value.split(" ");
	time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	var parsed_date = Date.parse(time_value);
	var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	delta = delta + (relative_to.getTimezoneOffset() * 60);
	if (delta < 60) {
		return 'less than a minute ago';
	} else if(delta < 120) {
		return 'about a minute ago';
	} else if(delta < (60*60)) {
		return (parseInt(delta / 60)).toString() + ' minutes ago';
	} else if(delta < (120*60)) {
		return 'about an hour ago';
	} else if(delta < (24*60*60)) {
		return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
	} else if(delta < (48*60*60)) {
		return '1 day ago';
	} else {
		return (parseInt(delta / 86400)).toString() + ' days ago';
	}
}
