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);
      }
   }
   if (strYear.length == 2) 
   {
   	strYear = '20' + strYear;
   }
   // 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 = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
   }
   else 
   {
//   	datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
   	datefield.value = strYear+strMonth+strDay;
   }
   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 doDateCheck(from, to) 
{
   if (Date.parse(from.value) <= Date.parse(to.value)) 
   {
   	alert("The dates are valid.");
   }
   else 
   {
   	if (from.value == "" || to.value == "") 
   		alert("Both dates must be entered.");
   	else 
   		alert("To date must occur after the from date.");
   }
}
//  End -->

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
