|  Hola radarcba aqui te mando parte del codigo en javaescrpt del WYSIWYG, la otra parte la mando en otro mensaje
 
 var isIE = navigator.userAgent.toLowerCase().indexOf('msie') >= 0;
 var isGECKO = navigator.userAgent.toLowerCase().indexOf('gecko') >= 0;
 
 var textarea = null;
 var config = { border: "1px solid #CCC", bgcolor: "#FFFFFF" };
 var timers = new Array();
 addEvent(window, "load", init);
 
 function addEvent(object, event, handler) {
 if (isIE)
 object.attachEvent("on" + event, handler);
 else
 object.addEventListener(event, handler, false)
 }
 
 function init() {
 if (!isIE && !isGECKO) return;
 var elements = document.getElementsByTagName('textarea');
 for (var i=0; i<elements.length; i++)
 if (wantToMake(elements[i].id))
 makeWysiwyg(elements[i]);
 }
 
 function wantToMake(id) {
 if (!id || !isVar("excluidos")) return true;
 for (var i=0; i<excluidos.length; i++)
 if (excluidos[i] == id)
 return false;
 return true;
 }
 
 function isVar(variable) {
 try {
 eval("test = "+variable+";");
 return true;
 } catch (ex) {
 return false;
 }
 }
 
 function makeWysiwyg (element) {
 textarea = element;
 if (!element.id) element.id = getValidId(element.name);
 
 var edit = element.id+'_edit';
 var style = getStyle(element);
 
 html = '\
 <div style="border: '+style['border']+'; width: '+style['width']+';">\
 <span id="'+edit+'">IFRAME</span>\
 <div style="border-top: '+style['border']+'; background-color: #F0F0EE; padding: 0px;" align="center">\
 '+addImage("bold.gif", edit, "bold", "Negrita")+'\
 '+addImage("italic.gif", edit, "italic", "Cursiva")+'\
 '+addImage("underline.gif", edit, "underline", "Subrayado")+'\
 '+addImage("strikethrough.gif", edit, "strikethrough", "Tachado")+'\
 '+addSeparator()+'\
 '+addImage("link.gif", edit, "createlink", "Insertar enlace")+'\
 '+addImage("unlink.gif", edit, "unlink", "Quitar enlace")+'\
 '+addImage("image.gif", edit, "insertimage", "Aadir imagen")+'\
 '+addSeparator()+'\
 '+addImage("bullist.gif", edit, "insertunorderedlist", "Lista sin ordenar")+'\
 '+addImage("numlist.gif", edit, "insertorderedlist", "Lista sin ordenar")+'\
 <br>\
 '+addImage("undo.gif", edit, "undo", "Deshacer")+'\
 '+addImage("redo.gif", edit, "redo", "Rehacer")+'\
 '+addSeparator()+'\
 '+addImage("left.gif", edit, "justifyleft", "Alinear a la izquierda")+'\
 '+addImage("center.gif", edit, "justifycenter", "Alinear al centro")+'\
 '+addImage("right.gif", edit, "justifyright", "Alinear a la derecha")+'\
 '+addImage("full.gif", edit, "justifyfull", "Alinear justificado")+'\
 '+addSeparator()+'\
 '+addImage("outdent.gif", edit, "outdent", "Disminuir sangria")+'\
 '+addImage("indent.gif", edit, "indent", "Aumentar sangria")+'\
 '+addSeparator()+'\
 '+addImage("emoticons.gif", edit, "emoticons", "Despeglar emoticons")+'\
 </div>\
 </div>\
 <table id="'+element.id+'_emo" cellspacing="0" style="position: absolute; visibility: hidden;" onmouseover="cancelTimer(\''+element.id+'_emo\')"; onmouseout="addTimer(\''+element.id+'_emo\');">\
 <tr><td style="border: '+style['border']+'; background: #F0F0EE;">\
 '+addEmoticon('angry.gif', edit, "Enfadado")+'\
 '+addEmoticon('biggrin.gif', edit, "Sonriente")+'\
 '+addEmoticon('blush.gif', edit, "Sonrojado")+'\
 '+addEmoticon('confused.gif', edit, "Confuso")+'<br/>\
 '+addEmoticon('cool.gif', edit, "Cool")+'\
 '+addEmoticon('crazy.gif', edit, "Loco")+'\
 '+addEmoticon('cry.gif', edit, "Llorando")+'\
 '+addEmoticon('doze.gif', edit, "Adormilado")+'<br/>\
 '+addEmoticon('hehe.gif', edit, "Hehe")+'\
 '+addEmoticon('laugh.gif', edit, "Riendo")+'\
 '+addEmoticon('plain.gif', edit, "Enfadado")+'\
 '+addEmoticon('rolleyes.gif', edit, "Juegueton")+'<br/>\
 '+addEmoticon('sad.gif', edit, "Triste")+'\
 '+addEmoticon('satisfied.gif', edit, "Satisfecho")+'\
 '+addEmoticon('smile.gif', edit, "Sonriente")+'\
 '+addEmoticon('shocked.gif', edit, "Sorprendido")+'<br/>\
 '+addEmoticon('tongue.gif', edit, "Sacando la lengua")+'\
 '+addEmoticon('wink.gif', edit, "Guiado el ojo")+'\
 </td></tr></table>';
 
 if (isIE)
 element.insertAdjacentHTML("beforeBegin", html);
 else {
 var rng = element.ownerDocument.createRange();
 rng.setStartBefore(element);
 element.parentNode.insertBefore(rng.createContextu  alFragment(html), element);
 }
 
 element.style.display = 'none';
 element.startContent = element.value;
 
 var span = document.getElementById(edit);
 var iframe = document.createElement("iframe");
 iframe.id = edit;
 iframe.border = iframe.frameBorder = iframe.marginWidth = iframe.marginHeight = iframe.leftMargin = iframe.topMargin = "0";
 iframe.style.width = "100%";
 iframe.style.height = style['height'];
 
 if (isIE) {
 iframe.src = "WYSIWYG/blank.html";
 span.outerHTML = iframe.outerHTML;
 getDocument(iframe).bgColor = style['bgcolor'];
 } else {
 span.parentNode.replaceChild(iframe, span);
 var doc = getDocument(iframe);
 doc.designMode = "on";
 doc.open();
 doc.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">'
 +'<html>'
 +'<head>'
 +'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
 +'</head>'
 +'<body style="padding: 2px; margin: 0; spacing: 0; word-wrap: break-word;">'
 +element.value
 +'</body>'
 +'</html>');
 doc.close();
 iframe.style.backgroundColor = style['bgcolor'];
 }
 
 var doc = getDocument(iframe);
 doc.editor = edit;
 addEvent(doc, "keyup", setTextareaContent);
 if (element.form)
 addEvent(element.form, "reset", resetForm);
 }
 
 function mensaje (event) {
 alert(event);
 }
     |