Sí, ahora veo que no fui todo lo claro que podría haber sido. Supongo que puedes usarlo directamente así sin problemas:
Código PHP:
var miElemento = document.getElementById("idDelElemento");
miElemento.style.width = (miElemento.offsetWidth - 180 ) +"px";
El código de prototype (si lo deseas puedes incluir únicamente esa función, o parte de ella, no hay problema), lo puse para hacer notar que en ciertos casos hay problemas para obtener la anchura directamente con
offsetWidth. Tal y como ellos marcan en los comentarios los problemas son:
- En Safari a veces el display de CSS devuelve la propiedad null. En ese caso obtenemos las dimensiones con clientWidth.
- Los elementos con display:none no devuelven dimensiones (offsetWidth=0), luego los mostramos temporalmente, medimos, y luego volvemos a ocultar.
Si ninguno de los dos casos anteriores es el tuyo, creo que te puedes saltar toda esa parrafada que postee, sólo la dejé porque me pareció conveniente.
Un saludo.