画像切り替える&画像何千枚でもコード増やさない方法

質問の回答には、意図的に解りづらく変換した。
http://closure-compiler.appspot.com/home
が、ie 用の条件コンパイルを処理できたらよかったのに。

<!DOCTYPE html>
<title></title>
<style type="text/css">
#TOGGLE_IMAGE td > img {
  width:50px;
  height:50px;
}

</style>

<table id="TOGGLE_IMAGE">
  <tr>
    <td><img src="befor0.jpg" alt="a">
    <td><img src="befor1.jpg" alt="b">
    <td><img src="befor2.jpg" alt="c">

  <tr>
    <td><img src="befor3.jpg" alt="d">
    <td><img src="befor4.jpg" alt="e">
    <td><img src="befor5.jpg" alt="f">
</table>

<script>
//@cc_on @set @v = @_jscript_version

var getParent = function (node, type, val) {
  return (node)
    ? (val == node[type])
      ? node
      : arguments.callee (node.parentNode, type, val)
    : null;
};


var Handler = function (evt) {
  var n = evt./*@if (@_jscript) srcElement @else@*/ target /*@end@*/;
  var s;

  if ('IMG' !== n.nodeName)
    return;
  
  if (! getParent (n, 'id', 'TOGGLE_IMAGE'))
    return;

  if (s = n.getAttribute ('src' /*@, 2 @*/).match (/^(.+?)(\d+\.jpg)$/))
    n.alt = n.src = ((s[1] === 'befor') ? 'after': 'befor') + s[2];
};


document./*@if (@v < 5.9) attachEvent( 'on'+ @else@*/addEventListener(/*@end@*/
  'click', Handler, false);

</script>