
function showElement(element_name) {
	var element = document.getElementById(element_name);
	var element_load = document.getElementById(element_name + '_load');
	if (element) {
		if (element.style.display == 'block') {
			element.style.display = 'none';
			if (element_load)	element_load.style.display = 'block';
		} else {
			element.style.display = 'block';
			if (element_load)	element_load.style.display = 'none';
		}
	}
}


function update_game_explanations() {
	var explanations_source = document.getElementById('explanations_return');
	if (explanations_source) {
		var disable;
		var explanations = explanations_source.innerHTML;
		explanations = explanations.split('|');
		
		if (explanations[0] == "" && explanations[1] == "") {
			explanations[0] = "Actual username, display name, character name...";
			explanations[1] = "Unique identifying code, server name, extra details...";
		}
		
		if (explanations[2] != null && explanations[2] != '') {
			document.getElementById('username_explanation').innerHTML = 'Linked to ' + explanations[2];
			document.getElementById('code_explanation').innerHTML = 'Linked to ' + explanations[2];
			disable = true;
		} else {
			document.getElementById('username_explanation').innerHTML = explanations[0];
			document.getElementById('code_explanation').innerHTML = explanations[1];
			disable = false;
		}
		
		document.getElementById('game_username').disabled = disable;
		document.getElementById('game_code').disabled = disable;
	}
}


function update_category_explanations() {
	var explanations_source = document.getElementById('explanations_return');
	if (explanations_source) {
		var disable;
		var explanations = explanations_source.innerHTML;
		
		if (explanations != null && explanations != '') {
			document.getElementById('category_explanation').innerHTML = 'Code linked to ' + explanations;
			disable = true;
		} else {
			document.getElementById('category_explanation').innerHTML = '';
			disable = false;
		}
		
		document.getElementById('form_code_format').disabled = disable;
	}
}


var nb_sources = 1;

function addSource() {
	var root = document.getElementById('sources');
	var position = document.getElementById('source_0');
	var item = position;
	
	item = item.cloneNode(true);
	item.id = 'source_' + nb_sources;
	root.appendChild(item);

	var node = YAHOO.util.Selector.query('#remove_0', 'source_' + nb_sources, true);
	node.id = 'remove_' + nb_sources;
	YAHOO.util.Event.addListener(node, "click", removeSource, nb_sources); 
	var node = YAHOO.util.Selector.query('#source_name_0', 'source_' + nb_sources, true);
	node.id = 'source_name_' + nb_sources;
	node.value = '';
	var node = YAHOO.util.Selector.query('#source_url_0', 'source_' + nb_sources, true);
	node.id = 'source_url_' + nb_sources;
	node.value = '';
	
	nb_sources++;
}

function removeSource(e, id_source) {
	//Don't remove the first item from the list
	if (id_source == 0) {
		var node = YAHOO.util.Selector.query('.source_name', 'source_' + id_source, true);
		node.value = '';
		var node = YAHOO.util.Selector.query('.source_url', 'source_' + id_source, true);
		node.value = '';
		alert("The source entry has been cleared. If you leave it empty, it will not be saved.");
		
	//Delete the entry
	} else {
		var root = document.getElementById('sources');
		var position = document.getElementById('source_' + id_source);
		root.removeChild(position);
	}
}
