Problemas con un slideshow manual usando javascript y capas

Carphatos
19 de Julio del 2004
Saludos, tengo este código con el que estoy intentando hacer una galeria manual, usa una capa div que se mueve. Pues bien el problema está en que cuando se acaba la capa se puede continuar pulsando el boton de avanzar, y yo necesito que se pare cuando la capa se acabe, igual tb con el boton retroceder.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #0066CC;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function P7AniMagic(el, x, y, a, b, c, s) { //v2.5 PVII
var g,elo=el,f="",m=false,d="";x=parseInt(x);y=parseInt(y);
var t = 'g.p7Magic = setTimeout("P7AniMagic(\''+elo+'\',';
if ((g=MM_findObj(el))!=null) {d=(document.layers)?g:g.style;}else{return;}
if (parseInt(s)>0) {eval(t+x+','+y+','+a+','+b+','+c+',0)",' + s+')');return;}
var xx=(parseInt(d.left))?parseInt(d.left):0;
var yy=(parseInt(d.top))?parseInt(d.top):0;
if(parseInt(c)==1) {x+=xx;y+=yy;m=true;c=0;}
else if (c==2) {m=false;clearTimeout(g.p7Magic);}
else {var i=parseInt(a);
if (eval(g.moved)){clearTimeout(g.p7Magic);}
if (xx<x){xx+=i;m=true;if(xx>x){xx=x;}}
if (xx>x){xx-=i;m=true;if(xx<x){xx=x;}}
if (yy<y){yy+=i;m=true;if(yy>y){yy=y;}}
if (yy>y){yy-=i;m=true;if(yy<y){yy=y;}}}
if (m) {if((navigator.appName=="Netscape") && parseInt(navigator.appVersion)>4){
xx+="px";yy+="px";}
d.left=xx;d.top=yy;g.moved=true;eval(t+x+','+y+','+a+','+b+','+c+',0)",'+b+')');
}else {g.moved=false;}
}
//-->
</script>
</head>

<body>
<img src="retrocede.jpg" width="121" height="39" onClick="P7AniMagic('Layer1',348,0,20,1,1,0)">
<img src="avanza.jpg" width="108" height="33" onClick="P7AniMagic('Layer1',-348,0,20,1,1,0)">
<div id="Layer2" style="position:relative; left:52px; top:74px; width:348px; height:180px; z-index:2; overflow: hidden;"><div id="Layer1" style="position:relative; left:0; top:0; width:1000; height:230; z-index:3">
<table width="50" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="previews/1.jpg" width="348" height="180"></td>
<td><img src="previews/2.jpg" width="348" height="180"></td>
<td><img src="previews/3.jpg" width="348" height="180"></td>
</tr>
</table>
</div>
</div>

</body>
</html>