function showajaxerror (msg) {
    $('<div title="Fehler"><br><br>'+msg+'</div>').dialog({
        width: 300,
        height: 175,                                                
        modal: true,
        buttons : {
            "schliessen": function() { $(this).dialog("close"); $("body").css("overflow", "auto"); } 
        }
    });
}

jQuery(document).ready(function($) {
    
    var error_msg = '<div class="message"><p class="msg_misc">Achtung, es sind noch nicht alle Pflichtfelder (*) ausgefüllt! Bitte korrigieren Sie Ihre Eingabe und senden Sie die Daten erneut ab.</p></div>';
    
    function set_error (name, form) {
        var row = $("." + name, form);
        if (!$(row).hasClass("show_error")) $(row).addClass("show_error");
        if (!$(".required", row).hasClass("th_show_error")) $(".required", row).addClass("th_show_error");
    }
    function unset_error (name, form) {
        var row = $("." + name, form);
        if ($(row).hasClass("show_error")) $(row).removeClass("show_error");
        if ($(".required", row).hasClass("th_show_error")) $(".required", row).removeClass("th_show_error");
    }
    
    $(".nema13_fach .universal_creator form").each(function () {        
        $(this).bind('submit', function() {
            var has_error = false;
            if ($(".nema13_fach .universal_creator .message").length > 0) {
                $(".nema13_fach .universal_creator .message").remove();
            }
            var check_required = new Array ("doc_title", "dokument", "copyright_confirm");
            for (var i=0; i<check_required.length; i++) {
                var elem = $("." + check_required[i] + " input", this);
                unset_error(check_required[i], this);
                switch ($(elem).attr("type")) {
                    case "text":
                    case "file":
                        if ($(elem).val() == "") {
                            has_error = true;
                            set_error(check_required[i], this);
                        }
                    break;
                    case "checkbox":
                        if ($(elem)[0].checked != true) {
                            has_error = true;
                            set_error(check_required[i], this);
                        }
                    break;
                }           
            }
            if ($(".nema13_fach .universal_creator .message").length < 1 && has_error) {
                $(".nema13_fach .universal_creator h2").after($(error_msg));
            }
            return !has_error;
        });        
    });
    
    
    $(".nema13_fach .pagelist li").each(function () {
        var target      = $("a", this).first();
        var isadmin     = $(target).hasClass("isadmin_1");
        if (isadmin) {
            $(this).css("background-image", "url(/static/style/nema13/trashcan.png)");
            $(this).css("background-repeat", "no-repeat");
            $(this).css("background-position", "right top");
        };
    });
    
    $(".nema13_fach .pagelist li").click(function (evt, ui) {
        var that        = this;
        var target      = $("a", this).first();
        var document    = $(target).attr("href").slice(window.location.protocol.length+window.location.hostname.length+2);
        var pid         = $(target).attr("class").match(/pageid_(\d+)/gi);
        pid = pid[0].slice(7);
        var title       = $(target).html();
        var isadmin     = $(target).hasClass("isadmin_1");
        var description = $(".richtext", this).html();
        
        if (isadmin && evt.clientX-evt.target.offsetLeft > 525) {
            window.scroll(0,0);
            $("body").css("overflow", "hidden");                            
            
            $('<div title="'+title+' löschen"><br><br>Soll das Dokument <b>'+title+'</b> wirklich gelöscht werden?</div>').dialog({
                width: 300,
                height: 200,
                modal: true,
                buttons: 
                    { 
                        "Ja": function() { 
                            var ajaxDialogDisableClose = true;
                            $(this).dialog("close");
                            var ajaxdialog = $('<div id="ajaxdialog" title="'+title+' wird gelöscht"><br><div class="progressbar"></div></div>').dialog({
                                width: 300,
                                height: 175,                                                
                                modal: true,
                                closeOnEscape: false,
                                beforeClose: function(event, ui) { 
                                    if (!ajaxDialogDisableClose)
                                        return false; 
                                    return true;
                                }
                            });                                            
                            $( ".progressbar", ajaxdialog).progressbar({
                                    value: 50
                            });                                            
                            var jqxhr = $.getJSON("/rpc.php?action=delete_page&pid="+pid, function() {
                                $( ".progressbar", ajaxdialog).progressbar({
                                    value: 50
                                });      
                            })
                            .success(function(status) {
                                $( ".progressbar", ajaxdialog).progressbar({
                                    value: 75
                                });               
                                if (status.error == 1)
                                    showajaxerror(status.msg);
                                if (status.success == 1) {
                                    $(that).remove();
                                    $('<div title="'+title+' wurde gelöscht."><br><div class="progressbar"></div><br/>'+status.msg+'</div>').dialog({
                                        width: 300,
                                        height: 175,                                                
                                        modal: true,
                                        buttons : {
                                            "schliessen": function() { 
                                                $(this).dialog("close");
                                                $("body").css("overflow", "auto");
                                            } 
                                        },
                                        create: function(event, ui) { 
                                            $( ".progressbar", this).progressbar({
                                                value: 100
                                            });                                           
                                        }
                                    });                                   
                                }
                            }) 
                            .error(function(status) { 
                                showajaxerror("Das Dokument <b>"+title+"</b> konnte nicht gelöscht werden.");
                            })
                            .complete(function() {
                                ajaxDialogDisableClose = true;
                                $(ajaxdialog).dialog("close");                                
                            });
                        },
                        "Nein": function() { 
                            $("body").css("overflow", "auto");
                            $(this).dialog("close"); 
                        }
                    }
            });
        }
    });
});

