I wouldn't put too much focus on document.all this is an IE4 method, which will still work in IE5 as it is backwards compatable.
For IE5, NS6 and all DOM compliant browsers the correct method is document.getElementById?1:0;.
Use: this.dom=document.getElementById?1:0; as your priority. IE5 & NS6.
Use: this.ns4=(document.layers && !this.dom)?1:0; as NS4.
And use: this.ie4=(document.all && !this.dom)?1:0; as IE4
Hope this helps!