
function initialiseInfoPanel(sourceElementId, targetElementId, stateKey, colour)
{
	var sourceElement = document.getElementById(sourceElementId);
	var targetElement = document.getElementById(targetElementId);
	if ((!sourceElement) || (!targetElement))
		return;
	var clickScript = 'toggleInfoPanel(\'' + sourceElementId + '\',\'' + targetElementId + '\',\'' + stateKey + '\',true,\'' + colour + '\');';
	sourceElement.onclick = function() { eval(clickScript); }
	toggleInfoPanel(sourceElementId, targetElementId, stateKey, false, colour);
}

function toggleInfoPanel(sourceElementId, targetElementId, stateKey, clicked, colour)
{
	var sourceElement = document.getElementById(sourceElementId);
	var targetElement = document.getElementById(targetElementId);
	if ((!sourceElement) || (!targetElement))
		return;
	var open = (getCookie(stateKey) == 'false') ? false : true;
	if (clicked)
		open = !open;
	if (colour == 'Grey')
		sourceElement.className = (open) ? 'Opened OpenedGrey' : 'Closed ClosedGrey';
	else if (colour == 'GreyWhite')
		sourceElement.className = (open) ? 'Opened OpenedGreyWhite' : 'Closed ClosedGreyWhite';
	else
		sourceElement.className = (open) ? 'Opened OpenedRed' : 'Closed ClosedRed';
	targetElement.style.display = (open) ? 'block' : 'none';
	if (clicked)
		setCookie(stateKey, open);
}

function setCookie(name, value)
{
	if (name != '')
		document.cookie = name + '=' + value;
}

function getCookie(name)
{
	if(name == '')
		return('');
	var name_index = document.cookie.indexOf(name + '=');
	if(name_index == -1)
		return('');
	var cookie_value =  document.cookie.substr(name_index + name.length + 1, document.cookie.length);
	var end_of_cookie = cookie_value.indexOf(';');
	if (end_of_cookie != -1)
		cookie_value = cookie_value.substr(0, end_of_cookie);
	var space = cookie_value.indexOf('+');
	while(space != -1) { 
		var cookie_value = cookie_value.substr(0, space) + ' ' + 
		cookie_value.substr(space + 1, cookie_value.length);
		space = cookie_value.indexOf('+');
	}
	return(cookie_value);
}
