var t;
var arrColumnDivs = new Array();
var arrFlyoutDivs = new Array();
getColumnDivs();
getFlyoutDivs();
var maxH = 0;
var maxFlyoutH = 0;

// begin: utility functions -------------------------------

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function getColumnDivs() {
	divs = document.getElementsByTagName("div");
	buffer = "";
	for (i = 0; i < divs.length; i++){
		tempID = divs[i].id;
		if(tempID != ''){
			if(tempID.indexOf('column') >= 0){
				buffer += tempID + "\n";
				arrColumnDivs.push(tempID);
			}
		}
	}
}

function getFlyoutDivs(){
	divs = getElementsByClassName('first-of-type', '*', document);
	buffer = "";
	for (i=0; i < divs.length; i++){
		tempID = divs[i].id;
		buffer += tempID + "\n";
		arrFlyoutDivs.push(tempID);
	}
}

// end: utility functions -------------------------------

// ******************************************************

// begin: height functions ------------------------------

function fixColumnHeight(){
	
	var contentHeight = 0;
	// check the height of the content div
	contentDiv = document.getElementById('content1');
	if(contentDiv != null){
		contentParent = document.getElementById(contentDiv.offsetParent.id);
		contentHeight = contentDiv.offsetTop + contentDiv.offsetHeight + 10;
	}
	// check the height of the flyout div
	getFlyoutDivs();
	// var maxFlyoutH = 0;
	if(maxFlyoutH == 0){
		if(arrFlyoutDivs.length > 0){
			for (var i=0;i<arrFlyoutDivs.length;i++) {
				var d = document.getElementById(arrFlyoutDivs[i]);
				var dContainerTop = d.offsetParent.offsetParent.offsetParent.offsetTop;
				// d.style.height = ""; // important, set it to empty (mozilla, ie)
				thisHeight = d.offsetHeight - 50;
				if (thisHeight > maxFlyoutH) 
					maxFlyoutH = thisHeight - dContainerTop;
			}
		}
	}
	// alert("maxFlyoutH: " + maxFlyoutH + " / contentHeight: " + contentHeight);
	if(maxFlyoutH > contentHeight){
		resetHeight = maxFlyoutH;
	} else {
		resetHeight = contentHeight;
	}
	// alert("resetHeight: " + resetHeight);
	// set all column divs to the max height of either the max content val or the max flyout val
	getColumnDivs();
	for (var i=0; i < arrColumnDivs.length; i++) {
		var d=document.getElementById(arrColumnDivs[i]);
		d.style.height = resetHeight+"px";
	}
		
}

// end: height functions ------------------------------

function doOnResize(){
	clearTimeout(t);
	t=setTimeout('fixColumnHeight();',10);
}