/**
 * Ventrilo status getter - JSON
 * AJAX functions
 * @author Yuri_S
 * @author Radzio
 * @author Gothuk
 * @version 2.0
 *
 */

var vent1listdisplayed = false;
var vent2listdisplayed = false;

function queryVentrilo (id) {

	var ventlist = $('ventrilo'+id+'_list');
	var ventdisabled = $('ventrilo'+id+'_disabled');
	var ventdown = $('ventrilo'+id+'_down');
	var ventloading = $('ventrilo'+id+'_loading');

	if (id==1 & vent1listdisplayed == true) { return; }
	if (id==2 & vent2listdisplayed == true) { return; }

	ventdisabled.style.display = 'none';
	ventloading.style.display = 'block';

	jQuery.getJSON('ventrilo_status/fetcher.json.php?id='+id, function(data) {
		if (!isset(data.name)) {
			ventloading.style.display = 'none';
			ventdown.style.display = 'block';
			return;
		}

		for (var i = 0; i < data.channels.length; i++) {
			if (data.channels[i].name == 'Original War') {
				var owar = data.channels[i];
				break;
			} else if (data.channels[i].name == 'Lobby') {
				var owar = data.channels[i];
			}
		}

		if (!isset(owar)) {
			ventloading.style.display = 'none';
			ventdown.style.display = 'block';
			return;
		}

		var listheading = ventlist.getElementsByTagName('div').item(0);
		var channelname = document.createTextNode(owar.name);
		var channeluserscount = document.createTextNode('(' + owar.clients.length + '/' + (data.maxclients-data.clientcount+owar.clients.length) + ')');
		listheading.getElementsByTagName('strong').item(0).appendChild(channelname);
		listheading.getElementsByTagName('b').item(0).appendChild(channeluserscount);

		var listlist = ventlist.getElementsByTagName('ul').item(0);
		for (var i = 0; i < owar.clients.length; i++) {
			var li = document.createElement('li');
			li.appendChild(document.createTextNode(data.users[owar.clients[i]].name));
			if (data.users[owar.clients[i]].admin) {
				li.style.fontWeight='bold';
				li.style.fontStyle='italic';
			}
			listlist.appendChild(li);
		}

		var listlink = ventlist.getElementsByTagName('a').item(0);
		listlink.setAttribute('href', data.link);

		ventloading.style.display = 'none';
		ventlist.style.display = 'block';
	});


	if (id==1) vent1listdisplayed = true;
	if (id==2) vent2listdisplayed = true;

}

Breeze_onInit.add(function () { queryVentrilo('1'); });

