/*
	Athene Category Filter Form client scripts
*/
function initFilterForm()
{
	// Set the 'all' selected
	openCategoryForm('all');
	
	var form = document.getElementById("filter-category-all-form");
	form.cached = 'true';
	
	closeCategoryForm('search');
}

function openCategoryForm(category)
{
	// Set selected
	document.getElementById('selected-category').value = category;
	
	var form = document.getElementById("filter-category-" + category + "-form");
	var image = document.getElementById("filter-category-" + category + "-image");
	var container = document.getElementById("filter-category-" + category + "");	
	form.style.display = "block";
	form.expanded = 'true';
	image.src = "layout/" + layout + "/icons/Collapse.gif";
	container.className = 'filter-active';
}
	
function closeCategoryForm(category)
{	
	var form = document.getElementById("filter-category-" + category + "-form");
	var image = document.getElementById("filter-category-" + category + "-image");
	var container = document.getElementById("filter-category-" + category + "");	
	form.style.display = "none";
	form.expanded = 'false';
	form.cached = 'true';
	image.src = "layout/" + layout + "/icons/Expand.gif";
	container.className = 'filter';
}

/*
	Shows or hides a filter category form
*/
function switchFilterCategoryForm(page, category, reloadMarkers)
{
	if (reloadMarkers == null)
	{
		reloadMarkers = true;		
	}
	
	var form = document.getElementById("filter-category-" + category + "-form");
	var image = document.getElementById("filter-category-" + category + "-image");
	var container = document.getElementById("filter-category-" + category);
	
	if (form.expanded == 'true')
	{
		// Hide category form		
		form.style.display = "none";
		form.expanded = "false";
		container.className = 'filter';
		image.src = "layout/" + layout + "/icons/Expand.gif";
		
		// Set the 'all' selected
		initFilterForm();
	}
	else
	{		
		// Show category form
		
		// Collapse the previously selected category
		var previousCategory = document.getElementById('selected-category').value;
		var previousForm = document.getElementById("filter-category-" + previousCategory + "-form");
		var previousImage = document.getElementById("filter-category-" + previousCategory + "-image");
		var previousContainer = document.getElementById("filter-category-" + previousCategory);
		
		previousForm.style.display = "none";
		previousForm.expanded = 'false';
		previousContainer.className = 'filter';
		previousImage.src = "layout/" + layout + "/icons/Expand.gif";
		
		// Set the current selected category
		image.src = "layout/" + layout + "/icons/Collapse.gif";
		container.className = 'filter-active';
		form.expanded = 'true';
		document.getElementById('selected-category').value = category;
		
		if (form.cached == 'true')
		{
			// Only set display to true, the data is already loaded a previous time			
			form.style.display = "block";
		}
		else
		{	
			// Display loading animation and load the data
			form.innerHTML = "<img src=\"layout/" + layout + "/icons/LoadingFilterForm.gif\" />";
			
			// AJAX Query for category form rendering
			var token = new Date().toString();
			GDownloadUrl(page + "?token=" + token + "&category=" + category,
			function(data, responseCode)
			{
				form.innerHTML = data;
				form.cached = 'true';
			}
			);
		}
	}
	
	container.blur();
	document.body.focus();
	
	// Reload markers
	if (reloadMarkers)
	{
		retrieveMarkers();
	}
}