        self.onError=null;

        currentX = 0;
        currentY = 0;
        whichIt = null;
        lastScrollX = 0; lastScrollY = -25;

        NS = (document.layers) ? 1 : 0;
        IE = (document.all) ? 1: 0;

        function heartBeat() {

                if(IE) { diffY = document.body.scrollTop; }
            if(NS) { diffY = self.pageYOffset; }

                if(diffY != lastScrollY) {
                        percent = .1 * (diffY - lastScrollY);
                        if(percent > 0) percent = Math.ceil(percent);
                        else percent = Math.floor(percent);
                                        if(IE) document.all.slide.style.pixelTop
+= percent;
                                        if(NS) document.slide.top += percent;
                        lastScrollY = lastScrollY + percent;
            }
                
        }

        function checkFocus(y) {
        var totalY;
                floaty = document.slide.pageY;
                floatheight = document.slide.clip.height;

                        if(20 == 0) totalY = floatheight;
                        else totalY = 25;
                if (y > floaty && y < (floaty+totalY)) return true;
                else return false;
        }

        function grabIt(e) {
                if(IE) {
                        whichIt = event.srcElement;
                        while (whichIt.id.indexOf("slide") == -1) {
                                whichIt = whichIt.parentElement;
                                if (whichIt == null) { return true; }
                    }
                        whichIt.style.pixelTop = whichIt.offsetTop;
                        currentY = (event.clientY + document.body.scrollTop);

                        if(20 == 0) totalY = whichIt.style.pixelHeight;
                        else totalY = 20;
                        if(!(currentY > whichIt.offsetTop && currentY <
whichIt.offsetTop + totalY)) whichIt = null;
                } else {
                window.captureEvents(Event.MOUSEMOVE);
                if(checkFocus (e.pageY)) {
                        whichIt = document.slide;
                        FloatTouchedY = e.pageY-document.slide.pageY;
                }
                }
            return true;
        }

        function moveIt(e) {
                if (whichIt == null) { return false; }
                if(IE) {
                    newY = (event.clientY + document.body.scrollTop);
                    currentY = newY;
                    whichIt.style.pixelTop += distanceY;
                        if(whichIt.style.pixelTop < document.body.scrollTop)
whichIt.style.pixelTop = document.body.scrollTop;
                        
                        if(whichIt.style.pixelTop > document.body.offsetHeight +
document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop
= document.body.offsetHeight + document.body.scrollTop -
whichIt.style.pixelHeight - 5;
                        event.returnValue = false;
                } else {

whichIt.moveTo(e.pageY-FloatTouchedY);
                if(whichIt.top < 0+self.pageYOffset) whichIt.top =
0+self.pageYOffset;
                
                if( (whichIt.top + whichIt.clip.height) >=
(window.innerHeight+self.pageYOffset-17)) whichIt.top =
((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
                return false;
                }
            return false;
        }

        function dropIt() {
                whichIt = null;
            if(NS) window.releaseEvents (Event.MOUSEMOVE);
            return true;
        }


        if(NS) {
                window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
                window.onmousedown = grabIt;
                window.onmousemove = moveIt;
                window.onmouseup = dropIt;
        }
        if(IE) {
                document.onmousedown = grabIt;
                document.onmousemove = moveIt;
                document.onmouseup = dropIt;
        }


        if(NS || IE) action = window.setInterval("heartBeat()",1);