function ZoomBox() {
	this.top = 0;
	this.left = 0;
	this.width = 0;
	this.height = 0;
	this.startX = 0;
	this.startY = 0;
	this.elementId= '';
	this.mouseDown = 0;
	this.extent = new Extent();
	this.topHorizontal = '';
	this.bottomHorizontal = '';
	this.leftVertical = '';
	this.rightVertical = '';
	
}


function startbox(objPoint) {
	DOM = getDOM();
	
	if (this.mouseDown==0) {
		if (DOM=="GETID" || DOM=="ALL") {	
			if (DOM=="GETID") {	
				theDom = document.getElementById(this.elementId).style;
			}
			else {
				theDom = document.all(this.elementId).style
			}
			theDom.top = objPoint.x;
			theDom.left = objPoint.y;
			theDom.width = 0;
			theDom.height = 0;
			
		}
		if (DOM=="LAYERS") {
			var hzntl1 = document.layers[this.topHorizontal];
			var hzntl2 = document.layers[this.bottomHorizontal];
			var vertcl1 = document.layers[this.leftVertical];
			var vertcl2 = document.layers[this.rightVertical];
			hzntl1.visibility = 'show';
			hzntl1.resizeTo(2,800);
			hzntl1.moveTo(objPoint.x,objPoint.y);
			hzntl2.visibility = "show";
			hzntl2.resizeTo(2,800);
			hzntl2.moveTo(objPoint.x,objPoint.y);
			vertcl1.visibility = 'show';
			vertcl1.resizeTo(800,2);
			vertcl1.moveTo(objPoint.x,objPoint.y);
			vertcl2.visibility = "show";
			vertcl2.resizeTo(800,2);
			vertcl2.moveTo(objPoint.x,objPoint.y);
		}
		
		this.startX = objPoint.x;
		this.startY = objPoint.y;
		this.width = 0;
		this.height = 0;
		this.mouseDown=1;
	}
}


function drawbox(objPoint) {
	DOM = getDOM();
	if (DOM=="GETID" || DOM=="ALL") {	
		if (DOM=="GETID") {	
			theDom = document.getElementById(this.elementId).style;
		}
		else {
			theDom = document.all(this.elementId).style
		}
		theDom.visibility = 'visible';
		if (this.startX <= objPoint.x) {
			theDom.left = this.startX
			theDom.width = (objPoint.x - this.startX)
			this.width = (objPoint.x - this.startX)
			this.extent.minx = this.startX
			this.extent.maxx = this.startX + this.width
		}
		else {
			theDom.left = objPoint.x
			theDom.width = Math.abs(objPoint.x - this.startX)
			this.width = Math.abs(objPoint.x - this.startX)
			this.extent.minx =  objPoint.x
			this.extent.maxx =  objPoint.x + this.width
		}
		if (this.startY >= objPoint.y) {
			theDom.top = objPoint.y
			theDom.height = Math.abs(objPoint.y - this.startY)
			this.height =  Math.abs(objPoint.y - this.startY)
			this.extent.miny = objPoint.y
			this.extent.maxy = objPoint.y + this.height
		}
		else {
			theDom.top = this.startY
			theDom.height = (objPoint.y - this.startY)
			this.height =  (objPoint.y - this.startY)
			this.extent.miny = this.startY
			this.extent.maxy = this.startY + this.height
		}	
	}
	if (DOM=="LAYERS") {
		var hzntl1 =document.layers[this.topHorizontal];
		var hzntl2 = document.layers[this.bottomHorizontal];
		var vertcl1 = document.layers[this.leftVertical];
		var vertcl2 = document.layers[this.rightVertical];
		if (objPoint.x > this.startX){			
			diff_x = objPoint.x - this.startX;
			hzntl1.resizeTo(diff_x,2);
			hzntl2.resizeTo(diff_x,2);
			hzntl2.moveTo(this.startX,objPoint.y);
			hzntl1.moveTo(this.startX,this.startY);
		}
		else {
			diff_x =  this.startX - objPoint.x;
			hzntl1.moveTo(objPoint.x,this.startY);
			hzntl2.moveTo(objPoint.x,objPoint.y);
			hzntl1.resizeTo(diff_x,2);
			hzntl2.resizeTo(diff_x,2);
		}
		if (objPoint.y > this.startY) {
			diff_y = objPoint.y - this.startY;
			vertcl1.resizeTo(800,(diff_y+2));
			vertcl1.moveTo(this.startX,this.startY);
			vertcl2.resizeTo(800,(diff_y+2));
			vertcl2.moveTo(objPoint.x,this.startY);	
		}
		else {
			diff_y = this.startY - (objPoint.y);
			vertcl1.resizeTo(800,(diff_y+2));
			vertcl1.moveTo(this.startX,objPoint.y);
			vertcl2.resizeTo(800,(diff_y+2));
			vertcl2.moveTo(objPoint.x,objPoint.y);
		}
	}
}

function endbox() {
	this.mouseDown=0;
}

function deletebox() {
	DOM = getDOM();
	if (DOM=="GETID" || DOM=="ALL") {	
		if (DOM=="GETID") {	
			theDom = document.getElementById(this.elementId).style;
		}
		else {
			theDom = document.all(this.elementId).style
		}
		theDom.visibility = 'hidden';
	}
	if (DOM=="LAYERS") {
		var hzntl1 = document.layers[this.topHorizontal];
		var hzntl2 = document.layers[this.bottomHorizontal];
		var vertcl1 = document.layers[this.leftVertical];
		var vertcl2 = document.layers[this.rightVertical];
		hzntl1.visibility = 'hide';
		hzntl2.visibility = 'hide';
		vertcl1.visibility = 'hide';
		vertcl2.visibility = 'hide';
	}
}

function getboxextent(objMap) {
	var tmpExtent = new Extent();
	tmpExtent.maxx = 0;
	tmpExtent.maxy = 0;
	tmpExtent.minx = 0;
	tmpExtent.miny = 0;
	tmpExtent.minx = this.extent.minx - objMap.left;
	tmpExtent.maxx = tmpExtent.minx + this.width;
	tmpExtent.miny = this.extent.miny - objMap.top;
	tmpExtent.maxy = (tmpExtent.miny + this.height);
	return tmpExtent;
}

ZoomBox.prototype.StartBox = startbox;
ZoomBox.prototype.DrawBox = drawbox;
ZoomBox.prototype.EndBox = endbox;
ZoomBox.prototype.GetBoxExtent = getboxextent;
ZoomBox.prototype.DeleteBox = deletebox;

//*******************************************************************
//dom
function getDOM() {
	var browser = navigator.appName;
	var version = parseInt(navigator.appVersion);
	var DOM = "";
	if (document.getElementById) {
		DOM = "GETID";
	}
	else {
		if (browser != "Microsoft Internet Explorer") {
			if (version<5 ){
				DOM = "LAYERS";			
			}
		}
		else {
			DOM = "ALL";
		}
	}
	return DOM;
}
//*******************************************************************