function checkChildren(e)
{
	var targ;
	if(!e) var e = window.event;
	if (e.target)
	{	
		targ = e.target;
	}
	else if(e.srcElement)
	{
		targ = e.srcElement;
	}
	if(targ.nodeType == 3)
	{
		targ = targ.parentNode;
	}

	var values = targ.value.split(' ');

	for(var i = 0; i < values.length; ++i)
	{
		var box = document.getElementById("ds-" + values[i]);
		box.checked = targ.checked;
	}
}

function showloading()
{

	var f = document.getElementById('search_form');	

	if(f)
	{
		var found = false;

		for(var i = 0; i < f.elements.length; ++i)
		{
			var element = f.elements[i];
			if(element.type == "checkbox" && element.checked == true)
			{	
				found = true;
			}
		}

		if(!found)
		{
			var countrySelector = document.getElementById('instruction');
			if(countrySelector)
			{
				countrySelector.style.color = "#d40000";
			}
			return false;
		}

		var indicator = document.getElementById('loading');
		if(indicator)
		{
			indicator.style.display = "block";
		}

		var left = document.getElementById('left');
		if(left)
		{
			left.style.display = "none";
		}

		var right = document.getElementById('right');
		if(right)
		{
			right.style.display = "none";
		}
	
		var footer = document.getElementById('footer');
		if(footer)
		{
			footer.style.display = "none";
		}

		return true;
	}
	return false;
}

function cancelRequest()
{
	window.stop();
	exit();
}

function init()
{
	var f = document.getElementById('search_form');

	if(f)
	{
		for(var i = 0; i < f.elements.length; ++i)
		{
			var element = f.elements[i];
			if(element.type == "checkbox" && element.name == "category")
			{	
				element.onclick = checkChildren;
			}
		}
		f.onsubmit = showloading;
	}

	var cancel = document.getElementById('cancel');

	if(cancel)
	{
		cancel.onclick = cancelRequest;
	}
}

function exit()
{
	var indicator = document.getElementById('loading');
	if(indicator)
	{
		indicator.style.display = "none";
	}

	var left = document.getElementById('left');
	if(left)
	{
		left.style.display = "block";
	}

	var right = document.getElementById('right');
	if(right)
	{
		right.style.display = "block";
	}

	var footer = document.getElementById('footer');
	if(footer)
	{
		footer.style.display = "block";
	}

	var countrySelector = document.getElementById('instruction');
	if(countrySelector)
	{
		countrySelector.style.color = "#000000";
	}
}

window.onload = init;
window.onunload = exit;

