(function($){
	
	var tmp = $('<span style="border: 0; display: block; padding: 0; position: absolute; overflow: hidden;" />')[0];
	
	$.px = function(elem, val, style) {
		if(elem && elem.parentNode && /(cm|em|in|pt|\%)$/.test(val)) {
			style = style || (document.defaultView && document.defaultView.getComputedStyle && document.defaultView.getComputedStyle(elem, null)) || elem.currentStyle;
			tmp.style.fontSize = (style.getPropertyValue && style.getPropertyValue('font-size')) || style.fontSize;
			tmp.style.width = val;
			elem.parentNode.insertBefore(tmp, elem);
			val = tmp.offsetWidth + 'px';
			tmp.parentNode.removeChild(tmp);
			return val;
		}	
	};
	
})(jQuery);