// jQuery numkeys
// Author: Matt Cegielka <matt@mudbrick.org>
// http://bitbucket.org/budrick/jquery-tinyhacks

(function( $ ){

    var methods = {
      init : function( options ) { 
        var settings = {
          //'regex': /[0-9+-_(),.]/
        };
        $.extend(settings, options);

        return this.each(function() {
            $(this).bind('keydown.numkeys', function(event) {
                if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 16 || event.keyCode == 17 || event.keyCode == 91 || event.keyCode == 92 || (event.keyCode > 36 && event.keyCode < 41)) { 
                } else { 
                  if ($(this).val().length >= 11) {
                    event.preventDefault();
                  }
                  if (event.keyCode < 95) { 
                    if (event.keyCode < 48 || event.keyCode > 57 ) { 
                      event.preventDefault();	
                    } 
                  } else { 
                    if (event.keyCode < 96 || event.keyCode > 105 ) { 
                      event.preventDefault();	
                    } 
                  } 
                } 

              });
          });
      }
    };

    $.fn.numkeys = function( method ) {

      // Method calling logic
      if ( methods[method] ) {
        return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
      } else if ( typeof method === 'object' || ! method ) {
        return methods.init.apply( this, arguments );
      } else {
        $.error( 'Method ' +  method + ' does not exist on jQuery.numkeys' );
      }    

    };

  })( jQuery );


