Position.center = function(element){
var options = Object.extend({
zIndex: 999,
update: false
}, arguments[1] || {});
element = $(element)
if(!element._centered){
Element.setStyle(element, {position: 'relative', zIndex:
options.zIndex });
element._centered = true;
}
var dims = Element.getDimensions(element);
Position.prepare();
var winWidth = self.innerWidth ||
document.documentElement.clientWidth || document.body.clientWidth || 0;
var winHeight = self.innerHeight ||
document.documentElement.clientHeight || document.body.clientHeight || 
0;
var offLeft = (Position.deltaX + Math.floor((winWidth-dims.width
)/2));
var offTop = (Position.deltaY + 
Math.floor((winHeight-dims.height
)/2));
element.style.top = ((offTop != null && offTop > 0) ? offTop : 
'0')
+ 'px';
element.style.left = ((offLeft != null && offLeft > 0) ? offLeft 
:
'0') + 'px';
if(options.update){
Event.observe(window, 'resize', function(evt){
Position.center(element);
}, false);
Event.observe(window, 'scroll', function(evt){
Position.center(element);
}, false);
}
}