function toggleDiv(divId) { //toggle display of div

  var div = document.getElementById(divId);
 
  div.style.display = (div.style.display=="block" ? "none" : "block");

}

function expandCollapse(arrow) {
	if (arrow.src.indexOf("graphics/ani_arrow.gif") != -1) { //expand
		arrow.src = "graphics/ani_arrow_spin.gif";
	}
		else { //collapse
		arrow.src = "graphics/ani_arrow.gif";
	}
}

/* 
Standard DIV expand/collapse from Greg
	element = ID* of element to expand/collapse
	hide    = {true/false}: force hide/show (toggle from current if NULL)
	 * associated image has same ID with 'i' prefix (i.e. "iMyelement")
*/
var imageSrcPlus  = "graphics/ani_arrow.gif"						// required if an image is used
var imageSrcMinus = "graphics/ani_arrow_spin.gif"		
function expandToggle( element,hide ) {
	var sectionId = document.getElementById(element);
	if (sectionId == null) return;									// abort if this object is missing

	hide = (hide!=null)?hide:(sectionId.style.display == 'block');	// toggle or force hidden/shown

	if (hide) {												// hide the object
		sectionId.style.display = 'none';
		var ImgSrc = document.getElementById("i" + element);
		if (ImgSrc!=null) ImgSrc.src = imageSrcPlus;				// ignore the image element DNE
		}
	else {													// show the object
		sectionId.style.display = 'block';
		var ImgSrc = document.getElementById("i" + element);
		if (ImgSrc!=null) ImgSrc.src = imageSrcMinus;				// ignore the image element DNE
		}
	}

/**
 * Sets a Cookie with the given name and value.
 *
 * name       Name of the cookie
 * value      Value of the cookie
 * [expires]  Expiration date of the cookie (default: end of current session)
 * [path]     Path where the cookie is valid (default: path of calling document)
 * [domain]   Domain where the cookie is valid
 *              (default: domain of calling document)
 * [secure]   Boolean value indicating if the cookie transmission requires a
 *              secure transmission
 */
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie= name + "=" + escape(value) +
        ((expires) ? ";expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
	}

/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
	    }
    else {
        begin += 2;
    	}
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    	}
    return unescape(dc.substring(begin + prefix.length, end));
	}

/**
 * Deletes the specified cookie.
 *
 * name      name of the cookie
 * [path]    path of the cookie (must be same as path used to create cookie)
 * [domain]  domain of the cookie (must be same as domain used to create cookie)
 */
function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +  ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
	    }
	}	

//
// Create a date for Now() + (n) months
//		- n => 1, n < 11
//		- uses Day=1 to prevent illegal dates
//		- for cookie expiration purposes
//
function nextMonth(n) {
	n = (n) ? 1 : n;	// default to one month
	
	timenow  = new Date();
	newYear  = timenow.getFullYear();
	newMonth = timenow.getMonth() + n;
	
	if (newMonth > 12) {	// check for year roll-over
		newMonth = newMonth - 12;
		newYear = newYear + 1;
		}
	newDate = new Date(newYear, newMonth, 1)
	return newDate;
	}