var allowed = /[a-zA-Z0-9\s\!\$\%\^\&\(\)\_\-\+\=\*\#\:\;\?\/\.\,\{\}\[\]\\]/; // only characters to be accepted 

function checkCharacters(){
  // Cross-browser
  var evt = arguments[0] || event;
  if (evt.keyCode == 8 || evt.keyCode == 46 || evt.keyCode == 37 || evt.keyCode == 39) {return true;}
  var char = String.fromCharCode(evt.which || evt.keyCode);
  // Is the key allowed?
  if (!allowed.test(char)) {
      // Cancel the original event
      evt.cancelBubble = true;
      alert('Sorry, the " '+char+' " character that is not allowed');
      return false;
  }
}

function stripName(){
  var evt = arguments[0] || event;
  var companyName = this.value;
  updatedCompanyName = companyName.replace(/[^a-zA-Z 0-9\s\!\$\%\^\&\(\)\_\-\+\=\*\#\:\;\?\/\.\,\{\}\[\]\\]+/g,'');
  
  //  Strip any not allowed characters
  this.value = updatedCompanyName;
}
document.observe("dom:loaded", function() {
  
  //  Divs 
  var containers = ['check_address1', 'check_address2', 'check_address3', 'check_address1-1', 'check_address2-2', 'check_address3-3'];
  for(var i=0;i<containers.length;i++){
    if ($(containers[i]) == undefined) {
      //alert('element is undefined');
    } else {    
      //  Get all the inputs in the div with the id "input-box name-firstname"
      var inputs = $(containers[i]).getElementsBySelector('input');       

      //  For each input apply the validation restrictions
      for(var j=0;j<inputs.length;j++){
        inputs[j].onkeypress = checkCharacters;
        inputs[j].onchange = stripName;    
      }
    }
  } 
});
