﻿function ValidateKeyPress(e, fieldtype, allowspace)
{
  var keynum
  var keychar
  var comparechars

  if (window.event)
  {
    keynum = e.keyCode;
  }
  else if (e.which)
  {
    keynum = e.which;
  }
  else
  {
    return true;
  }
  
  switch (keynum)
  {
    case 8:
    return true;
  }
  
  keychar = String.fromCharCode(keynum);
  keychar = keychar.toLowerCase();
  
  switch (fieldtype)
  {
    case 0:  //GENERAL FIELD - DISALLOW ' CHARACTER
      comparechars = String.fromCharCode(39);
      break;
    case 1:  //ALPHANUMERIC FIELD
      comparechars = 'abcdefghijklmnopqrstuvwxyz0123456789';
      break;
    case 2:  //ALPHA FIELD
      comparechars = 'abcdefghijklmnopqrstuvwxyz'
      break;
    case 3:  //INTEGER FIELD
      comparechars = '0123456789'
      break;
    case 4:  //FLOAT FIELD
      comparechars = '0123456789.'
      break;
    case 5:  //DATE FIELD
      comparechars = '0123456789/'
      break;
    case 6:  //PHONE NUMBER
      comparechars = '0123456789()-'
      break;
    case 7:  //BOOLEAN BIELD
      comparechars = '01'
      break;
  }

  switch (fieldtype)
  {
    case 0:
      if (allowspace == 0)
      {
        comparechars = comparechars + String.fromCharCode(32);
      }
      if (comparechars.indexOf(keychar) != -1)
        return false;
      else
        return true;
    default:
      comparechars = comparechars + String.fromCharCode(13);
      if (allowspace == 1)
      {
        comparechars = comparechars + String.fromCharCode(32);
      }
      if (comparechars.indexOf(keychar) != -1)
        return true;
      else
        return false;
  }

}