	function validateDate(theDate){
		var tokens = theDate.split('/');
		
		if(tokens.length != 3)
			return false;
		
		// Validate each token
		for(var i=0; i<tokens.length; i++){
		
			// Validate the length of the tokenized date strings
			if(tokens[i].length > 2 || tokens[i].length < 1) 
				return false;
			
			// Validate that the tokens are numbers
			if(isNaN(tokens[i]))
				return false;
		}
		
		// Validate the month value
		if(parseInt(tokens[0]) > 12 || parseInt(tokens[0]) < 1)
			return false;
			
		// Validate the day value
		if(parseInt(tokens[1]) > 31 || parseInt(tokens[1]) < 1)
			return false;
		
		return true;
	}

	function validateEmail(theAddress)
	{
		var returnValue = true;
		var AtSym       = theAddress.indexOf('@');
		var Period      = theAddress.lastIndexOf('.');
		var Space       = theAddress.indexOf(' ');
		var Length      = theAddress.length - 1;  // Array is from 0 to length-1
	
		// '@' cannot be in first position, Must be at least one valid char btwn '@' and '.'
		// Must be at least one valid char after '.', No empty spaces permitted
		if((AtSym < 1) || (Period <= AtSym+1) || (Period == Length ) || (Space  != -1))
			returnValue = false;
	
		return returnValue;
	}
	
	var remote;
	function launchWin(helpURL, size)
	{
		// size string should have the format of 'width=#,height=#'
		// this avoids having to change all the function calls to launchHelp()
		var firstEqual = size.indexOf("=")+1;
		var comma = size.indexOf(",")+1;
		var secondEqual =  size.lastIndexOf("=")+1;
		var sizeLen = size.length;
		
		var w = parseInt(size.substring(firstEqual, comma));
		var h = parseInt(size.substring(secondEqual, sizeLen));
		
		var xPos = (screen.height-h)/2;
		var yPos = (screen.width-w)/2;
		remote = window.open(helpURL, "AssociationForum", size+",scrollbars=1,resizable=1,left="+yPos+",top="+xPos);
		remote.focus();
	}
	
	
	function launchPrintWin(objectID)
	{
		var w = 600;
		var h = 425;
		
		var xPos = (screen.height-h)/2;
		var yPos = (screen.width-w)/2;
		remote = window.open("/printPage.asp?objectID=" + objectID, "printWin", "width=" + w + ",height=" + h + ",toolbar=1,scrollbars=1,resizable=1,left="+yPos+",top="+xPos);
		remote.focus();
	}
	
function spamKiller(name, domain)
{
	emailAddr = "mailto:" + name + "@" + domain;
	window.location = emailAddr;
}	


// Add event handler to body when window loads
function addLoadEvent(func) {
	var oldonload = window.onload;
	
	if (typeof window.onload != "function") {
		window.onload = func;
	} else {
		window.onload = function () {
			oldonload();
			func();
		}
	}
}

addLoadEvent(function () {
	//Hover.init(Hover.collections);
	//GoogleLinkTracker.init();
});

//JasonM: Commented out Hover, not needed.
/*-----------------------------------------+
 | Hover - Add :hover functionality for IE |
 +-----------------------------------------*/
//var Hover = {
//	// Create two-dimensional array of identifiers for hover effect
//	// [id/class] [child nodes] [unique]
//	collections : new Array(
//		new Array("nav", "li", true)
//	),
//	
//	// Find all elemnts specified in array (IE only)
//	init : function(collections) {
//		if (document.all && document.getElementById && document.getElementsByTagName) {
//			for (var i = 0; i < collections.length; i++) {
//				var list = collections[i];
//				var name = list[0];
//				var delimiter = list[1];
//				var unique = list[2];
//				var children = new Array();
//				
//				if (unique) {
//					// Unique element, find by ID
//					var parent = document.getElementById(name);
//					
//					if (parent) {
//						children = parent.getElementsByTagName(delimiter);
//						Hover.addBehaviors(children);
//					}
//				} else {
//					// Not unique, find by class
//					var parents = document.getElementsByTagName("*");
//					
//					for (var j = 0; j < parents.length; j++) {
//						if (parents[j].className.indexOf(name) > -1) {
//							children = parents[j].getElementsByTagName(delimiter);
//							Hover.addBehaviors(children);
//						}
//					}
//				}
//			}
//		}
//	},
//	
//	// Add class of "over" to elements when mouse hovers over them, remove when mouse stops hovering
//	addBehaviors : function(collection) {
//		for (var j = 0; j < collection.length; j++) {
//			var node = collection[j];
//			
//			if (node.className.indexOf("current") == -1) {
//			    node.onmouseover = function() { this.className += " over"; };
//				node.onmouseout = function() { this.className = this.className.replace(" over", ""); };
//			}
//		}
//	}
//};

//JasonM: Commented out GoogleLinkTracker, we'll need to add this back in or replace with our flavor.
///*-----------------------------------------------------------------------------------------+
// | GoogleLinkTracker - Add click tracking for Google Analytics to files and outgoing links |
// +-----------------------------------------------------------------------------------------*/
//var GoogleLinkTracker = {
//	init : function() {
//		var links = document.getElementsByTagName("a");
//		
//		for (var i = 0; i < links.length; i++) {
//			var theLink = links[i];
//			var theURL = theLink.href.toLowerCase();
//			
//			if (typeof(pageTracker) != "undefined")
//			{
//				if (/\.(bmp|doc|docx|gif|jpg|pdf|png|xls|xlsx|ppt|pptx|zip)/.test(theURL)) {
//					var func = function () { if (pageTracker) pageTracker._trackPageview("/files/" + this.href); };
//					
//					if (typeof(jQuery) != "undefined")
//						jQuery(theLink).click(func);
//					else
//						theLink.onclick = func;
//				}
//					
//				if (theURL.indexOf("associationforum.org") == -1) {
//					var func = function () { if (pageTracker) pageTracker._trackPageview("/outbound/" + this.href); };
//					
//					if (typeof(jQuery) != "undefined")
//						jQuery(theLink).click(func);
//					else
//						theLink.onlick = func;
//				}
//			}
//		}
//	}
//};
