function EditStaticText(oEditLink, EditAreaId,ToolBar) {

    var editAreaSelector = "#" + EditAreaId;

    //get the DIV that contains content to be edited    
    var oDIV = $(editAreaSelector + " > div[name=htmldiv]")[0];
    var strHTML = "";

    //alert($(editAreaSelector + " > div[name=htmldiv]").html());
    
    if($(editAreaSelector + " > span[name=DefaultHTML]").length > 0)
        strHTML = $(editAreaSelector + " > span[name=DefaultHTML]").html();
    else if ($(editAreaSelector + " > div[name=htmldiv] > textarea").length > 0)
        strHTML = $(editAreaSelector + " > div[name=htmldiv] > textarea").val();
    else
        strHTML = $(editAreaSelector + " > div[name=htmldiv]").html();

    //once we got HTML, save it as defaultHTML for later use with cancel link
    $(editAreaSelector + " > span[name=DefaultHTML]").html(strHTML);
        
    var strFCKTextAreaId = EditAreaId + "_fck";
    var thetext = document.createTextNode(strHTML);
    
    //dynamically create TEXTAREA with name & id and content of the div
    var textarea = document.createElement("textarea");
    textarea.setAttribute("id", strFCKTextAreaId);
    textarea.setAttribute("name", strFCKTextAreaId);
    textarea.setAttribute("btpswebtext", "1");
    textarea.style.display = "none";
    textarea.appendChild(thetext);
    
    oDIV.innerHTML = ""; //remove anything from DIV
    oDIV.appendChild(textarea); //append FCKTextarea

    //show cancel link, hide edit link
    $(editAreaSelector + " a[name=editLink]").hide();
    $(editAreaSelector + " a[name=cancelLink]").show();

    $.fck.config = { path: 'fckeditor/', 
                    height: 300,
                    AutoDetectLanguage : true
                   };
    $("#" + strFCKTextAreaId).fck({ toolbar: ToolBar });
}

function CancelEditStaticText(oEditLink, EditAreaId) {

    var editAreaSelector = "#" + EditAreaId;

    //hide cancel link, show edit link
    $(editAreaSelector + " a[name=editLink]").show();
    $(editAreaSelector + " a[name=cancelLink]").hide();
    
    //get the DIV that contains content to be edited    
    var oDIV = $(editAreaSelector + " > div[name=htmldiv]")[0];
    var strHTML = "";
    
    if($(editAreaSelector + " > span[name=DefaultHTML]").length > 0)
        strHTML = $(editAreaSelector + " > span[name=DefaultHTML]").html();
    else if ($(editAreaSelector + " > div[name=htmldiv] > textarea").length > 0)
        strHTML = $(editAreaSelector + " > div[name=htmldiv] > textarea").val();
    else
        strHTML = $(editAreaSelector + " > div[name=htmldiv]").html();
    oDIV.innerHTML = strHTML;

    //destroy FCKEditor
    //delete all inputs and iframes from div
    $(oDIV).find("input, textarea, iframe").remove();
}

var gFCK = new Array();

function FCKeditor_OnComplete(editorInstance) {
    //called when FCKeditor instance loads
    if (null != editorInstance.LinkedField) {
        if ("1" == editorInstance.LinkedField.getAttribute("btpswebtext")) {
            if (editorInstance.LinkedField.form != null) {
                editorInstance.LinkedField.form.onsubmit = function() {
                    var strHTML = editorInstance.GetHTML();
                    var oDIV = editorInstance.LinkedField.parentNode;

                    var txtLabel = oDIV.getAttribute("label");
                    var txtGroup = oDIV.getAttribute("group");
                    var txtId = oDIV.getAttribute("objId");
                    var langId = oDIV.getAttribute("langId");

                    if (null == txtId)
                        txtId = "0";
                    if ("" == txtId)
                        txtId = "0";

                    var oText = { ID: txtId, Label: txtLabel, Group: txtGroup, HTML: strHTML, LanguageId: langId}

                    var JSONparams = JSON.encode({ obj: oText });

                    //alert(JSONparams);

                    //call ajax
                    $.ajax({
                        type: "POST",
                        url: "svc/svcStaticTexts.aspx/UpdateInsert",
                        data: JSONparams,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function(data, textStatus) {
                            var objId = eval(data);
                            oDIV.setAttribute("objId", objId.d);
                            oDIV.innerHTML = strHTML;

                            //destroy FCKEditor
                            //delete all inputs and iframes from div
                            $(oDIV).find("input, textarea, iframe").remove();

                            //hide cancel link, show edit link
                            $(oDIV).parent().find("a[name=editLink]").show();
                            $(oDIV).parent().find("a[name=cancelLink]").hide();

                            //reset form's onsubmit
                            document.forms[0].onsubmit = null; //may cause a problem if there are many forms in doc
                        },
                        error: function(XMLHttpRequest, textStatus, errorThrown) {
                            var oException = null;
                            alert("oException = " + XMLHttpRequest.responseText);
                            if (null != oException)
                                if (typeof (oException.Message) != "undefined")
                                alert(Translate("ErrorOccured") + " " + oException.Message);
                        }
                    });

                    return false;
                }
            } //if (editorInstance.LinkedField.form != null)
        } //if ("1" == editorInstance.LinkedField.getAttribute("btpswebtext")) {
        else {
            gFCK[editorInstance.Name] = editorInstance;
        }
    }//if (null != editorInstance.LinkedField)
}

