var vfields = { maxchars : 16, maxWidth : 300, initWidth : 150, charWidth : 5, vfield_class : 'vfield', init : function () { var W3CDOM = (document.getElementsByTagName); if (!W3CDOM) return; var inputs = document.getElementsByTagName('input'); for (var i=0; i= vfields.maxchars) { var surplus = this.value.length-vfields.maxchars; if ((vfields.initWidth + (surplus * vfields.charWidth)) < vfields.maxWidth) { this.style.width = (vfields.initWidth + (surplus * vfields.charWidth))+'px'; } } } } window.onload = function () { vfields.init(); }