For the last year, I've been working and reworking FreeTextBox 4 for various internal projects, trying to come up with a good API that will work well for both ASP.NET developers and generic JavaScript developers. The major updates that I wanted to do were
- new more object oriented JavaScript API based on Prototype (and including some features like one toolbar for multiple editors)
- support for other environments than ASP.NET
- support for Opera and Safari
- new styling and theming (including the Office 2007 style Floatie)
- live CSS editing in another window
- full document editing with doctypes
All of these are features built into the content manager of DTS website (www.dts.edu). Right now I have an early build at: http://www.freetextbox.com/ftb4/

I will have a beta release this month without all the features to help developers migrate (if they so choose) and then finish out the remaining features over the coming months. Having the entire control work in JavaScript apart from any dependancies on ASP.NET allows an ASP.NET developer to use a normal <asp:TextBox> control and "upgrade" with FreeTextBox. In plain HTML and JavaScript, this looks like:
<textarea id="MyHtmlCode" cols="14" rows="8"></textarea>
<script type="text/javascript">
var FreeTextBox1 = new FreeTextBox('MyHtmlCode');
</script>
And in ASP.NET, it would look like
<asp:TextBox id="MyHtmlCode" TextMode="MultiLine" runat="server" />
<script type="text/javascript">
var FreeTextBox1 = new FreeTextBox('<%= MyHtmlCode.ClientID %>');
</script>
Then in your AJAX code you can reference the editor object and its method directly:
<script type="text/javascript">
var html = FreeTextBox1.getHtml();
FreeTextBox1.setHtml('<b>new html</b>');
</script>