<!-- //

function checkdate(objName) {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
alert("That date is invalid.  Please try again.");
datefield.focus();
return false;
}
else {
return true;
   }
}
function chkdate(objName) {
var strDatestyle = "US"; //United States date style
//var strDatestyle = "EU";  //European date style
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) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);

strMonth = strDate.substr(2, 2);

strYear = strDate.substr(4);

   }
}

dt = new Date(); // current date

if(strYear) // added to stop error when not defined
{
	if (strYear.length == 2) {
		strYear = '20' + strYear;
	}
	if (strYear.length < 4 || strYear < dt.getYear()) // added to test for less than current year
	{
		return false;
	}
}
// added to test if each date part is numeric
if(strDay)
	if(!IsNumeric(strDay))
		return false;
if(strMonth)
	if(!IsNumeric(strMonth))
		return false;
if(strYear)
	if(!IsNumeric(strYear))
	 	return false;

// US style
if (strDatestyle == "US") {
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;
}
}
}
if (strDatestyle == "US") {
datefield.value = [intMonth] + "/" + intday+"/" + strYear;
}
else {
datefield.value = intday + "/" + [intMonth] + "/" + strYear;
}
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 selectItemFromList(inputElementName, listElementName, formName, strFlag)

{
	//get the input value and the list length
	inputElementValue = new String(eval("document." + formName + "." + inputElementName + ".value")).toLowerCase();	
	listElementLength = eval("document." + formName + "." + listElementName + ".length");
	
	//get the string delimiter (to filter out the country name, or any other prefix to the list data)
	strDelimiterValue = new String(strFlag).toLowerCase();
	
	//get length of string delimiter
	if (strDelimiterValue != null) 
	{
		strDelimiterLength = strDelimiterValue.length;
	}
	else
	{
		strDelimiterLength = 0;
	}
		
	//cycle through list to find a match
	for (count=0; count<listElementLength; count++) 
	{
		//get the distinct list value and match text
	 	listElementValue = new String(eval("document." + formName + "." + listElementName + ".options[count].text")).toLowerCase();
	 	//position 
	 	var startPosition = listElementValue.indexOf( strFlag, 0 ) + strDelimiterLength;
	 	var matchText = listElementValue.substr(startPosition, inputElementValue.length);
	 	
		if (inputElementValue == matchText) //then match found
	 	{
	 		// set matching list option to selected
	 		eval("document." + formName + "." + listElementName + ".options[count]").selected = true;
	 		break; 
	 	} 
	}
} 

function copyListSelection( fromListName, toListName, formName )

{
	//get index value from fromList
	var selectedIndex = eval("document." + formName + "." + fromListName + ".selectedIndex");
	//if index value is not nothing or at least 0 then set toList to the same index
	if (selectedIndex != null || selectedIndex >= 0)
	{
		eval("document." + formName + "." + toListName + ".options[" + selectedIndex + "].selected = true");
	}
}

// added function to see if date parts are numeric
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}



//-->