Ok, I've got this scrolling text javascript which was has been cleaned up a little so that it validates on the W3 Validator.
<script type="text/javascript">

//configure the below five variables to change the style of the scroller
var scrollerdelay='3300' //delay between msg scrolls. 3000=3 seconds.
var scrollerwidth='230px'
var scrollerheight='73px'
var scrollerbgcolor='white'
//set below to '' if you don't wish to use a background image
var scrollerbackground=''

//configure the below variable to change the contents of the scroller
var messages=new Array();
messages[0]="<ul class='scrolling1'><li style='padding-bottom:7px; padding-top:-3px;'><a href='/inlandrevenue'>Contact Centre Vacancies with the Inland Revenue<\/a><\/li><li><a href='/parkdean'>Interim Finance vacancies at Parkdean Holidays<\/a><\/li><\/ul>";
messages[1]="<ul class='scrolling1'><li style='padding-bottom:7px'><a href='/npower'>npower are recruiting Team Leaders in Newcastle<\/a><\/li><li><a href='/nbs'>Contact Centre vacancies at Newcastle Building Society<\/a><\/li><\/ul>";
messages[2]="<ul class='scrolling1'><li style='padding-bottom:7px'><a href='/tsg'>Sales Director position at Technology Services Group<\/a><\/li><li><a href='/barclays'>Barclays are recruiting Team Leaders in Sunderland<\/a><\/li><\/ul>";
messages[3]="<ul class='scrolling1'><li style='padding-bottom:7px'><a href='/lsc'>Project Manager vacancies at the Legal Services Commission<\/a><\/li><li><a href='/nrg'>Exciting Recuitment positions at the NRG Group<\/a><\/li><\/ul>";

///////Do not edit pass this line///////////////////////

var ie=document.all
var dom=document.getElementById

if (messages.length>2)
i=2
else
i=0

function move1(whichlayer){
tlayer=eval(whichlayer)
if (tlayer.top>0 && tlayer.top<=5){
tlayer.top=0
setTimeout("move1(tlayer)",scrollerdelay)
setTimeout("move2(document.getElementById('scroller').document.second)",scrollerdelay)
return
}
if (tlayer.top>=tlayer.document.height*-1){
tlayer.top-=5
setTimeout("move1(tlayer)",50)
}
else{
tlayer.top=parseInt(scrollerheight)
tlayer.document.write(messages[i])
tlayer.document.close()
if (i==messages.length-1)
i=0
else
i++
}
}

function move2(whichlayer){
tlayer2=eval(whichlayer)
if (tlayer2.top>0 && tlayer2.top<=5){
tlayer2.top=0
setTimeout("move2(tlayer2)",scrollerdelay)
setTimeout("move1(document.getElementById('scroller').document.first)",scrollerdelay)
return
}
if (tlayer2.top>=tlayer2.document.height*-1){
tlayer2.top-=5
setTimeout("move2(tlayer2)",50)
}
else{
tlayer2.top=parseInt(scrollerheight)
tlayer2.document.write(messages[i])
tlayer2.document.close()
if (i==messages.length-1)
i=0
else
i++
}
}

function move3(whichdiv){
tdiv=eval(whichdiv)
if (parseInt(tdiv.style.top)>0 && parseInt(tdiv.style.top)<=5){
tdiv.style.top=0+"px"
setTimeout("move3(tdiv)",scrollerdelay)
setTimeout("move4(second2_obj)",scrollerdelay)
return
}
if (parseInt(tdiv.style.top)>=tdiv.offsetHeight*-1){
tdiv.style.top=parseInt(tdiv.style.top)-5+"px"
setTimeout("move3(tdiv)",50)
}
else{
tdiv.style.top=parseInt(scrollerheight)
tdiv.innerHTML=messages[i]
if (i==messages.length-1)
i=0
else
i++
}
}

function move4(whichdiv){
tdiv2=eval(whichdiv)
if (parseInt(tdiv2.style.top)>0 && parseInt(tdiv2.style.top)<=5){
tdiv2.style.top=0+"px"
setTimeout("move4(tdiv2)",scrollerdelay)
setTimeout("move3(first2_obj)",scrollerdelay)
return
}
if (parseInt(tdiv2.style.top)>=tdiv2.offsetHeight*-1){
tdiv2.style.top=parseInt(tdiv2.style.top)-5+"px"
setTimeout("move4(second2_obj)",50)
}
else{
tdiv2.style.top=parseInt(scrollerheight)
tdiv2.innerHTML=messages[i]
if (i==messages.length-1)
i=0
else
i++
}
}

function startscroll(){
if (ie¦¦dom){
first2_obj=ie? first2 : document.getElementById("first2")
second2_obj=ie? second2 : document.getElementById("second2")
move3(first2_obj)
second2_obj.style.top=scrollerheight
second2_obj.style.visibility='visible'
}
else if (document.layers){
document.getElementById('scroller').visibility='show'
move1(document.getElementById('scroller').document.first)
document.getElementById('scroller').document.second.top=parseInt(scrollerheight)+5
document.getElementById('scroller').document.second.visibility='show'
}
}

window.onload=startscroll

</script>

<div id="scroller" style=" width:230px; margin: auto auto; visibility:hidden; " >
<div id="first" style=" left:0; top:1px; width:230px; " >

<script type="text/javascript" >
if (document.layers) {
document.write(messages[0]);
}
</script>

</div><!-- first //-->
<div id="second" style=" left:0; top:0; width:230px; margin: auto auto; visibility:hidden; " >

<script type="text/javascript" >
if (document.layers) {
document.write(messages[dyndetermine=(messages.length==1)? 0 : 1]);
}
</script>
</div><!-- second //-->
</div><!-- scroller //-->

<script type="text/javascript" >
if (ie¦¦dom){
document.writeln('<div id="scroller2" style=" position:relative; width:230px; height:73px; overflow:hidden; ">')
document.writeln('<div style="position:absolute; width:230px; height:73px; clip:rect(0 230px 73px 0); left:0px; top:0px">')
document.writeln('<div id="first2" style="position:absolute; width:230px; left:0px; top:1px; ">')
document.write(messages[0])
document.writeln('<\/div>')
document.writeln('<div id="second2" style="position:absolute; width:230px; left:0px; top:0px; visibility:hidden">')
document.write(messages[dyndetermine=(messages.length==1)? 0 : 1])
document.writeln('<\/div>')
document.writeln('<\/div>')
document.writeln('<\/div>')
}
</script>

It works perfectly in IE5+ regardless of doc type declaration

http://www.nrgplc.com/test

However if I use a doctype declaration with the link in it, like this

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

and view the page in NS7+, only the first two messages scroll and then the whole thing dissapears. If however, I remove the link the doc type declaration, (and therefore put NS7 into quirks mode) it works fine.

Any ideas why this is happening? any help would be greatly appreciated.

Thanks
Marcus