function centerView(layer/*no display:none*/, doNotAddOffsets){
if(typeof layer=="string"){layer=document.getElementById(layer);};
if(layer){
var parent=layer.parentNode;/*unless body tag, must have position to relative or absolute*/
parent.style.overflow="auto";
layer.style.position="absolute";/*much better if top and left are specified in style, with 'px'*/
layer.style.top=layer.style.top||layer.offsetTop+'px';
layer.style.left=layer.style.left||layer.offsetLeft+'px';
var clientH=0, clientW=0, offsetT=0, offsetL=0, top=0, left=0;
	if(parent && parent.nodeType==1/*a tag*/){
		if(parent.nodeName=="BODY"){
			if(typeof window.innerHeight!="undefined"){clientH=window.innerHeight; clientW=window.innerWidth;}
			else if(document.documentElement && document.documentElement.clientHeight){clientH=document.documentElement.clientHeight; clientW=document.documentElement.clientWidth;}
			else if(document.body.clientHeight){clientH=document.body.clientHeight; clientW=document.body.clientWidth;}
			else{clientH=parent.clientHeight; clientW=parent.clientWidth;};
			//
			if(typeof pageYOffset!="undefined"){offsetT=pageYOffset; offsetL=pageXOffset;}
			else if(document.documentElement && document.documentElement.scrollTop){offsetT=document.documentElement.scrollTop; offsetL=document.documentElement.scrollLeft;}
			else if(document.body && typeof document.body.scrollTop!="undefined"){offsetT=document.body.scrollTop; offsetL=document.body.scrollLeft;}
			else{offsetT=0; offsetL=0;};
		top=Math.abs(parent.offsetTop + ((clientH/2) - (layer.offsetHeight/2)));
		left=Math.abs(parent.offsetLeft + ((clientW/2) - (layer.offsetWidth/2)));
		}
		else{
		clientH=parent.offsetHeight; clientW=parent.offsetWidth;
		offsetT=parent.scrollTop; offsetL=parent.scrollLeft;
		top=Math.abs(((clientH/2) - (layer.offsetHeight/2))); left=Math.abs(((clientW/2) - (layer.offsetWidth/2)));
		};
	if(!doNotAddOffsets){top+=offsetT; left+=offsetL;};
	layer.style.top=top+'px';//comment out to avoid positioning and allow returning only
	layer.style.left=left+'px';//comment out to avoid positioning and allow returning only
	return [top, left, top+'px', left+'px'];
	};
};
/*keep this comment to reuse freely:
http://www.fullposter.com/?1 */}
