Anuncio flotante que baja con la página

El otro día un amigo me preguntó cómo hacer un anuncio flotante que baje cuando el usuario baja la página, para por ejemplo darle la bienvenida o ofrecerle registrarse.
Esto puede resultar molesto al visitante, pero he estado buscando y he encontrado en CiudadBlogger un post interesante que muestra cómo hacerlo:

1º) Añade en tu hoja de estilos esto:
#anuncio {
position: absolute;
border: 0px;
padding: 2px;
width: 300px;
height: 80px;
visibility: hidden;
z-index: 200;
top: 27px;
left: 13px;
}
Se pueden modificar las características, por supuesto.

2º) Añade antes de </head> esto:
<script type='text/javascript'>
//<![CDATA[
var persistclose=0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = 30 //set x offset of bar in pixels
var startY = 5 //set y offset of bar in pixels
var verticalpos="fromtop" //enter "fromtop" or "frombottom"

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("anuncio").style.visibility="hidden"
}

function staticbar(){
barheight=document.getElementById("anuncio").offsetHeight
var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
var d = document;
function ml(id){
var el=d.getElementById(id);
if (!persistclose || persistclose && get_cookie("remainclosed")=="")
el.style.visibility="visible"
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function(){
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : iecompattest().scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("anuncio");
stayTopLeft();
}
if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
//]]>
</script>

3º) Ahora añadiremos el anuncio flotante, pega antes de </body> esto:
<div id='anuncio'>
<a href='Javascript:void' onClick='closebar(); return false'><img align='right' border='0' src='http://4.bp.blogspot.com/_dsEG33PDaHw/S66y-66sXXI/AAAAAAAAAOk/0GDe7kdQj4A/s200/icono-cerrar.png'/></a><br />
<div style='[COLOR="red"]background:#ccc;color:#FFF;border:3px solid #000;padding:5px;text-align:center;font-size:14px[/COLOR];'>[COLOR="red"]AQUÍ VA EL CONTENIDO DEL ANUNCIO[/COLOR]</div></a>
</div>

Como veis, donde pone <div style='background...'> es donde podéis modificar los estilos del anuncio.
Y en donde pone AQUÍ VA EL CONTENIDO DEL ANUNCIO, lógicamente, lo que pondrá el anuncio.
Hola amigo Doodleo, estamos muy agradecidos por tus aportes y tus ganas de contribuir en los proyectos de nuestros amigos de CCTW, sin embargo a título personal, no de CCTW, pienso que los aportes debieran ser en relación a consultas o solicitudes de otros usuarios, no se trata de ir a hotscripts, javascriptkit, elcodigo.net para copiar y pegar acá. Si fuese esa la idea estaríamos lleno de contenido que nos desvía y confunde del propósito escencial de la web y el foro que es enseñar y responder las consultas en relación a la creación de las webs de cada uno.

Te lo digo con el mejor ánimo y todo el respeto del mundo, sucede que comenzamos a ver en los listados una serie de recursos, de los que hay por montones en la red y dejar para el final del listado, las verdaderas consultas que requieren nuestra atención. Espero comprendas. Un abrazo.
Lo comprendo john, no me había fijado desde ese punto de vista.
Entonces, no publicaré scripts hasta que alguien me lo pida xD

Un saludo!