function openSubWin(strURL, pixW, pixH, strName) {
	var newwindow = '';
	if (!newwindow.closed && newwindow.location) {
			newwindow.location.href = strURL;
	} else {
		strLocation = strURL;
		strWHandle = strName;
		strProps = "resizable=no,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,width=" + pixW + ",height=" + pixH + ",top=100,left=100";
		newwindow = window.open(strLocation, strWHandle, strProps);
	}
	if (window.focus) { newwindow.focus() }
}

/**
 * toggles the display from none to display for the elements whose id's are
 * supplied. Three arguments are displayed as parameters, however there can be
 * any number. The elements are toggled in the order they are supplied to this
 * method.
 *
 * Note:
 * the order of id's does matter, because generally one block should close
 * before another is opened.
 */
function toggleDisplay(id1, id2, id3) {
	var _elm;

	for (var i = 0 ; i < arguments.length ; i++) {
		// First close all open elements
		if (_elm = document.getElementById(arguments[i])) {
			if (_elm.style.display == 'block' || !_elm.style.display) {
				_elm.style.display = 'none';
			} else {
				_elm.style.display = 'block';
			}
		} else {
			//alert('Could not find element: ' + arguments[i]);
		}
	}
}

/**
 * object to handle the body onload event. The purpose of this object is to
 * allow scripts in the body of the HTML document to add listeners for the onload
 * event. At this time, there is no provision for adding arguments to the functions.
 *
 * Usage:
 * bodyOnloadHandler.addListener(function() {
 *   alert('body is loaded');
 * });
 */
var bodyOnloadHandler = {
	listenerCount: 0
	, listeners: []
	, dispatchEvent: function() {
		for (var i = 0 ; i < this.listeners.length ; i++) {
			this.listeners[i]();
		}
		return true ;
	}
	, addListener: function(fn) {
		this.listeners.push(fn) ;
		return true ;
	}
}




















