	// Show/hide page element (if it is hidden, show it, if it is visible, hide it), and set a cookie to remember its status
	function displayElement( id , no_cookie ) {
		var itm = null;
		if ( document.getElementById ) {
			itm = document.getElementById( id );
		} else if ( document.all ) {
			itm = document.all[id];
		} else if ( document.layers ) {
			itm = document.layers[id];
		}
		if ( !itm ) {
			// do nothing
		}
		else if ( itm.style ) {
			// Element is hidden, show it
			if ( itm.style.display == 'none' ) {
				itm.style.display = '';
				// Set a cookie to remember to keep it visible
				if ( !no_cookie ) { SetCookie ( 'show_' + id, 'yes' ); }
				if ( document.getElementById ) {
					img = document.getElementById( 'toggleimg_' + id );
				} else if ( document.all ) {
					img = document.all['toggleimg_' + id];
				} else if ( document.layers ) {
					img = document.images['toggleimg_' + id];
				}
				if (img)
				{
					img.src = img.src.replace(/closed/g, 'open');
				}
			}
			// Element is visible, hide it
			else {
				itm.style.display = 'none';
				// Set a cookie to remember to keep it hidden
				if ( !no_cookie ) { SetCookie ( 'show_' + id, 'no' ); }
				if ( document.getElementById ) {
					img = document.getElementById( 'toggleimg_' + id );
				} else if ( document.all ) {
					img = document.all['toggleimg_' + id];
				} else if ( document.layers ) {
					img = document.images['toggleimg_' + id];
				}
				if (img)
				{
					img.src = img.src.replace(/open/g, 'closed');
				}
			}
		}
		else {
			itm.visibility = 'show';
		}
	}

	// Hide element on next page load
	function hideElementDelayed( id , no_cookie ) {
		var itm = null;
		if ( document.getElementById ) {
			itm = document.getElementById( id );
		} else if ( document.all ) {
			itm = document.all[id];
		} else if ( document.layers ) {
			itm = document.layers[id];
		}
		if ( !itm ) {
			// do nothing
		}
		else if ( itm.style ) {
			// Element is hidden, show it
			if ( itm.style.display == 'none' ) {
				itm.style.display = '';
				// Set a cookie to remember to keep it visible
				if ( !no_cookie ) { SetCookie ( 'show_' + id, 'yes' ); }
				if ( document.getElementById ) {
					img = document.getElementById( 'toggleimg_' + id );
				} else if ( document.all ) {
					img = document.all['toggleimg_' + id];
				} else if ( document.layers ) {
					img = document.images['toggleimg_' + id];
				}
				if (img)
				{
					img.src = img.src.replace(/closed/g, 'open');
				}
			}
			// Element is visible, hide it
			else {
				// itm.style.display = 'none';
				// Set a cookie to remember to keep it hidden
				if ( !no_cookie ) { SetCookie ( 'show_' + id, 'no' ); }
				if ( document.getElementById ) {
					img = document.getElementById( 'toggleimg_' + id );
				} else if ( document.all ) {
					img = document.all['toggleimg_' + id];
				} else if ( document.layers ) {
					img = document.images['toggleimg_' + id];
				}
				if (img)
				{
					img.src = img.src.replace(/open/g, 'closed');
				}
			}
		}
		else {
			itm.visibility = 'show';
		}
	}

	// Get the value of a cookie
	function getCookieVal ( offset ) {
		var endstr = document.cookie.indexOf ( ';', offset );
		if ( endstr == -1 )
			endstr = document.cookie.length;
		return unescape( document.cookie.substring(offset, endstr) );
	}

	function GetCookie ( name ) {
		var arg = name + '=';
		var alen = arg.length;
		var clen = document.cookie.length;
		var i = 0;
		while ( i < clen ) {
			var j = i + alen;
			if ( document.cookie.substring(i, j) == arg )
				return getCookieVal (j);
			i = document.cookie.indexOf(' ', i) + 1;
			if ( i == 0 ) break;
		}
		return null;
	}

        // Create a cookie
	function SetCookie (name, value) {
                var argv = SetCookie.arguments;
		var argc = SetCookie.arguments.length;
		var path = ( argc > 3 ) ? argv[3] : null;
		var domain = ( argc > 4 ) ? argv[4] : null;
		var secure = ( argc > 5 ) ? argv[5] : false;
                var expires = new Date ();
                expires.setTime ( expires.getTime() + (24 * 60 * 60 * 1000 * 31) );
		document.cookie = name + "=" + escape (value) +
			((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
			((domain == null) ? "" : ("; domain=" + domain)) +
			((secure == true) ? "; secure" : "");
	}

	// Run on page load: hide or show element depending on cookies and default view
	function checkDisplayStatus ( id, default_view ) {
		if ( default_view == 'hide' ) {
			if ( !GetCookie( 'show_' + id ) ) {
				displayElement ( id , true );
			}
			else if ( GetCookie("show_" + id) == 'yes' ) {
				if ( document.getElementById ) {
					img = document.getElementById( 'toggleimg_' + id );
				} else if ( document.all ) {
					img = document.all['toggleimg_' + id];
				} else if ( document.layers ) {
					img = document.images['toggleimg_' + id];
				}
				if (img)
				{
					img.src = img.src.replace(/closed/g, 'open');
				}
			}
			else if ( GetCookie('show_' + id) == 'no' ) {
				displayElement( id );
			}
		}
		if ( default_view == 'show' ) {
			// if ( !GetCookie("show_" + id) ) {
			// }
			// if  ( GetCookie("show_" + id) == 'yes' ) {
			// }
			if ( GetCookie('show_' + id) == 'no' ) {
				displayElement( id );
			}
		}
	}
