function CorrectDay(Day, Month, Year)
{
	var iDaysInFebruary;

	if ((Year.options[Year.selectedIndex].value % 4) == 0)
	{
		iDaysInFebruary = 29;
	}
	else
	{
		iDaysInFebruary = 28;
	}

	if (Day.selectedIndex == 30 && (Month.selectedIndex == 3 || Month.selectedIndex == 5 
			|| Month.selectedIndex == 8 || Month.selectedIndex == 10))
	{
		Day.selectedIndex = 29;
	}
	else
	{
		if (Day.selectedIndex > (iDaysInFebruary - 1) && Month.selectedIndex == 1)
		{
			Day.selectedIndex = iDaysInFebruary - 1;
		}
	}
}

function IsNotEmpty(Field, Caption)
{
	if (Field.value == "")
	{
		alert('Please enter a value for the \"' + Caption + '\" field.');
		Field.focus();
		return (false);
	}

	return (true);
}

function IsEmail(Field, Caption)
{
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@.1234567890ƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-~";
var checkStr = Field.value;
var allValid = true;

    for (i = 0;  i < checkStr.length;  i++)
    {
      ch = checkStr.charAt(i);
      for (j = 0;  j < checkOK.length;  j++)
        if (ch == checkOK.charAt(j))
          break;
      if (j == checkOK.length)
      {
        allValid = false;
        break;
      }
    }
    if (!allValid)
    {
      alert('\"' + Caption & + '\" is an invalid email address.');
      Field.focus();
      return (false);
	}

	return (true);
}

function IsInteger(Field, Caption, MinimumValue, MaximumValue)
{
var checkOK = "0123456789-,";
var checkStr = Field.value;
var allValid = true;
var decPoints = 0;
var allNum = "";

      if (checkStr.length == 0)
	  {
        alert('Please enter only digit characters in the \"' + Caption + '\" field.');
        Field.focus();
        return (false);
	  }
	  
	  for (i = 0;  i < checkStr.length;  i++)
      {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
          if (ch == checkOK.charAt(j))
            break;
        if (j == checkOK.length)
        {
          allValid = false;
          break;
        }
        if (ch != ",")
          allNum += ch;
      }
      if (!allValid)
      {
        alert('Please enter only digit characters in the \"' + Caption + '\" field.');
        Field.focus();
        return (false);
      }
          
var chkVal = allNum;
var prsVal = parseInt(allNum);

      if (chkVal != "" && !(prsVal >= MinimumValue && prsVal <= MaximumValue))
      {
        alert('Please enter a value greater than or equal to \"' + MinimumValue + '\" and less than or equal to \"' + MaximumValue + '\" in the \"' + Caption + '\" field.');
        Field.focus();
        return (false);
      }

	  return (true);
}

function IsDecimal(Field, Caption, MinimumValue, MaximumValue)
{
var checkOK = "0123456789-.,";
var checkStr = Field.value;
var allValid = true;
var decPoints = 0;
var allNum = "";

      for (i = 0;  i < checkStr.length;  i++)
      {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
          if (ch == checkOK.charAt(j))
            break;
        if (j == checkOK.length)
        {
          allValid = false;
          break;
        }
        if (ch != ",")
          allNum += ch;
      }
      if (!allValid)
      {
        alert('Please enter only digit characters in the \"' + Caption + '\" field.');
        Field.focus();
        return (false);
      }
          
var chkVal = allNum;
var prsVal = parseFloat(allNum);

      if (chkVal != "" && !(prsVal >= MinimumValue && prsVal <= MaximumValue))
      {
        alert('Please enter a value greater than or equal to \"' + MinimumValue + '\" and less than or equal to \"' + MaximumValue + '\" in the \"' + Caption + '\" field.');
        Field.focus();
        return (false);
      }

	  return (true);
}




