var ns4 = document.layers;
var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) || (navigator.userAgent.indexOf("Opera/5")!=-1);
var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) || (navigator.userAgent.indexOf("Opera/6")!=-1);
var agt = navigator.userAgent.toLowerCase();
var mac = (agt.indexOf("mac")!=-1);
var ie = (agt.indexOf("msie") != -1); 
var mac_ie = mac && ie;

// Classes

function rect () {
	this.top = 0;
	this.bottom = 0;
	this.left = 0;
	this.right = 0;
}

// Get dimensions of object, by reference

function getRectByRef(obj) {	// primary function
	var rec = new rect();
	rec.top = getTopByRef(obj);
	rec.left = getLeftByRef(obj);
	rec.right = rec.left + getWidthByRef(obj);
	rec.bottom = rec.top + getHeightByRef(obj);
	return rec;
}

function getTopByRef(obj) {
	if (ns4) {
		return obj.pageY;
	} else {
		yPos = obj.offsetTop;
		tempEl = obj.offsetParent;
		while (tempEl != null) {
  			yPos += tempEl.offsetTop;
	  		tempEl = tempEl.offsetParent;
  		}
		return yPos;
	}
}

function getLeftByRef(obj) {
	if (ns4) {
		return obj.pageX;
	} else {
		xPos = obj.offsetLeft;
		tempEl = obj.offsetParent;
  		while (tempEl != null) {
  			xPos += tempEl.offsetLeft;
	  		tempEl = tempEl.offsetParent;
  		}
		return xPos;
	}
}

function getHeightByRef(obj) {
	if (ns4) {
		return obj.clip.height;
	} else {
		if (op5) { 
			xPos = obj.style.pixelHeight;
		} else {
			xPos = obj.offsetHeight;
		}
		return xPos;
	} 
}

function getWidthByRef(obj) {
	if (ns4) {
		return obj.clip.width;
	} else {
		if (op5) {
			xPos = obj.style.pixelWidth;
		} else {
			xPos = obj.offsetWidth;
		}
		return xPos;
	}
}


// Get dimensions of object, by id

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}


function getObjById(id){
	if (ns4) {
		var obj = getObjNN4(document, id);
	} else {
		if(document.getElementById) {
			var obj = document.getElementById(id);
		} else if (document.all){
			var obj = document.all[id];
		}
	}
}

function getRectById (id) {
	var obj = getObjById(id);
	var rec = getRectByRef(obj);
	return rec;
}


