id = {
	init: function(){
		if( $("#twitter").length > 0 ){
			id.getTweets();
		}
		
		id.playerLink();
		id.externaliseLinks("indigodown.com");
	},
	
	playerLink: function(){
		$("a#playerLink").click(function(e){
			e.preventDefault();
			window.open("/player.php", "playerWindow", "width=240,height=200");
		});
	},
	
	externaliseLinks: function(thisDomain){
		if(thisDomain){
			jQuery("a[href^='http']:not(a[href*="+thisDomain+"])").addClass("extLink").attr("rel","external");
		} else {
			jQuery("a[href^='http']").addClass("extLink").attr("rel","external");
		}
	
		jQuery("a[rel*='external']").addClass("extLink");
		
		jQuery("a.extLink").unbind("click").click(function(){
			window.open(this.href, "_blank");
			return false;
		}).each(function(){
			jQuery(this).attr("title","Link to "+ jQuery(this).attr("href") +" will open in a new window" );
		});
	},
	
	getTweets: function(){
		$("#twitter h3").after('<div class="loading"></div>');
		
		var url = 'http://search.twitter.com/search.json?q=from%3Aindigodown&rpp=3&callback=?';
		
		$.ajax({
			type: 		"GET",
			url: 		url,
			dataType: 	"jsonp",
			success: 	function(response){
				id.writeTweets(response);
				id.externaliseLinks("indigodown.com");
			},
			error: 		function(msg){
				$("#twitter .loading").remove();
				$("#twitter h3").after("<p class='error'>Couldn't get data from Twitter. It's probably not working right now.</p>");
			}
		});
	},
	
	writeTweets: function(response){
		$("#twitter .loading").remove();
		$("#twitter h3").after('<div id="tweetwrapper"></div>');
		
		if(response.results.length > 0){
			for(var x=0; x<response.results.length; x++){
				var htmlStr = '<div class="tweet"><p class="tweetdate">'+id.fixDate(response.results[x].created_at)+'</p><p class="tweettext">'+id.checkForURLs(response.results[x].text)+'</p></div>';
				$("#tweetwrapper").append(htmlStr);
			}
			$("#tweetwrapper").append('<p class="morelink"><a href="http://www.twitter.com/indigodown">More...</a></p>');
		} else {
			$("#tweetwrapper").append('<p class="noTweets">No tweets found. The band are probably busy, drunk or both.</p>');
		}
	},
	
	checkForURLs: function(tweetText){
		var words = tweetText.split(" ");
		
		for(var x=0; x<words.length; x++){
			if( words[x].substr(0,7) == "http://" || words[x].substr(0,8) == "https://" ){
				words[x] = '<a href="'+words[x]+'">'+id.addBreaks(words[x])+'</a>';
			}
		}
		return words.join(" ");
	},
	
	addBreaks: function(word){
		var wArr = new Array;
		for(var x=0; x<word.length; x++){
			wArr[x] = word.charAt(x);
		}
		
		for(var x=9; x<wArr.length; x++){
			if(wArr[x] == "/"){
				wArr[x] += '&zwnj;';
			}
		}
		
		return wArr.join('');
	},
	
	fixDate: function(wDate){
		var nDate = new Date(wDate);
		
		return id.leadingZero(nDate.getDate()) + "-" + id.leadingZero((parseInt(nDate.getMonth(), 10)+1)) + "-" + nDate.getFullYear() + ", " + id.leadingZero(nDate.getHours()) + ":" + id.leadingZero(nDate.getMinutes());
	},
	
	leadingZero: function(num){
		if( parseInt(num, 10) < 10 ){
			num = "0" + num;
		}
		return num;
	}
}





$(function(){
	id.init();
});
