function getHeight(e)
{
        if(e.clientHeight)
        {
                return e.clientHeight;
        }
        else
        {
		if(e.offsetHeight)
		{
	                return e.offsetHeight;
		}
		else
		{
			return 0;
		}
        }

}
function getBockSubElements(element)
{
	var ary = [];
	for(var i = 0;i<element.childNodes.length;i++)
	{
		if(element.childNodes[i].nodeName.indexOf('#') == -1)
		{
			ary.push(element.childNodes[i]);
		}
	}
	return ary;
}
function getContentYMax(ary)
{
	return ary[ary.length -1].offsetTop + getHeight(ary[ary.length -1]);	
}
function getContentHeight(element)
{
	var ary = getBockSubElements(element);
	if(ary.length == 0)
	{
		return;
	}		
	var height = element.clientHeight;
	var start = ary[0].offsetTop;
	var end =  getContentYMax(ary);
	return end - start;
}

function centerVirtically(element)
{
	var ary = getBockSubElements(element);
	if(ary.length == 0)
	{
		return;
	}		
	var height = element.clientHeight;
	var start = ary[0].offsetTop;
	var end =  getContentYMax(ary);
	var contentHeight = end - start;

	var midpoint = height/2;
	var newStart = midpoint - contentHeight/2;
	var offset = newStart - start;
	var containerHeight = getHeight(element);
	if(end < containerHeight)
	{
		for(var i = 0;i < ary.length;i++)
		{
			ary[i].style.position = "relative"; 
			ary[i].style.top = offset + "px"; 
		}
	}
	else
	{
		element.style.overflow = "auto";
	}
}
function sizeFont(e, min, max)
{
	e.style.overflow = "auto";
	e.style.fontSize = 1 + "px";
	var ary = getBockSubElements(e);
	var currentFontSize = min;
	var verticalPadding = 25;
	var height, start, end, contentHeight;

	height = e.clientHeight;
	start = ary[0].offsetTop;
	end =  getContentYMax(ary);
	contentHeight = end - start;
	var i = 0;

	if(end < height - verticalPadding)
	{
		while(end < height - verticalPadding && i < 1000)
		{
			currentFontSize++;
			e.style.fontSize = currentFontSize + "px";
			height = e.clientHeight;
			start = ary[0].offsetTop;
			end =  getContentYMax(ary);
			contentHeight = end - start;
			i++;
		}
		currentFontSize--;
		if(currentFontSize <= max)
		{
			e.style.fontSize = currentFontSize + "px";
		}
		else
		{
			e.style.fontSize = max + "px";
		}
	}
}
function size()
{
	var spacing = 2;
	var verticalBording = 2;
	var verticalPadding = 25;
	var verticalContainerBordering = 20;

	var container = document.getElementById("container");

	var showCase = document.getElementById("showCase");
	showCase.contentHeight = getContentHeight(showCase);
	
	var	serviceDescription = document.getElementById("serviceDescription");
	serviceDescription.contentHeight = getContentHeight(serviceDescription);
	
	var equipment = document.getElementById("equipment");
	var service = document.getElementById("service");
	var contact = document.getElementById("contact");
	var book = document.getElementById("book");
	var phoneImg = document.getElementById("phoneImg");
	//var logoContainer = document.getElementById("logoContainer");
	//logoContainer.height = getHeight(logoContainer);
	
	if(serviceDescription.contentHeight  > showCase.contentHeight)
	{
		serviceDescription.style.height = serviceDescription.contentHeight + verticalPadding + "px";
		showCase.style.height = serviceDescription.contentHeight + serviceDescription.offsetTop + verticalPadding - spacing + "px";

	}
	else
	{
		serviceDescription.style.height = showCase.contentHeight + verticalPadding - serviceDescription.offsetTop + spacing + "px";
		showCase.style.height = showCase.contentHeight + verticalPadding + "px";
	}
	var offset = showCase.offsetTop + getHeight(showCase) + spacing + verticalBording + "px";
	service.style.top = offset
	equipment.style.top = offset
	offset = service.offsetTop + getHeight(service) + spacing + verticalBording + 10;
	contact.style.top = offset + "px";
	offset = offset + 15;
	book.style.top = offset + "px";
	phoneImg.style.top = offset + 13 + "px";

	offset = phoneImg.offsetTop + getHeight(phoneImg) + "px";
	
	container.style.height = offset;
	
	
	centerVirtically(showCase);
	
	sizeFont(serviceDescription,10,15);
	centerVirtically(serviceDescription);

	sizeFont(equipment,7,20);
	centerVirtically(equipment);

	sizeFont(service,7,20);
	centerVirtically(service);

}
function main()
{
	RemoveLastLiBorders(document.getElementById("menu"));
	size();
}
onload = main;

