PageSourceSearch

https://www.campian.net/campiannet/javascript/ac_mitarbeiterverwaltung.r230101.js

js campian.net collected 2026-10-04 18:40:30 UTC 68,367 bytes, 1,358 lines download raw bytes

1var ac_mitarbeiterverwaltung = {
2    init : function(){
3        $('button#personal_suche_reset').off().on("click", function(){
4            ac_mitarbeiterverwaltung.load();
5        });
6        $('button#personal_suche_start').off().on("click", function(){
7            ac_mitarbeiterverwaltung.load($("input#personal_suche_name").val(), $("select#personal_suche_vertragsart").val(), $("select#personal_suche_bereich").val());
8        });
9    },
10    
11    load : function(search, vertragsart, bereich){
12        $.ac_ajax({
13            url : 'content/formulare/personal.php',
14            type : 'POST',
15            dataType : 'html',
16            data : {
17                search : search, 
18                vertragsart : vertragsart,
19                bereich     : bereich
20            },
21            success : function(data) {
22                $("#desktop").html(data);
23                ac_mitarbeiterverwaltung.init();
24            }
25        });
26    },
27    
28    changePassword : function(){
29        $("#changepassworddialog").dialog({
30            modal : true,
31            autoOpen : false,
32            //resizable : false,
33            width : 350,
34            closeOnEscape: false,
35            
36            buttons : {
37                "Kennwort ändern" : function(){
38                    if ($("input#neuesKennwort1").val() == $("input#neuesKennwort2").val()) {
39                        $.ac_ajax({
40                            url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
41                            type : "POST",
42                            dataType : "JSON",
43                            data : {
44                                action : 'changePassword',
45                                renew : true,
46                                kennwort : $("input#neuesKennwort1").val()
47                            },
48                            success : function(data){
49                                if (data.error) {
50                                    $("#errorwindow").html(data.message);
51                                    $("#errorwindow").dialog("open");
52                                } else {
53                                    $("#infowindow").html(data.message);
54                                    $("#infowindow").dialog("open");
55                                    $("#changepassworddialog").dialog("close");
56                                }
57                            }
58                        });
59                    } else {
60                        $("#errorwindow").html("Fehler: Kennwörter stimmen nicht überein. Bitte überprüfen Sie Ihre Eingabe!");
61                        $("#errorwindow").dialog("open");
62                    }
63                },
64                "Abmelden" : akte_closeAkte_logout
65            },
66            open: function (event, ui) {
67                $(event.target).parent().find(".ui-dialog-titlebar-close").hide();
68                $('.ui-dialog-buttonpane').find('button:contains("Kennwort ändern")').css({
69                    'background-image':'url(images/theme16/key.png)', 
70                    'background-repeat':'no-repeat',
71                    'background-position': '3px center',
72                    'padding-left':'10px'
73                });
74                $('.ui-dialog-buttonpane').find('button:contains("Abmelden")').css({
75                    'background-image':'url(images/logout.gif)', 
76                    'background-repeat':'no-repeat',
77                    'background-position': '3px center',
78                    'padding-left':'16px'
79                });
80            }
81        });
82        $("#changepassworddialog").dialog("open");
83    },
84    
85    downloadMitarbeiterliste : function(){
86        $.download("content/excel/mitarbeiterliste.php", {
87            bereich : $("#Bereich_print").val(),
88            team    : $("#Team_print").val()
89        });
90    },
91    
92    mitarbeiter : {
93        init : function(){
94            $(".opencloselink").unbind("click").click(openclose);
95            $("button.showhistory").off().on("click", ac_mitarbeiterverwaltung.mitarbeiter.showHistory);
96
97            
98            $("div.mitarbeiterunterlagen").find("select.state").each(function(){
99                $(this).find("option[value=0]").css("color", "#aa0000").css("font-weight", "bold");
100                $(this).find("option[value=1]").css("color", "#22aa22").css("font-weight", "bold");
101                $(this).find("option[value=2]").css("color", "#000000").css("font-weight", "bold");
102                switch($(this).val()) {
103                    case "0": $(this).css("background-color", "#ff0000"); $(this).next().css("color", "#ff0000"); break;
104                    case "1": $(this).css("background-color", "#00ff00"); $(this).next().css("color", "#22a22"); break;
105                    case "2": $(this).css("background-color", "#ffffff"); $(this).next().css("color", "#000000"); break;
106                }
107            });
108            $("div.mitarbeiterunterlagen").find("select.state").unbind("change").change(function(){
109                switch($(this).val()) {
110                    case "0": $(this).css("background-color", "#ff0000"); $(this).next().css("color", "#ff0000"); break;
111                    case "1": $(this).css("background-color", "#00ff00"); $(this).next().css("color", "#22aa22"); break;
112                    case "2": $(this).css("background-color", "#ffffff"); $(this).next().css("color", "#000000"); break;
113                }
114            });
115            
116            $("select.role").unbind("change").change(function(){
117                var firma = $(this).data("firma"),
118                    role = $(this).val();
119                
120                ac_mitarbeiterverwaltung.mitarbeiter.hideSpezielleBerechtigungen();
121                
122                $("select.role").each(function(){
123                    if ($(this).data("firma") == firma) {
124                        $(this).val(role);
125                    }
126                });
127            });
128            
129            $("#special_rights").dialog({
130                modal : true,
131                autoOpen : false,
132                resizable : false,
133                width : 960,
134                show : 'fade',
135                dialogClass : 'dialog_scrollbar',
136                buttons : {
137                    "Schließen" : function() {
138                        $(this).dialog("close");
139                    }
140                }
141            });
142            $("#special_rights").on("dialogclose", function(event, ui) {
143                $(this).html('');
144            });
145            
146            $("button#mitarbeiterverwaltung_loginzeiten_show").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.showAnmeldezeiten);
147            
148            $("button#add_schichtplan").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.schichtplaene.addRow);
149            
150            ac_mitarbeiterverwaltung.mitarbeiter.pflegedienstverwaltung.init();
151            ac_mitarbeiterverwaltung.mitarbeiter.vertrag.init();
152            ac_mitarbeiterverwaltung.mitarbeiter.schichtplaene.init();
153            ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.init();
154            ac_dokumente.init();
155            
156            $("#personal_teamzugehoerigkeit").dialog({
157                modal : true,
158                resizable : false,
159                autoOpen : false,
160                width : 350,
161                show : 'fade',
162                dialogClass : 'dialog_scrollbar',
163                buttons : {
164                    "Speichern" : function(){
165                        ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.team.save();
166                    },
167                    "Schließen" : function() {
168                        $(this).dialog("close");
169                    }
170                },
171                open: function () {
172                    $('.ui-dialog-buttonpane').find('button:contains("Speichern")').css({
173                        'background-image':'url(images/theme16/save.png)', 
174                        'background-repeat':'no-repeat',
175                        'background-position': '3px center',
176                        'padding-left':'10px'
177                    });
178                    $('.ui-dialog-buttonpane').find('button:contains("Schließen")').css({
179                        'background-image':'url(images/theme16/close.png)', 
180                        'background-repeat':'no-repeat',
181                        'background-position': '3px center',
182                        'padding-left':'10px'
183                    });
184                },
185                close: function(){
186                    ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.reloadTeamzugehoerigkeit();
187                }
188            });
189        },
190        
191        show : function(id){
192            $("#formular_personal").html("<div class='text_medium' style='margin: 50px;' align='center'><img src='images/ajax-loader.gif'><br><br>Formular wird geladen...</div>");
193            $.ac_ajax({
194                url : "ajax/functions/mitarbeiterverwaltung/loadPersonal.php",
195                type : "POST",
196                dataType : "html",
197                data : {
198                    id : id
199                },
200                success : function(data){
201                    $('#formular_personal').html(data);
202                    akte_setFormMarker('personal', id);
203                    ac_mitarbeiterverwaltung.mitarbeiter.init();
204                }
205            });
206        },
207    
208        showHistory : function(){
209            $.ac_ajax({
210                url : "ajax/functions/akte/showHistory.php",
211                type : "POST",
212                dataType : "html",
213                data : {
214                    subject : $(this).data('subject'),
215                    id : $(this).data('id')
216                },
217                success : function(data) {
218                    $("#historywindow").html(data);
219                    $("#historywindow").dialog('open');
220                }
221            });
222        },
223        
224        openSpezielleRechte : function(ACID, roleID) {
225            $.ac_ajax({
226                url : 'ajax/functions/mitarbeiterverwaltung/updateSpezielleRechte.php',
227                type : 'POST',
228                data : {
229                    ACID : ACID,
230                    roleID : roleID
231                },
232                success : function(data) {
233                    $('#special_rights').html(data);
234                    $('#special_rights').dialog('open');
235                    $('html, body').animate({
236                        scrollTop : 0
237                    }, 2000);
238                }
239            });
240        },
241        
242        setSpeziellesRecht : function(ACID, rightID) {
243            $.ac_ajax({
244                url : 'ajax/functions/mitarbeiterverwaltung/updateSpezielleRechte.php',
245                type : 'POST',
246                data : {
247                    ACID : ACID,
248                    rightID : rightID
249                },
250                success : function(data) {
251                    $('#right' + rightID).attr('src', data);
252                }
253            });
254        },
255        
256        deleteSpezielleRechte : function(ACID) {
257            if (confirm('Wollen Sie die speziellen Rechte wirklich löschen?')) {
258                $.ac_ajax({
259                    url : 'ajax/functions/mitarbeiterverwaltung/updateSpezielleRechte.php',
260                    type : 'POST',
261                    data : {
262                        ACID: ACID,
263                        remove: 1
264                    }, success : function(data) {
265                        $('#infowindow').html('Die speziellen Rechte wurden gelöscht.<br />Der Benutzer besitzt jetzt nur noch seine Rollenrechte.');
266                        $('#infowindow').dialog('open');
267                    }
268                });
269            }
270        },
271        
272        setKennwort : function(){
273            $.ac_ajax({
274                url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
275                type : "POST",
276                dataType : "JSON",
277                data : {
278                    action : 'changePassword',
279                    acid : $("span#ACID").html(),
280                    renew : false,
281                    kennwort : $("input#neuesKennwort").val()
282                },
283                success : function(data){
284                    if (data.error) {
285                        $("#errorwindow").html(data.message);
286                        $("#errorwindow").dialog("open");
287                    } else {
288                        $("#infowindow").html(data.message);
289                        $("#infowindow").dialog("open");
290                    }
291                }
292            });
293        },
294        
295        showAnmeldezeiten : function(){
296            $.ac_ajax({
297                url : "ajax/functions/mitarbeiterverwaltung/showAnmeldezeiten.php",
298                type : "POST",
299                dataType : "HTML",
300                data : {
301                    acid : $("span#ACID").html(),
302                    beginn : $("input#mitarbeiterverwaltung_loginzeiten_beginn").val(),
303                    ende : $("input#mitarbeiterverwaltung_loginzeiten_ende").val()
304                },
305                success : function(data){
306                    $("div#mitarbeiterverwaltung_loginzeiten_content").html(data);
307                }
308            });
309        },
310        
311        save : function(){
312            if (ac_validation.init()) {
313                var einrichtungen = [];
314                $("tr[id^=row_firma_]").each(function(){
315                    var firma = {
316                        id : $(this).find("img.switch_firma").data("firma"),
317                        state : $(this).find("img.switch_firma").data("state"),
318                        role : $(this).find("select.role").val()
319                    }
320                    einrichtungen.push(firma);
321                });
322                
323                var bereiche = [];
324                $("tr[id^=row_bereich_]").each(function(){
325                    var bereich = {
326                        id : $(this).find("input.id").val(),
327                        state : $(this).find("input.state").val()
328                    };
329                    bereiche.push(bereich);
330                });
331                var teams = [];
332                $("table.teamzugehoerigkeit tbody tr").each(function(){
333                    var team = {
334                        id          : $(this).find("input.id").val(),
335                        team        : $(this).find("select.team").val(),
336                        gueltigvon  : $(this).find("input.gueltigvon").val(),
337                        gueltigbis  : $(this).find("input.gueltigbis").val()
338                    };
339                    teams.push(team);
340                });
341                var unterlagen = [];
342                $("div.mitarbeiterunterlagen").find("select.state").each(function(){
343                    var unterlage = {
344                        id : $(this).data("id"),
345                        unterlage : $(this).data("unterlage"),
346                        state : $(this).val()
347                    };
348                    unterlagen.push(unterlage);
349                });
350                
351                var vertraege = [];
352                $("table#mitarbeiterverwaltung_personalvertraege tbody tr").each(function(){
353                    var vertrag = {
354                        id : $(this).find("input.personalvertrag_id").val(),
355                        bundesland : $(this).find("select.personalvertrag_bundesland").val(),
356                        vertragsart : $(this).find("select.personalvertrag_vertragsart").val(),
357                        wochenstunden : $(this).find("input.personalvertrag_wochenstunden").val(),
358                        arbeitstage : $(this).find("input.personalvertrag_arbeitstage").val(),
359                        montag : $(this).find("input.personalvertrag_arbeitstag_montag").prop("checked"),
360                        dienstag : $(this).find("input.personalvertrag_arbeitstag_dienstag").prop("checked"),
361                        mittwoch : $(this).find("input.personalvertrag_arbeitstag_mittwoch").prop("checked"),
362                        donnerstag : $(this).find("input.personalvertrag_arbeitstag_donnerstag").prop("checked"),
363                        freitag : $(this).find("input.personalvertrag_arbeitstag_freitag").prop("checked"),
364                        samstag : $(this).find("input.personalvertrag_arbeitstag_samstag").prop("checked"),
365                        sonntag : $(this).find("input.personalvertrag_arbeitstag_sonntag").prop("checked"),
366                        urlaub : $(this).find("input.personalvertrag_urlaubstage").val(),
367                        gueltigvon : $(this).find("input.personalvertrag_gueltigvon").val(),
368                        gueltigbis : $(this).find("input.personalvertrag_gueltigbis").val(),
369                        stundenlohn : $(this).find("input.personalvertrag_stundenlohn").val()
370                    };
371                    
372                    vertraege.push(vertrag);
373                });
374                
375                var schichtplaene = [];
376                $("table.personal_schichtplaene tbody:first tr").each(function(){
377                    var schichtplan = {
378                        id              : $(this).find("input.id").val(),
379                        schichtmodell   : $(this).find("select.schichtmodell").val(),
380                        gueltigvon      : $(this).find("input.gueltigvon").val(),
381                        gueltigbis      : $(this).find("input.gueltigbis").val()
382                    };
383                    schichtplaene.push(schichtplan);
384                });
385                
386                var pflegedienste = [];
387                $("table#mitarbeiterverwaltung_berechtigtePflegedienste tbody tr").each(function(){
388                    var pflegedienst = {
389                        id : $(this).find("input.id").val(),
390                        firma : $(this).find(".firma").val(),
391                        role : $(this).find("select.role").val()
392                    };
393                    
394                    pflegedienste.push(pflegedienst);
395                });
396                
397                $.ac_ajax({
398                    url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
399                    type : "POST",
400                    dataType : "JSON",
401                    data : {
402                        action : 'save',
403                        acid : $("span#ACID").html(),
404                        personalkennzeichen : $("input#personalkennzeichen").val(),
405                        anrede : $("select#anrede").val(),
406                        vorname : $("input#Vorname").val(),
407                        nachname : $("input#Nachname").val(),
408                        lbnr : $("input#lbnr").val(),
409                        kuerzel : $("input#kuerzel").val(),
410                        email : $("input#EMail").val(),
411                        telefon : $("input#telefon").val(),
412                        mobil : $("input#mobil").val(),
413                        plz : $("input#plz").val(),
414                        wohnort : $("input#wohnort").val(),
415                        strasse : $("input#strasse").val(),
416                        key_qualifikation : $("select#key_qualifikation").val(),
417                        qualifikation : $("input#qualifikation").val(),
418                        geburtsdatum : $("input#geburtsdatum").val(),
419                        einrichtungen : einrichtungen,
420                        bereiche : bereiche,
421                        teams : JSON.stringify(teams),
422                        unterlagen : unterlagen,
423                        vertraege : vertraege,
424                        absprachen : $("textarea#absprachen").val(),
425                        schichtplaene : JSON.stringify(schichtplaene),
426                        schutz1 : $("select#schutz1").val(),
427                        schutz2 : $("select#schutz2").val(),
428                        schutz64: $("select#schutz64").val(),
429                        benutzer : $("input#Benutzer").val(),
430                        role : $("select#role").val(),
431                        state : $("select#state").val(),
432                        kennwort : $("span#neuesKennwort").html(),
433                        pflegedienste : pflegedienste
434                    },
435                    success : function(data){
436                        if (data.error) {
437                            $("#errorwindow").html(data.message);
438                            $("#errorwindow").dialog("open");
439                        } else {
440                            var id = data.id;
441                            if ($('fieldset#dienstplan_auswahl').length > 0) {
442                                vw_loadDienstplan($('#monat').val(), $('#jahr').val(), $('#team').val(), $('#bereich').val());
443                            } else {
444                                $.ac_ajax({
445                                    url : "content/formulare/personal.php",
446                                    type : "POST",
447                                    dataType : "HTML",
448                                    data : {},
449                                    success : function(data){
450                                        $('#desktop').html(data);
451                                        if ($("#untermenu_personal_" + id).length > 0) {
452                                            ac_mitarbeiterverwaltung.mitarbeiter.show(id);
453                                            ac_mitarbeiterverwaltung.init();
454                                            $("#untermenu_personal").scrollTop($("#untermenu_personal_" + id).offset().top - 350);
455                                        }
456                                    }
457                                });
458                            }
459                        }
460                    }
461                });
462            }
463        },
464        
465        saveEigeneDaten : function(){
466            $.ac_ajax({
467                url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
468                type : "POST",
469                dataType :
469 "JSON",
470                data : {
471                    action : 'saveEigeneDaten',
472                    acid : $("div#eigene_daten").find("span#ACID").html(),
473                    anrede : $("div#eigene_daten").find("select#anrede").val(),
474                    vorname : $("div#eigene_daten").find("input#Vorname").val(),
475                    nachname : $("div#eigene_daten").find("input#Nachname").val(),
476                    email : $("div#eigene_daten").find("input#EMail").val(),
477                    telefon : $("div#eigene_daten").find("input#telefon").val(),
478                    telefax : $("div#eigene_daten").find("input#telefax").val(),
479                    mobil : $("div#eigene_daten").find("input#mobil").val(),
480                    plz : $("div#eigene_daten").find("input#plz").val(),
481                    wohnort : $("div#eigene_daten").find("input#wohnort").val(),
482                    strasse : $("div#eigene_daten").find("input#strasse").val(),
483                    geburtsdatum : $("div#eigene_daten").find("input#geburtsdatum").val(),
484                },
485                success : function(data){
486                    if (data.error) {
487                        $("#errorwindow").html(data.message);
488                        $("#errorwindow").dialog("open");
489                    }
490                }
491            });
492        },
493        
494        showFehltage : function(){
495            $.ac_ajax({
496                url : "ajax/functions/mitarbeiterverwaltung/showFehltage.php",
497                type : "POST",
498                dataType : "HTML",
499                data : {
500                    action : "show",
501                    acid : $("span#ACID").html()
502                },
503                success : function(data){
504                    $('#infowindow').html(data);
505                    $('#infowindow').dialog('open');
506                    $("select#fehltage_art").change(ac_mitarbeiterverwaltung.mitarbeiter.loadFehltage);
507                    $("select#fehltage_jahr").change(ac_mitarbeiterverwaltung.mitarbeiter.loadFehltage);
508                }
509            });
510        },
511        
512        loadFehltage : function(){
513            $.ac_ajax({
514                url : "ajax/functions/mitarbeiterverwaltung/showFehltage.php",
515                type : "POST",
516                dataType : "HTML",
517                data : {
518                    action : "load",
519                    acid : $("span#ACID").html(),
520                    art : $("select#fehltage_art").val(),
521                    jahr : $("select#fehltage_jahr").val()
522                },
523                success : function(data){
524                    $('#infowindow').html(data);
525                    $("select#fehltage_art").change(ac_mitarbeiterverwaltung.mitarbeiter.loadFehltage);
526                    $("select#fehltage_jahr").change(ac_mitarbeiterverwaltung.mitarbeiter.loadFehltage);
527                }
528            });
529        },
530        
531        updateUrlaub : function(ACID) {
532            $.ac_ajax({
533                url : 'ajax/functions/mitarbeiterverwaltung/updateUrlaub.php',
534                type : 'POST',
535                data : {
536                    ACID: ACID,
537                    jahr: $('#urlaub_jahr').val(),
538                    tage: $('#urlaub_tage').val()
539                }, 
540                success : function(data) {
541                    $('#infowindow').html(data);
542                }
543            });
544        },
545        
546        editiereUrlaub : function(ACID) {
547            $.ac_ajax({
548                url : 'ajax/functions/mitarbeiterverwaltung/updateUrlaub.php',
549                type : 'POST',
550                data : {
551                    ACID: ACID
552                }, 
553                success : function(data) {
554                    $('#infowindow').html(data);
555                    $('#infowindow').dialog('open');
556                }
557            });
558        },
559        
560        hideSpezielleBerechtigungen : function() {
561            $('#row_spezielle_berechtigung').css('display', 'none');
562        },
563        
564        taetigkeitsbereiche : {
565            init : function(){
566                $(".cal").datepicker();
567                $("tr[id^=row_firma_] td:not(:last-child)").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.switchFirma);
568                $("div.personal_teams").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.loadTeam);
569                $("div#teamzugehoerigkeiten").find("button.add_teamzugehoerigkeit").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.addTeam);
570                
571                $("table.teamzugehoerigkeit").find("button.state").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.removeTeam);
572            },
573            
574            switchFirma : function(){
575                var tr = $(this).parents("tr");
576                switch (tr.find("img.switch_firma").data("state")) {
577                    case "1":
578                    case 1:
579                        tr.find("img.switch_firma").prop("src", "images/theme16/delete2.png");
580                        tr.find("img.switch_firma").data("state", "0");
581                        tr.find("td:first").attr("rowspan", "1");
582                        tr.find("td:last").attr("rowspan", "1");
583                        tr.find("td:last div").hide();
584                        $("tr.firma_" + tr.find("img.switch_firma").data("firma")).hide();
585                        break;
586                    case "0":
587                    case 0:
588                        tr.find("img.switch_firma").prop("src", "images/theme16/check2.png");
589                        tr.find("img.switch_firma").data("state", "1");
590                        tr.find("td:first").attr("rowspan", $("tr.firma_" + tr.find("img.switch_firma").data("firma")).length + 1);
591                        tr.find("td:last").attr("rowspan", $("tr.firma_" + tr.find("img.switch_firma").data("firma")).length + 1);
592                        tr.find("td:last div").show();
593                        $("tr.firma_" + tr.find("img.switch_firma").data("firma")).show();
594                        break;
595                }
596            },
597            
598            switchBereich : function(id){
599                switch ($("tr#row_bereich_" + id).find("input.state").val()) {
600                    case "1":
601                        $("tr#row_bereich_" + id).find("img:first").prop("src", "images/theme16/delete2.png");
602                        $("tr#row_bereich_" + id).find("input.state").val(0);
603                        $("tr#row_bereich_" + id + " td.cell_teams div").hide();
604                        break;
605                    case "0":
606                        $("tr#row_bereich_" + id).find("img:first").prop("src", "images/theme16/check2.png");
607                        $("tr#row_bereich_" + id).find("input.state").val(1);
608                        $("tr#row_bereich_" + id + " td.cell_teams div").show();
609                        break;
610                }
611            },
612            
613            addTeam : function(){
614                $.ac_ajax({
615                    url : "ajax/functions/mitarbeiterverwaltung/showRows.php",
616                    type : "POST",
617                    dataType : "HTML",
618                    data : {
619                        subject : "team"
620                    },
621                    success : function(data){
622                        $("table.teamzugehoerigkeit").show();
623                        $("table.teamzugehoerigkeit tbody").append(data);
624                        ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.init();
625                    }
626                });
627            },
628            
629            removeTeam : function(){
630                ac_confirm("Möchten Sie diese Teamzugehörigkeit wirklich löschen?", ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.do_removeTeam, null, "Löschen bitte bestätigen!", $(this));
631            },
632            
633            do_removeTeam : function(button){
634                if (button.data("id") > 0) {
635                    $.ac_ajax({
636                        url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
637                        type : "POST",
638                        dataType : "JSON",
639                        data : {
640                            action : 'removeTeam',
641                            id : button.data("id")
642                        },
643                        success : function(data){
644                            if (data.error) {
645                                $("#errorwindow").html(data.message);
646                                $("#errorwindow").dialog("open");
647                            } else {
648                                var tbody = button.parents("tbody:first");
649                                button.parents("tr").remove();
650                                if (data.aktiv) {
651                                    $("div.personal_teams[data-teamid=" + data.team + "]").find("img:first").attr("src", "images/theme16/delete2.png");
652                                }
653                                if (tbody.find("tr").length == 0) {
654                                    tbody.parents("table:first").hide();
655                                }
656                            }
657                        }
658                    });
659                } else {
660                    button.parents("tr").remove();
661                }
662            },
663            
664            loadTeam : function(){
665                var team = {
666                    id      : $(this).data("teamid"),
667                    name    : $(this).data("name")
668                };
669                $.ac_ajax({
670                    url : "ajax/functions/mitarbeiterverwaltung/showTeamzugehoerigkeit.php",
671                    type : "POST",
672                    dataType : "HTML",
673                    data : {
674                        action  : "loadTeam",
675                        acid    : $("span#ACID").html(),
676                        id      : team.id
677                    },
678                    success : function(data){
679                        $("#personal_teamzugehoerigkeit").html(data);
680                        $("#personal_teamzugehoerigkeit").dialog("option", "title", "Zugehörigkeit zum Team " + team.name);
681                        $("#personal_teamzugehoerigkeit").dialog("open");
682                        
683                        $("div#personal_teamzugehoerigkeit.ui-dialog-content").find("button.add_teamzugehoerigkeit").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.team.addRow);
684                        ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.team.init();
685                    }
686                });
687            },
688            
689            reloadTeamzugehoerigkeit : function(){
690                $.ac_ajax({
691                    url : "ajax/functions/mitarbeiterverwaltung/showTeamzugehoerigkeit.php",
692                    type : "POST",
693                    dataType : "HTML",
694                    data : {
695                        action  : "reload",
696                        acid    : $("span#ACID").html()
697                    },
698                    success : function(data){
699                        $("div#teamzugehoerigkeiten").html(data);
700                        ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.init();
701                    }
702                });
703            },
704            
705            team : {
706                init : function(){
707                    $(".cal").datepicker();
708                    $("div#personal_teamzugehoerigkeit.ui-dialog-content").find("button.state").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.removeTeam);
709                },
710                
711                addRow : function(){
712                    $.ac_ajax({
713                        url : "ajax/functions/mitarbeiterverwaltung/showRows.php",
714                        type : "POST",
715                        dataType : "HTML",
716                        data : {
717                            subject : "team",
718                            team : $(this).data("team")
719                        },
720                        success : function(data){
721                            $("div#personal_teamzugehoerigkeit.ui-dialog-content").find("table.teamzugehoerigkeit").show();
722                            $("div#personal_teamzugehoerigkeit.ui-dialog-content").find("table.teamzugehoerigkeit tbody").append(data);
723                            ac_mitarbeiterverwaltung.mitarbeiter.taetigkeitsbereiche.team.init();
724                        }
725                    });
726                },
727                save : function(){
728                    var teams = [];
729                    $("div#personal_teamzugehoerigkeit.ui-dialog-content").find("table.teamzugehoerigkeit tbody tr").each(function(){
730                        var team = {
731                            id          : $(this).find("input.id").val(),
732                            team        : $(this).find("select.team").val(),
733                            gueltigvon  : $(this).find("input.gueltigvon").val(),
734                            gueltigbis  : $(this).find("input.gueltigbis").val()
735                        };
736                        teams.push(team);
737                    });
738                    
739                    $.ac_ajax({
740                        url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
741                        type : "POST",
742                        dataType : "JSON",
743                        data : {
744                            action : "saveTeam",
745                            acid : $("span#ACID").html(),
746                            teams : JSON.stringify(teams)
747                        },
748                        success : function(data){
749                            if (data.error) {
750                                $("#errorwindow").html(data.message);
751                                $("#errorwindow").dialog("open");
752                            } else {
753                                if (data.team > 0) {
754                                    var image = "images/theme16/" + (data.aktiv ? "check" : "delete") + "2.png";
755                                    $("div.personal_teams[data-teamid=" + data.team + "]").find("img:first").attr("src", image);
756                                }
757                                
758                                $("#personal_teamzugehoerigkeit").dialog("close");
759                            }
760                        }
761                    });
762                }
763            }
764        },
765        
766        vertrag : {
767            init : function() {
768                $(".cal").datepicker();
769                $("select.personalvertrag_vertragsart").unbind("change").change(function(){
770                    switch ($(this).val()) {
771                        case "1":
772                        case "5":
773                        case "6":
774                            $(this).parent().parent().find("input.personalvertrag_wochenstunden").show();
775                            $(this).parent().parent().find("input.personalvertrag_arbeitstage").show();
776                            $(this).parent().parent().find("input[class^=personalvertrag_arbeitstag_]").show();
777                            $(this).parent().parent().find("input.personalvertrag_urlaubstage").show();
778                            break;
779                        case "2":
780                            $(this).parent().parent().find("input.personalvertrag_wochenstunden").show();
781                            $(this).parent().parent().find("input.personalvertrag_arbeitstage").hide();
782                            $(this).parent().parent().find("input[class^=personalvertrag_arbeitstag_]").hide();
783                            $(this).parent().parent().find("input.personalvertrag_urlaubstage").show();
784                            break;
785                        case "4":
786                            $(this).parent().parent().find("input.personalvertrag_wochenstunden").show();
787                            $(this).parent().parent().find("input.personalvertrag_arbeitstage").show();
788                            $(this).parent().parent().find("input[class^=personalvertrag_arbeitstag_]").show();
789                            $(this).parent().parent().find("input.personalvertrag_urlaubstage").hide();
790                            break;
791                        default:
792                            $(this).parent().parent().find("input.personalvertrag_wochenstunden").hide();
793          
793                  $(this).parent().parent().find("input.personalvertrag_arbeitstage").hide();
794                            $(this).parent().parent().find("input[class^=personalvertrag_arbeitstag_]").hide();
795                            $(this).parent().parent().find("input.personalvertrag_urlaubstage").hide();
796                    }
797                });
798                
799                $("input.personalvertrag_arbeitstage").unbind("change").change(ac_mitarbeiterverwaltung.mitarbeiter.vertrag.checkArbeitstage);
800                $("input[class^=personalvertrag_arbeitstag_]").unbind("change").change(ac_mitarbeiterverwaltung.mitarbeiter.vertrag.checkArbeitstage);
801                
802                $("button.personalvertrag_remove").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.vertrag.remove);
803            },
804            addRow : function(){
805                $.ac_ajax({
806                    url : "ajax/functions/mitarbeiterverwaltung/showRows.php",
807                    type : "POST",
808                    dataType : "HTML",
809                    data : {
810                        subject : 'vertrag'
811                    },
812                    success : function(data){
813                        $("table#mitarbeiterverwaltung_personalvertraege tbody").append(data);
814                        ac_mitarbeiterverwaltung.mitarbeiter.vertrag.init();
815                    }
816                });
817            },
818            remove : function(){
819                ac_confirm("Möchten Sie diesen Vertrag wirklich löschen?", ac_mitarbeiterverwaltung.mitarbeiter.vertrag.do_remove, null, "Löschen bitte bestätigen!", $(this));
820            },
821            do_remove : function(button){
822                if (button.data("id") > 0) {
823                    $.ac_ajax({
824                        url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
825                        type : "POST",
826                        dataType : "JSON",
827                        data : {
828                            action : 'removeVertrag',
829                            id : button.data("id")
830                        },
831                        success : function(data){
832                            if (data.error) {
833                                $("#errorwindow").html(data.message);
834                                $("#errorwindow").dialog("open");
835                            } else {
836                                button.parents("tr").remove();
837                            }
838                        }
839                    });
840                } else {
841                    button.parents("tr").remove();
842                }
843            },
844            checkArbeitstage : function(){
845                var arbeitstageCheckbox = 0,
846                    arbeitstage = parseFloat($(this).parents("tr:first").find("input.personalvertrag_arbeitstage").val().replace(",", "."));
847                $(this).parents("tr:first").find("input[class^=personalvertrag_arbeitstag_]").each(function(){
848                    arbeitstageCheckbox += $(this).prop("checked") ? 1 : 0;
849                });
850                if (Math.ceil(arbeitstage) != arbeitstageCheckbox) {
851                    $(this).parents("tr:first").find("input.personalvertrag_arbeitstage").addClass("fieldError");
852                } else {
853                    $(this).parents("tr:first").find("input.personalvertrag_arbeitstage").removeClass("fieldError");
854                }
855            },
856            editZuschlaege : function(target){
857                var vertrag_id = $(target).parent().parent().find("input.personalvertrag_id").val();
858                if (vertrag_id > 0) {
859                    $.ac_ajax({
860                        url : "ajax/functions/mitarbeiterverwaltung/showZuschlaege.php",
861                        type : "POST",
862                        dataType : "HTML",
863                        data : {
864                            vertrag_id : vertrag_id
865                        },
866                        success : function(data){
867                            $("div#vertrag_zuschlaege").html(data);
868                            $("div#vertrag_zuschlaege").dialog({
869                                modal : true,
870                                resizable : true,
871                                width : 1150,
872                                show : 'fade',
873                                //dialogClass : 'dialog_scrollbar',
874                                buttons : {
875                                    "Speichern" : function(){
876                                        ac_mitarbeiterverwaltung.mitarbeiter.vertrag.zuschlaege.save();
877                                    },
878                                    "Schließen" : function() {
879                                        $(this).dialog("close");
880                                    }
881                                },
882                                open: function () {
883                                    ac_mitarbeiterverwaltung.mitarbeiter.vertrag.zuschlaege.init();
884                                    $('.ui-dialog-buttonpane').find('button:contains("Speichern")').css({
885                                        'background-image':'url(images/theme16/save.png)', 
886                                        'background-repeat':'no-repeat',
887                                        'background-position': '3px center',
888                                        'padding-left':'10px'
889                                    });
890                                    $('.ui-dialog-buttonpane').find('button:contains("Schließen")').css({
891                                        'background-image':'url(images/theme16/close.png)', 
892                                        'background-repeat':'no-repeat',
893                                        'background-position': '3px center',
894                                        'padding-left':'10px'
895                                    });
896                                },
897                                close: function(){
898                                    $(this).empty().dialog("destroy");
899                                }
900                            });
901                        }
902                    });
903                } else {
904                    $("#errorwindow").html("Sie müssen den Vertrag speichern, bevor Sie die Zuschläge bearbeiten können.");
905                    $("#errorwindow").dialog("open");
906                }
907            },
908            
909            editEinsatzbereiche : function(target){
910                var vertrag_id = $(target).parent().parent().find("input.personalvertrag_id").val();
911                if (vertrag_id > 0) {
912                    $.ac_ajax({
913                        url : "ajax/functions/mitarbeiterverwaltung/showEinsatzbereiche.php",
914                        type : "POST",
915                        dataType : "HTML",
916                        data : {
917                            vertrag_id : vertrag_id
918                        },
919                        success : function(data){
920                            $("div#vertrag_einsatzbereiche").html(data);
921                            $("div#vertrag_einsatzbereiche").dialog({
922                                modal : true,
923                                resizable : true,
924                                width : 1150,
925                                show : 'fade',
926                                buttons : {
927                                    "Speichern" : function(){
928                                          ac_mitarbeiterverwaltung.mitarbeiter.vertrag.einsatzbereiche.save();
929                                    },
930                                    "Schließen" : function() {
931                                        $(this).dialog("close");
932                                    }
933                                },
934                                open: function () {
935                                    ac_mitarbeiterverwaltung.mitarbeiter.vertrag.einsatzbereiche.init();
936                                    $('.ui-dialog-buttonpane').find('button:contains("Speichern")').css({
937                                        'background-image':'url(images/theme16/save.png)',
938                                        'background-repeat':'no-repeat',
939                                        'background-position': '3px center',
940                                        'padding-left':'10px'
941                                    });
942                                    $('.ui-dialog-buttonpane').find('button:contains("Schließen")').css({
943                                        'background-image':'url(images/theme16/close.png)',
944                                        'background-repeat':'no-repeat',
945                                        'background-position': '3px center',
946                                        'padding-left':'10px'
947                                    });
948                                },
949                                close: function(){
950                                    $(this).empty().dialog("destroy");
951                                }
952                            });
953                        }
954                    });
955                } else {
956                    $("#errorwindow").html("Sie müssen den Vertrag speichern, bevor Sie die Einsatzbereiche bearbeiten können.");
957                    $("#errorwindow").dialog("open");
958                }
959            },
960            
961            zuschlaege : {
962                init : function(){
963                    $(".time").unbind("change").makeTime();
964    
965                    $("select.zuschlag_wochentag").off().on("change", function(){
966                        switch ($(this).val()) {
967                            case "8":
968                                $(this).parents("tr").find("select.zuschlag_wochentag_detail_feiertag").show();
969                                $(this).parents("tr").find("select.zuschlag_wochentag_detail_folgetag").parent().hide();
970                                break;
971                            case "9":
972                                $(this).parents("tr").find("select.zuschlag_wochentag_detail_feiertag").hide();
973                                $(this).parents("tr").find("select.zuschlag_wochentag_detail_folgetag").parent().show();
974                                break;
975                            default:
976                                $(this).parents("tr").find("select.zuschlag_wochentag_detail_feiertag").hide();
977                                $(this).parents("tr").find("select.zuschlag_wochentag_detail_folgetag").parent().hide();
978                        }
979                    });
980                },
981                
982                addRow : function(){
983                    $.ac_ajax({
984                        url : "ajax/functions/mitarbeiterverwaltung/showRows.php",
985                        type : "POST",
986                        dataType : "HTML",
987                        data : {
988                            subject : "zuschlag"
989                        },
990                        success : function(data){
991                            $("table#mitarbeiterverwaltung_personalvertraege_zuschlaege tbody").append(data);
992                            ac_mitarbeiterverwaltung.mitarbeiter.vertrag.zuschlaege.init();
993                        }
994                    });
995                },
996                save : function(){
997                    var zuschlaege = [];
998                    $("table#mitarbeiterverwaltung_personalvertraege_zuschlaege tbody tr").each(function(){
999                        var zuschlag = {
1000                            id : $(this).find("input.zuschlag_id").val(),
1001                            wochentag : $(this).find("select.zuschlag_wochentag").val(),
1002                            wochentag_detail_feiertag : $(this).find("select.zuschlag_wochentag_detail_feiertag").val(),
1003                            wochentag_detail_folgetag : $(this).find("select.zuschlag_wochentag_detail_folgetag").val(),
1004                            typ : $(this).find("select.zuschlag_typ").val(),
1005                            von : $(this).find("input.zuschlag_von").val(),
1006                            bis : $(this).find("input.zuschlag_bis").val(),
1007                            betrag : $(this).find("input.zuschlag_betrag").val(),
1008                            art : $(this).find("select.zuschlag_art").val(),
1009                            lohnart_stfr : $(this).find("input.lohnart_stfr").val(),
1010                            lohnart_stpfl : $(this).find("input.lohnart_stpfl").val(),
1011                            bearbeitungsschluessel : $(this).find("select.bearbeitungsschluessel").val(),
1012                            berechnung : $(this).find("select.zuschlag_berechnung").val()
1013                        };
1014                        zuschlaege.push(zuschlag);
1015                    });
1016                    $.ac_ajax({
1017                        url : "ajax/functions/mitarbeiterverwaltung/saveZuschlag.php",
1018                        type : "POST",
1019                        dataType : "JSON",
1020                        data : {
1021                            action : 'save',
1022                            vertrag_id : $("div#vertrag_zuschlaege").find("input#vertrag_id").val(),
1023                            zuschlaege : zuschlaege
1024                        },
1025                        success : function(data){
1026                            if (data.error) {
1027                                $("#errorwindow").html(data.message);
1028                                $("#errorwindow").dialog("open");
1029                            } else {
1030                                $("div#vertrag_zuschlaege").dialog("close");
1031                            }
1032                        }
1033                    });
1034                },
1035                remove : function(id){
1036                    $.ac_ajax({
1037                        url : "ajax/functions/mitarbeiterverwaltung/saveZuschlag.php",
1038                        type : "POST",
1039                        dataType : "JSON",
1040                        data : {
1041                            action : 'remove',
1042                            id : id
1043                        },
1044                        success : function(data){
1045                            if (data.error) {
1046                                $("#errorwindow").html(data.message);
1047                                $("#errorwindow").dialog("open");
1048                            } else {
1049                                $("table#mitarbeiterverwaltung_personalvertraege_zuschlaege tbody").find("input.zuschlag_id[value=" + data.id + "]").parent().parent().remove();
1050                            }
1051                        }
1052                    });
1053                }
1054            },
1055            
1056            einsatzbereiche : {
1057                init : function(){
1058                    $("table#mitarbeiterverwaltung_personalvertraege_einsatzbereiche tbody").find("select.firma").off().on("change", function(){
1059                        switch($(this).find("option:selected").data("kundengruppe")) {
1060                            case 3:
1061                            case 20:
1062                            case 22:
1063                            case 23:
1064                                $(this).parents("tr:first").find("select.taetigkeit option[data-modul=ambulant]").show();
1065                                $(this).parents("tr:first").find("select.taetigkeit option[data-modul=stationaer]").hide();
1066                                if ($(this).parents("tr:first").find("select.taetigkeit option:selected").data("modul") == "stationaer") {
1067                                    $(this).parents("tr:first").find("select.taetigkeit option").removeAttr("selected");
1068                                    $(this).parents("tr:first").find("select.taetigkeit option[value=0]").attr("selected", "selected");
1069                                    $(this).parents("tr:first").find("select.taetigkeit").val(0);
1070                                }
1071                                break;
1072                            case 17:
1073                            case 18:
1074                            case 21:
1075                                $(this).parents("tr:first").find("select.taetigkeit option[data-modul=ambulant]").hide();
1076                                $(this).parents("tr:first").find("select.taetigkeit option[data-modul=stationaer]").show();
1077                                if ($(this).parents("tr:first").find("select.taetigkeit option:selected").data("modul") == "ambulant") {
1078                                    $(this).parents("tr:first").find("select.taetigkeit
1078 option").removeAttr("selected");
1079                                    $(this).parents("tr:first").find("select.taetigkeit option[value=0]").attr("selected", "selected");
1080                                    $(this).parents("tr:first").find("select.taetigkeit").val(0);
1081                                }
1082                                break;
1083                            default:
1084                                $(this).parents("tr:first").find("select.taetigkeit option[data-modul=ambulant]").hide();
1085                                $(this).parents("tr:first").find("select.taetigkeit option[data-modul=stationaer]").hide();
1086                                if ($(this).parents("tr:first").find("select.taetigkeit option:selected").data("modul") == "ambulant" 
1087                                 || $(this).parents("tr:first").find("select.taetigkeit option:selected").data("modul") == "stationaer") {
1088                                    $(this).parents("tr:first").find("select.taetigkeit option").removeAttr("selected");
1089                                    $(this).parents("tr:first").find("select.taetigkeit option[value=0]").attr("selected", "selected");
1090                                    $(this).parents("tr:first").find("select.taetigkeit").val(0);
1091                                }
1092                        }
1093                    });
1094                    $("table#mitarbeiterverwaltung_personalvertraege_einsatzbereiche tbody").find("select.firma").change();
1095                    $("table#mitarbeiterverwaltung_personalvertraege_einsatzbereiche tbody").find("button.state").off().on("click", ac_mitarbeiterverwaltung.mitarbeiter.vertrag.einsatzbereiche.remove);
1096                },
1097                
1098                addRow : function(){
1099                    $.ac_ajax({
1100                        url : "ajax/functions/mitarbeiterverwaltung/showRows.php",
1101                        type : "POST",
1102                        dataType : "HTML",
1103                        data : {
1104                            subject : "einsatzbereich"
1105                        },
1106                        success : function(data){
1107                            $("table#mitarbeiterverwaltung_personalvertraege_einsatzbereiche tbody").append(data);
1108                            ac_mitarbeiterverwaltung.mitarbeiter.vertrag.einsatzbereiche.init();
1109                        }
1110                    });
1111                },
1112                save : function(){
1113                    var einsatzbereiche = [];
1114                    $("table#mitarbeiterverwaltung_personalvertraege_einsatzbereiche tbody tr").each(function(){
1115                        var einsatzbereich = {
1116                            id          : $(this).find("input.id").val(),
1117                            vertrag     : $(this).find("input.vertrag").val(),
1118                            firma       : $(this).find("select.firma").val(),
1119                            taetigkeit  : $(this).find("select.taetigkeit").val(),
1120                            stunden     : $(this).find("input.stunden").val()
1121                        };
1122                        einsatzbereiche.push(einsatzbereich);
1123                    });
1124                    $.ac_ajax({
1125                        url : "ajax/functions/mitarbeiterverwaltung/saveEinsatzbereiche.php",
1126                        type : "POST",
1127                        dataType : "JSON",
1128                        data : {
1129                            action : 'save',
1130                            vertrag : $("div#vertrag_einsatzbereiche").find("input#vertrag").val(),
1131                            einsatzbereiche : einsatzbereiche
1132                        },
1133                        success : function(data){
1134                            if (data.error) {
1135                                $("#errorwindow").html(data.message);
1136                                $("#errorwindow").dialog("open");
1137                            } else {
1138                                $("div#vertrag_einsatzbereiche").dialog("close");
1139                            }
1140                        }
1141                    });
1142                },
1143                remove : function(){
1144                    var button = $(this),
1145                        id = button.data("id");
1146                    
1147                    if (id > 0) {
1148                        $.ac_ajax({
1149                            url: "ajax/functions/mitarbeiterverwaltung/saveEinsatzbereiche.php",
1150                            type: "POST",
1151                            dataType: "JSON",
1152                            data: {
1153                                action: 'remove',
1154                                id: id
1155                            },
1156                            success: function(data) {
1157                                if (data.error) {
1158                                    $("#errorwindow").html(data.message);
1159                                    $("#errorwindow").dialog("open");
1160                                } else {
1161                                    button.parents("tr:first").remove();
1162                                }
1163                            }
1164                        });
1165                    } else {
1166                        button.parents("tr:first").remove();
1167                    }
1168                }
1169            },
1170        },
1171        
1172        schichtplaene : {
1173            init : function(){
1174                $(".cal").datepicker();
1175                $("table.personal_schichtplaene").find("button.state").unbind("click").click(ac_mitarbeiterverwaltung.mitarbeiter.schichtplaene.remove);
1176            },
1177            
1178            addRow : function(){
1179                $.ac_ajax({
1180                    url : "ajax/functions/mitarbeiterverwaltung/showRows.php",
1181                    type : "POST",
1182                    dataType : "HTML",
1183                    data : {
1184                        subject : "schichtplan"
1185                    },
1186                    success : function(data){
1187                        $("table.personal_schichtplaene").show();
1188                        $("table.personal_schichtplaene tbody:first").append(data);
1189                        ac_mitarbeiterverwaltung.mitarbeiter.schichtplaene.init();
1190                    }
1191                });
1192            },
1193            
1194            remove : function(){
1195                ac_confirm("Möchten Sie diesen Schichtplan wirklich löschen?", ac_mitarbeiterverwaltung.mitarbeiter.schichtplaene.do_remove, null, "Löschen bitte bestätigen!", $(this));
1196            },
1197            
1198            do_remove : function(button){
1199                var tbody = button.parents("tbody:first");
1200                if (button.data("id") > 0) {
1201                    $.ac_ajax({
1202                        url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
1203                        type : "POST",
1204                        dataType : "JSON",
1205                        data : {
1206                            action : "removeSchichtplan",
1207                            id : button.data("id")
1208                        },
1209                        success : function(data){
1210                            if (data.error) {
1211                                $("#errorwindow").html(data.message);
1212                                $("#errorwindow").dialog("open");
1213                            } else {
1214                                if (button.parents("td:first").attr("rowspan") == "2") {
1215                                    button.parents("tr:first").next().next().remove();
1216                                    button.parents("tr:first").next().remove();
1217                                }
1218                                button.parents("tr:first").remove();
1219                            }
1220                        }
1221                    });
1222                } else {
1223                    button.parents("tr:first").remove();
1224                }
1225                if (tbody.find("tr").length == 0) {
1226                    tbody.parents("table:first").hide();
1227                }
1228            }
1229        },
1230        
1231        pflegedienstverwaltung : {
1232            init : function() {
1233                $("#mitarbeiterverwaltung_pflegedienstverwaltung_bereiche").dialog({
1234                    modal : false,
1235                    autoOpen : false,
1236                    //resizable : false,
1237                    width : 800,
1238                    buttons : {
1239                        "Speichern" : ac_mitarbeiterverwaltung.mitarbeiter.pflegedienstverwaltung.saveBereiche,
1240                        "Schließen" : function() {
1241                            $(this).dialog("close");
1242                        }
1243                    },
1244                    open: function () {
1245                        $('.ui-dialog-buttonpane').find('button:contains("Speichern")').css({
1246                            'background-image':'url(images/theme16/save.png)', 
1247                            'background-repeat':'no-repeat',
1248                            'background-position': '3px center',
1249                            'padding-left':'10px'
1250                        });
1251                        $('.ui-dialog-buttonpane').find('button:contains("Schließen")').css({
1252                            'background-image':'url(images/theme16/close.png)', 
1253                            'background-repeat':'no-repeat',
1254                            'background-position': '3px center',
1255                            'padding-left':'10px'
1256                        });
1257                    }
1258                });
1259            },
1260            addRow : function(){
1261                $.ac_ajax({
1262                    url : "ajax/functions/mitarbeiterverwaltung/showRows.php",
1263                    type : "POST",
1264                    dataType : "HTML",
1265                    data : {
1266                        subject : "pflegedienstverwaltung"
1267                    },
1268                    success : function(data){
1269                        $("table#mitarbeiterverwaltung_berechtigtePflegedienste tbody").append(data);
1270                        
1271                    }
1272                });
1273            },
1274            
1275            remove : function(id){
1276                $.ac_ajax({
1277                    url : "ajax/functions/mitarbeiterverwaltung/savePersonal.php",
1278                    type : "POST",
1279                    dataType : "JSON",
1280                    data : {
1281                        action : 'removePflegedienst',
1282                        id : id
1283                    },
1284                    success : function(data){
1285                        if (data.error) {
1286                            $("#errorwindow").html(data.message);
1287                            $("#errorwindow").dialog("open");
1288                        } else {
1289                            $("table#mitarbeiterverwaltung_berechtigtePflegedienste tbody").find("input.id[value=" + data.id + "]").parent().parent().remove();
1290                        }
1291                    }
1292                });
1293            },
1294            
1295            editBereiche : function(id){
1296                var firma = $("table#mitarbeiterverwaltung_berechtigtePflegedienste tbody").find("input.id[value=" + id + "]").parent().find("input.firma").val();
1297                
1298                $.ac_ajax({
1299                    url : "ajax/functions/mitarbeiterverwaltung/saveBereiche.php",
1300                    type : "POST",
1301                    dataType : "HTML",
1302                    data : {
1303                        action : "load",
1304                        firma : firma,
1305                        acid : $("span#ACID").html()
1306                    },
1307                    success : function(data){
1308                        $("#mitarbeiterverwaltung_pflegedienstverwaltung_bereiche").html(data);
1309                        $("#mitarbeiterverwaltung_pflegedienstverwaltung_bereiche").dialog("open");
1310                    }
1311                });
1312            },
1313            
1314            switchBereich : function(id){
1315                switch ($("#bereich_" + id).val()) {
1316                    case "1":
1317                        $("#bereich_" + id).parent().find("img").prop("src", "images/theme16/delete2.png");
1318                        $("#bereich_" + id).val(0);
1319                        break;
1320                    case "0":
1321                        $("#bereich_" + id).parent().find("img").prop("src", "images/theme16/check2.png");
1322                        $("#bereich_" + id).val(1);
1323                        break;
1324                }
1325            },
1326            
1327            saveBereiche : function(){
1328                var bereiche = [];
1329                $("div#mitarbeiterverwaltung_pflegedienstverwaltung_bereiche").find("input[id^=bereich_]").each(function(){
1330                    var bereich = {
1331                        id : $(this).attr("id").substr(8),
1332                        state : $(this).val()
1333                    };
1334                    bereiche.push(bereich);
1335                });
1336                
1337                $.ac_ajax({
1338                    url : "ajax/functions/mitarbeiterverwaltung/saveBereiche.php",
1339                    type : "POST",
1340                    dataType : "JSON",
1341                    data : {
1342                        action : "save",
1343                        acid : $("div#mitarbeiterverwaltung_pflegedienstverwaltung_bereiche").find("input#acid").val(),
1344                        bereiche : bereiche
1345                    },
1346                    success : function(data){
1347                        if (data.error) {
1348                            $("#errorwindow").html(data.message);
1349                            $("#errorwindow").dialog("open");
1350                        } else {
1351                            $("#mitarbeiterverwaltung_pflegedienstverwaltung_bereiche").dialog("close");
1352                        }
1353                    }
1354                });
1355            }
1356        }
1357    }
1358};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.