// JavaScript Document

document.write("<style type=\"text/css\">.slide_mask { position:absolute; width:1px; height:1px; overflow:hidden; z-index:2; } .slide_float { position:absolute; width:1px; height:1px; z-index:1; }</style>");

var arrSlideObj = new Array();

function slideBox(area,obj,allWidth,allHeight,pageWidth,pageHeight,maskWidth,maskHeight,blockWidth) {
	if (maskWidth == undefined) maskWidth = pageWidth;
	if (maskHeight == undefined) maskHeight = pageHeight;
	arrSlideObj.push(obj);
	this.myID = arrSlideObj.length - 1;
	obj.index = this.myID;
	mask = document.createElement("div");
	mask.className = "slide_mask";
	mask.style.width = maskWidth + "px";
	mask.style.height = maskHeight + "px";
	obj.className = "slide_float";
	obj.style.width = allWidth + "px";
	obj.style.height = allHeight + "px";
	area.appendChild(mask);
	mask.appendChild(obj);
	this.marginLeft = 0;
	this.marginTop = 0;
	//this.pageWidth = pageWidth;
	this.pageHeight = pageHeight;
	//this.pages = Math.ceil(allWidth / pageWidth);
	this.page = 0;
	this.blockLeft = 0;
	if (blockWidth != undefined) {
		this.blockWidth = blockWidth;
	}
	else this.blockWidth = pageWidth;
	this.blockPerPage = Math.floor(pageWidth / this.blockWidth);
	this.pageWidth = this.blockPerPage * this.blockWidth;
	this.pages = Math.ceil(allWidth / this.pageWidth);
	this.lmtRight = 0 - (allWidth - this.pageWidth);
	this.moving = new objFree(obj);
}

slideBox.prototype.toPage = function(n,timeUsage) {
	this.page = n;
	this.marginLeftDst = 0 - (n * this.pageWidth);
	this.moving.moveToBreak(this.marginLeftDst,0,timeUsage);
}

slideBox.prototype.toPos = function(n,timeUsage) {
	this.marginLeftDst = n;
	this.moving.moveToBreak(this.marginLeftDst,0,timeUsage);
}

slideBox.prototype.goNext = function(speed) {
	n = this.page + 1;
	if (n >= this.pages) n = this.pages - 1;
	else if (n < 0) n = 0;
	this.toPage(n,speed);
}

slideBox.prototype.goBack = function(speed) {
	n = this.page - 1;
	if (n >= this.pages) n = this.pages - 1;
	else if (n < 0) n = 0;
	this.toPage(n,speed);
}

slideBox.prototype.goNextPage = function(speed) {
	n = this.moving.x - this.pageWidth;
	if (n < this.lmtRight) n = this.lmtRight;
	this.toPos(n,speed);
}

slideBox.prototype.goBackPage = function(speed) {
	n = this.moving.x + this.pageWidth;
	if (n > 0) n = 0;
	this.toPos(n,speed);
}

slideBox.prototype.goNextBlock = function(speed) {
	n = this.moving.x - this.blockWidth;
	if (n < this.lmtRight) n = this.lmtRight;
	this.toPos(n,speed);
}

slideBox.prototype.goBackBlock = function(speed) {
	n = this.moving.x + this.blockWidth;
	if (n > 0) n = 0;
	this.toPos(n,speed);
}

slideBox.prototype.destroy = function() {
	this.moving.destroy();
	arrSlideObj[this.myID] = null;
}
