	
	function show(elem)
	{
		var menuDiv = document.getElementById(elem);
		if (menuDiv) menuDiv.style.visibility = "visible";
	}
	function hide(elem)
	{
		var menuDiv = document.getElementById(elem);
		if (menuDiv) menuDiv.style.visibility = "hidden";
	}
	function showMenu(index)
	{
		hideAll();
		document.getElementById('divMenu'+index).style.left = document.getElementById('divMarker'+index).offsetLeft;
		show('divMenu'+index);
		show('divTopHidden');
		show('divBtmHidden');
	}
	function hideMenu(index)
	{
		hide('divMenu'+index);
	}
	function hideAll()
	{
		for (i=0; i<=7; i++) hideMenu(i);
		hide('divTopHidden');
		hide('divBtmHidden');
	}
	function changeImage(imgDocID, imgObjSrc, imgObjName2) 
	{ 
		document.images[imgDocID].src = imgObjSrc; 
	}
	function newWin(pageUrl, pageHeight, pageWidth) 
	{
		theWin = window.open(pageUrl, "", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=0,width=" + pageWidth + ",height=" + pageHeight); 
		if(navigator.appName=='Netscape')  theWin.focus();
	}
	function openup(url)
	{
		window.open(url,'','width=730,height=550,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,location=yes,directories=yes');
	}
	function MM_jumpMenu(targ, selObj, restore)
	{
		eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		if (restore) selObj.selectedIndex=0;
	}
	function changeSubNav(menuItem, classChange) 
	{
		if (!NN) 
		{
			document.getElementById(menuItem).className=classChange;
			eval('document.getElementById(menuItem+"HL").className=classChange');
		}
	}
	function menuOnMouseOver(tblRow)
	{
		var alt = (menuOnMouseOver.arguments.length == 1) ? false : menuOnMouseOver.arguments[1];
		tblRow.className = tblRow.className + 'Sel';
		tblRow.getElementsByTagName("a")[0].className = tblRow.getElementsByTagName("a")[0].className + 'Sel';
		tblRow.getElementsByTagName("img")[1].src = alt ? '/images/common/orangeBoxOver.gif' : '/images/common/orangeBox.gif';
	}
	function menuOnMouseOut(tblRow)
	{
		var alt = (menuOnMouseOut.arguments.length == 1) ? false : menuOnMouseOut.arguments[1];
		tblRow.className = tblRow.className.replace('Sel', '');
		tblRow.getElementsByTagName("a")[0].className = tblRow.getElementsByTagName("a")[0].className.replace('Sel', '');
		tblRow.getElementsByTagName("img")[1].src = alt ? '/images/common/orangeBox.gif' : '/images/common/orangeBoxOver.gif';
	}
	
	/*
	* INHERITED CHECK DATE FUNCTIONS FOR PERIODIC CALC STUFF
	*/
	
	var compat = (parseInt(navigator.appVersion) >=3);
	function rollover(x, y)
	{
		if (compat) 
		{
			document.images[x].src = eval(y+'.src'); 
		}
	}

	// Declaring valid date character, minimum year and maximum year
	var dtCh= "/";
	var minYear=2003;
	var maxYear=2003;

	function isInteger(s)
	{
		var i;
		for (i = 0; i < s.length; i++)
		{
			// Check that current character is number.
			var c = s.charAt(i);
			if (((c < "0") || (c > "9"))) return false;
		}
		// All characters are numbers.
		return true;
	}

	function stripCharsInBag(s, bag)
	{
		var i;
		var returnString = "";
		// Search through string's characters one by one.
		// If character is not in bag, append to returnString.
		for (i = 0; i < s.length; i++){
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
		}
		return returnString;
	}

	function daysInFebruary (year)
	{
		// February has 29 days in any year evenly divisible by four,
		// EXCEPT for centurial years which are not also divisible by 400.
		return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
		}
		function DaysArray(n) {
		for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
		}
		return this
	}

	function isDate(dtStr)
	{
		var today = new Date()
		var formatToday = today.getMonth() + "/" + today.getDate() + "/" + today.getFullYear()
		var chkDate = new Date(dtStr)
		var daysInMonth = DaysArray(12)
		var pos1=dtStr.indexOf(dtCh)
		var pos2=dtStr.indexOf(dtCh,pos1+1)
		var strMonth=dtStr.substring(0,pos1)
		var strDay=dtStr.substring(pos1+1,pos2)
		var strYear=dtStr.substring(pos2+1)
		strYr=strYear
		
		if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
		if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
		
		for (var i = 1; i <= 3; i++) 
		{
			if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
		}
		month=parseInt(strMonth)
		day=parseInt(strDay)
		year=parseInt(strYr)
		
		if (pos1==-1 || pos2==-1)
		{
			alert("Please enter the date in the required format (mm/dd/yyyy).")
			return false
		}
		if (strMonth.length<1 || month<1 || month>12)
		{
			alert("The day/month you entered is not valid. Please enter a valid day/month.")
			return false
		}
		if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
		{
			alert("The day/month you entered is not valid. Please enter a valid day/month.")
			return false
		}
		
		if (strYear.length != 4 || year==0)
		{
			alert("Please enter the date in the required format (mm/dd/yyyy).")
			return false
		}
		
		if (strYear.length != 4 || year==0 || year<minYear)
		{
			alert("The information you requested is currently not available. Please enter a date no earlier than 01/01/03.")
			return false
		}
		
		if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false)
		{
			alert("Please enter the date in the required format (mm/dd/yyyy).")
			return false
		}
		
		if (chkDate.getDay() == 0 || chkDate.getDay() == 6)
		{
			alert("The information you requested is only available for regular business days (Mon. - Fri.). Please enter a valid business date.")
			return false
		}

		if (chkDate >= today) 
		{
			alert("The information you requested is not available. Please enter a date no earlier than 01/01/03 and no later than today's date.")
			return false
		}
		return true
	}
