﻿//storage container for embedded controls
var embeddedControl_PresentationControls = {};

/***********************************************************************************
    Units
/***********************************************************************************/
function UnitControlContextMenu(contentType)
{
    if (contentType == "EditDesign")
        return CONTROLCONTEXTMENU_PROPERTIES | CONTROLCONTEXTMENU_DEPTHORDERING | CONTROLCONTEXTMENU_DELETERESTORE;

    return 0;
}


/***********************************************************************************
    MetaUrchin
/***********************************************************************************/
function MetaUrchinContextMenu(contentType)
{
	if (contentType == "EditDesign")
	    return CONTROLCONTEXTMENU_ENABLEDISABLE | CONTROLCONTEXTMENU_EDIT | CONTROLCONTEXTMENU_DELETERESTORE;
	else if (contentType == "EditContent")
	    return CONTROLCONTEXTMENU_EDIT | CONTROLCONTEXTMENU_DELETERESTORE;

	return 0;
}




/*****************
*****************/
function PreProcessContent_SaveFileReferences(obj)
{
    if (typeof obj == "object" && obj.length)
    {
        //do not save filereferences if the content hasn't changed
        if (this.HasContentChanged(obj[0]))
        {
            try
            {
                //obj[1] contains an array of filereferences
                //append array to existing FileReferenceList
                //fileReferenceList.concat(obj[1]);
                for (var i=0; i<obj[1].length; i++)
                    AddFileReference(obj[1][i][0], 0, obj[1][i][1]);

                //removedFileReferences
                if (obj[2] != null)
                {
                    for (var i=0; i<obj[2].length; i++)
                        RemoveFileReference(obj[2][i]);
                }
            }
            catch(err){ alert("SaveFileReferences: " + err.description); }
        }

        return obj[0];
    }
    return obj;
}

///
/// Ctrl+Move a control clones it
///
function HookupDragDrop(controlID, replaceLineBreaksWithBr)
{
    var element = $get(controlID);
    element.ondragenter = function(e)
    {
        e = GetEvent(e);
        e.dataTransfer.dropEffect = "copy";
        e.returnValue = false;
    }

    element.ondragover = function(e)
    {
        e = GetEvent(e);
        e.dataTransfer.dropEffect = "copy";
        e.returnValue = false;
    }

    element.ondrop = function(e)
    {
        e = GetEvent(e);
        var control = eval("_" + controlID);
        var content = control.GetContent() + e.dataTransfer.getData("text");
        
        if (replaceLineBreaksWithBr)
			content = content.replace(/\name/g, "<br />");
        
        control.SetContent(content);
        return false;
    }
}
