$(document).ready(function() {
	$.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) { 
		$("#container").html('Error' + textStatus + ' ' + errorThrown);
	}});
	loadPosts();
	setupForm();
	setupTextareas();
	$('#terms_dialog').jqm();
});

function setupTextareas() {
	$('textarea[maxlength]').keyup(function(){
		var max = parseInt($(this).attr('maxlength'));
		if($(this).val().length > max){
			$(this).val($(this).val().substr(0, $(this).attr('maxlength')));
		}
		$('.charsRemaining').html('(' + (max - $(this).val().length) + ' characters remaining)');
	});
}

function setupForm() {
	jQuery(function($){
	   	$("#tt").Watermark("Your contribution...");
	});
	/*$('textarea#motivation').autoResize({
    	onResize : function() {
        	$(this).css({opacity:1});
    	},
    	animateCallback : function() {
        	$(this).css({opacity:0.3});
    	},
   	 	animateDuration : 300,
       	extraSpace : 0
	});*/
	$("input,textarea").focus(function(){
		$(this).css('background-color', '#e7f2f8');
		$(this).parent().css('background-color', '#e7f2f8');
	});
	$("input,textarea").blur(function(){
		$(this).css('background-color', '#eff6fa');
		$(this).parent().css('background-color', '#eff6fa');
	});
}

function animToSecond() {
	animTo(2, 600)
}

function animTo(state, duration) {
	if(state == 1) {
		$('#slider-holder').animate({left:'0px'},duration);
		//$('#slider-part1').animate({opacity:'100'},duration);
		//$('#slider-part2').animate({opacity:'0'},duration);
	} else if(state == 2) {
		$('#slider-holder').animate({left:'-800px'},duration);
		//$('#slider-part1').animate({opacity:'0'},duration);
		//$('#slider-part2').animate({opacity:'100'},duration);
	}
	
}

function animToFirst() {
	animTo(1, 600);
}

function loadRecentPosts() {
	$.getJSON('getStream.php?s=update&type=json&count=10&jsoncallback=entries', function(data) {
		appendPosts(data,true);
	});
}

function loadPosts() {
	$.getJSON('getStream.php?s=quick&type=json&count=10&jsoncallback=entries', function(data) {
		appendPosts(data,false);
		loadRecentPosts();
	});
}

function appendPosts(data,onTop) {
	var entries = data.entries;
	var content = "";
	$('#loading-icon').remove();	
	for (var i=0, len=entries.length; i<len; ++i){
		// Item container
		var entry = entries[i].entry;
		var item = $("<div>");
		item.attr("class", "social-item");
		item.hide();
		// User image
		var imgLink = $("<a>");
		imgLink.attr("href",entry.user_link);
		imgLink.attr("alt",entry.user);
		var img = $("<img>");
		img.attr("src", entry.img);
        img.attr("alt", entry.user);
		img.attr("width", entry.img_width);
		img.attr("height", entry.img_height);
		var typeimg = $("<img>");
		if(entry.type == "fb-status") {
			typeimg.attr("src", "data/icons/facebook_icon.gif");
		} else if(entry.type == "fb-photo") {
			typeimg.attr("src", "data/icons/fbphotos-icon.gif");
		} else if(entry.type == "tw-tweet") {
			typeimg.attr("src", "data/icons/twitter-icon.gif");
		} else if(entry.type == "tw-status") {
			typeimg.attr("src", "data/icons/twitter-icon.gif");
		} else if(entry.type == "participant" ) {
			typeimg.attr("src", "data/icons/participant3-icon.png");
		}
		typeimg.attr("style","margin-left:-49px;margin-top:	31px;");
		imgLink.append(img);
		item.append(imgLink);
		item.append(typeimg);
		//console.log("Width: " + img.attr("width"));
					
		// Text content
		var data = $("<div>");
		data.attr("class", "social-item-data");
		item.append(data);
		
		var textHolder = $("<p>");
		textHolder.attr("class","social");
		
		var userid = $("<a>");
		userid.attr("href",entry.user_link);
		userid.html(entry.user + " ");
		
		var text = $("<span>");
		text.attr("class","social-text");
		text.html(postToHtml(entry.text));
		
		var dateHolder = $("<p>");
		dateHolder.attr("class","date");
		dateHolder.html("Added " + entry.time);
		
		textHolder.append(userid);
		textHolder.append(text);
		textHolder.append(dateHolder);
		data.append(textHolder);
		$('#container').prepend(item);
		item.fadeIn(1500);
	}
}

function postToHtml(tweet) {
        //parse the tweet text into html
        var result = tweet.replace(/(https?[^\s]+)/g, "<a href=\"$1\">$1</a>");
        result = result.replace(/@(\w+)/g, "<a class=\"twitter-username\" href=\"http://twitter.com/$1\">@$1</a>");
        result = result.replace(/#(\w+)/g, " <a class=\"twitter-hash\" href=\"http://search.twitter.com/search?q=%23$1\">#$1</a>");
	return result;
}
