
var EventResultsManager = new Class({
	initialize: function() {
		this.table = $('results-table');
		if (!$defined(this.table)) return;

		new JSONPRequest({
			url: MonsterUser.switchUrl + '/tools/jsonapi/event-results.js',
			parameters: { id: this.table.get('mid') },
			immediate: true,
			onComplete: function(data) {
				data.items.each(function(row, index){

					var eventCol = new Element('td', {'class': 'eventcol'});
					new JSONPRequest({
						url: MonsterUser.switchUrl + '/tools/jsonapi/event-info.js',
						parameters: { id: row.eventId },
						immediate: true,
						onComplete: function(data) {
							eventCol.set('html', '<a href="'+data.url+'">'+data.title+'</a>');
						}
					});

					var athleteCol = new Element('td', {'class': 'athletecol'});
					new JSONPRequest({
						url: MonsterUser.switchUrl + '/tools/jsonapi/personality-info.js',
						parameters: { id: row.athleteId },
						immediate: true,
						onComplete: function(data) {
							athleteCol.set('html', '<a href="'+data.url+'">'+data.title+'</a>');
						}
					});

					var newRow = new Element('tr', {'class': (index%2==0)? 'even':'odd'});
					newRow.grab(eventCol);
					newRow.grab(athleteCol);
					newRow.grab(new Element('td', {'class': 'competitioncol', text: row.competition}));
					newRow.grab(new Element('td', {'class': 'datecol', text: row.date.substr(4,2) + '/' + row.date.substr(6,2) + '/' + row.date.substr(2,2)}));
					newRow.grab(new Element('td', {'class': 'resultcol', text: row.position}));

					this.table.grab(newRow);
				}.bind(this));
				if (data.items.length > 0) $$('h2.results')[0].show();
			}.bind(this)
		});
	}
});

new EventResultsManager();
