vi ringrazio delle risposte
frugando nella mia raccolta ho trovato questo che è "quasi" come lo vorrei:
codice:
/*----------------------------------------------------------------------------------------
//restituisce in un oggetto {width:myWidth, height:myHeight }
//lo spazio utile interno del browser
//esempio:
function window_onresize() 
{
    var wh = ClientSize();
    var w = wh.width;
    var h = wh.height;
}
-----------------------------------------------------------------------------------------*/
function ClientSize() 
{
    var myWidth = 0, myHeight = 0;
    if( typeof( window.innerWidth ) == 'number' ) 
    {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
    } 
    else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
    {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
    } 
    else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
    {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
    }
    return {width:myWidth, height:myHeight };
}
e lo uso così:
var w = wh.width;
var h = wh.height;
$("div_readonly").style.top = Math.round((h - 50)/2) + "px";
$("div_readonly").style.left = Math.round((w - 250)/2) + "px";

:master:

1) se si potesse aggiustare (l'altezza non è perfetta )

2) la soluzione con i css, se venisse riportata, mi farebbe davvero comodo (ps. non fatemi scrivere nel forum css per favore)