 position = jQuery.css(offsetParent, "position");   if ( safari2 && !absolute && position == "absolute" ) absolute = true;   if (opera && /^fixed|relative|absolute$/i.test(position)) add( -parseInt(jQuery.css(elem, "borderLeftWidth")), -parseInt(jQuery.css(elem, "borderTopWidth")) );   if ( !fixed && position == "fixed" ) 
 if ( !fixed && jQuery.css(offsetParent, "position") == "fixed" ) 
jQuery.fn.offset = function() {	var left = 0, top = 0, elem = this[0], results;		if ( elem ) with ( jQuery.browser ) {		var	parent       = elem.parentNode, 		    offsetParent = elem.offsetParent, 		    doc          = elem.ownerDocument,		    safari2      = safari && parseInt(version) < 522,		    position     = jQuery.css(elem, "position"),		    absolute     = position == "absolute",		    fixed        = 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 IE 7 quirks mode the border width is overwritable by the following css html { border: 0; }			// IE 7 standards mode, the border is always 2px			if ( msie ) {				var border = jQuery("html").css("borderWidth");				border = (border == "medium" || jQuery.boxModel && parseInt(version) >= 7) && 2 || border;				add( -border, -border );			}			// 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 cells				if ( mozilla && /^t[d|h]$/i.test(parent.tagName) || !safari2 )					border( offsetParent );									// Get offsetParent's position				position = jQuery.css(offsetParent, "position");								// Safari <= 2 doubles body offsets with an absolutely positioned element or parent				if ( safari2 && !absolute && position == "absolute" )					absolute = true;								// Opera adds border for fixed, relative and absolute parent elements				if (opera && /^fixed|relative|absolute$/i.test(position))					add( 						-parseInt(jQuery.css(elem, "borderLeftWidth")),						-parseInt(jQuery.css(elem, "borderTopWidth"))					);									// Add the document scroll offsets if position is fixed				if ( !fixed && position == "fixed" )					fixed = true;							// Get next offsetParent				offsetParent = offsetParent.offsetParent;			}					// Get parent scroll offsets			while ( parent.tagName && !/^body|html$/i.test(parent.tagName) ) {				// Work around opera inline/table scrollLeft/Top bug				if ( !/^inline|table-row.*$/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 an absolute or fixed positioned element or parent			if ( safari2 && (absolute || fixed) )				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;	}};
6056	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6056/a9add215ea64075ed1b512ceb6ac926cb9e5bd76/offset.js/clean/src/offset.js