Trouble With My RichText Editor Thingy

Okay, so I’ve got this editor I’ve made… I’ll post the fla if you need it. If you look at the code, it’s very basic with Italics, bold, fontsize, etc. The image drop down list is populated dynamically. And the everything is saved and loaded via Asp.net 2.0 in the format of flash based HTML (normal html is actually a bit different I find) that generates itself with the text field… (this is for a bigger content management tool, so some of the stuff doesn’t make sense if you don’t know the project). All of this stuff works fine, altho the main problem is that the images load up all funny. And are far too big. Is there anything obvious that I’m doing wrong?



iimport flash.external.ExternalInterface;

btn_bold.gotoAndStop(1); btn_italic.gotoAndStop(1); btn_underline.gotoAndStop(1);
btn_jusleft.gotoAndStop(3); btn_juscenter.gotoAndStop(1); btn_jusright.gotoAndStop(1);
btn_bullet.gotoAndStop(1); btn_scrollup.gotoAndStop(1); btn_scrolldown.gotoAndStop(1);

var bold:Boolean = false,italic:Boolean = false,underline:Boolean = false;
var jusleft:Boolean = true,jusright:Boolean = false,juscenter:Boolean = false;
var bullet:Boolean = false;

var fontcolor:Number;

var clientNumberer:String;
var pageNumberer:String;

var strt:Number, end:Number;
var alignment:String = "left";
var a_fontsize:Array = new Array();
var images:Array = new Array();


var new_fontsize:Number = 12;
var new_fontname:String = "Arial"

txt_link.text = "http://";

var servername:String = "http://blah/blah/";

ddl_font.addItem({label:"New Times Roman", data:"New Times Roman"});
ddl_font.addItem({label:"Arial", data:"Arial"});
ddl_font.addItem({label:"System", data:"System"});
ddl_font.addItem({label:"Comic Sans Ms", data:"Comic Sans Ms"});

ddl_fontcolor.addItem({label:"black",data:"black"}); ddl_fontcolor.addItem({label:"white",data:"white"});
ddl_fontcolor.addItem({label:"red",data:"red"}); ddl_fontcolor.addItem({label:"green",data:"green"});
ddl_fontcolor.addItem({label:"blue",data:"blue"});

var ChangeFont:Object = new Object();
//create the callback event for the listener
ChangeFont.change = function(){
    new_fontname = ddl_font.value;
}

var changeTextSize:Object = new Object();
//create the callback event for the listener
changeTextSize.change = function(){
    new_fontsize = ddl_fontsize.value;
}

var changeTextColor:Object = new Object();
//create the callback event for the listener
changeTextColor.change = function(){
    if (ddl_fontcolor.value == "black") { fontcolor = 0x000000; }
    if (ddl_fontcolor.value == "white") { fontcolor = 0xffffff; }
    if (ddl_fontcolor.value == "green") { fontcolor = 0x00ff00; }
    if (ddl_fontcolor.value == "red") { fontcolor = 0xff0000; }
    if (ddl_fontcolor.value == "blue") { fontcolor = 0x0000ff; }
    
}

for (var i:Number=8; i<96; i++) {
    a_fontsize.push({label:i, data:i});
}

ddl_fontcolor.addEventListener("change",changeTextColor);
ddl_fontcolor.selectedIndex = 0;

ddl_fontsize.addEventListener("change",changeTextSize);
ddl_fontsize.dataProvider = a_fontsize;
ddl_fontsize.selectedIndex = 4;

ddl_font.addEventListener("change",ChangeFont);
ddl_font.selectedIndex = 1;


font_style = new TextFormat;
font_style.size = 8; font_style.font = "Arial";

newFontStyle = new TextFormat;

//this.createTextField("txt_box",3,5,85,705,300);
txt_box.wordWrap = true;
txt_box.html = true;
txt_box.multiline = true;
txt_box.type = "input";

txt_box.setTextFormat(font_style);

btn_bold.onPress =function() { this.gotoAndStop(2); }
btn_bold.onRelease=function() { changeselection(1); change_text(); if (bold == false) { bold = true; this.gotoAndStop(3); } else { bold = false; this.gotoAndStop(1); }}

btn_italic.onPress =function() { this.gotoAndStop(2); }
btn_italic.onRelease=function() { changeselection(2); change_text(); if (italic == false) { italic = true; this.gotoAndStop(3); } else { italic = false; this.gotoAndStop(1); }}

btn_underline.onPress =function() { this.gotoAndStop(2); }
btn_underline.onRelease=function() { changeselection(3); change_text(); if (underline == false) { underline = true; this.gotoAndStop(3); } else { underline = false; this.gotoAndStop(1); }}

btn_jusleft.onPress =function() { this.gotoAndStop(2); }
btn_jusleft.onRelease=function() { changeselection(5); change_text(); alignmental(1);    if (jusleft == false) { jusleft = true; this.gotoAndStop(3); } else { jusleft = false; this.gotoAndStop(1); }}

btn_jusright.onPress =function() { this.gotoAndStop(2); }
btn_jusright.onRelease=function() {changeselection(7); change_text();  alignmental(2);    if (jusright == false) { jusright = true; this.gotoAndStop(3); } else { jusright = false; this.gotoAndStop(1); }}

btn_juscenter.onPress =function() { this.gotoAndStop(2); }
btn_juscenter.onRelease=function() {changeselection(6); change_text(); alignmental(3);     if (juscenter == false) { juscenter = true; this.gotoAndStop(3); } else { juscenter = false; this.gotoAndStop(1); }}

btn_bullet.onPress =function() { this.gotoAndStop(2); }
btn_bullet.onRelease=function() { changeselection(4); change_text(); if (bullet == false) { bullet = true; this.gotoAndStop(3); } else { bullet = false; this.gotoAndStop(1); }}



var keyListen:Object = new Object();

function change_text() {
    Selection.setFocus(txt_box);
    Selection.setSelection(Selection.getCaretIndex(),Selection.getCaretIndex());
}

function alignmental(align:Number):Void {
    if (align == 1)
    {alignment = "left"; jusright = false; juscenter = false; btn_jusright.gotoAndStop(1); btn_juscenter.gotoAndStop(1);}
    
    if (align == 2)
    {alignment = "right"; jusleft = false; juscenter = false; btn_jusleft.gotoAndStop(1); btn_juscenter.gotoAndStop(1);}

    if (align == 3)
    {alignment = "center"; jusright = false; jusleft = false; btn_jusright.gotoAndStop(1); btn_jusleft.gotoAndStop(1);}
}

function changeselection(type:Number):Void {
    if (strt != end)
    {
    fs = new TextFormat;
    if (type == 1){ if (txt_box.getTextFormat(strt,end).bold == true) { fs.bold = false; } else { fs.bold = true; } txt_box.setTextFormat(strt,end,fs)     }
    if (type == 2){ if (txt_box.getTextFormat(strt,end).italic == true) { fs.italic = false; } else { fs.italic = true; } txt_box.setTextFormat(strt,end,fs)     }
    if (type == 3){ if (txt_box.getTextFormat(strt,end).underline == true) { fs.underline = false; } else { fs.underline = true; } txt_box.setTextFormat(strt,end,fs)     }
    if (type == 4){ if (txt_box.getTextFormat(strt,end).bullet == true) { fs.bullet = false; } else { fs.bullet = true; } txt_box.setTextFormat(strt,end,fs)     }

    if (type == 5){ fs.align = "left"; txt_box.setTextFormat(strt,end,fs)     }
    if (type == 6){ fs.align = "center"; txt_box.setTextFormat(strt,end,fs)     }
    if (type == 7){ fs.align = "right"; txt_box.setTextFormat(strt,end,fs)     }

    }
}

keyListen.onKeyDown = function(){
    newFontStyle.bold = bold;
    newFontStyle.italic = italic;
    newFontStyle.underline = underline;
    newFontStyle.align = alignment;
    newFontStyle.bullet = bullet;
    newFontStyle.size = new_fontsize;
    newFontStyle.font = new_fontname;
    newFontStyle.color = fontcolor;
    txt_box.setNewTextFormat(newFontStyle);
}

Key.addListener(keyListen);
this.onMouseMove=function() {
    if (Selection.getBeginIndex() != -1) {
    strt = Selection.getBeginIndex();
    end = Selection.getEndIndex(); }
}
btn_scrollup.onRelease = function() { this.gotoAndStop(1); };
btn_scrollup.onPress= function() { this.gotoAndStop(2); if (txt_box.scroll != 0) txt_box.scroll--; }
btn_scrolldown.onRelease = function() { this.gotoAndStop(1); };
btn_scrolldown.onPress= function() { this.gotoAndStop(2); if (txt_box.scroll != txt_box.maxscroll) txt_box.scroll++; }

btn_fontsize.onRelease=function() {
fs = new TextFormat; fs.size = new_fontsize; txt_box.setTextFormat(strt,end,fs);
    change_text();
}
btn_font.onRelease=function() {
    ff = new TextFormat; ff.font = new_fontname; txt_box.setTextFormat(strt,end,ff);
    change_text();
}
btn_link.onRelease=function() {
    ll = new TextFormat; ll.color = 0x0000ff; ll.underline = true; ll.url = txt_link.text; ll.target = "_blank"; txt_box.setTextFormat(strt,end,ll);
    change_text();
}

btn_color.onRelease=function () {
    cc = new TextFormat; cc.color = fontcolor; txt_box.setTextFormat(strt,end,cc);
    change_text();
}
btn_image.onRelease=function() {
    if (ddl_image.value != "") {
        if (ddl_imagejus.value == "left")
        { txt_box.htmlText = txt_box.htmlText+"<table> <tr> <td> <img src='uploaded/"+clientNumberer+"/"+ddl_image.value+"' align='left'/> <td> <tr> </table>"}
        if (ddl_imagejus.value == "right")
        { txt_box.htmlText = txt_box.htmlText+"<table> <tr> <td> <img src='uploaded/"+clientNumberer+"/"+ddl_image.value+"' align='right'/> <td> <tr> </table>"}
    }
}

btn_update.onRelease=function() {
    save_page(clientNumberer,pageNumberer);
}

var Contentl_lv:LoadVars = new LoadVars();
var ContentS_sv:LoadVars = new LoadVars();

Contentl_lv.onLoad = function(success){
  if(success){
   txt_box.htmlText = this.answer;
   images = this.pictures.split("~");
   ddl_image.dataProvider = images;
   txt_heading.text = this.heading;
   ddl_pagetype.selectedIndex = this.type;
  }else{
   txt_box.htmlText = "something went wrong";
  }
}

ContentS_sv.onLoad = function(success){
  if(success){
trace(messager);
  }else{

  }
}

    
function load_page(clientnumber:String, pagenumber:String):Void {
//btn_try.onRelease=function() {
    clientNumberer = clientnumber;
    pageNumberer = pagenumber;
Contentl_lv.sentClientNumber = clientnumber;
Contentl_lv.sentPageNumber = pagenumber;
Contentl_lv.sendAndLoad(servername+"loadpage.aspx", Contentl_lv, "POST");
    
}

function save_page(clientnumber:String, pagenumber:String):Void {
    ContentS_sv.sendClientNumber = clientnumber;
    ContentS_sv.sendPagenumber = pagenumber;
    ContentS_sv.sendType = ddl_pagetype.selectedIndex;
    ContentS_sv.sendHeading = txt_heading.text;
    var temp:String;
    temp = txt_box.htmlText;
    ContentS_sv.sendContent = temp;
    ContentS_sv.sendAndLoad(servername+"savepage.aspx", ContentS_sv, "POST");
    


}
ExternalInterface.addCallback("load_page", this, load_page);
ExternalInterface.addCallback("save_page", this, save_page);