function getPosition(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}

function getAbsPos( oId, tl ) {
	var o = ( typeof oId == 'String' ) ? document.getElementById( oId ) : oId;
	var val = 0;
	while ( o.nodeName != "BODY" ) {
		val += parseInt( ( tl == 'top' ) ? o.offsetTop : o.offsetLeft );
		o = o.parentNode;
		}
	return val;
}
function showwin(winid,winstr,e){
	var pos=getPosition(e);
	var tw=document.getElementById(winid);
	tw.style.display='block';
	tw.style.visibility='Visible';
	tw.style.position='absolute';
	var htop=pos.y;
	var hleft=pos.x;
	var winwid=parseInt(tw.style.width);
	tw.style.left=(hleft-Math.floor(winwid/2))+"px";
	tw.style.top=(htop+16)+"px";
	tw.innerHTML=winstr;
}
function hidewin(winid){
	var tw=document.getElementById(winid);
	tw.style.visibility='Hidden';
}

