/*global jQuery*/
(function($) {
	// helper functions, require jQuery.dimensions pluging
	$.fn.horizontalClearing = function() {
		var e = $(this).eq(0);
		// assumes units are px
		return e.width() +
		       Number(e.css("marginLeft").replace(/[^0-9]/g, "")) +
		       Number(e.css("borderLeftWidth").replace(/[^0-9]/g, "")) +
		       Number(e.css("borderRightWidth").replace(/[^0-9]/g, "")) +
               Number(e.css("marginRight").replace(/[^0-9]/g, ""));
	};
	
	$.fn.verticalClearing = function() {
		var e = $(this).eq(0);
		// assumes units are px
		return e.height() +
		       Number(e.css("marginTop").replace(/[^0-9]/g, "")) +
		       Number(e.css("borderTopWidth").replace(/[^0-9]/g, "")) +
		       Number(e.css("borderBottomWidth").replace(/[^0-9]/g, "")) +
               Number(e.css("marginBottom").replace(/[^0-9]/g, ""));
	};
	
	$.browser.konqueror = /Konqueror/.test(navigator.userAgent);
	$.browser.isGecko = /gecko/i.test(navigator.userAgent);
	
	$.isNaN = function(value) {
		return (typeof value === "number" && value.toString() === "NaN");
	};
})(jQuery);