﻿// JScript File
/***********************************************
* Dock Content script- Created by and © Dynamicdrive.com
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full script
***********************************************/

//; z-index:1;

var offsetfromedge = 0      //offset from window edge when content is "docked". Change if desired.
var dockarray = new Array() //array to cache dockit instances
var dkclear = new Array()   //array to cache corresponding clearinterval pointers

function dockit(el, duration) {
    if (!document.all) return;
    this.source = document.all ? document.all[el] : document.getElementById(el);
    this.source.height = this.source.offsetHeight;
    this.docheight = truebody().clientHeight;
    this.duration = duration;
    this.pagetop = 0;
    this.elementoffset = this.getOffsetY();
    dockarray[dockarray.length] = this;
    var pointer = eval(dockarray.length - 1);
    var dynexpress = 'dkclear[' + pointer + ']=setInterval("dockornot(dockarray[' + pointer + '])",100);';
    dynexpress = (this.duration > 0) ? dynexpress + 'setTimeout("clearInterval(dkclear[' + pointer + ']); dockarray[' + pointer + '].source.style.top=0", duration*1000)' : dynexpress;
    eval(dynexpress);
}

dockit.prototype.getOffsetY = function () {
    var totaloffset = parseInt(this.source.offsetTop);
    var parentEl = this.source.offsetParent;
    while (parentEl != null) {
        totaloffset += parentEl.offsetTop;
        parentEl = parentEl.offsetParent;
    }
    return totaloffset;
}

function dockornot(obj) {
    obj.pagetop = truebody().scrollTop;
    if (obj.pagetop > obj.elementoffset) //detect upper offset
        obj.source.style.top = obj.pagetop - obj.elementoffset + offsetfromedge;
    else if (obj.pagetop + obj.docheight < obj.elementoffset + parseInt(obj.source.height)) //lower offset
        obj.source.style.top = obj.pagetop + obj.docheight - obj.source.height - obj.elementoffset - offsetfromedge;
    else
        obj.source.style.top = 0;
}

function truebody() {
    return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
}

if (document.all)
    document.write('<style>.dockclass{position:relative;z-index:1;background-color:White}</style>')


