rem: width = dojo.style.getInnerWidth(this.domNode) + "px"; left = dojo.style.getAbsoluteX(this.domNode) + "px"; 
add: width = dojo.html.getBorderBox(this.domNode).width + "px"; left = dojo.html.getAbsolutePosition(this.domNode).x + "px"; 
context:     buildRendering: function(args, parserFragment, parentWidget) {	    // FIXME: we should destroy all drag sources and drop targets when the widget is destroyed        // Magical statement to get the dom node, stolen in DomWidget	    this.domNode = parserFragment["dojo:"+this.widgetType.toLowerCase()].nodeRef;        this.id = this.domNode.getAttribute("id");        if (!this.orderable && this.select == "none") {            dojo.debug(this.widgetType + " '" + this.id + "' is not orderable nor selectable");        }        if (this.orderable) {	        // Get the parent of the first repeater row (may be different from this.domNode)	        var firstRow = dojo.byId(this.id + ".0");	        if (!firstRow) return;            // Check that TR's are in TBODY otherwise it doesn't work	        if (firstRow.tagName.toLowerCase() == "tr" && firstRow.parentNode.tagName.toLowerCase() != "tbody") {	            throw this.widgetType + " requires TR's to be in a TBODY (check '" + this.id + "')";	        }           var type = this.getType();           var dropTarget = new dojo.dnd.HtmlDropTarget(firstRow.parentNode, [type]);			dropTarget.createDropIndicator = function() {				this.dropIndicator = document.createElement("div");				this.dropIndicator.className = "forms-dropIndicator";				with (this.dropIndicator.style) {					position = "absolute";					zIndex = 1;					width = dojo.style.getInnerWidth(this.domNode) + "px";					left = dojo.style.getAbsoluteX(this.domNode) + "px";				}			};			dojo.event.connect(dropTarget, "insert", this, "afterInsert");			var row;			for (var idx = 0; row = dojo.byId(this.id + "." + idx); idx++) {				var dragSource = new dojo.dnd.HtmlDragSource(row, type);				row.style.cursor = "move";            }        }        if (this.select != "$no$") {	        var row;	        var widget = this;	        for (var idx = 0; row = dojo.byId(this.id + "." + idx); idx++) {	            var selectId = row.getAttribute("id") + "." + this.select + ":input";	            var selectInput = dojo.byId(selectId);	            if (!selectInput) {	                throw "No select input found for row '" + row.getAttribute("id") + "'";	            }                if (selectInput.checked) {                    dojo.html.prependClass(row, "forms-row-selected");                }		        (function() {		            var localIdx = idx; // to use it in the closure		            var localRow = row;		            dojo.event.connect(row, "onclick", function(e) { widget.selectRow(e, localRow, localIdx) });		            dojo.event.connect(row, "onmouseover", function(e) { dojo.html.prependClass(localRow, "forms-row-hover") });		            dojo.event.connect(row, "onmouseout", function(e) { dojo.html.removeClass(localRow,  "forms-row-hover") });			    })()            }        }    },
meta: 1201	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1201/7826366b3d926533ef8980e82c454cc60331de48/CFormsRepeater.js/clean/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/resources/js/CFormsRepeater.js