if(those.className.search('(^|\s)show(\s|$)') === -1) those.className += " show";
das führt zumindest in manchen Browsern zu einem Fehler, wenn nicht explizit eine CSS Klasse gesetzt wurde, da className ansonsten undefined ist und folglich keine Funktion search hat.
if(typeof those.timeout === "undefined") those.timeout = false;
clearTimeout(those.timeout);
Wenn ich das richtig sehe, hat kein Browser Probleme damit clearTimeout mit undefined zu füttern, ich würde wenn man schon so eine Prüfung macht, dann im positiven.
if(those.timeout )clearTimeout(those.timeout);
Halte ich auch für übersichtlicher und verständlicher.
Struppi.