// function, 変数 は 小文字からはじめて区切りは大文字
var SelectedElement = Class.create();
SelectedElement.prototype = {
  field : selectEl = null,
  field : selectStart = null,
  field : selectEnd = null,
  initialize : function(id){
    this.textId = id;
  },
  setPos : function (textarea){
    if (textarea) {
      selectEl = $(this);
    }
      if (document.all) {
        selectEl = document.selection.createRange();
      } else {
        selectEl = $(this);
        selectStart = $(this).selectionStart;
        selectEnd = $(this).selectionEnd;
      }
  },
  insertText : function(event) {
   if(selectEl) {
     var read_Image = Event.element(event);
       if (document.all) {
          selectEl.text = '[' + read_Image.name + ']' ;
          selectEl.select();
//         emoji.hide();
       } else {
          var bfrStr = selectEl.value.substring(0, selectStart);
          var aftStr = selectEl.value.substring(selectEnd, selectEl.value.length);
          var selectionPos = bfrStr.length + read_Image.name.length + 2; ;
          selectEl.value = bfrStr + '[' + read_Image.name + ']' + aftStr;
          selectEl.selectionStart = selectionPos;
          selectEl.selectionEnd = selectionPos;
          selectEl.focus();
//          emoji.hide();
       }
   }else{
   }
  },
  selectText : function() {
    if(selectEl){
        if (document.all) {
          alert(selectEl.text) ;
        }else{
          alert(selectEl.value.substring(selectStart, selectEnd))
        }
    }else{
    }
  },

  observe : function(){
    Event.observe(this.textId,'focus',this.setPos);
    Event.observe(this.textId,'keyup',this.setPos);
    Event.observe(this.textId,'mouseup',this.setPos);
  }
};