// data player preference

jQuery.data_creator.player_preferences = function (jElement, options) {
	this.jElement = jElement ;
	this.options = jQuery.extend({}, jQuery.data_creator.player_preferences.settings, options) ;
	if (this.options.name == '') {
		this.options.name = 'player_preferences#' + Math.random() ;	
	}
	jQuery.data_creator.player_preferences.stack[this.options.name]=this ;
	
	this.init() ;
}

jQuery.data_creator.player_preferences.prototype.init = function() {
	this.jElement.find('a').clickable() ;
}

jQuery.data_creator.player_preferences.prototype.load_info = function(_id) {
	if (_id != this.options.my_id) {
		this.jElement.portlet('disable_button', 'customize') ;	
	} else {
		this.jElement.portlet('enable_button', 'customize') ;	
	}
	var self = this ;
	
	self.jElement.find('.player_platforms_content').state({name:'refresh'}) ;
	self.jElement.find('.player_types_content').state({name:'refresh'}) ;
	
	$.ajax({
		   type: 'POST',
		   url:'PHPtools/fetch_info.php',
		   data: {id: _id, player_game_types:'', player_console:''},
		   success:function(data) {	
				try {
					var text = '' ;
					var platforms = data.getElementsByTagName('platform') ;
					for (i = 0 ; i < platforms.length ; i++) {
						text += '<span platform_id="'+platforms[i].getAttribute('id')+'">'+platforms[i].childNodes[0].nodeValue+'</span>' ;
		
					}
					self.jElement.find('.player_platforms_content').html(text) ;
					self.jElement.find('.player_platforms_content span').clickable().click(function() {
						$.addHash({platform_id:$(this).attr('platform_id')}) ;
						var keys = jQuery.hashURL() ;
						PLAYER_PREFERENCES[self.options.name].platforms.dialog.ajaxDialog('load', {
							person_id: _id,
							platform_id: keys.platform_id
						}).ajaxDialog('open') ;
					}) ;
					
					text = '' ;
					var types = data.getElementsByTagName('gametype') ;
					for (i = 0 ; i < types.length ; i++) {
						text += '<a href="#type_id='+types[i].getAttribute('id')+'">'+types[i].childNodes[0].nodeValue+'</a>' ;
					}
					self.jElement.find('.player_types_content').html(text) ;
					self.jElement.find('.player_types_content a').clickable() ;
				}
				catch(e) {
					jQuery.data_creator.error(self.options.name+' has thrown : '+e.description) ;	
				}
			},
			error:function(xhr) {
				$.data.error(xhr.responseText) ;	
			}
	}) ;
}

jQuery.data_creator.player_preferences.settings = {
	my_info:false,
	w_index:-1,
	name: '',
	dialog_name:''
}

jQuery.data_creator.player_preferences.stack = {} ;