// JavaScript Document

if (typeof jQuery.data_creator.teams == 'undefined') {jQuery.data_creator.teams = {}} ;

jQuery.data_creator.teams.accept_new_member = function(jElement, options) {
	this.jElement = jElement ;
	this.options = jQuery.extend({}, jQuery.data_creator.teams.accept_new_member.settings, options) ;
	this.page = 0 ;
	this.see_request_profile_handlers = new Array() ;
	
	if (this.options.name == '') {
		this.options.name = 'teams-accept_new_member#' + Math.random() ;	
	}
	jQuery.data_creator.teams.accept_new_member.stack[this.options.name]=this ;
	
	// init
	this.jElement.find("div.scrollable").scrollable({
		size: 2,
		items: '.thumbs',  
		hoverClass: 'hover',
		activeClass: 'ui-state-highlight',
	});	
	self = this ;
	this.jElement.find('.clickable').clickable() ;
	this.jElement.find('.see_request_profile').clickable().click(function() {
		var id = $(this).attr('member') ;
		if (typeof id == 'number') {
			for (x in self.see_request_profile_handlers) {
				self.see_request_profile_handlers[x].call(self, id) ;
			}
		}
	}) ;
	this.jElement.find('.accept_request').clickable().click(function() {
		var id = parseInt($(this).attr('member')) ;
		if (typeof id == 'number') {
			$.ajax({
				type:'POST',
				url:self.options.data_dir+'teams/accept_new_member/accept.php',
				data:{request_id:id, team_id:self.options.team_id },
				success:function(data) {
					if (data == '') {
						DCMS.teams.members.teams_members.data.teams_members('add', {
							member_id:id												
						}) ;
						self.remove(id) ;
						$.alert({text:'Ce membre fait d&eacute;sormais partie de la team', title:'Succ&egrave;s'}) ;
					} else {
						$.alert({text:'Erreur', title:'&Eacute;chec'}) ;
						$.data_creator.error('accept_new_member-accept-'+data) ;
					}
				}
			}) ;
		}
	}) ;
	this.jElement.find('.scrollable .thumbs div').click(self.thumb_click_callback) ;
}

jQuery.data_creator.teams.accept_new_member.prototype.thumb_click_callback = function() {
	self.jElement.find('.see_request_profile').attr('member', $(this).attr('member')).removeClass('ui-state-disabled') ;
	self.jElement.find('.accept_request').attr('member', $(this).attr('member')).removeClass('ui-state-disabled') ;
}

jQuery.data_creator.teams.accept_new_member.prototype.add_see_request_profile_handler = function(func) {
	this.see_request_profile_handlers.push(func) ;
}

jQuery.data_creator.teams.accept_new_member.prototype.add = function(_data) {
	var data = jQuery.extend({}, jQuery.data_creator.teams.accept_new_member.thumb_data, _data) ;
    var api = this.jElement.find("div.scrollable").scrollable(); 
    
	(new_thumb = $('<div></div>'))
		.attr('member', data.id)
		.addClass('ui-widget-content')
		.click(this.thumb_click_callback),
	
	(thumb_img = $('<img />'))
		.attr('src', data.icon)
		.attr('height', 60)
		.attr('width', 60)
		.appendTo(new_thumb),
		
	(thumb_pseudo = $('<p></p>'))
		.text(data.name)
		.appendTo(new_thumb),
	
	api.getItemWrap().append(new_thumb); 
 
    api.reload() ; 
	return this ;
}

jQuery.data_creator.teams.accept_new_member.prototype.remove = function(_id) {
    var api = this.jElement.find("div.scrollable").scrollable(); 
     
    api.getItems().filter('div[member='+_id+']').hide('blind', {direction:'horizontal'}, function() {
		 api.reload(); 																						  
	}); 
}

jQuery.data_creator.teams.accept_new_member.stack = {} ;

jQuery.data_creator.teams.accept_new_member.thumb_data = {
	name:'default',
	icon:'Themes/Default/Images/avatar_default.jpg',
	id:0
} ;

jQuery.data_creator.teams.accept_new_member.settings = {
	w_index: -1,
	name: '',
	data_dir:'',
	team_id:0
} 