// Non-destructive way to add new functions to the window.onload event
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload !== 'function') {
        window.onload = func;
    } else {
        window.onload = function () {
            oldonload();
            func();
        };
    }
}

// How the matchColumns function works: Apply the CSS class of 'column' to your pages' main columns
function matchColumns() { 
    var divs, contDivs, maxHeight, divHeight, d, i, j; 
    // get all <div> elements in the document 
    divs = document.getElementsByTagName('div');
    contDivs = []; 
    // initialize maximum height value 
    maxHeight = 0;     
		// iterate over all <div> elements in the document 
    for (i = 0;i < divs.length;i++) {     
		// make collection with <div> elements with class attribute 'container' 
        if (/\bcolumn\b/.test(divs[i].className)) { 
            d = divs[i]; 
            contDivs[contDivs.length] = d;             
						// determine height for <div> element 
            if (d.offsetHeight) { 
                divHeight = d.offsetHeight;
            }
            else if (d.style.pixelHeight) {
                divHeight = d.style.pixelHeight;
            }             
						// calculate maximum height 
            maxHeight = Math.max(maxHeight, divHeight);
        }
    }    
		// assign maximum height value to all of container <div> elements
    for (j = 0; j < contDivs.length; j++) {
        contDivs[j].style.height = maxHeight + "px";
    }
}

// Runs the matchColumns function when the page loads
addLoadEvent(matchColumns);