function randomSquare(size)
{
	var innerSize = size - 2;
	var randX = Math.random() * (window.innerWidth - innerSize - 1);
	var randY = Math.random() * (window.innerHeight - innerSize - 1);

	document.write('<div class="confetti" style="height: ' + innerSize + 'px; width: ' + innerSize + 'px; bottom: ' + randY + 'px; left: ' + randX + 'px;"></div>');
}

function drawDynamicBinaryFractalConfettiBackgroundViaUnnecessarilyLongFunctionName(maxSize)
{
	var drawCount = 1;

	while(maxSize > 8)
	{
		for (var x = drawCount; x > 0; x--)
		{
			randomSquare(maxSize);
		}
		maxSize /= 2;
		drawCount *= 4;
	}
}

// Better or worse than the old code above?
function drawDynamicBinaryFractalConfettiBackgroundRecursivelyViaUnnecessarilyLongFunctionName(size)
{
	var innerSize = size - 2;
	var randX = Math.random() * (window.innerWidth - innerSize - 1);
	var randY = Math.random() * (window.innerHeight - innerSize - 1);

	if (size > 8)
	{
		document.write('<div class="confetti" style="height: ' + innerSize + 'px; width: ' + innerSize + 'px; bottom: ' + randY + 'px; left: ' + randX + 'px;"></div>');
		
		drawDynamicBinaryFractalConfettiBackgroundRecursivelyViaUnnecessarilyLongFunctionName(size/2);
		drawDynamicBinaryFractalConfettiBackgroundRecursivelyViaUnnecessarilyLongFunctionName(size/2);
		drawDynamicBinaryFractalConfettiBackgroundRecursivelyViaUnnecessarilyLongFunctionName(size/2);
		drawDynamicBinaryFractalConfettiBackgroundRecursivelyViaUnnecessarilyLongFunctionName(size/2);
	}
}

function adjustBaseSize()
{
	var targetElement = document.getElementById("squarea");
	var sideLength = Math.min(window.innerWidth, window.innerHeight);
	var topSpace = (window.innerHeight - sideLength) / 2;
	
	targetElement.style.paddingTop = String(topSpace) + "px";
	targetElement.style.width = String(sideLength) + "px";
	targetElement.style.height = String(sideLength) + "px";
	
	document.body.style.fontSize = String(sideLength / 64) + "px";
	document.getElementById("infoDetail").innerHTML = (sideLength < 640) ? "window size: too small" : "";
}

function bodyLoaded()
{
	window.onresize = adjustBaseSize;
}
