I've more or less finished making an address book, but it's the login page I'm having trouble with. I've used 'Layers' to make the sign up and login screens come from the top of the screen... (a dynamic menu as such). When you click the down arrow, then up, it's fine. But then when you click down again, it just flickers. The page is http://www.cbuk.org/adbook_public. The code is below:

Code:
<script language="JavaScript">
<!--
var menu_speed=8;
var menu_width=275;
var menu0_height=123;
var menu1_height=92;
var instant_close=0;
var total=2;

if(document.all)
	{
    doc = "document.all";
    sty = ".style";
    htm = ""
	}
else if(document.layers)
	{
    doc = "document";
    sty = "";
    htm = ".document"
	}

function position0Layers()
	{
	abcObj0 = eval(doc + '["Lyr0"]' + sty);	
	abcObj0.left = (menu_width*0)+5;
	abcObj0.top  = -93;
	abcObj0.height=menu0_height;
 	}
function position1Layers()
	{
	abcObj1 = eval(doc + '["Lyr1"]' + sty);	
	abcObj1.left = (menu_width*1)+5;
	abcObj1.top  = -62;
	abcObj1.height=menu1_height;
 	}

function pullitup0()
	{
	abcObj0 = eval(doc + '["Lyr0"]' + sty);
		if (window.dropdown)
			{
			clearInterval(dropdown)
			}
			pullup0=setInterval("uplift0()",1)
	}
function pullitup1()
	{
	abcObj1 = eval(doc + '["Lyr1"]' + sty);
		if (window.dropdown)
			{
			clearInterval(dropdown)
			}
			pullup1=setInterval("uplift1()",1)
	}

function dropitdown0()
	{
	abcObj0 = eval(doc + '["Lyr0"]' + sty);
		if (window.pullup)
			{
			clearInterval(pullup0)
			}
			dropdown=setInterval("downlift0()",1)
	}
function dropitdown1()
	{
	abcObj1 = eval(doc + '["Lyr1"]' + sty);
		if (window.pullup)
			{
			clearInterval(pullup1)
			}
			dropdown=setInterval("downlift1()",1)
	}

function uplift0() 
	{
	var x_pos1 = parseInt(abcObj0.top);
    if(x_pos1 >= -(menu0_height-40) ) 
		{
		if(instant_close==1)
			{
			abcObj0.top= -93;
			}
		else if(instant_close==0)
			{
			abcObj0.top = -93;
			}
		}
	else if (window.pullup)
		{
		clearInterval(pullup);
		}
	}
function uplift1() 
	{
	var x_pos1 = parseInt(abcObj1.top);
    if(x_pos1 >= -(menu1_height-40) ) 
		{
		if(instant_close==1)
			{
			abcObj1.top= -62;
			}
		else if(instant_close==0)
			{
			abcObj1.top = -62;
			}
		}
	else if (window.pullup)
		{
		clearInterval(pullup);
		}
	}

function downlift0() 
	{
	var x_pos1 = parseInt(abcObj0.top);
    if(x_pos1 < 0) 
	 	{
    	abcObj0.top = x_pos1+menu_speed;
		}
	else if (window.dropdown)
		{
		clearInterval(dropdown);
		}
	}
function downlift1() 
	{
	var x_pos1 = parseInt(abcObj1.top);
    if(x_pos1 < 0) 
	 	{
    	abcObj1.top = x_pos1+menu_speed;
		}
	else if (window.dropdown)
		{
		clearInterval(dropdown);
		}
	}

function start()
	{
	position0Layers();
	position1Layers();
	}

// end it-->
</script>
I used two lots of the same code for simplicity, because both the menu's are of different heights.

- Will