// data home
jQuery.data_creator.last_members = function (jElement, options) {
	this.jElement = jElement ;
	this.options = jQuery.extend({}, jQuery.data_creator.last_members.settings, options) ;
	if (this.options.name == '') {
		this.options.name = 'last_members#' + Math.random() ;	
	}
	jQuery.data_creator.last_members.stack[this.options.name]=this ;
	
	this.options.image_number = 0 ;
	this.options.next_to_remove = 0 ;
	this.options.interval_int = -1 ;
	
	this.init() ;
}

jQuery.data_creator.last_members.prototype.add = function() {
	if (this.options.image_number - this.options.next_to_remove < this.options.cols*this.options.rows) {
		last_members_me = this ;
		jQuery.post(last_members_me.options.data_path+'get_member_link.php', function(data) {
			try{
				var image_number = last_members_me.options.image_number++ ;
				var member = data.getElementsByTagName('member')[0] ;
				var avatar = (member.getElementsByTagName('avatar')[0].childNodes.length == 0) ? last_members_me.options.theme_path+'/Images/avatar_default.jpg' : member.getElementsByTagName('avatar')[0].childNodes[0].nodeValue ;
				var text = '<a href="#" title="'+member.getElementsByTagName('pseudo')[0].childNodes[0].nodeValue+'" class="link_'+image_number+'"><img src="'+avatar+'" alt="avatar" width="'+last_members_me.options.avatar_width+'" height="'+last_members_me.options.avatar_height+'"/></a>' ;
				
				last_members_me.jElement.find('.last-member-content').append(text).find('.link_'+image_number).show('slide', {direction:'left'}, 500) ;
			}
			catch(e) {
				jQuery.data_creator.error(last_members_me.options.name+' - '+last_members_me.options.data_id+' has thrown : '+e) ;	
			}
		}) ;
	}
}

jQuery.data_creator.last_members.prototype.remove = function() {
	if (this.options.image_number > this.options.next_to_remove ) {
		this.jElement.find('.last-member-content .link_'+this.options.next_to_remove++).hide('slide', {direction:'left'}, 500, function() {$(this).remove();}) ;
	}
}

jQuery.data_creator.last_members.prototype.step = function() {
	if (this.options.image_number - this.options.next_to_remove < this.options.size) {
		this.add() ;
	}
	else {
		this.remove() ;
		this.add() ;
	}
}

jQuery.data_creator.last_members.prototype.begin_animation = function() {
	var callback = $.call_method('step', this) ;
	this.options.interval_int = setInterval(callback, this.options.time_shift) ;	
}

jQuery.data_creator.last_members.prototype.stop_animation = function() {
	clearInterval(this.options.interval_int) ;
}

jQuery.data_creator.last_members.prototype.fill = function() {
	for (i = 0 ; i < this.options.rows*this.options.cols ; i++) {
		this.add() ;	
	}
}

jQuery.data_creator.last_members.prototype.init = function() {
	this.fill() ;
	this.begin_animation() ;
}

jQuery.data_creator.last_members.stack = {} ;

jQuery.data_creator.last_members.settings = {
	w_index:-1,
	name: '',
	data_id:'',
	data_path:'',
	avatar_height: 30,
	avatar_width: 30,
	rows:2,
	cols:5,
	time_shift: 5000
}