var _3ColSize_3col_template = false;	// Template mit drei col
var _3ColSize_2col_template = false;	// Template mit zwei col
var _3ColSize_col1 = null;				// Höhe von Col1
var _3ColSize_col2 = null;				// Höhe von Col2
var _3ColSize_col3 = null;				// Höhe von Col3
var _3ColSize_height = null;			// Max Höhe
var _3ColSize_intervall = 500;			// Zeitintervall
var _3ColSize_setIntervalObjekt = null;	// Timerobjekt

function initialize3ColSize()
{
	// Prüfen auf drei Spalten Layout
	_3ColSize_Check3ColLayout()
	
	if(_3ColSize_3col_template || _3ColSize_2col_template)
	{
		_3ColSize_setIntervalObjekt = setInterval("_3ColSize_Check()", _3ColSize_intervall);
		
		_3ColSize_GetHeight();
		_3ColSize_SetHeight();
	}
}

/*
 * Überprüft das Layout auf zwei oder drei Spaltigkeit
 */
function _3ColSize_Check3ColLayout()
{
	var col1 = document.getElementById("col1");
	var col2 = document.getElementById("col2");
	var col3 = document.getElementById("col3");
	
	if(col1 != null && col2 != null && col3 != null)
	{
		_3ColSize_3col_template = true;
	}
	else
	{
		if(col1 != null && col2 != null)
		{
			_3ColSize_2col_template = true;
		}
	}
}

/*
 * Erneute Prüfung durch Zeit
 */
function _3ColSize_Check()
{		
	// Prüfen auf drei Spalten Layout
	_3ColSize_Check3ColLayout()
	
	if(_3ColSize_3col_template || _3ColSize_2col_template)
	{
		if(_3ColSize_2col_template)
		{
			document.getElementById("col1").style.height = "auto";
			document.getElementById("col2").style.height = "auto";
		}
		
		if(_3ColSize_3col_template)
		{
			document.getElementById("col1").style.height = "auto";
			document.getElementById("col2").style.height = "auto";
			document.getElementById("col3").style.height = "auto";
		}
		
		_3ColSize_GetHeight();
		_3ColSize_SetHeight();
	}
}

/*
 * Liest die Höhen für die zwei oder drei Spalten
 */
function _3ColSize_GetHeight()
{
	_3ColSize_height = _3ColSize_getElementHeight("content");
}

/*
 * bestimmt die Höhe für das CSS Item
 */
function _3ColSize_getElementHeight(css_item_name)
{
	var element = null;
	var height = null;
	var ua = navigator.userAgent.toLowerCase();
	
	// IE
	if(ua.indexOf("msie") > -1 && ua.indexOf("opera") == -1)
	{
		element = document.getElementById(css_item_name);
		height = element['scrollHeight'];
	}
	// Alles andere
	else
	{
		element = _3ColSize_getStyle(document.getElementById(css_item_name), "height")
		height = parseInt(element);
	}
	
	return height;
}

/*
 * Liest aus einer externen CSS Datei die value werte aus
 */
function _3ColSize_getStyle(oElm, strCssRule)
{
	var strValue = "";
	
	if(document.defaultView && document.defaultView.getComputedStyle)
	{
		strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
	}
	else if(oElm.currentStyle)
	{
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){return p1.toUpperCase();});
		strValue = oElm.currentStyle[strCssRule];
	}

	return strValue;
}

/*
 * Setzte die neue Höhe für die Spalten
 */
function _3ColSize_SetHeight()
{
	if(_3ColSize_2col_template)
	{
		document.getElementById("col1").style.height = _3ColSize_height + "px";
		document.getElementById("col2").style.height = _3ColSize_height + "px";
	}
	
	if(_3ColSize_3col_template)
	{
		document.getElementById("col1").style.height = _3ColSize_height + "px";
		document.getElementById("col2").style.height = _3ColSize_height + "px";
		document.getElementById("col3").style.height = _3ColSize_height + "px";
	}
}

