// If true, empty fields are OK. Can be overridden for each field.
var defaultEmptyOK = true;
var required = false;
var optional = true;
var dateFO = 0;
var dateMDY = 1;
var dateANSI = 2;
var todayOrLater = 1;
var anyDate = 0;

// whitespace characters
var whitespace = " \t\n\r";

// Decimal point character differs by language and culture.
var decimalPointDelimiter = "."

// Returns true if string s is empty.
function isEmpty(s)
{
	return ((s == null) || (s.length == 0));
}

// Returns true if string s is empty or whitespace characters only.
function isWhitespace (s)
{   var i;

    // Is s empty?
    if (isEmpty(s)) return true;
    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }
    // All characters are whitespace.
    return true;
}

// Returns true if character c is a digit (0 .. 9).
function isDigit (c)
{
	return ((c >= "0") && (c <= "9"));
}

// isInteger (STRING s [, BOOLEAN emptyOK])
// Returns true if string s is an unsigned integer. 
function isInteger (s)
{
	var i;

    if (isEmpty (s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }
    // All characters are numbers.
    return true;
}

// isFloat (STRING s [, BOOLEAN emptyOK])
// Returns true if string s is an unsigned floating point (real) number. 
// Also returns true for unsigned integers.
// Does not accept exponential notation.
function isFloat (s)

{   var i;
    var seenDecimalPoint = false;

    if (isEmpty(s)) 
       if (isFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isFloat.arguments[1] == true);

    if (s == decimalPointDelimiter) return false;

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if ((c != ',') && !isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}

// isIntegerInRange (STRING s, INTEGER a, INTEGER b [, BOOLEAN emptyOK])
// Returns true if string s is an integer 
// within the range of integer arguments a and b, inclusive.
function isIntegerInRange (s, a, b)
{
	if (isEmpty(s)) 
       if (isIntegerInRange.arguments.length == 3) return defaultEmptyOK;
       else return (isIntegerInRange.arguments[3] == true);

    // Catch non-integer strings to avoid creating a NaN below,
    // which isn't available on JavaScript 1.0 for Windows.
    if (!isInteger(s, false)) return false;

    // Now, explicitly change the type to integer via parseInt
    // so that the comparison code below will work both on 
    // JavaScript 1.2 (which typechecks in equality comparisons)
    // and JavaScript 1.1 and before (which doesn't).
    var num = parseInt (s, 10);
	//alert ('iIR: str=' + s + '; val=' + num);
    return ((num >= a) && (num <= b));
}

// isYear (STRING s [, BOOLEAN emptyOK])
// Returns true if string s is a valid SQL Server year
function isYear (s)
{
	if (isEmpty(s)) 
       if (isYear.arguments.length == 1) return defaultEmptyOK;
       else return (isYear.arguments[1] == true);
    return isIntegerInRange (s, 1753, 9999);
}

// isMonth (STRING s [, BOOLEAN emptyOK])
// Returns true if string s is a valid month number between 1 and 12.
function isMonth (s)
{
	if (isEmpty(s)) 
       if (isMonth.arguments.length == 1) return defaultEmptyOK;
       else return (isMonth.arguments[1] == true);
    return isIntegerInRange (s, 1, 12);
}

// isDay (STRING s [, BOOLEAN emptyOK])
// Returns true if string s is a valid day number between 1 and 31.
function isDay (s)
{
	if (isEmpty(s)) 
       if (isDay.arguments.length == 1) return defaultEmptyOK;
       else return (isDay.arguments[1] == true);   
    return isIntegerInRange (s, 1, 31);
}

// daysInFebruary (INTEGER year)
// Given integer argument year, returns number of days in February of that year.
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 );
}

var daysInMonth = new Array (0,31,29,31,30,31,30,31,31,30,31,30,31);

// isDate (STRING year, STRING month, STRING day)
// Returns true if string arguments year, month, and day form a valid date. 
function isDate (year, month, day)
{
	// Catch invalid years, months and days
    if (! (isYear(year, false) && isMonth(month, false) && isDay(day, false))) return false;

    // Explicitly change type to integer to make code work in both
    // JavaScript 1.1 and JavaScript 1.2.
    var intYear = parseInt(year, 10);
    var intMonth = parseInt(month, 10);
    var intDay = parseInt(day, 10);

    // Catch invalid days in month, except for February
	if (intDay > daysInMonth[intMonth]) return false; 
    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;

    return true;
}

// Notify user that contents of field theField are invalid.
// String s describes expected contents of theField.value.
// Put select theField, put focus in it, and return false.
function warnInvalid (theField, s)
{
	theField.focus ();
    theField.select ();
    alert (s);
	//theField.focus ();	//Retains focus on MSIE v4 after tab
    return false;
}

/* FUNCTIONS TO CHECK VARIOUS FIELDS */

var iString = "This field must not be empty."
var iWhite = "This field shouldn't just be spaces."
var iInteger = "This field must be a number."
var iFloat = "This field must contain a number. It may include a decimal point."

function checkString (theField, emptyOK)
{   // Next line is needed on NN3 to avoid "undefined is not a number" error
    // in equality comparison below.
    if (checkString.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isWhitespace(theField.value))
		if (emptyOK == true)
			return warnInvalid (theField, iWhite);
		else
 			return warnInvalid (theField, iString);
   else return true;
}

function checkFloat (theField, emptyOK)
{
	if (checkFloat.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (!isFloat(theField.value, false)) 
       return warnInvalid (theField, iFloat);
    else return true;
}

function checkInteger (theField, emptyOK)
{
	if (checkInteger.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (!isInteger (theField.value, false)) 
       return warnInvalid (theField, iInteger);
    else return true;
}

// Check browser version
var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "/"; 
// If you are using any Java validation on the back side you will want to use the / because 
// Java date validations do not recognize the dash as a valid date separator.
var vDateType = 3; // Global value for type of date format
//                1 = mm/dd/yyyy
//                2 = yyyy/dd/mm  (Unable to do date check at this time)
//                3 = dd/mm/yyyy
var vYearType = 4; //Set to 2 or 4 for number of digits in the year for Netscape
var vYearLength = 2; // Set to 4 if you want to force the user to enter 4 digits for the year before validating.
var err = 0; // Set the error code to a default of zero


if(navigator.appName == "Netscape") {
if (navigator.appVersion < "5") {
isNav4 = true;
isNav5 = false;
}
else
if (navigator.appVersion > "4") {
isNav4 = false;
isNav5 = true;
   }
}
else {
isIE4 = true;
}

function DateFormat(vDateName, vDateValue, e, dateCheck, dateType, startDate) {
	vDateType = dateType;
	// vDateName = object name
	// vDateValue = value in the field being checked
	// e = event
	// dateCheck 
	// True  = Verify that the vDateValue is a valid date
	// False = Format values being entered into vDateValue only
	// vDateType
	// 1 = mm/dd/yyyy
	// 2 = yyyy/mm/dd
	// 3 = dd/mm/yyyy
	var whichCode = (window.Event) ? (e.which ? e.which : e.keyCode) : e.keyCode;
	
	
	
	// Check to see if a seperator is already present.
	// bypass the date if a seperator is present and the length greater than 8
	if (vDateValue.length > 8 && isNav4) {
		if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1))
		return true;
	}
	//Eliminate all the ASCII codes that are not valid
	var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
	
	if (alphaCheck.indexOf(vDateValue) >= 1) {
		if (isNav4) {
			vDateName.value = "";
			vDateName.focus();
			vDateName.select();
			return false;
		}
		else {
			vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
			return false;
		}
	}
	
	if (whichCode == 8) //Ignore the Netscape value for backspace. IE has no value
		return false;
	else {
		//Create numeric string values for 0123456789/
		//The codes provided include both keyboard and keypad values
		var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';
		
		if (strCheck.indexOf(whichCode) != -1) {
			if (isNav4) {
				if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) {
					alert("Invalid Date\nPlease Re-Enter");
					vDateName.value = "";
					vDateName.focus();
					vDateName.select();
					return false;
				}
				if (vDateValue.length == 6 && dateCheck) {
					var mDay = vDateName.value.substr(2,2);
					var mMonth = vDateName.value.substr(0,2);
					var mYear = vDateName.value.substr(4,4)
					//Turn a two digit year into a 4 digit year
					if (mYear.length == 2 && vYearType == 4) {
						var mToday = new Date();
						//If the year is greater than 30 years from now use 19, otherwise use 20
						var checkYear = mToday.getFullYear() + 30; 
						var mCheckYear = '20' + mYear;
						if (mCheckYear >= checkYear)
							mYear = '19' + mYear;
						else
							mYear = '20' + mYear;
					}
					var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;

					if (!dateValid(vDateValueCheck)) {
						alert("Invalid Date\nPlease Re-Enter");
						vDateName.value = "";
						vDateName.focus();
						vDateName.select();
						return false;
					}
					if (!PastDateCheck(mYear, mMonth, mDay))
					{
						vDateName.focus();
						return false;
					}

					return true;
				}
				else {
					// Reformat the date for validation and set date type to a 1
					if (vDateValue.length >= 8  && dateCheck) {
						if (vDateType == 1) // mmddyyyy
						{
							var mDay = vDateName.value.substr(2,2);
							var mMonth = vDateName.value.substr(0,2);
							var mYear = vDateName.value.substr(4,4)
							vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
						}
						if (vDateType == 2) // yyyymmdd
						{
							var mYear = vDateName.value.substr(0,4)
							var mMonth = vDateName.value.substr(4,2);
							var mDay = vDateName.value.substr(6,2);
							vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;
						}
						if (vDateType == 3) // ddmmyyyy
						{
							var mMonth = vDateName.value.substr(2,2);
							var mDay = vDateName.value.substr(0,2);
							var mYear = vDateName.value.substr(4,4)
							vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
						}
						//Create a temporary variable for storing the DateType and change
						//the DateType to a 1 for validation.
						var vDateTypeTemp = vDateType;
						vDateType = 1;
						var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
						if (!dateValid(vDateValueCheck)) {
							alert("Invalid Date\nPlease Re-Enter");
							vDateType = vDateTypeTemp;
							vDateName.value = "";
							vDateName.focus();
							vDateName.select();
							return false;
						}
						if (!PastDateCheck(mYear, mMonth, mDay))
						{
							vDateName.focus();
							return false;
						}

						vDateType = vDateTypeTemp;
						return true;
					}
					else {
						if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
							alert("Invalid Date\nPlease Re-Enter");
							vDateName.value = "";
							vDateName.focus();
							vDateName.select();
							return false;
						}
					}
				}
			}
			else {
				// Non isNav Check
				if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
					alert("Invalid Date\nPlease Re-Enter");
					vDateName.value = "";
					vDateName.focus();
					return true;
				}
				// Reformat date to format that can be validated. mm/dd/yyyy
				if (vDateValue.length >= 8 && dateCheck) {
					// Additional date formats can be entered here and parsed out to
					// a valid date format that the validation routine will recognize.
					if (vDateType == 1) // mm/dd/yyyy
					{
						var mMonth = vDateName.value.substr(0,2);
						var mDay = vDateName.value.substr(3,2);
						var mYear = vDateName.value.substr(6,4)
					}
					if (vDateType == 2) // yyyy/mm/dd
					{
						var mYear = vDateName.value.substr(0,4)
						var mMonth = vDateName.value.substr(5,2);
						var mDay = vDateName.value.substr(8,2);
					}
					if (vDateType == 3) // dd/mm/yyyy
					{
						var mDay = vDateName.value.substr(0,2);
						var mMonth = vDateName.value.substr(3,2);
						var mYear = vDateName.value.substr(6,4)
					}
					if (vYearLength == 4) {
						if (mYear.length < 4) {
							alert("Invalid Date\nPlease Re-Enter");
							vDateName.value = "";
							vDateName.focus();
							return true;
						}
					}
					// Create temp. variable for storing the current vDateType
					var vDateTypeTemp = vDateType;
					// Change vDateType to a 1 for standard date format for validation
					// Type will be changed back when validation is completed.
					vDateType = 1;	
					// Store reformatted date to new variable for validation.
					var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
					if (mYear.length == 2 && vYearType == 4 && dateCheck) {	
						//Turn a two digit year into a 4 digit year
						var mToday = new Date();
						//If the year is greater than 30 years from now use 19, otherwise use 20
						var checkYear = mToday.getFullYear() + 30; 
						var mCheckYear = '20' + mYear;
						if (mCheckYear >= checkYear)
							mYear = '19' + mYear;
						else
							mYear = '20' + mYear;
						vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
						// Store the new value back to the field.  This function will
						// not work with date type of 2 since the year is entered first.
						if (vDateTypeTemp == 1) // mm/dd/yyyy
							vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
						if (vDateTypeTemp == 3) // dd/mm/yyyy
							vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
					} 
					if (!dateValid(vDateValueCheck)) {
						alert("Invalid Date\nPlease Re-Enter");
						vDateType = vDateTypeTemp;
						vDateName.value = "";
						vDateName.focus();
						return true;
					}
					if (!PastDateCheck(mYear, mMonth, mDay)) {
						vDateName.focus();
						return false;
					}
					vDateType = vDateTypeTemp;
					return true;
				}
				else {
					if (vDateType == 1) {
						if (vDateValue.length == 2) {
							vDateName.value = vDateValue+strSeperator;
						}
						if (vDateValue.length == 5) {
							vDateName.value = vDateValue+strSeperator;
						}
					}
					if (vDateType == 2) {
						if (vDateValue.length == 4) {
							vDateName.value = vDateValue+strSeperator;
						}
						if (vDateValue.length == 7) {
							vDateName.value = vDateValue+strSeperator;
						}
					} 
					if (vDateType == 3) {
						if (vDateValue.length == 2) {
							vDateName.value = vDateValue+strSeperator;
						}
						if (vDateValue.length == 5) {
							vDateName.value = vDateValue+strSeperator;
						}
					}
					return true;
				}
			}
			if (vDateValue.length == 10&& dateCheck) {
				if (!dateValid(vDateName)) {
					// Un-comment the next line of code for debugging the dateValid() function error messages
					//alert(err);  
					alert("Invalid Date\nPlease Re-Enter");
					vDateName.focus();
					vDateName.select();
				}
			}
			return false;
		}
		else {
		
			// If the value is not in the string return the string minus the last
			// key entered.
			if (isNav4) {
				vDateName.value = "";
				vDateName.focus();
				vDateName.select();
				return false;
			}
			else
			{
				vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
				return false;
			}
		}
	}
}
function dateValid(objName) {
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;
strDate = objName;
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) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
}
//Adjustment for short years entered
if (strYear.length == 2) {
strYear = '20' + strYear;
}
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
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;
      }
   }
}
return true;
}
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

function PastDateCheck(mYear, mMonth, mDay)
	{
		var today, y, m, d;
		var theDate;
		today = new Date ();
		y = today.getFullYear ();
		m = today.getMonth ();	
		d = today.getDate ();	
		today = new Date (y, m, d);
		theDate = new Date (parseInt (mYear, 10), parseInt (mMonth, 10) - 1, parseInt (mDay, 10));
		if (theDate < today)
		{
			alert("You can not enter a past date.");
			return false;
		}
		else
		return true;
     }

function checkDate (theField, fmt, startDate, emptyOK)
{
	var sy, sm, sd, ss;
	
	if (theField.value == '') return true;
	
	if (checkDate.arguments.length == 3) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    //We support three styles, depending on fmt
    if (fmt == dateFO)
	{
		if (theField.value.indexOf ("/") == -1)	//No slashes
		{
			if (theField.value.length == 8) //ddmmyyyy
			{
				sd = theField.value.substring (0, 2);
				sm = theField.value.substring (2, 4);
				sy = theField.value.substring (4, 8);
			}
			else
			{
				return warnInvalid (theField, iFODate);
			}
		}
		else
		{
			ss = theField.value.split ("/");
			if (ss.length != 3)
			{
				return warnInvalid (theField, iFODate);
			}
			sd = ss[0];
			sm = ss[1];
			sy = ss[2];
		}
	}
	else if (fmt == dateMDY)
	{
		if (theField.value.indexOf ("/") == -1)	//No slashes
		{
			if (theField.value.length == 8) //mmddyyyy
			{
				sm = theField.value.substring (0, 2);
				sd = theField.value.substring (2, 4);
				sy = theField.value.substring (4, 8);
			}
			else
			{
				return warnInvalid (theField, iMdyDate);
			}
		}
		else
		{
			ss = theField.value.split ("/");
			if (ss.length != 3)
			{
				return warnInvalid (theField, iMdyDate);
			}
			sm = ss[0];
			sd = ss[1];
			sy = ss[2];
		}
	}
   else if (fmt == dateANSI)
    {
		if (theField.value.indexOf ("-") == -1)	//No hyphens
		{
			//alert ("Length " + theField.value.length);
			if (theField.value.length == 8) //yyyymmdd
			{
				sy = theField.value.substring (0, 4);
				sm = theField.value.substring (4, 6);
				sd = theField.value.substring (6, 8);
				//alert ("ymd " + sy + "|" + sm + "|" + sd);
			}
			else
			{
				return warnInvalid (theField, iAnsiDate);
			}
		}
		else
		{
			ss = theField.value.split ("-");
			if (ss.length != 3)
			{
				return warnInvalid (theField, iAnsiDate);
			}
			sy = ss[0];
			sm = ss[1];
			sd = ss[2];
		}
	}
	else
	{
		return warnInvalid (theField, iBadDate);
	}
	
	if (!isYear (sy)) return warnInvalid (theField, iYear);
	if (!isMonth (sm)) return warnInvalid (theField, iMonth);
	if (!isDay (sd)) return warnInvalid (theField, iDay);
	if (!isDate (sy, sm, sd)) return warnInvalid (theField, iDate);
	
	if (startDate == todayOrLater)
	{
		var today, y, m, d;
		var theDate;
		
		today = new Date ();
		y = today.getFullYear ();
		m = today.getMonth ();	
		d = today.getDate ();	
		today = new Date (y, m, d);
		theDate = new Date (parseInt (sy, 10), parseInt (sm, 10) - 1, parseInt (sd, 10));
		if (theDate < today)
		{
			return warnInvalid (theField, iNoEarlier);
		}
	}

	if (sd.length == 1) sd = "0" + sd;
	if (sm.length == 1) sm = "0" + sm;
	if (fmt == dateFO)	//Standardise format
	{
		theField.value = sd + "/" + sm + "/" + sy;
	}
	else if (fmt == dateMDY)
	{
		theField.value = sm + "/" + sd + "/" + sy;
	}
	else
	{
		theField.value = sy + "-" + sm + "-" + sd;
	}
	return true;
}

//  End -->

