var ns4;				
var op5;				
var op6;				
var agt;				
var mac;				
var ie; 				
var mac_ie;				
				
function sniffBrowsers() {				
	ns4 = document.layers;			
	op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);			
	op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);			
	agt=navigator.userAgent.toLowerCase();			
	mac = (agt.indexOf("mac")!=-1);			
	ie = (agt.indexOf("msie") != -1); 			
	mac_ie = mac && ie;			
}				
				
				
function getStyleObject(objectId, doc) {				
    if(document.getElementById && document.getElementById(objectId)) {				
	return document.getElementById(objectId).style;			
    } else if (document.all && document.all(objectId)) {				
	return document.all(objectId).style;			
    } else if (document.layers && document.layers[objectId]) {				
		return getObjNN4(document,objectId);		
    } else {				
	return false;			
    }				
} 				
				
function changeObjectVisibility(objectId, newVisibility) {				
    var styleObject = getStyleObject(objectId, document);				
    if(styleObject) {				
	styleObject.visibility = newVisibility;			
	return true;			
    } else {				
	return false;			
    }				
} 				
				
function findImage(name, doc) {				
	var i, img;			
	for (i = 0; i < doc.images.length; i++) {			
    	if (doc.images[i].name == name) {			
			return doc.images[i];	
		}		
	}			
	for (i = 0; i < doc.layers.length; i++) {			
    	if ((img = findImage(name, doc.layers[i].document)) != null) {			
			img.container = doc.layers[i];	
			return img;	
    	}			
	}			
	return null;			
}				
				
function getImage(name) {				
	if (document.layers) {			
    	return findImage(name, document);			
	}			
	return null;			
}				
				
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 getElementHeight(Elem) {				
	if (ns4) {			
		var elem = getObjNN4(document, Elem);		
		return elem.clip.height;		
	} else {			
		var elem;		
		if(document.getElementById) {		
			var elem = document.getElementById(Elem);	
		} else if (document.all){		
			var elem = document.all[Elem];	
		}		
		if (op5) {		
			xPos = elem.style.pixelHeight;	
		} else {		
			xPos = elem.offsetHeight;	
		}		
		return xPos;		
	} 			
}				
				
function getElementWidth(Elem) {				
	if (ns4) {			
		var elem = getObjNN4(document, Elem);		
		return elem.clip.width;		
	} else {			
		var elem;		
		if(document.getElementById) {		
			var elem = document.getElementById(Elem);	
		} else if (document.all){		
			var elem = document.all[Elem];	
		}		
		if (op5) {		
			xPos = elem.style.pixelWidth;	
		} else {		
			xPos = elem.offsetWidth;	
		}		
		return xPos;		
	}			
}				
				
function getElementLeft(Elem) {				
	if (ns4) {			
		var elem = getObjNN4(document, Elem);		
		return elem.pageX;		
	} else {			
		var elem;		
		if(document.getElementById) {		
			var elem = document.getElementById(Elem);	
		} else if (document.all){		
			var elem = document.all[Elem];	
		}		
		xPos = elem.offsetLeft;		
		tempEl = elem.offsetParent;		
  		while (tempEl != null) {		
  			xPos += tempEl.offsetLeft;	
	  		tempEl = tempEl.offsetParent;	
  		}		
		return xPos;		
	}			
}				
				
				
function getElementTop(Elem) {				
	if (ns4) {			
		var elem = getObjNN4(document, Elem);		
		return elem.pageY;		
	} else {			
		if(document.getElementById) {		
			var elem = document.getElementById(Elem);	
		} else if (document.all) {		
			var elem = document.all[Elem];	
		}		
		yPos = elem.offsetTop;		
		tempEl = elem.offsetParent;		
		while (tempEl != null) {		
  			yPos += tempEl.offsetTop;	
	  		tempEl = tempEl.offsetParent;	
  		}		
		return yPos;		
	}			
}				
				
				
function getImageLeft(myImage) {				
	var x, obj;			
	if (document.layers) {			
		var img = getImage(myImage);		
    	if (img.container != null)			
			return img.container.pageX + img.x;	
		else		
			return img.x;	
  	} else {			
		return getElementLeft(myImage);		
	}			
	return -1;			
}				
				
function getImageTop(myImage) {				
	var y, obj;			
	if (document.layers) {			
		var img = getImage(myImage);		
		if (img.container != null)		
			return img.container.pageY + img.y;	
		else		
			return img.y;	
	} else {			
		return getElementTop(myImage);		
	}			
	return -1;			
}				
				
function getImageWidth(myImage) {				
	var x, obj;			
	if (document.layers) {			
		var img = getImage(myImage);		
		return img.width;		
	} else {			
		return getElementWidth(myImage);		
	}			
	return -1;			
}				
				
				
				
function getImageHeight(myImage) {				
	var y, obj;			
	if (document.layers) {			
		var img = getImage(myImage);		
		return img.height;		
	} else {			
		return getElementHeight(myImage);		
	}			
	return -1;			
}				
				
function moveXY(myObject, x, y) {				
	obj = getStyleObject(myObject)			
	if (ns4) {			
		obj.top = y;		
 		obj.left = x;		
	} else {			
		if (op5) {		
			obj.pixelTop = y;	
 			obj.pixelLeft = x;	
		} else {		
			obj.top = y + 'px';	
 			obj.left = x + 'px';	
		}		
	}			
}				
				
function changeClass(Elem, myClass) {				
	var elem;			
	if(document.getElementById) {			
		var elem = document.getElementById(Elem);		
	} else if (document.all){			
		var elem = document.all[Elem];		
	}			
	if (op5 || op6) elem.style.className = myClass;			
	else elem.className = myClass;			
}				
				
function changeBGColour(myObject, colour) {				
	if (ns4) {			
		var obj = getObjNN4(document, myObject);		
		obj.bgColor=colour;		
	} else {			
		var obj = getStyleObject(myObject);		
		if (op5) {		
			obj.background = colour;	
		} else {		
			obj.backgroundColor = colour;	
		}		
	}			
}				
				
function changeImage(target, source) {				
	var imageObj;			
				
	if (ns4) {			
		imageObj = getImage(target);		
		if (imageObj) imageObj.src = eval(source).src; 		
	} else {			
		imageObj = eval('document.images.' + target);		
		if (imageObj) imageObj.src = eval(source).src; 		
	}			
}				
				

