﻿
// the following functions will make sure user can
var keybNumericNM = new keybEdit('0123456789');
var keybNumericAndDashNM = new keybEdit("01234567890-'");
var keybAlphaNM = new keybEdit("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv.-' ");
var keybAlphaNumericNM = new keybEdit('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv.0123456789');

function keybEdit(strValid, strMsg) 
{
       // variables
       var reWork = new RegExp('[a-z]','gi');          // regular expression

       // properties
       if(reWork.test(strValid))
               this.valid = strValid.toLowerCase() + strValid.toUpperCase();
       else
               this.valid = strValid;

       if((strMsg == null) || (typeof(strMsg) == 'undefined'))
               this.message = '';
       else
               this.message = strMsg;

       //  methods
       this.getValid = keybEditGetValid;
       this.getMessage = keybEditGetMessage;

       function keybEditGetValid() {
               return this.valid.toString();
       }

       function keybEditGetMessage() {
               return this.message;
       }
}

void function editKeyBoard(objForm, objKeyb) 
{
       strWork = objKeyb.getValid();
       strMsg = '';						// error message
       blnValidChar = false;            // valid character flag

       // validate input
       if(!blnValidChar)
               for(i=0;i < strWork.length;i++)
                       if(window.event.keyCode == strWork.charCodeAt(i)) {
                               blnValidChar = true;

                               break;
                       }

       // build error message
       if(!blnValidChar) {
               if(objKeyb.getMessage().toString().length != 0)
                       alert('Error: ' + objKeyb.getMessage());

               window.event.returnValue = false;               // clear invalid character
               objForm.focus();                                // set focus
       }
}



