// LIST MODULE
function listModuleClick(e)
{
   if(activatedListEntry != null)
      listModuleResetTinyMCE();

   // sollte ein Paragraph-Element gewählt worden sein wird der DIV-Container ausgewählt
   if($(e.target).attr('id') == "")
      e.target = $(e.target).parent();

   var id = $(e.target).attr('id').replace(/listmodule_textcontainer_/, '');

   activatedListEntry = id;

   $(e.target).hide();

   $("#listmodule_text_"+id).show();

   window.setTimeout(function()
   {
      initTextModule("listmodule_text_"+id, 100, 300, "bold, italic, underline,|, link, unlink");
   }, 1);
}

function editListItem(id)
{
    if(activatedListEntry != null)
      listModuleResetTinyMCE();

   activatedListEntry = id;

   $("#listmodule_textcontainer_"+id).hide();

   $("#listmodule_text_"+id).show();

   window.setTimeout(function()
   {
      initTextModule("listmodule_text_"+id, 100, 300, "bold, italic, underline,|, link, unlink");
   }, 1);
}

function listModuleResetTinyMCE()
{
   var activatedListEntryIntern = activatedListEntry;
   var content = tinyMCE.getInstanceById('listmodule_text_'+activatedListEntryIntern).getBody().innerHTML;
   content = content.replace(/<br _mce_bogus="1">/, '');

   destroyExplicitTinyMCEEditor("listmodule_text_"+activatedListEntryIntern);

   $("#listmodule_textcontainer_"+activatedListEntryIntern).html(content);

   $("#listmodule_textcontainer_"+activatedListEntryIntern).show();
   $("#listmodule_text_"+activatedListEntryIntern).hide();

   activatedListEntry = null;
}

function checkIfDialogIsReadyList()
{
    activateNestedSort();
    $("#listmodule_ul .tinymce_trigger").dblclick(function(e){ listModuleClick(e);});
}

function saveDialogList()
{
    var list = "";

    if(activatedListEntry != null)
        listModuleResetTinyMCE();

    $("#listmodule_ul").children().each(function(i, val)
    {
        list += "*LI_START*"+getNestedSortList(val)+"*LI_END*";
    });

    var newElement = AjaxAPI('CoreDialog', 'saveModule', {siteContentID: moduleEditID, data:{List:list}});

    return newElement;
}

function addToListModule()
{
   /*
    * @todo: HTML bei Initialisierung einmal auslesen und dann per Javascript setzen
    */
   var d = new Date();
   var t = d.getTime();
   
   var newItem = AjaxAPI('CoreDialog', 'newListItem', {key: t});
   
   $("#listmodule_ul").append(newItem);

   // click traggen
   $("#listmodule_ul .tinymce_trigger").dblclick(function(e){ listModuleClick(e);});
}

function removeFromListModule(element)
{
   $("#"+element).remove();
}

function getNestedSortList(el)
{
   var list = "";

   $(el).children().each(function(i, val)
   {
      if(val.tagName == "UL")
      {
         list += "*UL_START*";
         $(val).children().each(function(j, val2)
         {
            list += "*LI_START*"+getNestedSortList(val2)+"*LI_END*";
         });
         list += "*UL_END*";
      }
      else if(val.tagName == "DIV")
         list += getNestedSortList(val);
      else if(val.tagName == "TEXTAREA")
         list += $(val).val();
   });

   return list;
}
