/** generic routines **/

function getPageCoords (element) 
{
    var coords = {x: 0, y: 0};
    
	while (element) {
		coords.x += element.offsetLeft;
		coords.y += element.offsetTop;
		element = element.offsetParent;
    }

    return coords;
}

function setEventHandler(element, evt, code)
{
    if( element.addEventListener ) {
	element.addEventListener( evt, code, true );
    } else if( element.attachEvent ) {
	element.attachEvent( "on" + evt, code );
    } else {
	/** this part is hard-coded for obvious reasons **/
	switch( evt ) {
	    case	"click"	    :
		element.onclick = code;
		break;

	    case	"change"    :
		element.onchange = code;
		break;

	    case	"unload"    :
		element.onunload = code;
		break;
	}
    }
}

function popWindow(url, width, height, target)
{
    var wnd = window.open( url, target, "status=no,toolbar=no,location=no,menubar=no,resizable=no,width=" + width + ",height=" + height );
    wnd.focus();
}
