function matchHeight(parent, className, tagName, removeHeight) {
	
	var elements = getElementsByClassName(className, tagName, parent);
	
	if (removeHeight)
	{
		for (x=0; x<elements.length; ++x)
		{
			elements[x].style.height = 'auto';
		}
		return;
	}
	
	var maxHeight = 0;
	
	for(x=0; x<elements.length; ++x) {		
		var eleHeight = 0;
		
		/*if (elements[x].style.height) {
			eleHeight = elements[x].style.height;
		}
		else*/ if (elements[x].offsetHeight) {
			eleHeight = elements[x].offsetHeight;
		}
		else if (elements[x].style.pixelHeight) {
			eleHeight = elements[x].style.pixelHeight;
		}
		
		if (eleHeight > maxHeight) { maxHeight = eleHeight; }
	}
	
	//alert(className + ': ' + maxHeight);
	
	for(x=0; x<elements.length; ++x) {		
		elements[x].style.height = maxHeight+'px'; 
	}
}


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 matchHeights(removeHeight)
{
	var par = document.getElementById('home_boxes');

	var lists = getElementsByClassName('row', 'li', par);
	
	for(i=0; i<lists.length; i++) {
		matchHeight(lists[i], 'content', 'div', removeHeight);
		matchHeight(lists[i], 'heading', 'h2', removeHeight);
		matchHeight(lists[i], 'intro', 'div', removeHeight);
	}
}
