function getExtraLinksFor(tabId)
{
	var themeList = document.getElementById('theme_list_' + tabId);
	
	if(!themeList.getAttribute('extraThemesCurrentlyVisible'))
	{
		themeList.setAttribute('extraThemesCurrentlyVisible', 'n');	//Booleans don't seem to work...
	}
	
	var currentState = themeList.getAttribute('extraThemesCurrentlyVisible');
	
	var newState = 'y';
	if(currentState == 'y')
	{
		newState = 'n';
	}
	
	themeList.setAttribute('extraThemesCurrentlyVisible', newState);
	
	//Change marking of "more"
	if(newState == 'y')
	{
		//document.getElementById('more_mark_' + tabId).innerHTML = '&uarr;';
		document.getElementById('more_mark_' + tabId).src = '/images/arrow_up.gif';
		document.getElementById('more_mark_' + tabId).title = 'See less';
	}
	else
	{
		//document.getElementById('more_mark_' + tabId).innerHTML = '&darr;';
		document.getElementById('more_mark_' + tabId).src = '/images/arrow_down.gif';
		document.getElementById('more_mark_' + tabId).title = 'See more';
	}
	
	if(newState == 'y')	//Should now SHOW the extra links (making via Ajax if necessary (ie. first time))
	{
		if(!themeList.getAttribute('extraThemesGenerated'))
		{
			a.jax({job:'getThemesNonHpLinks', responseType:'text', method:'POST', reaction:getExtraLinksForReaction, tabId:tabId});
			themeList.setAttribute('extraThemesGenerated', true);
		}
		else
		{
			//alert('Showing the extra links');
			showExtraLinks(tabId);
			//fixHeights();
		}
	}
	
	else	//Should now HIDE the extra links
	{
		//alert('Hiding the extra links');
		hideExtraLinks(tabId);
	}
}

function hideExtraLinks(tabId)
{
	//jQuery style
	//$('.extra_li_' + tabId).slideUp();
	
	//Manual style
	
	var allLis = document.getElementsByTagName('li');
	
	var allLisLength = allLis.length;
	for(var loop = 0; loop < allLisLength; loop++)
	{
		if(allLis[loop].className == 'extra_li_' + tabId)
		{
			allLis[loop].style.display = 'none';
		}
	}
	
	fixHeights();
}

function showExtraLinks(tabId)
{
	//jQuery style
	//$('.extra_li_' + tabId).slideDown();
	
	//Manual style
	
	var allLis = document.getElementsByTagName('li');
	
	var allLisLength = allLis.length;
	for(var loop = 0; loop < allLisLength; loop++)
	{
		if(allLis[loop].className == 'extra_li_' + tabId)
		{
			allLis[loop].style.display = 'block';
		}
	}
	
	
	fixHeights();
}

function getExtraLinksForReaction(responseText)
{
	var parts = responseText.split('~~~');
	
	var tabId = parts[0];
	
	var pairs = parts[1].split(';;;');
	
	var ul = document.getElementById('theme_list_' + tabId);
	
	var pairsLength = pairs.length;
	for(var loop = 0; loop < pairsLength; loop++)
	{
		var parts = pairs[loop].split(':::');
		
		var themeName = parts[0];
		//var themeHref = 'http://' + parts[1];
		var themeHref = parts[1];
		
		var li = document.createElement('li');
		li.className = 'extra_li_' + tabId;
		li.style.display = 'none';	//Add as invisible to then reveal animatedly
		li.innerHTML = '<a href="' + themeHref + '">' + themeName + '</a>';
		
		ul.appendChild(li);
	}
	
	showExtraLinks(tabId);
	
	//fixHeights();
}

function fixHeights()
{
	//Make sure right column doesnt go over end of document
	rcolHeight = $('#rCol').outerHeight();
	lcolHeight = $('#lCol').outerHeight();
	wrapperHeight = $('#midWrap').outerHeight();
	
	if(rcolHeight > wrapperHeight || lcolHeight > wrapperHeight)
	{
		$('#midWrap').css('height', (rcolHeight > lcolHeight) ? rcolHeight : lcolHeight + 'px');
	}
}