var membersNextCursor = 0;
var membersPreviousCursor = 0;

function init()
{
	// add preloaders
	$(".widgetContainer").not("#tagTweets").append("<img src=\"images/ajax-loader.gif\" width=\"32\" height=\"32\" border=\"0\"/>");

    // load @hardloopteam followers
	getFollowers(-1);
	getNumFollowers();
    // initialize scrollable  
    $("div.scrollable").scrollable({ 
        vertical:true,  
        size: 9,
        onBeforeSeek:function(event,i){
        	if (i%72 == 0)
        	{
        		getFollowers(membersNextCursor);	
        	}
        } 
    }) 	
	
	// load blog
	$.ajax({
		type: "GET",
		url: "wp/?page_id=2",
		dataType:"html",
		cache:false,
		success: function(data){
			$("#overHardloopteam").empty();
			$("#overHardloopteam").append(data);
			$("#overHardloopteam .postContainer").jScrollPane();			
		}
	});
	
	$.ajax({
		type: "GET",
		url: "wp/?page_id=11",
		dataType:"html",
		cache:false,
		success: function(data){
			$("#wensLijst").empty();
			$("#wensLijst").append(data);
			$("#wensLijst .postContainer").jScrollPane();			
		}
	});	
	
	$.ajax({
		type: "GET",
		url: "wp/?page_id=14",
		dataType:"html",
		cache:false,
		success: function(data){
			$("#links").empty();
			$("#links").append(data);
			$("#links .postContainer").jScrollPane();			
		}
	});		
	
	// load #hardloopteam tweets	
	$.ajax({
		type:"GET",
		url:"http://search.twitter.com/search.json?q=hardloopteam&callback=?&rpp=20",
		dataType:"json",
        success:function(data){
          	$("#tweetContainer img").remove();
			$.each(data.results,function(i){
				var author = this.from_user;
				var published = this.created_at.replace(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}).*$/g,"$3.$2.$1 om $4:$5");
				var tweet = $("<div class=\"tweet\"><div class=\"tweetMeta\">Door: "+author+"</div><div class=\"tweetContent\">"+this.text+"</div></div>");
				$("#tweetContainer").append(tweet);
			});
        }
	});

	// load event and their subscriptions
	$.ajax({
		type: "GET",
		url: "getEvents.php",
		dataType:"json",
		cache:false,
		success: function(data){
          	$("#eventContainer img").remove();
          	$.each(data,function(){
          		var fdate = (this.date).replace(/([0-9]{4})-([0-9]{2})-([0-9]{2})/,"$3.$2.$1");
				var event = $("<div class=\"event\"><div class=\"eventTitle\"><a href=\""+this.url+"\" target=\"_blank\" title=\""+this.name+"\">"+this.name+"</a></div>Datum:"+fdate+"<br/>Aanmelden door tweet:<br/><a href=\"http://twitter.com/home/?status="+escape("ik meld me aan bij @hardloopteam voor #"+this.hashTag+" #eventON")+"\" target=\"_blank\">@hardloopteam #"+this.hashTag+" #eventON</a><br/><br/>Deelnemers: </div>");
				$.each(this.users,function(){
					$(event).append("<a href=\"http://www.twitter.com/"+this.username+"\">@"+this.username+"</a> ");
				});	
				$("#eventContainer").append(event);			
          	});
		}
	});

	// load all tags
	$.ajax({
		type: "GET",
		url: "getTags.php",
		dataType:"json",
		cache:false,
		success: function(data){
          	$.each(data,function(){
          		$("#tagSelector").append("<option value=\""+this.id+"\">#"+this.name+"</option>");			
          	});
		}
	});
	
	// load all followers
	$.ajax({
		type: "GET",
		url: "getFollowers.php",
		dataType:"json",
		cache:false,
		success: function(data){
          	$.each(data,function(){
          		$("#userSelector").append("<option value=\""+this.id+"\">"+this.screenName+"</option>");			
          	});
		}
	});	
	
	$("#userSelector, #tagSelector").change(function(event){
		getTagTweets($("#tagSelector").val(),$("#userSelector").val());
	});
	
	$.ajax({
		type: "GET",
		url: "processMentions.php",
		dataType:"text",
		cache:false
	});		
	
	$.ajax({
		type: "GET",
		url: "processFollowers.php",
		dataType:"text",
		cache:false
	});				
}

function getTagTweets(tagID,userID)
{
	var url = "getTagTweets.php?tagID="+tagID+"";
	if (userID > 0)
		url += "&userID="+userID;
	
	$.ajax({
		type: "GET",
		url: url,
		dataType:"json",
		cache:false,
		success: function(data){
			$("#tagTweetContainer").empty();
			$.each(data,function(){
				var tweet = $("<div class=\"tweet\"><div class=\"tweetMeta\">Door: "+this.screenName+"</div><div class=\"tweetContent\">"+this.text+"</div></div>");
				$("#tagTweetContainer").append(tweet);
			});
		}
	});		
}

function getFollowers(cursor)
{
	$.ajax({
		type: "GET",
		url: "http://twitter.com/statuses/followers/93647954.json?callback=?&cursor="+cursor,
		dataType:"json",
		cache:false,
		success: function(data){
			membersNextCursor = data.next_cursor;
			membersPreviousCursor = data.previous_cursor;
			
			if (cursor == -1)
				var container = $("#membersContainer img").remove();
			$.each(data.users,function(i){
				container = $("#membersContainer .scrollable .items");
				var member = $("<div class=\"memberContainer\"><a href=\"http://www.twitter.com/"+this.screen_name+"\" title=\""+this.screen_name+"\"><img src=\""+this.profile_image_url+"\" width=\"57\" height=\"57\" title=\""+this.description+"\"></a><div class=\"memberName\">"+this.screen_name+"</div></div>");
				$(container).append(member);
			});
			
			$(".memberContainer img").tooltip('#memberTip'); 							
			//$("#numFollowers").html("Aantal hardloopteam leden: "+data.length+"");
		}
	});	
}

function getNumFollowers()
{
	$.ajax({
		type: "GET",
		url: "http://twitter.com/followers/ids.json?user_id=93647954&callback=?",
		dataType:"json",
		cache:false,
		success: function(data){			
			$("#numFollowers").html("Aantal hardloopteam leden: "+data.length+"");
			$("#membersContainer .widgetContainerTitle").html(""+data.length+" Hardloopteam leden");
		}
	});	
}