var activatedFormularbuilderEntry = null;

function saveDialogToolHardcoded()
{
    if(activatedFormularbuilderEntry != null)
      formularbuilderLabelResetTinyMCE();
    
    var formular = "";
    var formularType = "";
    if($("#formular-builder-form").length > 0)
    {
        formular = $("#formular-builder-form").serializeArray();
        if($("#formular_builder_formulartype").length > 0)
            formularType = $("#formular_builder_formulartype").val();
    }
    
    var moreOptions = new Array();
    var key = 0;
    $(".formularbuilder_more_options_field").each(function()
    {
        moreOptions[key] = new Array();
        var optionsName = $(this).attr('class').replace(/formularbuilder_more_options_field field_/, '');
        
        moreOptions[key][0] = optionsName;
        moreOptions[key][1] = $(this).val();
        
        key++;
    });
    
    var templateID = $("#toolhardcoded_template").val();
    
    var newElement = AjaxAPI('CoreTool', 'saveTool', {siteContentID: moduleEditID, data:{Tool: "hardcoded", TemplateID: templateID, Formular: formular, FormularType: formularType, moreOptions: moreOptions}});

    return newElement;
}

function loadToolHardcodedOptions()
{
    var hardcodedID = $("#toolhardcoded_template").val();
    var moduleEntryID = $("#hardcoded_tool_entryID").val();
    
    var response = AjaxAPI('CoreDialog', 'doToolAction', {
            manager:"hardcoded", action: "getHardcodedOptions", options: {
                type: hardcodedID,
                moduleEntryID: moduleEntryID
            }
        }
    );
        
    $("#tool-hardcoded-options").html(response);
    
    window.setTimeout(function()
    {
        // init sliders
        
        $( ".formular_builder_slider").slider({
                value:50,
                min: 0,
                max: 100,
                step: 10,
                slide: function( event, ui ) {
                        //$( "#amount" ).val( "$" + ui.value );
                    var sliderID = $(ui.handle).parent().attr('id');
                    
                    var field1 = sliderID.replace(/slider/, 'field')+"_1";
                    var field2 = sliderID.replace(/slider/, 'field')+"_2";
                    
                    $("#"+field1).attr('class', "formular-col col-"+ui.value);
                    $("#"+field2).attr('class', "formular-col col-"+(100-ui.value));
                    
                    // save width
                    $("#"+field1+"_width").val(ui.value);
                    $("#"+field2+"_width").val(100-ui.value);
                    
                    var spacer = sliderID.replace(/slider/, 'spacer');
                    
                    if(ui.value == 100 || ui.value == 0)
                        $("#"+spacer).hide();
                    else
                        $("#"+spacer).show();
                    
                }
        });
        
        $(".formular_builder_slider").each(function()
        { 
            var field1 = $(this).attr('id').replace(/slider/, 'field')+"_1";
            $(this).slider("value", $("#"+field1+"_width").val());
        });
        
        $(".formular-builder-droppable").each(function()
        {
            if($(this).html() != '&nbsp;')
            {
                var field = $("#formular-builder-field-realvalue-"+$(this).html()).val();
                $("#formular-builder-field-"+field).hide();
            }
        });
        
        // init droppable
        $(".formular-builder-droppable").droppable({
            drop: function( event, ui ) {
                
                $("#formular-builder-field-"+$(this).html()).show();
                
                $( this )
                .html( $(ui.draggable).html() );
                ui.draggable.hide();
                
                var realValue = $(ui.draggable).attr('id').replace(/formular-builder-field-/, "");
                
                $("#"+$(this).parent().parent().attr('id')+"_param").val(realValue);
                
            }
        });
        
        $(".formular-builder-droppable").click(function()
        {
            if($(this).html() != '&nbsp;')
            {
                var field = $("#formular-builder-field-realvalue-"+$(this).html()).val();
                $("#formular-builder-field-"+field).show();
                $(this).html('&nbsp;');
                $("#"+$(this).parent().parent().attr('id')+"_param").val('');
            }
        })
        
        // init draggable
        $(".formular-builder-draggable").draggable({
            snapMode: 'inner',
            revert: true
        });
        
        $(".formular-builder-label-trigger").dblclick(function(e){ formularbuilderLabelClick(e);});
        
        
    }, 100);   
}

function formularbuilderLabelClick(e)
{
   if(activatedFormularbuilderEntry != null)
      formularbuilderLabelResetTinyMCE();

   // 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(/formular-builder-textcontainer_/, "");

   activatedFormularbuilderEntry = id;

   $(e.target).hide();

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

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

function formularbuilderLabelResetTinyMCE()
{
   var activatedFormularbuilderEntryIntern = activatedFormularbuilderEntry;
   
   var content = tinyMCE.getInstanceById("formular_builder_label_"+activatedFormularbuilderEntryIntern).getBody().innerHTML;
   content = content.replace(/<br _mce_bogus="1">/, '');

   destroyExplicitTinyMCEEditor("formular_builder_label_"+activatedFormularbuilderEntryIntern);

   $("#formular-builder-textcontainer_"+activatedFormularbuilderEntryIntern).html(content);

   $("#formular-builder-textcontainer_"+activatedFormularbuilderEntryIntern).show();
   $("#formular_builder_label_"+activatedFormularbuilderEntryIntern).hide();

   activatedFormularbuilderEntry = null;
}

function toolShowMoreOptionsHardcoded()
{
    loadToolHardcodedOptions();
}
