var groups = new Array();
var val2label = new Array();
var defaultOption;
var currentServerList;

function swapServerList(game, server, payment) {
	var paymentList = document.getElementById('payment_list');
	if (paymentList) {
		var options = paymentList.getElementsByTagName('OPTION');
		var i;
		if (!payment == '' && !payment) {
			payment = '0';
		}
		for (i in options) {
			if (options[i].value == payment) {
				options[i].selected = true;
				break;
			}
		}
	}

	var gameList = document.getElementById('game_list');
	if (!gameList) return;
	var options = gameList.getElementsByTagName('OPTION');

	if (!val2label.length) {
		var i;
		for (i in options) {
			if (options[i].value) {
				val2label[options[i].value] = options[i].firstChild.nodeValue;
			}
		}
	}

	if (!currentServerList) {
		currentServerList = document.getElementById('server_list');
		var nodes = currentServerList.childNodes;

		var i;
		for (i in nodes) {
			switch (nodes[i].tagName) {
				case 'OPTION':
					defaultOption = nodes[i];
					break;
				case 'OPTGROUP':
					groups[nodes[i].label] = nodes[i];
					break;
			}
		}

		for (i in options) {
			if (options[i].value == game) {
				options[i].selected = true;
				break;
			}
		}
	}

	var oldList = currentServerList;
	var newList = document.createElement('SELECT');
	newList.name = 'server';
	newList.appendChild(defaultOption);
	
	if (game && groups[val2label[game]]) {
		var newServers = groups[val2label[game]];
		newList.appendChild(newServers);

		if (server) {
			var i;
			var options = newServers.getElementsByTagName('OPTION');
			for (i in options) {
				if (options[i].value == server) {
					options[i].selected = true;
					break;
				}
			}
		}
	}
	currentServerList = newList;
	oldList.parentNode.replaceChild(newList, oldList);
}

function toggleCheckbox(button) {
	var table = document.getElementById('settles');
	var input = table.getElementsByTagName('INPUT');

	for (var i = 0; i < input.length; i++) { 
		if (input[i].tagName == 'INPUT') {
			if (button.value == 'Check All') {
				input[i].checked = true;
			}
			else {
				input[i].checked = false;
			}
		}
	}

	button.value = (button.value == 'Check All') ? 'UnCheck All' : 'Check All';
}


