var scObj1 = new scrollObject("scObj1", "MainName", 300, 75, "white", "up", 1, 130, 30, 0, "scrollClass"); scObj1.block[0]="

"; function scrollObject(objName, main, width, height, bkgcol, direct, deccel, begin, speed, pause, classname) { this.objName = objName; this.main = main; this.one = main + "Block1"; this.two = main + "Block2"; this.block = new Array(); this.blockup = 1; this.divup = 1; this.height = height; this.width = width; this.bkgcol = bkgcol; this.direct = direct; this.deccel = Math.max(deccel, 1); this.begin = Math.max(Math.min(begin, (direct == "up" || direct == "down") ? height : width), 1); this.speed = speed; this.pause = pause; this.slide = ((direct == "up" || direct == "down") ? height : width) / this.begin ; this.table = "
"; //this.table = "
"; this.active = false; this.moving = false; this.process = 0; this.mouse = false; this.scroll = function() { if (!document.getElementById) return false; document.getElementById(this.main).innerHTML = "
"; var divList = [document.getElementById(this.main), document.getElementById(this.one), document.getElementById(this.two)]; for (var i = 0; i <= 2; i++) { if (i > 0) { divList[i].style.position = "absolute"; if (this.direct == "up" || this.direct == "down") { divList[i].style.left = "0px"; divList[i].style.top = (i == 1) ? "0px" : ((this.direct == "up") ? "" : "-") + this.height + "px"; } else { divList[i].style.left = (i == 1) ? "0px" : ((this.direct == "left") ? "" : "-") + this.width + "px"; divList[i].style.top = "0px"; } divList[i].innerHTML = this.table + this.block[i - 1] + "
"; } else { divList[i].style.position = "relative"; divList[i].style.background = this.bkgcol; if (this.block.length > 1) { divList[i].onmouseover = new Function("if (" + this.objName + ".active) setTimeout(\"" + this.objName + ".scrollWait();\", " + this.objName + ".pause); " + this.objName + ".active = false; " + this.objName + ".mouse = true;"); divList[i].onmouseout = new Function(this.objName + ".mouse = false;"); } } divList[i].style.overflow = "hidden"; divList[i].style.width = this.width + "px"; divList[i].style.height = this.height + "px"; } this.active = true; if (this.block.length > 1) this.process = setTimeout(this.objName + ".scrollLoop();", this.pause); } this.scrollLoop = function() { clearTimeout(this.process); if (this.moving == false && this.active == false) return false; var divList = [document.getElementById(this.main), document.getElementById(this.one), document.getElementById(this.two)]; this.slide = Math.max(this.slide / this.deccel, 1); var slideInc = (this.direct == "up" || this.direct == "left") ? -parseInt(this.slide) : parseInt(this.slide); if ((this.direct == "up" && Math.max(parseInt(divList[1].style.top) + slideInc, parseInt(divList[2].style.top) + slideInc) <= 0) || (this.direct == "down" && Math.min(parseInt(divList[1].style.top) + slideInc, parseInt(divList[2].style.top) + slideInc) >= 0) || (this.direct == "left" && Math.max(parseInt(divList[1].style.left) + slideInc, parseInt(divList[2].style.left) + slideInc) <= 0) || (this.direct == "right" && Math.min(parseInt(divList[1].style.left) + slideInc, parseInt(divList[2].style.left) + slideInc) >= 0)) { this.slide = ((this.direct == "up" || this.direct == "down") ? this.height : this.width) / this.begin; if (++this.blockup >= this.block.length) this.blockup = 0; this.divup = (this.divup == 1) ? 2 : 1; if (this.direct == "up" || this.direct == "down") { divList[3 - this.divup].style.top = ((this.direct == "down") ? "-" : "") + this.height + "px"; divList[this.divup].style.top = "0px"; } else { divList[3 - this.divup].style.left = ((this.direct == "right") ? "-" : "") + this.width + "px"; divList[this.divup].style.left = "0px"; } divList[3 - this.divup].innerHTML = this.table + this.block[this.blockup] + "
"; this.moving = false; this.process = setTimeout(this.objName + ".scrollLoop();", this.pause); } else { this.moving = true; for (var j = 1; j <= 2; j++) { if (this.direct == "up" || this.direct == "down") { divList[j].style.top = (parseInt(divList[j].style.top) + slideInc) + "px"; } else divList[j].style.left = (parseInt(divList[j].style.left) + slideInc) + "px"; } this.process = setTimeout(this.objName + ".scrollLoop();", this.speed); } } this.scrollWait = function() { clearTimeout(this.process); if (this.active) return false; if (!this.mouse) { this.active = true; this.process = setTimeout(this.objName + ".scrollLoop();", this.pause / 2); } else this.process = setTimeout(this.objName + ".scrollWait();", this.pause); } } // JavaScript Document