// data Wall 

jQuery.data_creator.player_wall = function (jElement, options) {
	this.jElement = jElement ;
	this.options = jQuery.extend({}, jQuery.data_creator.player_wall.settings, options) ;
	if (this.options.name == '') {
		this.options.name = 'player_wall#' + Math.random() ;	
	}
	this.target_id = this.options.my_id ; 
	jQuery.data_creator.player_wall.stack[this.options.name]=this ;
}

jQuery.data_creator.player_wall.prototype.submit_entry = function(id_writer) {
	var _text = $.trim($('#'+this.options.data_id+' #form_player_wall_entry').val()) ;
	if (_text != '') {
		var self = this ;
		$.post(this.options.data_dir+'player/player_wall/submit.php', {target_id:this.target_id, writer_id:this.options.my_id, text:_text}, 
			function(data) {
				if (data.getElementsByTagName('error')[0].childNodes.length > 0) {
					$.data_creator.error(self.options.data_id+'.submit_entry() : '+data.getElementsByTagName('error').childNodes[0].nodeValue) ;  
				}
				else {
					var api = self.options.scroll ;
					var writer = data.getElementsByTagName('entry')[0] ;
					var avatar = (writer.getAttribute('avatar')=='') ? self.options.theme_path+'Images/avatar_default.jpg' : writer.getAttribute('avatar') ;
					$('<table class="entry"><tr><td rowspan="2"><a href="#show_id='+self.options.my_id+'" title=""><img width="'+self.options.image_size.width+'" height="'+self.options.image_size.height+'" src="'+avatar+'" alt="avatar" /></a></td><td><b>'+writer.getAttribute('pseudo')+'</b></td></tr><tr><td>'+_text+'</td></tr></table>')
						.hide()
						.prependTo(api.getItemWrap())
						.show('blind', {}, 500, function() {
							api.reload() ;
						}) ;
					
				}
		});
	}
	return this ;
}

jQuery.data_creator.player_wall.prototype.reload = function() {
	this.load_info(this.options.id) ;
}

jQuery.data_creator.player_wall.prototype.load_info = function(_id) {
	if (_id != this.options.my_id) {
		this.jElement.portlet('disable_button', 'customize') ;	
	} else {
		this.jElement.portlet('enable_button', 'customize') ;	
	}
	this.target_id = _id ;
	this.options.id = _id ;
	self = this ;
	
	self.options.scroll.getItemWrap().state({name:'refresh'}) ;
	
	$.post('PHPtools/fetch_info.php', {id: _id, player_wall:''}, function(data) {
		try {
			var entries = data.getElementsByTagName('wall')[0].getElementsByTagName('wall_entry') ;
			var text = '' ;
			for (i = 0 ; i < entries.length ; i++) {
				writer = entries[i].getElementsByTagName('writer')[0] ;
				var avatar = (writer.getAttribute('avatar')=='') ? self.options.theme_path+'Images/avatar_default.jpg' : writer.getAttribute('avatar') ;
				text += '<table><tr><td rowspan="2"><a href="#show_id='+writer.getAttribute('id')+'" title="'+writer.childNodes[0].nodeValue+'"><img width="'+self.options.image_size.width+'" height="'+self.options.image_size.height+'" src="'+avatar+'" alt="avatar" /></a></td><td><b>'+writer.childNodes[0].nodeValue+'</b></td></tr><tr><td>'+entries[i].getElementsByTagName('text')[0].childNodes[0].nodeValue+'</td></tr></table>' ;
			}
			var api = self.options.scroll ;
			if (api != null) {
				api.getItemWrap().html(text) ;
				api.reload() ;
				self.jElement.find('.data_wall_content div p a').click(function() {eval(self.options.friend_link_script) ;}) ;
			}
		}
		catch(e) {
			jQuery.data_creator.error(self.options.name+' has thrown : '+e) ;	
		}
	}) ;
}

jQuery.data_creator.player_wall.settings = {
	id:0,
	my_id:0,
	my_info:false,
	w_index:-1	,
	name: '',
	friend_link_script: '',
	data_dir: '',
	scroll:null,
	data_id: '',
	image_size: {width:40, height:40}
}

jQuery.data_creator.player_wall.stack = {} ;
