	function newWindow(page, name, width, height) {
		var left;
		var top;
		var settings;
		var newWindow;

		left = (windowWidth() - width) / 2;
		top = (windowHeight() - height) / 2;

		settings = 'width=' + width + ',';
		settings += 'height=' + height + ',';
		settings += 'left=' + left + ',';
		settings += 'top=' + top + ',';
		settings += 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=no';
		
		newWindow = window.open(page, name, settings);
		if (window.focus) newWindow.window.focus();
	}
	
	function imageWindow(page, newWindowName, imageWidth, imageHeight) {
		//CONSTANTS
		var widthPadding = 18;
		var heightPadding = 28;
		var scrollBarPadding = 20;
		var widthRatio = 0.88;
		var heightRatio = 0.88;

		//VARIABLES
		var newWindowWidth, newWindowHeight;
		var maximumWindowWidth, maximumWindowHeight;
		var largeWidth, largeHeight;
		var resize;
		var settings, left, top;
		var newWindow;
		
		largeWidth = false;
		largeHeight = false;
		maximumWindowWidth = Math.floor(windowWidth() * widthRatio);
		maximumWindowHeight = Math.floor(windowHeight() * heightRatio);

		//DETERMINE THE WIDTH OF THE POP-UP WINDOW
		if (imageWidth + widthPadding > maximumWindowWidth) {
			largeWidth = true;
			newWindowWidth = maximumWindowWidth;
		}
		else {
			newWindowWidth = imageWidth + widthPadding;
		}

		//DETERMINE THE HEIGHT OF THE POP-UP WINDOW
		if (imageHeight + heightPadding > maximumWindowHeight) {
			largeHeight = true;
			newWindowHeight = maximumWindowHeight;
		}
		else {
			newWindowHeight = imageHeight + heightPadding;
		}
		
		//ADD SCROLLBAR PADDING IF ONE DIMENSION HAS EXCEEDED THE WINDOW DIMENSIONS, BUT THE OTHER ISN'T
		if (largeWidth && !largeHeight) {
			newWindowHeight = (newWindowHeight + scrollBarPadding < maximumWindowHeight) ? newWindowHeight + scrollBarPadding : maximumWindowHeight;
		}
		else if (largeHeight && !largeWidth) {
			newWindowWidth = (newWindowWidth + scrollBarPadding < maximumWindowWidth) ? newWindowWidth + scrollBarPadding : maximumWindowWidth;
		}

		//DETERMINE THE CENTRAL POSITIONS FOR THE NEW WINDOW
		left = Math.round((windowWidth() - newWindowWidth) / 2);
		top = Math.round((windowHeight() - newWindowHeight) / 2);

		//DETERMINE WHETHER THE WINDOW SHOULD HAVE SCROLLBARS AND BE RESIZABLE
		resize = (largeWidth || largeHeight) ? 'yes' : 'no';

		settings = 'width=' + newWindowWidth + ', ';
		settings += 'height=' + newWindowHeight + ', ';
		settings += 'left=' + left + ',';
		settings += 'top=' + top + ',';
		settings += 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=' + resize + ', resizable=' + resize;

		newWindow = window.open(page, newWindowName, settings);
		if (window.focus) newWindow.window.focus();
	}

	function windowWidth() {
		var width = 0;

		//Non-IE
		if (typeof(window.innerWidth) == 'number') {
			width = window.innerWidth;
		}
		//IE 6+ in 'standards compliant mode'
		else if (document.documentElement && document.documentElement.clientWidth) {
			width = document.documentElement.clientWidth;
		}
		//IE 4 compatible
		else if (document.body && document.body.clientWidth) {
			width = document.body.clientWidth;
		}
		
		return width;
	}

	function windowHeight() {
		var height = 0;

		//Non-IE
		if (typeof(window.innerHeight) == 'number') {
			height = window.innerHeight;
		}
		//IE 6+ in 'standards compliant mode'
		else if (document.documentElement && document.documentElement.clientHeight) {
			height = document.documentElement.clientHeight;
		}
		//IE 4 compatible
		else if (document.body && document.body.clientHeight) {
			height = document.body.clientHeight;
		}

		return height;
	}

	function documentWidth() {		
		return (document.body) ? document.body.clientWidth : window.innerWidth;
	}
	
	function documentHeight() {
		return (document.body) ? document.body.clientHeight : window.innerHeight;
	}
	
	function showHideRightContent(objectID, minimumDocumentWidth)	{
		if (documentWidth() >= minimumDocumentWidth) {
			expandLayer(objectID);
		}
		else {
			contractLayer(objectID);
		}
	}

	function popUp(URL) {
		day = new Date();
		id = day.getTime();
		eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=960,height=600,left = 0,top = 0');");
	}