Hola,
 
ya lo he conseguido más o menos... el problema es que quiero ocultar un div que ya estaba, me explico tengo esto así:  
Código:
 <script>
function mostrar(capa){
  var obj = document.getElementById(capa)
  if(obj.style.visibility== "hidden")  obj.style.visibility= '';
}
function ocultar(capa){
  var obj = document.getElementById(capa)
  if(obj.style.visibility == "") obj.style.visibility = "hidden"
}
</script>
<body onload="setTimeout('mostrar(\'flash\')', 5000)">
<div id="flash" style="visibility: hidden;">hola mundo</div>
  y sale el mensaje hola mundo a los 5 segundos... pero si yo le añado otro div llamado flash2:  
Código:
 <script>
function mostrar(capa){
  var obj = document.getElementById(capa)
  if(obj.style.visibility== "hidden")  obj.style.visibility= '';
}
function ocultar(capa){
  var obj = document.getElementById(capa)
  if(obj.style.visibility == "") obj.style.visibility = "hidden"
}
</script>
<body onload="setTimeout('mostrar(\'flash\')', 5000)">
<div id="flash2">esto es otra prueba</div>
<div id="flash" style="visibility: hidden;">hola mundo</div>
  quiero ocultarlo justo cuando se muestre el hola mundo... lo he intentado poniendo otro settimeout con la función "ocultar" pero parece que no funcionó... 
espero que se me entienda...