(function(a){a.fn.alphanumeric=function(b){b=a.extend({ichars:"!@#$%^&*()+=[]\\';,/{}|\":<>?~`.- ",nchars:"",allow:""},b);return this.each(function(){if(b.nocaps)b.nchars+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";if(b.allcaps)b.nchars+="abcdefghijklmnopqrstuvwxyz";s=b.allow.split("");for(i=0;i<s.length;i++)if(b.ichars.indexOf(s[i])!=-1)s[i]="\\"+s[i];b.allow=s.join("|");var d=new RegExp(b.allow,"gi"),c=b.ichars+b.nchars;c=c.replace(d,"");a(this).keypress(function(a){if(!a.charCode)k=String.fromCharCode(a.which);else k=String.fromCharCode(a.charCode);c.indexOf(k)!=-1&&a.preventDefault();a.ctrlKey&&k=="v"&&a.preventDefault()});a(this).bind("contextmenu",function(){return false})})};a.fn.numeric=function(c){var b="abcdefghijklmnopqrstuvwxyz";b+=b.toUpperCase();c=a.extend({nchars:b},c);return this.each(function(){a(this).alphanumeric(c)})};a.fn.alpha=function(b){var c="1234567890";b=a.extend({nchars:c},b);return this.each(function(){a(this).alphanumeric(b)})}})(jQuery);