///
///
///
function TextControlUpdateLabel()
{
    var label = embeddedControl_PresentationControls[this.controlObject.id];
    SetInnerText(label, unescape(this.GetContent()).replace(/\&lt;/gi, "<").replace(/\&gt;/gi, ">"));
}

///
///
///
function TextControlContextMenu(contentType)
{
	//Editing in template mode
    if (contentType == "EditDesign" && !this.IsInlineEditing())
    	return CONTROLCONTEXTMENU_ENABLEDISABLE | CONTROLCONTEXTMENU_MAKENEWSCONTENTCONTROL | CONTROLCONTEXTMENU_UNMAKENEWSCONTENTCONTROL | CONTROLCONTEXTMENU_CLEAR | CONTROLCONTEXTMENU_EDIT | CONTROLCONTEXTMENU_INLINEEDIT | CONTROLCONTEXTMENU_PROPERTIES | CONTROLCONTEXTMENU_DEPTHORDERING | CONTROLCONTEXTMENU_DELETERESTORE;
    else if (contentType == "EditDesign" && this.IsInlineEditing())
    	return CONTROLCONTEXTMENU_INLINEEDITSAVE | CONTROLCONTEXTMENU_INLINEEDITCANCEL;
    //Editing in content mode
    else if (contentType == "EditContent" && !this.IsInlineEditing())
    	return CONTROLCONTEXTMENU_CLEAR | CONTROLCONTEXTMENU_EDIT | CONTROLCONTEXTMENU_INLINEEDIT | CONTROLCONTEXTMENU_DELETERESTORE;
    else if (contentType == "EditContent" && this.IsInlineEditing())
        return CONTROLCONTEXTMENU_INLINEEDITSAVE | CONTROLCONTEXTMENU_INLINEEDITCANCEL;

    return 0;
}

function TextControlGetLabelContent(element)
{
	return GetInnerText(element);
}

function InitializeTextControl(contentType, controlID, labelID)
{
	var control = eval("_" + controlID);
	embeddedControl_PresentationControls[controlID] = $get(labelID);
	control.OnInitialized = TextControlUpdateLabel;

	if (contentType != "View")
	{
		control.GetEditorControlID = function() { return "TextEditor"; }
		control.ContentUpdated = TextControlUpdateLabel;
		control.OnContextMenu = TextControlContextMenu;
		control.GetLabelContent = TextControlGetLabelContent;
	}
}
