/* Copyright (c) Motoki, 2010 */
/*   motokisensei@gmail.com   */
/*  Developed for FarGate.RU  */

var stretcher = {

	container: 		null, 
	body:			null, 
	bannerHeight:		200,
	edgeHeight:		6,
	topHeight:		350,
	bottomHeight:		350,
	middleHeight:		245,
	middleNodeOffset:	100,
	middleNodeHeight:	48,
	
	init: function()
	{
		stretcher.container = document.getElementById("wrap");
		stretcher.body = document.getElementById("stretcher");
	},

	refresh: function()
	{
		if (!stretcher.body)
			return;
		stretcher.reset();
		var height = stretcher.getRequiredHeight();
		if (height > 0)
		{
			stretcher.body.style.display = "block";
			stretcher.body.style.height = height + "px";
		}
	},

	reset: function()
	{
		if (!stretcher.body)
			return;	
		stretcher.body.style.display = "none";
	},

	getRequiredHeight: function()
	{
		var tableHeight = stretcher.container.clientHeight;
		var height = 0;

		var minHeight = stretcher.bannerHeight + stretcher.edgeHeight + 
			stretcher.topHeight + stretcher.bottomHeight;

		if (tableHeight < minHeight)
		{
			height = minHeight - tableHeight;
			tableHeight += height;
		}

		var bottom = tableHeight - stretcher.bottomHeight;
		var fits = Math.floor(tableHeight / stretcher.middleHeight);
		var position = (fits - 1) * stretcher.middleHeight + stretcher.middleNodeOffset;
		if (position < bottom && bottom < position + stretcher.middleNodeHeight)
		{
			height += stretcher.middleNodeHeight;
		}

		return height;
	}

};

$(document).ready(stretcher.init);
$(window).load(stretcher.refresh);