 var sLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var sNumbers = "0123456789";


function IsFieldEmpty( aField )
{
  return (aField.value.length < 1);
}
function IsSelectUnique( aSelectArray )
{
  var bPassed = true;
  for ( var i = 0; i < aSelectArray.length; i++ ) {
    for ( var x = 0; x < aSelectArray.length; x++ ) {
      if ( x != i ) {
        if ( aSelectArray[i].selectedIndex != 0 ) {
          if ( aSelectArray[i].selectedIndex == aSelectArray[x].selectedIndex ) {
            aSelectArray[x].selectedIndex = 0;
            bPassed = false;
          }
        }
      }
    }
  }
  return bPassed;
}
function isLetter( c )
{
  var bPassed = true;
  for (var i = 0;  i < sLetters.length;  i++) {
    if (c == sLetters.charAt(i)) break;
    if (i == (sLetters.length - 1)) {
      bPassed = false;
      break;
    }
  }
  return bPassed;
}
function isNumber( c )
{
  var bPassed = true;
  for (var i = 0;  i < sNumbers.length;  i++) {
    if (c == sNumbers.charAt(i)) break;
    if (i == (sNumbers.length - 1)) {
      bPassed = false;
      break;
    }
  }
  return bPassed;
}
function IsNumberBetween( iNumber, iMin, iMax )
{
  return (Number( iNumber ) >= iMin && Number( iNumber ) <= iMax);
}
function ValidateMask( sInput, sMask )
{
  var bReturn = true;
  for ( var i = 0; i < sMask.length; i++ ) {
    switch ( sMask.charAt(i) ) {
      case "9":
        if (!isNumber(sInput.charAt(i)))
          bReturn = false;
        break;
      case "X":
        if (!isLetter(sInput.charAt(i)))
          bReturn = false;
        break;
      case "?":
        break;
      default:
        if (sMask.charAt(i) != sInput.charAt(i)) bReturn = false;
    }
    if (bReturn == false)
      break;
  }
  return bReturn;
}
function IsValidDate(dateStr)
{
  var datePat = /^(\d{4})(\-)(\d{1,2})(\-)(\d{1,2})$/;
  var matchArray = dateStr.match(datePat);
  if (dateStr.length != 10) return false;
  if (matchArray == null) return false;
  var year = Number( matchArray[1] );
  var month = Number( matchArray[3] );
  var day = Number( matchArray[5] );
  if (month < 1 || month > 12) return false;
  if (day < 1 || day > 31) return false;
  if ((month==4 || month==6 || month==9 || month==11) && day==31) return false;
  if (month == 2) {
    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
    if (day>29 || (day==29 && !isleap)) return false;
  }
  return true;
}
function CompareDates( date1, style, date2 )
{
  var datePat = /^(\d{4})(\-)(\d{1,2})(\-)(\d{1,2})$/;
  var matchArray1 = date1.match(datePat);
  var matchArray2 = date2.match(datePat);
  var year1 = matchArray1[1];
  var month1 = matchArray1[3];
  var day1 = matchArray1[5];
  var year2 = matchArray2[1];
  var month2 = matchArray2[3];
  var day2 = matchArray2[5];
  var bResult = false;
  switch( style ) {
    case 2:
      if (year1 < year2)
        bResult = true;
      else
        if (month1 < month2)
          bResult = true;
        else
          if (day1 < day2)
            bResult = true;
      break;
    case 1:
      if (year1 > year2)
        bResult = true;
      else
        if (month1 > month2)
          bResult = true;
        else
          if (day1 > day2)
            bResult = true;
      break;
    default:
      if (year1 == year2 && month1 == month2 && day1 == day2)
        bResult = true;
      break;
  }
  return bResult;
}
