function entityDecode(s) {
var e = document.createElement("div");
e.innerHTML = s;
return e.innerHTML;
}
//Agrega un caracter especial en el textarea.
HTMLArea.prototype.insertChar = function(car) {
var sel = this._getSelection();
var range = this._createRange(sel);
if (HTMLArea.is_ie) {
range.pasteHTML(car);
} else {
var range2 = range.cloneRange();
var innerHTML = this.getHTML();
alert(innerHTML);
//Fix para Firefox 1.5 ya que si se inserta un caracter especial
//sin que tenga foco el html area, no lo pone correctamente en
//la primera posicion.
if(innerHTML == " "){
sel = this._getSelection();
sel.removeAllRanges();
range = this._createRange();
range.selectNodeContents(this._doc.body);
sel.addRange(range);
}
if(innerHTML.indexOf('<') == 0){
sel = this._getSelection();
sel.removeAllRanges();
range = this._createRange();
range.selectNodeContents(this._doc.body);
sel.addRange(range);
}
// construct a new document fragment with the given HTML
//var fragment = this._doc.createDocumentFragment();
var div = this._doc.createTextNode(entityDecode(car));
//var div = this._doc.createTextNode(car);
//div.innerHTML = car;
//alert(div.innerHTML);
// Insert text at cursor position
sel.removeAllRanges();
range.deleteContents();
range.insertNode(div);
// Move the cursor to the end of text
range2.selectNode(div);
range2.collapse(false);
sel.removeAllRanges();
sel.addRange(range2);
}
};