function truncateText(string, maxlength) {
	if (string.length > maxlength) {
		return string.substring(0, maxlength - 2) + '..';
	}
	return string;
}

function getSpoilerHeader(spoilerTitle, show) {
	showPre  = '+ Show ';
	showPost = ' +';
	hidePre  = '- Hide ';
	hidePost = ' -';
	
	truncatedTitle = truncateText(spoilerTitle, 100);
	
	spoilerTitle = (spoilerTitle.length > 0) 
		? ' [' + truncatedTitle + ']'
		: '';
	
	return show
		? showPre + 'Spoiler' + spoilerTitle + showPost
		: hidePre + 'Spoiler' + spoilerTitle + hidePost;
}

function toggleShowSpoiler(spoilerLink, spoilerTitle, ubbSpoilerCount) {
	spoilerDiv = document.getElementById('spoiler_' + ubbSpoilerCount);
	if (spoilerLink.innerHTML.match('^\\+')) {
		spoilerLink.innerHTML = getSpoilerHeader(spoilerTitle, false);
		spoilerDiv.style.display = '';
	}
	else {
		spoilerLink.innerHTML = getSpoilerHeader(spoilerTitle, true);
		spoilerDiv.style.display = 'none';
	}
}