var text = "";
AddTxt = "";
tags = new Array();

function thearrayisgood(thearray,i) {
         if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
             return false;
         else
             return true;
}

function getarraysize(thearray) {
        for (i = 0; i < thearray.length; i++) {
                if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
                        return i;
                }
        return thearray.length;
}

function arraypush(thearray,value) {
        thearraysize = getarraysize(thearray);
        thearray[thearraysize] = value;
        return thearray[thearraysize];
}

function arraypop(thearray) {
        thearraysize = getarraysize(thearray);
        retval = thearray[thearraysize - 1];
        delete thearray[thearraysize - 1];
        return retval;
}

function normalmode(theform) {
return true;
}

function stat(thevalue,thestatus) {
        thestatus.value = eval(thevalue+"_text");
}

function getActiveText(selectedtext) {
        text = (document.all) ? document.selection.createRange().text : document.getSelection();
        if (selectedtext.createTextRange) {
            selectedtext.caretPos = document.selection.createRange().duplicate();
        }
        return true;
}

function AddText(NewCode,theform,thefield) {
        if (thefield.createTextRange && thefield.caretPos) {
                var caretPos = thefield.caretPos;
                caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
        } else {
                thefield.value+=NewCode;
        }
        thefield.focus();
        AddTxt = "";
}

function vbcode(theform,thefield,vbcode,prompttext) {
        if ((normalmode(theform)) || (vbcode=="IMG")) {
                if (text) { var dtext=text; } else { var dtext=prompttext; }
                inserttext = prompt(tag_prompt+"\n<"+vbcode+">xxx</"+vbcode+">",dtext);
                if ((inserttext != null) && (inserttext != ""))
                        AddTxt = "<"+vbcode+">"+inserttext+"</"+vbcode+"> ";
                        AddText(AddTxt,theform,thefield);

                }
        else {
                donotinsert = false;
                for (i = 0; i < tags.length; i++) {
                        if (tags[i] == vbcode)
                                donotinsert = true;
                        }
                if (donotinsert)
                        stat("already_open",theform.status);
                else {
                        arraypush(tags,vbcode);
                        AddTxt = "<"+vbcode+">";
                        AddText(AddTxt,theform,thefield);
                        }
                }
        thefield.focus();
}

function closetag(theform,thefield,thestatus) {
        if (normalmode(theform))
                stat('enhanced_only',thestatus);
        else
                if (tags[0]) {
                        Tag = arraypop(tags)
                        AddTxt = "</"+ Tag +">";
                        AddText(AddTxt,theform,thefield);
                        }
                else {
                        stat('no_tags',thestatus);
                        }
        thefield.focus();
}

function closeall(theform,thefield,thestatus) {
        if (normalmode(theform))
                stat('enhanced_only',thestatus);
        else {
                g = getarraysize(tags);
                if (thearrayisgood(tags,g-1)) {
                            Addtxt = "";
                            for (h = 0; h < g; h++) {
                                 newtag = arraypop(tags);
                                 Addtxt += "</"+ newtag +">";
                             }
                             AddText(Addtxt,theform,thefield);
                } else {
                        stat('no_tags',thestatus);
                }
        }
        thefield.focus();
}

function fontformat(theform,thefield,thevalue,thetype,theselector) {
        if (normalmode(theform)) {
                if (thevalue != 0) {
                        if (text) { var dtext=text; } else { var dtext=""; }
                        inserttext = prompt(font_formatter_prompt+" "+thetype,dtext);
						if (thetype=="(TAMAŅO)") {
							prefix="SIZE";
						} else {
							if (thetype=="(FUENTE)") {
								prefix="FACE";
							} else {
								prefix="COLOR";
							}
						}
                        if ((inserttext != null) && (inserttext != ""))
                                AddTxt = "<Font "+prefix+"="+thevalue+">"+inserttext+"</Font> ";
                        AddText(AddTxt,theform,thefield);

                }
        } else {
                arraypush(tags,thetype);
                Addtxt = "["+thetype+"="+thevalue+"]";
                AddText(Addtxt,theform,thefield);
        }
        theselector.selectedIndex = 0;
        thefield.focus();
}

function namedlink(theform,thefield,thetype) {
        if (text) { var dtext=text; } else { var dtext=""; }
        linktext = prompt(link_text_prompt,dtext);
                var prompttext;
                if (thetype == "URL") {
                        prompt_text = link_url_prompt;
                        prompt_contents = "http://";
                        }
                else {
                        prompt_text = link_email_prompt;
                        prompt_contents = "";
                        }
        linkurl = prompt(prompt_text,prompt_contents);
        if ((linkurl != null) && (linkurl != "")) {
				if (thetype == "URL") {
					prefix="";
				} else {
					prefix="mailto:";
				}
                if ((linktext != null) && (linktext != "")) {
                        AddTxt = "<A href='"+prefix+linkurl+"' target='_blank'>"+linktext+"</A> ";
                        AddText(AddTxt,theform,thefield);
                        }
                else{
                        AddTxt = "<A href='"+prefix+linkurl+"' target='_blank'>"+linkurl+"</A> ";
                        AddText(AddTxt,theform,thefield);

                }
        }
}

function dolist(theform,thefield) {
        listtype = prompt(list_type_prompt, "");
        if ((listtype == "a") || (listtype == "1")) {
                thelist = "[list="+listtype+"]\n";
                listend = "[/list="+listtype+"] ";
                }
        else {
                thelist = "[list]\n";
                listend = "[/list] ";
                }
        listentry = "initial";
        while ((listentry != "") && (listentry != null)) {
                listentry = prompt(list_item_prompt, "");
                if ((listentry != "") && (listentry != null))
                        thelist = thelist+"[*]"+listentry+"\n";
                }
        AddTxt = thelist+listend;
        AddText(AddTxt,theform,thefield);
}

function smilie(thesmilie) {
        AddSmilie = " "+thesmilie+" ";
        AddText(AddSmilie,theform,thefield);
}

function formatparagraph(theform,thefield,thetype) {
		if (text) { var dtext=text; } else { var dtext=""; }
		inserttext = prompt(tag_prompt+"\n<p align='"+thetype+"'>xxx</p>",dtext);
		if ((inserttext != null) && (inserttext != ""))
				AddTxt = "<p align='"+thetype+"'>"+inserttext+"</p> ";
				AddText(AddTxt,theform,thefield);
}
