// vim:ts=4:sw=4:noet

// img, title, subtitle

function topnlist_fill(id, type, apiUrl) {
	var htmlentities = function(data) {
		var div = document.createElement('div');
		var text = document.createTextNode(data);
		div.appendChild(text);
		return div.innerHTML;
	}

	// FIXME
	$('#' + id + ' .left').removeClass('selected');
	$('#' + id + ' .center').removeClass('selected');
	$('#' + id + ' .right').removeClass('selected');
	
	ajaxRequest(
		apiUrl + '?type=' + type,
		function(data) {
			var obj; 
			try { obj = eval('(' + data + ')'); }
			catch (e) { obj = "Informatie is tijdelijk niet beschikbaar."; }

			var html = '';
			if (typeof obj == 'string') {
				html += '<p>' + htmlentities(obj) + '</p>';

			} else {
				html += '<table class="' + type + '">';
				for (var i in obj) {
					h = obj[i];
					html += '<tr' + ((parseInt(i) % 2) == 0 ? ' class="alt"' : '') + '><td class="n"><span>'
							+ (parseInt(i) + 1) + '<\/span><\/td>';
					if (h['img'])
						html += '<td class="img"><img src="' + htmlentities(h['img']) + '" alt="' + htmlentities(h['title']) + '"/><\/td>';
						html += '<td class="title"><a target="_blank" href="' + h['url'] + '">' + htmlentities(h['title']);
					if (h['description'])
						html += '<span class="description">' + htmlentities(h['description']) + '</span>';
					html += '</a></td>';
					if (h['context'])
						html += '<td class="context">' + htmlentities(h['context']) + '</td>';
					html += '<\/tr>';
				}
				html += '<\/table>';
			}

			var elems = Snet.getElementsByClassName(document.getElementById(id), 'div', 'content');
			elems[0].innerHTML = html;

			// FIXME
			var tmp;
			switch (type) {
			case 'job':
			case 'photo':
			case 'rss':
				tmp = ' .left'; 
				break;
			case 'intern':
			case 'blog':
				tmp = ' .center';
				break;
			case 'room':
			case 'user':
				tmp = ' .right';
				break;
			}

			$('#' + id + tmp).addClass('selected');
			//$('#' + id + tmp).focus();
		},
		function() {
		}
	);
	return false;
}


/**
 * @param id string ID of the list
 * @param type string type of the list
 */
 /*
function createList(id, type, url_api) {
	jQuery.post(
		url_api,
		{'type':type},
		function(data, textStatus){
			if (textStatus == 'success') {
				try { var obj = eval('(' + data + ')'); }
				catch (e) { $(id+' .content').html("<div>Informatie is tijdelijk niet beschikbaar.</div>"); }
				var html = '';
				for (i = 0;(obj[i] != null);i++) {
					switch (type) {
					case 'job':
					case 'intern':
					case 'room':
						html += '<div class="'+(i%2==1?'odd':'even')+'"><div class="separator"></div><div class="iteration">'+(i+1)+'</div><div class="title"><b><a href="'+obj[i]['url']+'">'+obj[i]['title']+'</a></b></div><div class="description">'+obj[i]['description']+'</div><div class="type">'+obj[i]['type']+'</div><div class="separator"></div></div>';
						break;
					case 'blog':
					case 'photo':
					case 'user':
						html += '<div class="'+(i%2==1?'odd':'even')+'"><div class="separator"></div><div class="img"><img src="'+obj[i]['image_url']+'" alt="" /></div><div class="title"><b><a href="'+obj[i]['url']+'">'+obj[i]['title']+'</a></b></div><div class="description">'+obj[i]['description']+'</div><div class="separator"></div></div>';
						break;
					case 'rss':
						html += '<div class="'+(i%2==1?'odd':'even')+'"><div class="separator"></div><div class="iteration">'+(i+1)+'</div><div class="title"><b><a href="'+obj[i]['url']+'">'+obj[i]['title']+'</a></b></div><div class="description">'+obj[i]['description']+'</div><div class="separator"></div></div>';
						break;
					}
				}
				$(id+' .content').html(html);
				$(id+' .content a').click(function(){
					window.open(this.href);
					return false;
				});
			} else {
				$(id+' .content').html("<div>Informatie is tijdelijk niet beschikbaar.</div>");
			}
		});
	
	$(id+' .left').removeClass('selected');
	$(id+' .center').removeClass('selected');
	$(id+' .right').removeClass('selected');
	
	switch (type) {
	case 'job':
		$(id+' .left').addClass('selected');
		break;
	case 'intern':
		$(id+' .center').addClass('selected');
		break;
	case 'room':
		$(id+' .right').addClass('selected');
		break;
	case 'photo':
		$(id+' .left').addClass('selected');
		break;
	case 'blog':
		$(id+' .center').addClass('selected');
		break;
	case 'user':
		$(id+' .right').addClass('selected');
		break;
	case 'rss':
		$(id+' .left').addClass('selected');
		break;
	}
	
	return false;
}
*/
