			
				// DATE VALIDTION //
				/* if nullable is defined, and nullable is "onlyReturnLogic", then
				alerts and focus will not occur - only true/false will be returned.
				otherwise, if nullable is defined and nullable is not "onlyReturnLogic, then
				alerts and focus WILL occur. */
				function checkdate(objName, nullable) {
					var datefield = objName;
					if ((nullable) && (datefield.value.length == 0)){
						if(nullable != 'onlyReturnLogic') {
							alert("You must enter a date.");
							datefield.focus();
						}
						return false;
					} else if (datefield.value.length < 5 && datefield.value.length > 0){
						if(nullable != 'onlyReturnLogic') {
							alert("That date is invalid.  Please try again.");
							datefield.focus();
							datefield.select();
						}
						return false;
					} else if (chkdate(objName) == false) {
						if(nullable != 'onlyReturnLogic') {
							datefield.select();
							alert("That date is invalid.  Please try again.");
							datefield.focus();
							datefield.select();
						}
						return false;
					} else if (Date.parse(datefield.value) <= Date.parse("1/1/1900") || Date.parse(datefield.value) >= Date.parse("6/6/2079") || datefield.value.substr(datefield.value.length-4,3) == '000') {
						alert("The date entered must be between 1/1/1900 and 6/6/2079");
						datefield.focus();
						datefield.select();
						return false;
					}else {
						return true;
				   }
				}
				function chkdate(objName) {
					var strDatestyle = "US";
					var strDate;
					var strDateArray;
					var strDay;
					var strMonth;
					var strYear;
					var intday;
					var intMonth;
					var intYear;
					var booFound = false;
					var datefield = objName;
					var strSeparatorArray = new Array("-"," ","/",".");
					var intElementNr;
					var err = 0;
					var strMonthArray = new Array(12);
					strMonthArray[0] = "Jan";
					strMonthArray[1] = "Feb";
					strMonthArray[2] = "Mar";
					strMonthArray[3] = "Apr";
					strMonthArray[4] = "May";
					strMonthArray[5] = "Jun";
					strMonthArray[6] = "Jul";
					strMonthArray[7] = "Aug";
					strMonthArray[8] = "Sep";
					strMonthArray[9] = "Oct";
					strMonthArray[10] = "Nov";
					strMonthArray[11] = "Dec";
					strDate = datefield.value;
					if (strDate.length < 1) {
						return true;
					}
					for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
						if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
							strDateArray = strDate.split(strSeparatorArray[intElementNr]);
							if (strDateArray.length != 3) {
								err = 1;
								return false;
							}
							else {
								strDay = strDateArray[0];
								strMonth = strDateArray[1];
								strYear = strDateArray[2];
							}
							booFound = true;
					 	}
					}
					if (booFound == false) {
						strDay = strDate.substr(0, 2);
						strMonth = strDate.substr(2, 2);
						strYear = strDate.substr(4);
					}
					// US style
					if (strDatestyle == "US") {
						strTemp = strDay;
						strDay = strMonth;
						strMonth = strTemp;
					}
					// INT style
					if (strDatestyle == "INT") {
						strTemp1 = strDay;
						strTemp3 = strYear;
						strDay = strTemp3;
						strYear = strTemp1;
					}
					if ((strYear.length == 5) || (strYear.length == 3) || (strYear.length == 1)) {
						return false;
					}
					if (strYear.length == 2) {
						if (strYear > 30){
							strYear = '19' + strYear;
						}
						else{
							strYear = '20' + strYear;
						}
					}
					intday = parseInt(strDay, 10);
					if (isNaN(intday)) {
						err = 2;
						return false;
					}
					intMonth = parseInt(strMonth, 10);
					if (isNaN(intMonth)) {
						for (i = 0;i<12;i++) {
							if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
								intMonth = i+1;
								strMonth = strMonthArray[i];
								i = 12;
					   		}
						}
						if (isNaN(intMonth)) {
							err = 3;
							return false;
					   	}
					}
					intYear = parseInt(strYear, 10);
					if (isNaN(intYear)) {
						err = 4;
						return false;
					}
					if (intMonth>12 || intMonth<1) {
						err = 5;
						return false;
					}
					if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
						err = 6;
						return false;
					}
					if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
						err = 7;
						return false;
					}
					if (intMonth == 2) {
						if (intday < 1) {
							err = 8;
							return false;
						}
						if (LeapYear(intYear) == true) {
							if (intday > 29) {
								err = 9;
								return false;
							}
						}
						else {
							if (intday > 28) {
								err = 10;
								return false;
							}
						}
					}
					if (strDatestyle == "US") {
						datefield.value = intMonth + "/" + intday + "/" + strYear;
					}
					if (strDatestyle == "EU")  {
						datefield.value = intday + "/" + intMonth + "/" + strYear;
					}
					if (strDatestyle == "INT")  {
						datefield.value = strYear + "-" + intMonth + "-" + intday;
					}
					return true;
				}
				function LeapYear(intYear) {
					if (intYear % 100 == 0) {
						if (intYear % 400 == 0) { 
							return true; 
						}
					}
					else {
						if ((intYear % 4) == 0) { 
							return true; 
						}
					}
					return false;
				}
				// DATE VALIDTION //
	