//$Id: listhandling.js 4113 2010-01-14 22:42:32Z ddrake $

function loadList(listType, timeFrame) {
	var listSelector = document.getElementById('listtypeselect'+listType);
	if (listSelector != null) {
		listSelector.disabled = true;
	}
	var listContainer = document.getElementById('listcontainer'+listType);
	if (listContainer != null) {
		if (listContainer.hasChildNodes()) {
			while (listContainer.hasChildNodes()) {
				listContainer.removeChild(listContainer.firstChild);
			}
		}
	}
	
	var loadingDiv = document.createElement('div');
	var loadingImg = document.createElement('img');
	var loadingImage = document.createElement('img');
	loadingImage.src = '/images/progress.gif';
	loadingDiv.appendChild(loadingImage);
	loadingDiv.appendChild(document.createTextNode('\u00A0\u00A0Loading...'));

	listContainer.appendChild(loadingDiv);

	var postURI = '/ajaxserver/loadlistdata.php5';
	var postString = 'listtype='+listType+'&timeframe='+timeFrame;

	loadXMLDocPost(postURI, postString);
}

function showList(input, results, success) {
	var users = results[0].getElementsByTagName('users')[0].getElementsByTagName('user');
	var listType = results[0].getElementsByTagName('listtype')[0].firstChild.data;
	var usersTotal = users.length;
	var listContainer = document.getElementById('listcontainer'+listType);
	if (listContainer != null) {
		if (listContainer.hasChildNodes()) {
			while (listContainer.hasChildNodes()) {
				listContainer.removeChild(listContainer.firstChild);
			}
		}
	}

	var listSelector = document.getElementById('listtypeselect'+listType);
	if (listSelector != null) {
		listSelector.disabled = false;
	}

	if (usersTotal > 0) {
		var listContainer = document.getElementById('listcontainer'+listType);
		var list = document.createElement('ol');
		var maxScore = 0;
		for (ii = 0; ii < usersTotal; ii++) {
			var user = users[ii];
			var userScore = Number(user.getAttribute('score'));
			if (userScore > maxScore) {
				maxScore = userScore;
			}
			var graphWidth = Math.ceil((userScore / maxScore) * 300);
			var listElement = document.createElement('li');
			listElement.className = 'metered';
			var listSpan = document.createElement('span');
			var userImage = document.createElement('img');
			userImage.src = user.getAttribute('image');
			userImage.className = 'memberpic inl_icon';
			listSpan.appendChild(userImage);
			listSpan.appendChild(document.createTextNode('\u00A0'));
			var userLink = document.createElement('a');
			userLink.href = '/profile/'+user.getAttribute('nickname');
			userLink.appendChild(document.createTextNode(user.getAttribute('nickname')));
			listSpan.appendChild(userLink);
			listSpan.appendChild(document.createTextNode(' ('+userScore+')'));
			listElement.appendChild(listSpan);
			var listDiv = document.createElement('div');
			listDiv.className = 'meter';
			listDiv.appendChild(document.createTextNode('\u00A0'));
			listDiv.style.width = graphWidth+'px';
			listElement.appendChild(listDiv);
			list.appendChild(listElement);
		}
		listContainer.appendChild(list);
	} else {
		listContainer.appendChild(document.createTextNode('There is no one to report for this list with the given time frame.'));
	}
}

