Number.prototype.pxToEm = String.prototype.pxToEm = function(settings){
	//set defaults
	settings = jQuery.extend({
		scope: 'body',
		reverse: false
	}, settings);
	
	var pxVal = (this == '') ? 0 : parseFloat(this);
	var scopeVal;
	var getWindowWidth = function(){
		var de = document.documentElement;
		return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
	};	
	
	/* When a percentage-based font-size is set on the body, IE returns that percent of the window width as the font-size. 
		For example, if the body font-size is 62.5% and the window width is 1000px, IE will return 625px as the font-size. 	
		When this happens, we calculate the correct body font-size (%) and multiply it by 16 (the standard browser font size) 
		to get an accurate em value. */
				
	if (settings.scope == 'body' && $.browser.msie && (parseFloat($('body').css('font-size')) / getWindowWidth()).toFixed(1) > 0.0) {
		var calcFontSize = function(){		
			return (parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(3) * 16;
		};
		scopeVal = calcFontSize();
	}
	else { scopeVal = parseFloat(jQuery(settings.scope).css("font-size")); };
			
	var result = (settings.reverse == true) ? (pxVal * scopeVal).toFixed(2) + 'px' : (pxVal / scopeVal).toFixed(2) + 'em';
	return result;
};
	
$.fn.equalHeights = function(px) {
		$(this).each(function(){
			var currentTallest = 0;
			
			//$(this).children('div').css({'min-height': '1px'});
			
			$(this).children('div').each(function(i){
				
				if ($(this).outerHeight({margin: true}) > currentTallest) { currentTallest = $(this).outerHeight({margin: true}); }
			});
			
			//console.log('currentTallest: ' + currentTallest);
			
			//if (!px || !Number.prototype.pxToEm) currentTallest = currentTallest.pxToEm(); //use ems unless px is specified
			// for ie6, set height since min-height isn't supported
			
			$(this).children('div').each(function(i){
				thisdiff = parseFloat($(this).outerHeight({margin: true})) - parseFloat($(this).height());
				//console.log(thisdiff);

				thisheight = (parseFloat(currentTallest) - thisdiff);
				if ($.browser.msie && $.browser.version >= 7.0) {
						// IE7 doesn't deal with ems all that well
						//alert(thisheight);
					} else {
						thisheight = thisheight.pxToEm();
						//alert(thisheight);
					}
				if ($.browser.msie && $.browser.version == 6.0) { 
					$(this).css({'height': thisheight}); 
				} else {
					$(this).css({'min-height': thisheight});
				}
				});
		});
		return this;
	};