var defaultEmptyOK = false;
var whitespace = " \t\n\r";

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}


function isDigit (c)
{
  return (((c >= "0") && (c <= "9")) )
}

function isInteger (s)
{   var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
    for (i = 0; i < s.length; i++)
    {   var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    return true;
}

function CheckWhitespace (Field, Name)
{
	if (isWhitespace(Field.value))
	{	alert('Enter, please, '+Name+'!');
		Field.focus();
		return false;
	}
	return true;
}

function isEmail (s)
{   
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
        { i++;}
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    while ((i < sLength) && (s.charAt(i) != "."))
    	{ i++;}
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

function CheckEmail (s)
{
	if (!isEmail(s.value)) {
		alert ("Enter, please correct E-mail!");
		return false;
	}
    return true;
}

function intCheckDate(sDate)
{
  if (isWhitespace(sDate)) return " cannot be null";
  var iTerms = 0, iSeps = 0, sTerm, pos, new_pos, mm, dd, yy;
  for (pos = 0; (pos < sDate.length) && (iTerms < 4); iTerms++)
  {
    new_pos = sDate.indexOf('/', pos);
    if( new_pos == -1 )
        new_pos = sDate.length;
    else
        iSeps++;
    sTerm = sDate.substring(pos, new_pos);
    if (isInteger(sTerm))
    {
        if (iTerms == 0)
		     dd = parseInt(sTerm,10);
		else if (iTerms == 1)
              mm = parseInt(sTerm,10);
        else if (iTerms == 2)
            yy = parseInt(sTerm,10);
    }
    else
        break;
    pos = new_pos + 1;
  }
  return ((iSeps == 2) && (iTerms == 3) && (mm > 0) && (mm < 13) && (dd > 0) && (dd < 32) && (yy > 1))?
    "":
    " date format must be dd/mm/yy";
};

function CheckDate(DateField, Name)
{
	var s = intCheckDate(DateField.value)
	if (s != "")
	{
		alert(Name + s);
		DateField.focus();
		return false;
	}
	return true;
}