  var ns = (navigator.appName.indexOf("Netscape") != -1);
  var d = document;
  var px = document.layers ? "" : "px";
  var content_width = 800;
  var map_width = 450;
  var map_top = 100;

  function initScrollMap(cw,mw,mt){
    if(cw)content_width = cw;
    if(mw)map_width = mw;
    if(mt)map_top = mt;
    doScrollMap();
  }

  function doScrollMap(){
    var myWidth = document.body.offsetWidth;
    var myHeight = document.body.offsetHeight;
    var new_x_position = ((myWidth - content_width)/2) + (content_width-map_width);
    JSFX_FloatDiv("map",new_x_position,10,map_top).flt();
  }

  function JSFX_FloatDiv(id, sx, sy, topp){
    var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
    window[id + "_obj"] = el;
    if(d.layers)el.style=el;
    el.cx = el.sx = sx;el.cy = el.sy = sy;el.topp = topp;
    el.style.top=topp+px;

    el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};
    el.flt=function(){
      var pX, pY;
      var pxpy = getScrollXY();
      pX = pxpy[0];
      pY = pxpy[1];
      if(this.sy<0) 
      pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
      document.documentElement.clientHeight : document.body.clientHeight;
      if(pY<this.topp)pY = 0;
      this.cx += (pX + this.sx - this.cx)/8;
      var mtop = 0;
      if(pY<this.topp)mtop = this.topp;
      this.cy += (pY + this.sy - this.cy + mtop)/8;
      this.sP(this.cx, this.cy);
      setTimeout(this.id + "_obj.flt()", 40);
    }
    return el;
  }

  function getScrollXY() {
    var scrOfX = 0, scrOfY = 0;
    if( typeof( window.pageYOffset ) == 'number' ) {
      //Netscape compliant
      scrOfY = window.pageYOffset;
      scrOfX = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
      //DOM compliant
      scrOfY = document.body.scrollTop;
      scrOfX = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
      //IE6 standards compliant mode
      scrOfY = document.documentElement.scrollTop;
      scrOfX = document.documentElement.scrollLeft;
    }
    return [ scrOfX, scrOfY ];
  }

  window.onresize = doScrollMap;