var Typing = Class.create();

Typing.prototype = {
  initialize: function(elements){
    
    this.first = true;
    this.elements = elements;
//    this.loadSound();
    this.registerEvents(elements);
  },
  loadSound: function() {
    /* createSound is located in soundManager2.js due to timing reason */
/*    
    soundManager.createSound({
      id: 'keyPress',
      url: '/sound/click.mp3'
    });
    soundManager.createSound({
      id: 'keyUp',
      url: '/sound/fart.mp3'
    });
*/
  },
  registerEvents: function(elements){    
    if ( ! elements )
      return;
      
    var title = '타이핑 하시면 소리가 납니다 :D<br />아직 한글은 잘 안 나온다는..';
  
    if (typeof elements == 'object') {
        for (var i = 0; i < elements.length; i++) {
//            Event.observe(elements[i], "keypress", this.eventKeyPress);
//            Event.observe(elements[i], "keyup", this.eventKeyUp);
              elements[i].onkeypress = this.keyPress.bindAsEventListener(this);
              elements[i].onkeyup = this.keyUp.bindAsEventListener(this);
              elements[i].writeAttribute({
                'title': title
              });
        }
    }
    else {
          elements.onkeypress = this.keyPress.bindAsEventListener(this);
          elements.onkeyup = this.keyUp.bindAsEventListener(this);
          elements[i].writeAttribute({
            'title': title
          });
//        Event.observe(elements, "keypress", this.eventKeyPress);
//        Event.observe(elements, "keyup", this.eventKeyUp);
    }
  },
  keyPress: function(Event) {
    soundManager.play('tick', {
//        'autoPlay': true,
        'multiShot': true
      });      
  },
  keyUp: function(Event) {
//    soundManager.pause('tick');
//    soundManager.stop('tick');
  }
};

Event.observe(window, 'load', function(){
  var elements = $$('textarea');
  new Typing(elements);
});
