здравствуйте. вот одна часть кода:
<tr>
			<td>
			<div id=point1 style="visibility:visible; display:inline">.</div>
			<div id=point2 style="visibility:hidden; display:inline">.</div>
			<div id=point3 style="visibility:hidden; display:inline">.</div>
			</td>
</tr>
вот функция:
<script type="text/javascript">
	var vis1=1, vis2=0, vis3=0;
	function cycle() {
		if (vis1==1 && vis2==0) {
			alert("first");
			document.all.point2.style.visibility="visible";
			vis2=1;
			setTimeout(cycle(),2000);
		} else if (vis1==1 && vis2==1 && vis3==0) {
			alert("second");
			document.all.point3.style.visibility="visible";
			vis3=1;
			setTimeout(cycle(),2000);
		} else if (vis1==1 && vis2==1 && vis3==1) {
			alert("3-d");
			document.all.point1.style.visibility="hidden";
			document.all.point2.style.visibility="hidden";
			document.all.point3.style.visibility="hidden";
			vis1=0;
			vis2=0;
			vis3=0;
			setTimeout(cycle(),2000);
		} else if (vis1==0) {
			alert("4-d");
			document.all.point1.style.visibility="visible";
			vis1=1;
			setTimeout(cycle(),2000);
		}
	}
</script>
вызов функции происходит в самом конце кода перед </body> таким образом:
<script type="text/javascript">cycle();</script>
объясниите мне пожалуйста ничего не понимающему, почему функция отказывается работать без алертов. а вот с ними, бесконечно всплывающих на экранах, все работает прекрасно.
таким образом пытался достичь эффекта мигающих точек, как будто идет загрузка.