rem: return results;  
context: jQuery.fn.offset = function() {	var left = 0, top = 0, elem = this[0], results;		if ( elem ) with ( jQuery.browser ) {		var parent       = elem.parentNode, 		    offsetChild  = elem,		    offsetParent = elem.offsetParent, 		    doc          = elem.ownerDocument,		    safari2      = safari && parseInt(version) < 522,		    fixed        = jQuery.css(elem, "position") == "fixed";			// Use getBoundingClientRect if available		if ( elem.getBoundingClientRect ) {			var box = elem.getBoundingClientRect();					// Add the document scroll offsets			add(box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft),				box.top  + Math.max(doc.documentElement.scrollTop,  doc.body.scrollTop));					// IE adds the HTML element's border, by default it is medium which is 2px			// IE 6 and 7 quirks mode the border width is overwritable by the following css html { border: 0; }			// IE 7 standards mode, the border is always 2px			// This border/offset is typically represented by the clientLeft and clientTop properties			// However, in IE6 and 7 quirks mode the clientLeft and clientTop properties are not updated when overwriting it via CSS			// Therefore this method will be off by 2px in IE while in quirksmode			add( -doc.documentElement.clientLeft, -doc.documentElement.clientTop );			// Otherwise loop through the offsetParents and parentNodes		} else {					// Initial element offsets			add( elem.offsetLeft, elem.offsetTop );						// Get parent offsets			while ( offsetParent ) {				// Add offsetParent offsets				add( offsetParent.offsetLeft, offsetParent.offsetTop );							// Mozilla and Safari > 2 does not include the border on offset parents				// However Mozilla adds the border for table or table cells				if ( mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || safari && !safari2 )					border( offsetParent );									// Add the document scroll offsets if position is fixed on any offsetParent				if ( !fixed && jQuery.css(offsetParent, "position") == "fixed" )					fixed = true;							// Set offsetChild to previous offsetParent unless it is the body element				offsetChild  = /^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent;				// Get next offsetParent				offsetParent = offsetParent.offsetParent;			}					// Get parent scroll offsets			while ( parent.tagName && !/^body|html$/i.test(parent.tagName) ) {				// Remove parent scroll UNLESS that parent is inline or a table to work around Opera inline/table scrollLeft/Top bug				if ( !/^inline|table.*$/i.test(jQuery.css(parent, "display")) )					// Subtract parent scroll offsets					add( -parent.scrollLeft, -parent.scrollTop );							// Mozilla does not add the border for a parent that has overflow != visible				if ( mozilla && jQuery.css(parent, "overflow") != "visible" )					border( parent );							// Get next parent				parent = parent.parentNode;			}					// Safari <= 2 doubles body offsets with a fixed position element/offsetParent or absolutely positioned offsetChild			// Mozilla doubles body offsets with a non-absolutely positioned offsetChild			if ( (safari2 && (fixed || jQuery.css(offsetChild, "position") == "absolute")) || 				(mozilla && jQuery.css(offsetChild, "position") != "absoltue") )					add( -doc.body.offsetLeft, -doc.body.offsetTop );						// Add the document scroll offsets if position is fixed			if ( fixed )				add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft),					Math.max(doc.documentElement.scrollTop,  doc.body.scrollTop));		}		// Return an object with top and left properties		results = { top: top, left: left };	}	return results;	function border(elem) {		add( jQuery.css(elem, "borderLeftWidth"), jQuery.css(elem, "borderTopWidth") );	}	function add(l, t) {		left += parseInt(l) || 0;		top += parseInt(t) || 0;	}};
meta: 1471	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1471/feb9051c0e29937c2494c3db0862a671efc21747/offset.js/buggy/src/offset.js