var activity_data         = null;
var activity_current      = 0;
var activity_update_time  = 10000;
var activity_timer        = null;
var activity_source_url   = "http://www.funatthirty.co.za/activityfeed.dat";

$(document).ready(function() {
  loadActivityFeed(3);
});

function loadActivityFeed(number_to_show) {
  var af = $.getJSON(activity_source_url, function(data) {
    var all_activity_data = $(data);
    
    activity_data = new Array();
    var activity_data_count = 0;
    
    var za_activity_data = new Array();
    var za_activity_count = 0;
    
    var other_activity_data = new Array();
    var other_activity_count = 0;
    for (var i = 0; i < all_activity_data.length; i++)
    {
      if (all_activity_data[i]["site_country"] == "ZA")
      {
        za_activity_data[za_activity_count] = all_activity_data[i];
        za_activity_count++;
      }
      else
      {
        other_activity_data[other_activity_count] = all_activity_data[i];
        other_activity_count++;
      }
    }
    for (var i = 0; i < other_activity_data.length; i++)
    {
      activity_data[activity_data_count] = other_activity_data[i];
      activity_data_count++;
    }
    for (var i = 0; i < za_activity_data.length; i++)
    {
      activity_data[activity_data_count] = za_activity_data[i];
      activity_data_count++;
    }
    activity_current = (activity_data.length - 1);
    for(i=0; i < number_to_show; i++) { addActivityItem({compact : false, animate : false}); }
    setActivityUpdate();
  });
}

function setActivityUpdate() {
  activity_timer = setInterval('addActivityItem({compact : true, animate : true})', activity_update_time);
}

function clearActivityUpdate() {
  clearInterval(activity_timer);
  activity_data = null;
  acitity_current = 0;
}

function addActivityItem(options) {
  options = jQuery.extend({animate : true, collapse : true}, options);
  if(activity_data == null) return false;
  data = activity_data[activity_current];
  if(activity_current == -1 || data == null) {
    clearActivityUpdate();
    return false;
  } else {
    var af_holder = $('#latest_activity_feed');
    var af_item = $('<div>').attr({'class': 'activity_item'}).css({'width' : '0px'});
    var af_img = $('<img>').attr({'src': data['member_photo'], 'alt' : data['member_name']}).appendTo(af_item);
    var content_copy = "";
    content_copy += data['member_name']+", "+Number(data['member_age']);
    if (data["site_country"] == "ZA" && data['member_region'] != "")
    {
      content_copy += " from "+data['member_region'];
    }
    // switch content...
    content_copy += " "+activityTypeToText(Number(data['type_id']));
    $('<div>').html(content_copy).appendTo(af_item);
    
    // insert into view...
    af_holder.prepend(af_item);
    af_item.animate({width: '240px'}, 500);
    
    activity_current--;
    return true;
  }
}

function activityTypeToText(type_id) {
  var map = {
		1  : "became a new full member",
		2  : "updated their profile",
		3  : "uploaded a new photo",
		4  : "posted a new diary entry",
		5  : "uploaded a new video",
		8  : "updated their status",
		10 : "sent a new private message",
		12 : "sent a gift",
		14 : "winked at another member",
		15 : "added a new favourite"
	}
	return map[type_id];
}