1 2var isDirty=false; 3var xx=2; 4var triggerfield=''; 5var isctrl=false; 6var chiroqrrefresh=''; 7var contextmenuid=''; 8 9window.closeModal = function() { $('#modaldialog').modal('hide'); ModalClose(); if (chiroqrrefresh!='') $(chiroqrrefresh).focus(); }; 10window.reloadMain = function() { $('#modaldialog').modal('hide'); ModalClose(); window.setTimeout("window.location.reload();",200); ShowLightBoxParent(); }; 11 12function Relocate(url) 13{ 14 window.location.href=url; 15} 16 17function ModalClose() 18{ 19 $('.modal-backdrop').remove(); 20 $('#modaldialogIFrame').attr('src',''); 21} 22 23function LoadMainReady(gewaehlt,auswahl) 24{ 25 $('.selectedrow').on("click", function(file, serverFileName) { SetAlleListCount(); }); 26 $('[data-toggle="tooltip"]').tooltip({ animation: true, placement: 'bottom', hide:true, html: true, sanitize:false }); 27 if ($('.selectmultiple').length>0) $('.selectmultiple').multiselect({ checkboxAutoFit:true, texts:{placeholder: 'Gruppenleiter dieser Gruppen dürfen diesen Report direkt nutzen'} }); 28 if ($('.selectmultipleauswahl').length>0) 29 { 30 $('.selectmultipleauswahl').multiselect( 31 { 32 texts: {placeholder: auswahl, selectedOptions: ' '+gewaehlt }, 33 maxPlaceholderOpts: 4, 34 onControlOpen: function(element) 35 { 36 var box = $(element).next('.ms-options-wrap').find('.ms-options'); 37 var rect = $(element).next('.ms-options-wrap')[0].getBoundingClientRect(); 38 if (window.innerWidth <= 600) 39 box.css({ position: 'fixed', left: rect.left + 'px', right: '10px', top: rect.bottom + 'px', width:'auto', maxWidth: 'none' }); 40 else 41 $('.ms-options-wrap > .ms-options').css({ position:'relative', left:'auto', right:'auto', width: 'max-content', minWidth: '100%', maxWidth: 'auto' }); 42 } 43 }); 44 } 45 46 $('<div id="dropmenudiv" class="dropdownmenu" style="visibility:hidden;" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>').appendTo('body'); 47 $(window).scroll(function () { if ($(this).scrollTop()>50) $('#back-to-top').fadeIn(); else $('#back-to-top').fadeOut(); }); 48 $('#back-to-top').click(function () { $('body,html').animate({ scrollTop: 0 }, 800); return false; }); 49 if ($("#alternativen tbody").length>0) $("#alternativen tbody").sortable({ revert: true, placeholder: "ui-state-highlight" }); 50 if ($("#listtypenliste tbody").length>0) $("#listtypenliste tbody").sortable({ revert: true, placeholder: "ui-state-highlight", stop: function( event, ui ) { ListTypenlisteReNumber(); } }); 51 if ($(".dateiliste tbody").length>0) $(".dateiliste tbody").sortable({ revert: true, placeholder: "ui-state-highlight" }); 52 if ($(".topdrag").length>0) $(".topdrag").sortable({ items: '.maintop', revert: true, stop: function( event, ui ) { TopDropped(); } }); 53 //$('.modal-header .close').click(function () { CloseTrigger(document); }); 54 checkCookie_eu(); 55 if ($("[data-fancybox]").length>0) $("[data-fancybox]").fancybox( 56 { 57 slideShow: { autoStart: false, speed: 2000 }, 58 loop : false, 59 buttons: [ "zoom", "slideShow", "fullScreen", "thumbs", "close" ], 60 defaultType: "image", 61 idleTime: false 62 }); 63 $('.onlynumbers').on('keypress', function(event) { var kc=event.keyCode; return (kc > 47 && kc < 58) || kc==44 || kc==46; }); 64 $('.onlytelnumbers').on('keypress', function(event) { var kc=event.keyCode; return kc > 47 && kc < 58; }); 65 $('.opencontextmenu').on('click', function (event) { contextmenuid=$(this).attr('dataid'); var contextmenuaction=$(this).attr('action'); contextMenuOpen(event, contextmenuaction); }); 66 ShotcutStrgS(); 67 OpenSelectionGroup(); 68 $('#pleasewait').hide(); 69 //window.addEventListener('resize', () => TabelleSchrumpfen()); 70 window.addEventListener("message", function(event) { if (event.data && event.data.action === "closeModal") closeModal(); }); 71} 72 73function ButtonOnce() 74{ 75 $(".buttononce").on("click", function (e) 76 { 77 if ($(this).data("clicked")) { e.preventDefault(); return; } 78 $(this).data("clicked", true); 79 $(this).css({ "pointer-events": "none", "opacity": "0.5", "cursor": "default"}); 80 setTimeout(() => { $(this).removeData("clicked"); $(this).css({ "pointer-events": "", "opacity": "", "cursor": "" }); }, 1000); 81 }); 82} 83 84function ShotcutStrgS() 85{ 86 $(document).keydown(function(e) 87 { 88 var key = undefined; 89 var possible = [ e.key, e.keyIdentifier, e.keyCode, e.which ]; 90 while (key === undefined && possible.length > 0) key = possible.pop();
91 isctrl=e.ctrlKey; 92 if (key && (key == '115' || key == '83' ) && (e.ctrlKey || e.metaKey) && !(e.altKey)) 93 { 94 e.preventDefault(); 95 if ($('.buttonspeichern').length>0) { var href=$('.buttonspeichern').first().attr('href'); if (href!=undefined) { window.location.href = href; return false; } } 96 } 97 return true; 98 }); 99 $(document).keyup(function(e) 100 { 101 isctrl=false; 102 }); 103} 104 105function ActivateEsc() 106{ 107 $(document).on('keydown', function(event) { if (event.key == "Escape") { if (DirtyMessage()) { CancelPopupBS(); } } }); 108} 109 110function ActivateEscNoBS() 111{ 112 $(document).on('keydown', function(event) { if (event.key == "Escape") { if (DirtyMessage()) { CancelPopup(); } } }); 113} 114 115function CloseTrigger(wnd) 116{ 117 if (triggerfield=='') return true; 118 var el=wnd.getElementById(triggerfield); 119 if (el==null || el=='undefined') return true; 120 $(el).trigger('change'); 121 setTimeout(CancelPopupBS, 2000); 122 return false; 123} 124 125//function CloseDirtyBS(e) 126//{ 127// alert(isDirty?"D":"-"); if (DirtyMessage()) e.preventDefault(); 128//} 129 130// Standard-Funktionen 131 132//http://www.professorweb.de/javascript-ajax/iframe-hohe-an-dessen-inhalt-automatisch-anpassen-v2.html 133function InitDatepicker(adminpath, showWeek) 134{ 135 InitDatepickerField('.datepicker', adminpath, showWeek); 136 //if (typeof $('.datepicker').datepicker === "function") $('.datepicker').datepicker({ width:100, constrainInput:false, yearRange:'-100:+5', changeMonth: true, changeYear: true, dateFormat: 'dd.mm.yy', monthNamesShort: [ 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez' ], firstDay: 1, dayNamesMin: [ 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ], showOn: 'button', buttonImage: adminpath+'/include/calendar/calendar.gif', buttonImageOnly: true, buttonText: 'Datum auswählen', showWeek:showWeek }); 137} 138 139function InitDatepickerField(field, adminpath, showWeek) 140{ 141 if (typeof $(field).datepicker === "function") 142 { 143 $(field).datepicker( 144 { 145 width:100, constrainInput:false, yearRange:'-100:+5', changeMonth: true, changeYear: true, dateFormat: 'dd.mm.yy', firstDay: 1, 146 monthNamesShort: [ 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez' ], 147 dayNamesMin: [ 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ], showOn: 'button', 148 buttonImage: adminpath+'/include/calendar/calendar.gif', buttonImageOnly: true, buttonText: 'Datum auswählen', showWeek:showWeek, 149 beforeShow: function(input, inst) { setTimeout(function() { $.datepicker._updateDatepicker(inst); }, 0); } 150 }); 151 } 152} 153 154function OpenPopupWS(url, websvcdata) 155{ 156 //var data='inhalt1_html='+encodeURIComponent($('#inhalt1_html').val()); 157 //data+='&inhalt1_style='+encodeURIComponent($('#inhalt1_style').val()); 158 //data+='&inhalt1_type='+encodeURIComponent($('#inhalt1_type').val()); 159 var data={ inhalt1_html:$('#inhalt1_html').val(), inhalt1_style:$('#inhalt1_style').val(), inhalt1_type:$('#inhalt1_type').val() }; 160 $.ajax({ type: 'POST', url: './?webservice=savepost&websvcdata='+websvcdata, data: data, success: function(result) 161 { 162 OpenPopupBS('./'+url+'&websvcdata='+websvcdata+'&dialog=2',0,0,120); 163 } }); 164} 165 166function OpenPopup(url,x,y,border) 167{ 168 return window.open(url,'','toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,copyhistory=no,width='+x+',height='+y); 169} 170 171function OpenDirectLink(url,caption,referer) 172{ 173 if (referer!='') $.ajax({ type: 'GET', url: './?webservice=savelink&cap='+encodeURIComponent(caption)+'&url='+encodeURIComponent(referer), success: function(result) { window.location.href=url; } }); 174 else window.location.href=url; 175} 176 177function ResetBreadcrumb() 178{ 179 $.ajax({ type: 'GET', url: './?webservice=resetbreadcrumb' }); 180} 181 182//var layer0, layerpos; 183function OpenPopupBS5(url,x,y,border) 184{ 185 //layer0=$('.maincontent').html(); 186 //layerpos=$(window).scrollTop(); 187 //$.ajax({ type: 'GET', url: url+'&dialog=1', success: function(result) 188 //{ 189 // $(window).scrollTop(0); 190 // $('.maincontent').html(result); 191 //} }); 192 //return; 193 194 var myModal = new bootstrap.Modal(document.getElementById('modaldialog'), { keyboard: false });
195 $('#modaldialog .modal-body').css('height',($(window).height()-border)+'px'); 196 $('#modaldialogIFrame').css('height','99%'); 197 $('#modaldialog').modal('hide'); 198 $('#modaldialogIFrame').attr('src',url); 199 myModal.show(); 200 $("#modaldialog").draggable({ handle: ".modal-header" }); 201 202 ResetDirty(); 203} 204 205var handlerbshide=false; 206function OpenPopupBS(url,x,y,border) 207{ 208 if (isBD5) { OpenPopupBS5(url,x,y,border); return; } 209 if (!handlerbshide) $('#modaldialog').on('hidden.bs.modal', function () { $('#modaldialogIFrame').attr('src',''); }); 210 handlerbshide=true; 211 212 $('.modal-body').css('height',($(window).height()-border)+'px'); 213 $('#modaldialogIFrame').css('height','99%'); 214 $('#modaldialog').modal('hide'); 215 $('#modaldialogIFrame').attr('src',url); 216 $('#modaldialog').modal({ show:true, keyboard:true, backdrop:'static' }); 217 $("#modaldialog").draggable({ handle: ".modal-header" }); 218 219 ResetDirty(); 220} 221 222function CancelPopup() 223{ 224 window.close(); 225 if (!window.closed) alert("Skripte können keine Fenster schließen, die nicht von ihnen geöffnet wurden."); 226} 227 228function CancelPopupBS() 229{ 230 //window.parent.closeModal(); 231 window.parent.postMessage({ action: "closeModal" }, "*"); 232} 233 234//function CancelPopupBS5() 235//{ 236 237// $('.maincontent').html(layer0); 238// $(window).scrollTop(layerpos); 239//} 240 241function CloseModalX() 242{ 243 if (typeof CheckChanged==='function') if (!CheckChanged()) return; 244 CancelPopupBS(); 245} 246 247function ShowHide(element,show) 248{ 249 if (show) $(element).show(); else $(element).hide(); 250} 251 252function ShowHideInline(element,show) 253{
254 $(element).css('display',show?'inline':'none'); 255} 256 257function ShowHideEmpty(element,show,isGIHBW) 258{ 259 if (show) $(element).show(); else $(element).hide(); 260 if (!show) 261 { 262 if (!isGIHBW) $(element).find('input[type=text],select').val(''); 263 if (!isGIHBW) $(element).find('input[type=radio]').prop('checked',false); 264 if (!isGIHBW) $(element).find('input[type=checkbox]').prop('checked',false); 265 $(element).find('input,select').trigger('change'); 266 } 267} 268 269function ShowLightboxSubmit() 270{ 271 setTimeout(function(){ ShowLightBox(); }, 500); 272} 273 274var klicks=0; 275function FormSubmitOnce(form) 276{ 277 klicks++; 278 if (klicks>1) return; 279 ShowLightboxSubmit(); 280 DirectFormSubmit(form); 281} 282 283function FormSubmit(form) 284{ 285 ShowLightboxSubmit(); 286 DirectFormSubmit(form); 287} 288 289function DirectFormSubmit(form) 290{ 291 if ($('.signaturepadcanvas').length>0) PadSave(); 292 var frm1=document.getElementById(form); 293 if (frm1) frm1.submit(); 294} 295 296function SetAll() 297{ 298 var frm1=document.getElementById('form1'); 299 var alle=false; 300 for(i=0; i<frm1.elements.length; i++) { if (frm1.elements[i].name.substring(0,6)=="check_" && !frm1.elements[i].disabled && frm1.elements[i].checked==false) alle=true; } 301 SetAlleForm('form1', alle, ''); 302} 303 304function SetAlle(alle) 305{ 306 SetAlleForm('form1', alle, ''); 307} 308 309function SetAlleForm(form, alle, prefix, onlyvisible=true) 310{ 311 $.each( $("input[name^='nachname']"+(onlyvisible?":visible":"")), function(key, value) { if ($(this).attr('name')!='nachname') { var leer=$(this).val().trim()==''; $(this).css('background-color',leer?'#FFA0A0':''); if (leer) fehler++; } }); 312 $('#'+form+' input[type=checkbox]'+(prefix==''?'':'[name^='+prefix+']')).each(function(index, value) { if (!$(this).prop("disabled")) if (!onlyvisible || $(this).is(':visible') || !alle) $(this).prop('checked',alle); }); 313 SetAlleListCount(); 314} 315 316function SetAlleTeam() 317{ 318 var frm1=document.getElementById('form1'); 319 var alle=false; 320 for(i=0; i<frm1.elements.length; i++) { if (frm1.elements[i].name.substring(0,6)=="kalusr" && !frm1.elements[i].disabled) if (!frm1.elements[i].checked) alle=true; } 321 for(i=0; i<frm1.elements.length; i++) { if (frm1.elements[i].name.substring(0,6)=="kalusr" && !frm1.elements[i].disabled) frm1.elements[i].checked=alle; } 322 Form1Submit(); 323} 324 325function SetAlleListCount() 326{ 327 var z=$('.selectedrow:checked').length; 328 $('#selectedcount').html(z==0?'':z+' / '); 329} 330 331function SetAllBezahlt(bezahlt) 332{ 333 var frm1=document.getElementById('form1'); 334 for(i=0; i<frm1.elements.length; i++) { if (frm1.elements[i].name.substring(0,6)=="check_") if (document.getElementById("bezahlt_"+frm1.elements[i].name.substring(6)).value==bezahlt) frm1.elements[i].checked=true; } 335} 336 337function GetForm1() 338{ 339 return document.getElementById('form1'); 340} 341 342function GetForm1Element(key) 343{ 344 var frm1=document.getElementById('form1'); 345 return frm1.elements[key]; 346} 347 348function GetFormElement(form, key) 349{ 350 var frm1=document.getElementById(form); 351 return frm1.elements[key]; 352} 353 354function SetFormValue(form, key, value) 355{ 356 var frm1=document.getElementById(form); 357 var el=frm1.elements[key]; 358 if (el) el.value=value; 359} 360 361function SetForm1Value(key, value) 362{ 363 SetFormValue('form1',key,value); 364} 365 366function GetFormValue(form, key) 367{ 368 var frm1=document.getElementById(form); 369 var elem=frm1.elements[key]; 370 if (elem) return elem.value; 371} 372 373function GetForm1Value(key) 374{ 375 return GetFormValue('form1',key); 376} 377 378function CountSelected() 379{ 380 var frm1=document.getElementById('form1'); 381 var cnt=0; 382 for(i=0; i<frm1.elements.length; i++) if (frm1.elements[i].name.substring(0,6)=="check_") if (frm1.elements[i].checked) cnt++; 383 return cnt; 384} 385 386function FormCountSelected(form) 387{ 388 var frm1=document.getElementById(form); 389 var cnt=0; 390 for(i=0; i<frm1.elements.length; i++) if (frm1.elements[i].name.substring(0,6)=="check_") if (frm1.elements[i].checked) cnt++; 391 return cnt; 392} 393 394function AddAll(field) 395{ 396 var txt=prompt('Wert für alle Zeilen (- ist löschen)'); 397 if (txt=='') return; 398 var frm1=document.getElementById('form1'); 399 for(i=0; i<frm1.elements.length; i++) 400 { 401 if (frm1.elements[i].name.substring(0,field.length)==field && (field=='user_' || $('#user_'+frm1.elements[i].name.substring(field.length)).val()!='')) 402 frm1.elements[i].value=txt=='-'?'':txt; 403 } 404} 405 406function GetIDs() 407{ 408 var id=''; 409 var frm1=document.getElementById('form1'); 410 for(i=0; i<frm1.elements.length; i++) 411 if (frm1.elements[i].name.substring(0,6)=='check_') 412 if (frm1.elements[i].checked) 413 id=id+','+frm1.elements[i].name.substring(6); 414 return id.substring(1); 415} 416 417function GetIDArray() 418{ 419 var ids=[]; 420 var frm1=document.getElementById('form1'); 421 for(i=0; i<frm1.elements.length; i++) 422 if (frm1.elements[i].name.substring(0,6)=='check_') 423 if (frm1.elements[i].checked) 424 ids.push(frm1.elements[i].name.substring(6)); 425 return ids; 426} 427 428function SelectionToggle(chkbox, div, mandant) 429{ 430 var isselected=chkbox.prop('checked'); 431 $('#'+div+mandant).toggle(); 432 if (!isselected) LeereFilter('#'+div+mandant); 433 if (isselected && (div=='divRollen' || div=='divGruppen')) $('#alle').prop('checked', false); 434} 435 436function AlleMitgliederKontakte(form, mandant) 437{ 438 var checked=$('#alle').prop('checked') || $('#chkVerein').prop('checked'); 439 if (checked==undefined) checked=false; 440 if (checked) 441 { 442 LeereFilter('#divRollen'+mandant); 443 //LeereFilter('#divGruppen'+mandant); 444 //LeereFilter('#divMembers'+mandant); 445 $('#chkRollen'+mandant).prop('checked', false); $('#divRollen'+mandant).hide(); 446 //$('#chkGruppen'+mandant).prop('checked', false); $('#divGruppen'+mandant).hide(); 447 //$('#chkMembers'+mandant).prop('checked', false); $('#divMembers'+mandant).hide(); 448 } 449 //$('#chkRollen'+mandant).prop('disabled', checked); 450 //$('#chkGruppen'+mandant).prop('disabled', checked); 451 //$('#chkMembers'+mandant).prop('disabled', checked); 452} 453 454function RGMitgliederKontakte(el,form) 455{
456 //if (el) $('#alle').prop('checked',false); 457} 458 459function LeereFilter(div) 460{ 461 $(div+' input:checkbox').prop('checked', false); 462 $(div+' input:text').val(''); 463 $(div+' input:hidden').val(''); 464 $(div+' .vapicker').val(''); 465 $(div+' textarea').val(''); 466 if (div.substr(0,11)!='#divGruppen') $(div+' select').val(''); else $(div+' select').val('1'); 467} 468 469function SubSelect(div, mandant) 470{ 471 var e=document.getElementById(div+mandant); 472 var isselected=document.getElementById('verein'+mandant).checked; 473 var frm1=document.getElementById('form1'); 474 if (!frm1) frm1=document.getElementById('form2'); 475 if (frm1 && div=='divSubVerein') for(var i=0; i<frm1.elements.length; i++) if (frm1.elements[i].name.substring(0,7+mandant.length)=='verein'+mandant+'-') frm1.elements[i].checked=isselected; 476} 477 478function CheckRequired(paymentBE,saalplananz,msgstart,firma,anrede,name,strasse,ort,email,kontoinhaber,bank,ibanbic,oder,kontoblz,invalidiban,adresseoptional=1) 479{ 480 if ($('#zubuchen').length>0) { if (!$('#zubuchen').prop('checked')) return ''; } 481 var msg=''; 482 if (adresseoptional==1 && FieldExists('rechnungfirma') && FieldExists('rechnungvollername_nachname')) 483 { 484 if (FieldIsEmpty('rechnungfirma') && FieldIsEmpty('rechnungvollername_nachname')) msg+='\n- '+firma; 485 if (FieldIsEmpty('rechnungvollername_anrede') && !FieldIsEmpty('rechnungvollername_nachname')) msg+='\n- '+anrede; 486 } 487 else 488 { 489 if (FieldIsEmpty('rechnungvollername_anrede') && !FieldIsEmpty('rechnungvollername_nachname')) msg+='\n- '+anrede; 490 if (FieldIsEmpty('rechnungvollername_nachname')) msg+='\n- '+name; 491 } 492 if (adresseoptional==1 && FieldIsEmpty('rechnungstrasse')) msg+='\n- '+strasse; 493 if (adresseoptional==1 && FieldIsEmpty('rechnungadresse_ort')) msg+='\n- '+ort; 494 if (adresseoptional==1 && (FieldIsEmpty('rechnungemail') || !isEmailAddress($('#rechnungemail').val()))) msg+='\n- '+email; 495 if (paymentBE!='no') 496 { 497 if ($('#buchungBezahlart1').prop('checked')) 498 { 499 if (FieldIsEmpty('konto_inhaber')) msg+='\n- '+kontoinhaber; 500 if (FieldIsEmpty('bank')) msg+='\n- '+bank; 501 if (paymentBE=='' || paymentBE=='sepa') if (FieldIsEmpty('konto_iban') || FieldIsEmpty('konto_bic')) msg+='\n- '+ibanbic; 502 if ($('#konto_ibanlabel').is(":visible") && $('#konto_ibanlabel').html().length>5) msg+='\n- '+invalidiban; 503 } 504 } 505 if ($('input[name="buchungBezahlart"]').attr('type')=='radio') if ($('input[name="buchungBezahlart"]:checked').val()==undefined) msg+='\n- Bezahlart'; 506 //if (saalplananz>0) if (!CheckSaalPersonen(saalplananz)) msg+='\n- Bitte wählen Sie die korrekte Anzahl Saalplätze aus'; 507 if (msg!='') msg=msgstart+':'+msg; 508 return msg; 509} 510 511function CheckIBANValid() 512{ 513 if ($('#konto_ibanlabel').is(":visible") && $('#konto_ibanlabel').html().length>5) return false; 514 return true; 515} 516 517function FieldIsEmpty(field) 518{ 519 if ($('#'+field).length>0) 520 { 521 if ($('#'+field).attr('type')=='checkbox') return !$('#'+field).prop('checked'); 522 return $('#'+field).val()==''; 523 } 524 var multi=$("input[name='"+field+"[]']"); 525 if (multi.length==0) return false; // Feld nicht vorhanden 526 var empty=true; 527 $.each( multi, function(key, value) { if ($(this).prop('checked')) empty=false; }); 528 return empty; 529} 530 531function FieldExists(field) 532{ 533 return $('#'+field).length>0; 534} 535 536function isEmailAddress(email) 537{ 538 if (email=='') return false; 539 if (email=='(intern)') return true; 540 if (email==undefined) return true; 541 var pattern = /^(.*)@(.*)\.(.*)$/; 542 return email.match(pattern); 543} 544 545function InWarenkorb(id, check, issub) 546{ 547 if (issub && $('#auswahl'+id).val()=='') { alert('Bitte treffen Sie eine Auswahl'); return; } 548 if (GetFormValue('form2','artikel'+id)=='') SetFormValue('form2','artikel'+id,'1'); 549 var msg; 550 if (check) msg=CheckAnzahl(0,id); else msg=''; 551 msg+=CheckAnzahlExtrafelder(id); 552 if (msg!='') 553 alert(msg.substr(1)); 554 else 555 FormSubmit('form2'); 556} 557 558function CheckAnzahl(checkAnzahl,warenkorbid) 559{ 560 var anz=0; var msg=''; 561 var frm2=document.getElementById('form2'); 562 for(i=0; i<frm2.elements.length; i++) 563 { 564 if (frm2.elements[i].name.substring(0,7)=='artikel') 565 { 566 var z=parseInt(frm2.elements[i].value); 567 var id=frm2.elements[i].name.substring(7); 568 var sub=document.getElementById('auswahl'+id); 569 var el; 570 var mx; 571 572 if (sub) 573 el=document.getElementById('maximal'+sub.value); 574 else 575 el=document.getElementById('maximal'+id); 576 if (el) mx=parseInt(el.value); else mx=100000; 577 anz+=z; 578 if (z>mx) msg=msg+'\nNur noch '+mx+' Stück verfügbar'; 579 580 //if (sub) 581 // el=document.getElementById('minanzahl'+sub.value); 582 //else 583 // el=document.getElementById('minanzahl'+id); 584 //if (el) mx=parseInt(el.value); else mx=0; 585 //if (z<mx) msg=msg+'\nMinimale Bestellmenge: '+mx+' Stück'; 586 587 //if (sub) 588 // el=document.getElementById('maxanzahl'+sub.value); 589 //else 590 // el=document.getElementById('maxanzahl'+id); 591 //if (el) mx=parseInt(el.value); else mx=100000; 592 //if (z>mx) msg=msg+'\nMaximale Bestellmenge: '+mx+' Stück'; 593 } 594 } 595 if (checkAnzahl==1 && anz==0) msg=msg+'\nBitte tragen Sie die gewünschte Anzahl ein.'; 596 return msg; 597} 598 599function CheckAnzahlExtrafelder(warenkorbid) 600{ 601 var msg=''; 602 var frm2=document.getElementById('form2'); 603 for(i=0; i<frm2.elements.length; i++) 604 { 605 if (frm2.elements[i].name.substring(0,7)=='artikel') 606 { 607 var z=parseInt(frm2.elements[i].value); 608 var id=frm2.elements[i].name.substring(7); 609 if (z>0 || id==warenkorbid) 610 { 611 for(ii=0; ii<frm2.elements.length; ii++) 612 { 613 if (frm2.elements[ii].name.substring(0,17+id.length)=='pflichtattribut_'+id+'_') 614 { 615 var idfeld=frm2.elements[ii].name.substring(16); 616 if ($('#artikelattribut_'+idfeld).val()=='') msg=msg+'\nBitte Artikel-Detail "'+frm2.elements[ii].value+'" auswählen'; 617 } 618 } 619 } 620 } 621 } 622 return msg; 623} 624 625function OpenDirect(extra,template,dialog) 626{ 627 if (extra==3 && template>10000) { var o=prompt('Start bei Etikett Nummer','1'); if (''+o=='null') return; SetForm1Value('adressoffset',o); } 628 SetForm1Value('extra',extra); 629 SetForm1Value('template',template); 630 SetForm1Value('dialog',dialog); 631 GetForm1().target=''; 632 if (extra==0) ShowLightboxSubmit(); 633 DropZoneSubmit(DirectForm1Submit); 634} 635 636function OpenDirectForm() 637{ 638 var form1=document.getElementById('form1'); 639 var form2=document.getElementById('form2'); 640 $('#pdfsubject').val(form1.elements['mailsubject'].value); 641 $('#pdfbody').val(GetEditorContent('tinymailbody')); 642 form2.target=''; 643 form2.submit(); 644} 645 646function ResetOpen() 647{ 648 SetForm1Value('extra',''); 649 SetForm1Value('template',''); 650 SetForm1Value('dialog','0'); 651 GetForm1().target=''; 652} 653 654function OpenNewWindow(extra,template) 655{ 656 DropZoneSubmit(function() { OpenNewWindowNow(extra,template); }); 657} 658 659function OpenNewWindowNow(extra,template) 660{ 661 if (extra>=0) SetForm1Value('extra',extra); 662 if (template>=0) SetForm1Value('template',template); 663 SetForm1Value('dialog','1'); 664 GetForm1().target='PopupWnd'; 665 var size='width=1200,height=900'; 666 if (extra==1 || extra==2) size='width=800,height=800'; 667 if (extra==1000) size='width=1000,height=1000'; 668 window.open('about:blank', 'PopupWnd', 'toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,copyhistory=no,'+size); 669 window.setTimeout("window.document.forms['form1'].submit();", 1); 670} 671 672function ShowLightBox() 673{ 674 $('#light').show(); 675 $('#fade').show(); 676} 677 678function ShowLightBoxParent() 679{ 680 $('<div id=\"fadebody\" class=\"lightboxbackground\"></div>').prependTo('body'); 681 $('#fadebody').css('display','block'); 682} 683 684function CloseLightBox() 685{ 686 $('#light').hide(); 687 $('#fade').hide(); 688} 689 690function CancelLightBox() 691{ 692 CloseLightBox(); 693 window.stop(); 694} 695 696function ShowAndere(el, name, tag) 697{ 698 if (el.value==tag) 699 { 700 $('#'+name).hide(); 701 $('#'+name+'id').show(); 702 } 703 else 704 { 705 $('#'+name+'id').hide(); 706 $('#'+name+'etc').val(''); 707 } 708} 709 710function HideAndere(name) 711{ 712 $('#'+name).show(); 713 $('#'+name+'id').hide(); 714 $('#'+name+'etc').val(''); 715 if (name.substr(0,3)=='div') $('#'+name.substr(3)).val(''); else $('#'+name).val(''); 716} 717 718function ShowAndereOption(el, name) 719{ 720 if (el.value=='#') 721 { 722 $('#'+name+'id').show(); 723 } 724 else 725 { 726 $('#'+name+'id').hide(); 727 $('#'+name+'etc').val(''); 728 } 729} 730 731function OpenBox(boxnr) 732{ 733 var el=document.getElementById('box'+boxnr); 734 if (el.style.display=='none') el.style.display=''; else el.style.display='none'; 735} 736 737function Form1SubmitIfCount(typ,cmd) 738{ 739 if (CountSelected()==0) 740 alert('Bitte erst '+typ+' markieren'); 741 else 742 Form1SubmitCount(typ,cmd); 743} 744 745function Form1SubmitCount(typ,cmd) 746{ 747 SetForm1Value('cmd',cmd); 748 DirectForm1Submit(); 749} 750 751function Form1SubmitIfSelected(typ,cmd,msg) 752{ 753 if (CountSelected()==0) 754 alert('Bitte erst '+typ+' markieren'); 755 else 756 Form1SubmitSelected(typ,cmd,msg); 757} 758 759function Form1SubmitAll(typ,cmd,msg) 760{ 761 if (confirm(typ+' jetzt wirklich '+msg+'?')) { if (cmd!='') SetForm1Value('cmd',cmd); Form1Submit(); } 762} 763 764function Form1SubmitSelected(typ,cmd,msg) 765{ 766 if (confirm('Markierte '+typ+' jetzt wirklich '+msg+'?')) { if (cmd!='') SetForm1Value('cmd',cmd); Form1Submit(); } 767} 768 769function FormSubmitIfSelected(form,typ,cmd,msg) 770{ 771 if (FormCountSelected(form)==0) { alert('Bitte erst '+typ+' markieren'); return; } 772 if (confirm('Markierte '+typ+' jetzt wirklich '+msg+'?')) { SetFormValue(form,'cmd',cmd); FormSubmit(form); } 773} 774 775function PromptAndSubmit() 776{ 777 if (CountSelected()==0) { alert('Bitte erst Buchungen markieren'); return; } 778 var txt=prompt('Kontoauszug'); 779 if (txt=='') { alert('Eingabe eines Kontoauszuges ist notwenig!'); return; } 780 if (txt==null) return;
781 SetForm1Value('kontoauszug',txt); 782 SetForm1Value('cmd','setzebezahltkontoauszug'); 783 Form1Submit(); 784} 785 786function GetBanknameBICbyBLZ(blz, bank, bic) 787{ 788 if (blz.value=='') return; 789 var elBank=document.getElementById(bank); 790 var elBic=document.getElementById(bic); 791 $.ajax({ type: 'GET', url: './?webservice=blz&blz='+blz.value, success: function(result) 792 { 793 if (result=='') return; 794 var data=result.split('\n'); 795 if (elBank) 796 { 797 if (elBank.value!='' && elBank.value!=data[1]) if (!confirm(elBank.value+' überschreiben mit '+data[1]+'?')) return; 798 elBank.value=data[1]; 799 } 800 if (elBic) 801 { 802 if (elBic.value!='' && elBic.value!=data[0]) if (!confirm(elBic.value+' überschreiben mit '+data[0]+'?')) return; 803 elBic.value=data[0]; 804 } 805 $('#dataUrl').val(data[2]); 806 $('#dataHBCI').val(data[3]=='300'?'':data[3]); 807 } }); 808} 809 810function GetBanknameBICbyIBAN(iban, bank, bic, kontonummer, bankleitzahl, label) 811{ 812 $('#'+label).hide(); 813 if (iban.value=='') return; 814 var ibanWert=iban.value.replace(/ /g,''); 815 var blz=ibanWert.substr(4,8); 816 var land=ibanWert.substr(0,2).toUpperCase(); 817 if (land!='DE') blz=''; 818 var elBank=document.getElementById(bank); 819 var elBic=document.getElementById(bic); 820 var elKto=document.getElementById(kontonummer); 821 var elBlz=document.getElementById(bankleitzahl); 822 var elLbl=document.getElementById(label); 823 $.ajax({ type: 'GET', url: '?webservice=iban&iban='+ibanWert, success: function(result) 824 { 825 if (result=='') return; 826 var data=result.split('\n'); 827 var ok=data[0]==''; 828 if (elLbl) 829 { 830 if (!ok) { $('#'+label).html(data[0]); $('#'+label).show(); } 831 } 832 if (elBank && ok) 833 { 834 //if (elBank.value!='' && elBank.value!=data[2]) if (!confirm(elBank.value+' überschreiben mit '+data[2]+'?')) return; 835 elBank.value=data[2]; 836 } 837 if (elBic && ok) 838 { 839 //if (elBic.value!='' && elBic.value!=data[1]) if (!confirm(elBic.value+' überschreiben mit '+data[1]+'?')) return; 840 elBic.value=data[1]; 841 } 842 if (ok) 843 { 844 if (elBlz) elBlz.value=blz; 845 if (elKto) if (land=='DE') { var k=ibanWert.substr(12); while (k.substr(0,1)=='0') k=k.substr(1); elKto.value=k; } else elKto.value=''; 846 $('#dataUrl').val(data[3]); 847 } 848 } }); 849} 850 851function GetOrtByPLZ(plz, ort) 852{ 853 if (plz.value=='') return; 854 855 var bl=$('#key_'+ort.substr(0,2)+'bundesland'); 856 857 $('#'+ort).prop('disabled',true).css('background-color','#f8f8f8'); 858 $('#'+ort).autocomplete({ 859 source: function(request, response) 860 { 861 $.ajax( 862 { 863 url: '?webservice=plzmulti', 864 dataType: 'json', data: { plz:plz.value, bundesland:bl.length }, 865 success: function( data ) 866 { 867 if (data.length==1 && $('#'+ort).val()=='') 868 { 869 var wrt=data[0]; 870 if (bl.length>0 && wrt.indexOf(' @')>0) { bl.val(wrt.substr(wrt.indexOf(' @')+2)); wrt=wrt.substr(0, wrt.indexOf(' @')); } 871 $('#'+ort).val(wrt); 872 } 873 //else if (data.length==0) 874 // alert('PLZ nicht gefunden'); 875 else 876 response(data); 877 $('#'+ort).prop('disabled',false).css('background-color',''); 878 $('#'+ort).focus(); 879 } 880 }); 881 }, 882 select: function( event, ui ) 883 { 884 var wrt=ui.item.value; 885 if (bl.length>0 && wrt.indexOf(' @')>0) { bl.val(wrt.substr(wrt.indexOf(' @')+2)); wrt=wrt.substr(0, wrt.indexOf(' @')); } 886 $('#'+ort).val(wrt); 887 $('#'+ort).autocomplete('close'); 888 $('#'+ort).prop('disabled',false).css('background-color',''); 889 $('#'+ort).focus(); 890 event.preventDefault(); 891 }, 892 minLength: 0 893 }); 894 $('#'+ort).autocomplete('search', ''); 895} 896 897function GetFirmaByID(id) 898{ 899 $.ajax({ type: 'GET', url: './?webservice=firma&id='+id, success: function(result) 900 { 901 if (result=='') return; 902 var el=document.getElementById("firma"); 903 el.value=result; 904 } }); 905} 906 907function CheckNames(field) 908{ 909 var el=document.getElementById(field); 910 if (el.value=='') return; 911 $.ajax({ type: 'POST', url: './?webservice=name', data: 'wert='+encodeURIComponent(el.value), success: function(result) 912 { 913 el.value=result; 914 } }); 915} 916 917var calendars=[]; 918function InitCalendar(feld) 919{ 920 calendars[feld] = new CalendarPopup(feld+'calendardiv'); 921 calendars[feld].setMonthNames('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'); 922 calendars[feld].setDayHeaders('S','M','D','M','D','F','S'); 923 calendars[feld].setWeekStartDay(1); 924 calendars[feld].setTodayText('Heute'); 925} 926function SetCalendar(feld) 927{ 928 calendars[feld].select(document.getElementById(feld), feld+'anchor', 'dd.MM.yyyy'); 929} 930 931function OpenKontoPicker(name,filter) 932{ 933 window.open('?action=kasse_kontopicker&field='+name+'&value='+encodeURIComponent(document.getElementById(name).value)+'&filter='+encodeURIComponent(filter)+'&dialog=1','','toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=500,height=1000'); 934} 935 936function OpenKreditorPicker(name) 937{ 938 window.open('?action=kasse_kreditorpicker&field='+name+'&kreditor='+encodeURIComponent(document.getElementById(name).value)+'&dialog=1','','toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=600,height=350'); 939} 940 941function SyncSelect(src, dst) 942{ 943 document.getElementById(dst).selectedIndex=document.getElementById(src).selectedIndex; 944} 945 946function DeleteZuordnung(form, id) 947{ 948 if (!confirm('Zuordnung wirklich löschen?')) return; 949 SetFormValue(form,'action','kasse_deletezuordnung'); 950 SetFormValue(form,'deleteid',id); 951 FormSubmit(form); 952} 953 954function SetMasterValue(checkbox,field,mastervalue,ownvalue) 955{ 956 var el=document.getElementById(field); 957 if (checkbox.checked) 958 { 959 el.value=mastervalue; 960 el.readOnly=true; 961 } 962 else 963 { 964 el.value=ownvalue; 965 el.readOnly=false; 966 } 967} 968 969function Bankeinzug(form, action) 970{ 971 if (FormCountSelected(form)>0) { SetFormValue(form, 'action','kasse_'+action); DirectFormSubmit(form); } else alert('Bitte erst Einträge markieren!'); 972} 973 974function HBCITransaktion(form) 975{ 976 if (FormCountSelected(form)>0) { SetFormValue(form, 'action','kasse_hbciv2sepa'); SetFormValue(form, 'cmd',''); FormSubmit(form); } else alert('Bitte mindestens einen Eintrag markieren!'); 977} 978 979function RadioGroupSelect(name,nr) 980{ 981 $('.row_'+name).hide(); 982 $('.row_'+name+nr).show(); 983} 984 985function Serientermin() 986{ 987 if (document.getElementById('serien').style.display=='') 988 { 989 $('#serien INPUT, #serien SELECT').val(''); 990 document.getElementById('serien').style.display='none'; 991 } 992 else 993 document.getElementById('serien').style.display=''; 994} 995 996function InplaceEdit(nr, querystring, tag1, tag2) 997{ 998 var cap='Neuer Wert'; 999 if (tag1=='sv') cap='aktueller Bestand (Inventur)'; 1000 if (tag1=='re') cap='Belegnummer'; 1001 if (tag1=='cb1') cap='existierende Rechnungsnummer'; 1002 if (tag1=='cb2') cap='beliebige fiktive Rechnungsnummer'; 1003 var wrt=$('.inplacevalue'+nr).html(); 1004 if (wrt=='ausverkauft') wrt='0'; else if (wrt.substr(0,13)=='ausverkauft (') wrt=wrt.substr(13,wrt.length-14); 1005 var txt=prompt(cap,wrt); 1006 if (txt==null) return; 1007 $('.inplacevalue'+nr).html(txt); 1008 if (tag1=='cn') if (txt=='') jQuery('.inplacevalue'+nr).parent().removeClass('chironotiz'); else jQuery('.inplacevalue'+nr).parent().addClass('chironotiz'); 1009 if (tag1=='sv') { var w=(parseInt(txt)+parseInt(tag2)); $('.inplacevalue'+nr).parent().prev().prev().prev().prev().html(w); } 1010 InplaceCall(querystring, txt); 1011} 1012 1013function InplaceCall(querystring, txt) 1014{ 1015 $.ajax({ type: 'POST', url: './?webservice=update', data: 'tag='+encodeURIComponent(querystring)+"&wert="+encodeURIComponent(txt) }); 1016} 1017 1018function Toggle(id) 1019{ 1020 var el=document.getElementById(id); 1021 if (el) { if (el.style.display=='none') el.style.display=''; else el.style.display='none'; } 1022} 1023 1024var oldYear=true; 1025function EnhanceAndVerifyDatum(fld) 1026{ 1027 var d = new Date(); 1028 var m = d.getMonth()+1; if (m<10) m='0'+m; 1029 var y = d.getFullYear(); 1030 if (fld.value.indexOf('.')>=0) 1031 { 1032 var datum=fld.value.split('.',3); 1033 if (datum[0]=='' || datum[0]==undefined) { return; } 1034 if (datum[0].length==1) datum[0]='0'+datum[0]; 1035 if (datum[1]==undefined) datum[1]=''; 1036 if (datum[1].length==1) datum[1]='0'+datum[1]; 1037 if (datum[2]==undefined) datum[2]=''; 1038 if (fld.name=='geburtstag') 1039 { 1040 if (datum[1]=='') { fld.value=datum[0]+'.'+m+'.'; return; } 1041 if (datum[2]=='') { fld.value=datum[0]+'.'+datum[1]+'.'; return; } 1042 if (datum[2]<=30) { datum[2]=parseInt(datum[2])+2000; fld.value=datum[0]+'.'+datum[1]+'.'+datum[2]; } 1043 if (datum[2]<100) { datum[2]=parseInt(datum[2])+1900; fld.value=datum[0]+'.'+datum[1]+'.'+datum[2]; } 1044 } 1045 else 1046 { 1047 if (datum[1]=='') { fld.value=datum[0]+'.'+m+'.'+y; return; } 1048 if (datum[2]=='') { fld.value=datum[0]+'.'+datum[1]+'.'+y; return; } 1049 if (datum[2]<=30) { datum[2]=parseInt(datum[2])+2000; fld.value=datum[0]+'.'+datum[1]+'.'+datum[2]; } 1050 if (datum[2]<100) { datum[2]=parseInt(datum[2])+1900; fld.value=datum[0]+'.'+datum[1]+'.'+datum[2]; } 1051 //if (datum[2]<y) { if (oldYear) alert('Hinweis: altes Jahr eingegeben!'); oldYear=false; } 1052 } 1053 } 1054 else 1055 { 1056 if (fld.value=='') return; 1057 if (fld.value.length==1) { fld.value='0'+fld.value+'.'+m+'.'+y; return; } 1058 if (fld.value.length==2) { fld.value=fld.value+'.'+m+'.'+y; return; } 1059 if (fld.value.length==4) { fld.value=fld.value.substr(0,2)+'.'+fld.value.substr(2,2)+'.'+y; return; } 1060 if (fld.value.length==6) { fld.value=fld.value.substr(0,2)+'.'+fld.value.substr(2,2)+(fld.value.substr(4,2)<='30'?'.20':'.19')+fld.value.substr(4,2); return; } 1061 if (fld.value.length==8) { fld.value=fld.value.substr(0,2)+'.'+fld.value.substr(2,2)+'.'+fld.value.substr(4,4); return; } 1062 } 1063} 1064 1065function BerechneAlter(heute, el) 1066{ 1067 if (el.value=='') { $('#alter_geburtstag').html(''); return 0; } 1068 var geb1=el.value.split('.'); 1069 var heute1=heute.split('.'); 1070 if (geb1.length!=3 || heute1.length!=3) { $('#alter_geburtstag').html(' falsches Datums-Format'); return 0; } 1071 if (geb1[2]=='') { $('#alter_geburtstag').html(''); return 0; } 1072 var alter=parseInt(heute1[2])-parseInt(geb1[2]); if (parseInt(heute1[1])<parseInt(geb1[1]) || (parseInt(heute1[1])==parseInt(geb1[1]) && parseInt(heute1[0])<parseInt(geb1[0]))) alter--;
1073 if (alter<0 || alter>150) { $('#alter_geburtstag').html(''); return 0; } 1074 $('#alter_geburtstag').html(' =('+alter+' Jahre)'); 1075 return alter; 1076} 1077 1078function SetBelegEnable(enable, art) 1079{ 1080 if (enable && art) $("#datepickerdatum IMG").show(); else $("#datepickerdatum IMG").hide(); 1081 if (enable) $("#art0").removeAttr("disabled"); else $("#art0").attr("disabled",true); 1082 if (enable) $("#art1").removeAttr("disabled"); else $("#art1").attr("disabled",true); 1083 if (enable && art) $("#datum").removeAttr("disabled"); else $("#datum").attr("disabled",true); 1084 if (enable) $("#zweck").removeAttr("disabled"); else $("#zweck").attr("disabled",true); 1085 if (enable) $("#betrag").removeAttr("disabled"); else $("#betrag").attr("disabled",true); 1086 if (enable) $("#kat").removeAttr("disabled"); else $("#kat").attr("disabled",true); 1087 if (enable) $("#kontoid").removeAttr("disabled"); else $("#kontoid").attr("disabled",true); 1088 if (enable) $("#kontodetailskontoid").removeAttr("disabled"); else $("#kontodetailskontoid").attr("disabled",true); 1089 if (enable && art) { $("#kontoid2").removeAttr("disabled"); $("#rowkontoid2").show(); } else { $("#kontoid2").attr("disabled",true); $("#rowkontoid2").hide(); } 1090 if (enable && art) $("#kontodetailskontoid2").removeAttr("disabled"); else $("#kontodetailskontoid2").attr("disabled",true); 1091 if (enable && art) $("#kontopickerkontoid2").removeAttr("disabled"); else $("#kontopickerkontoid2").attr("disabled",true); 1092 if (enable && art) $("#unterkonto").removeAttr("disabled"); else $("#unterkonto").attr("disabled",true); 1093 if (enable) $("#mwst").removeAttr("disabled"); else $("#mwst").attr("disabled",true); 1094 if (enable) $("#belegnr").removeAttr("disabled"); else $("#belegnr").attr("disabled",true); 1095 if (enable) $("#rnummer").removeAttr("disabled"); else $("#rnummer").attr("disabled",true); 1096 if (enable) $("#rnummerlink").show(); else $("#rnummerlink").hide(); 1097 if (enable && art) $("#rtyp").removeAttr("disabled"); else { $("#rtyp").attr("disabled",true); $("#rtyp").val('0'); $("#rtyp").trigger('change'); } 1098 if (enable) $("#kunde").removeAttr("disabled"); else $("#kunde").attr("disabled",true); 1099 if (enable) $("#userid").removeAttr("disabled"); else $("#userid").attr("disabled",true); 1100 if (enable) $("#gruppenid").removeAttr("disabled"); else $("#gruppenid").attr("disabled",true); 1101 if (enable) $("#veranstaltungid").removeAttr("disabled"); else $("#veranstaltungid").attr("disabled",true); 1102 if (enable) $("#quelle").removeAttr("disabled"); else $("#quelle").attr("disabled",true); 1103} 1104 1105function NeueRechnungsNummer() 1106{ 1107 $.ajax({ type: 'GET', url: './?webservice=renr&rtyp='+$('#rtyp').val()+"&uid="+$('#userid').val()+"&vid="+$('#veranstaltungid').val()+"&betrag="+$('#betrag').val(), success: function(result) 1108 { 1109 $('#rnummer').val(result); 1110 } }); 1111} 1112 1113function NeueKundenNummer(field) 1114{ 1115 $.ajax({ type: 'GET', url: './?webservice=kunr', success: function(result) 1116 { 1117 $('#'+field).val(result); 1118 } }); 1119} 1120 1121function KontoPickerSetze(field,wert) 1122{ 1123 if (wert=='') 1124 KontoPickerSetzeName(field,'',''); 1125 else 1126 $.ajax({ url: './?webservice=kontopicker', dataType: 'json', data: { query:encode_utf8(wert), filterart:'' }, success: function( data ) 1127 { 1128 if (data.length==1) 1129 KontoPickerSetzeName(field,wert,data[0].label); 1130 else 1131 KontoPickerSetzeName(field,wert,wert); 1132 } }); 1133} 1134 1135function KontoPickerAktiv(field,aktiv) 1136{ 1137 $('#kontopicker'+field).prop('disabled',!aktiv); 1138 $('#kontopicker'+field).trigger('change'); 1139} 1140 1141function KontoPickerSetzeName(field,wert,name) 1142{ 1143 $('#'+field).val(wert); 1144 $('#kontopicker'+field).val(name); 1145 $('#kontodetails'+field).val(wert); //dropdown 1146} 1147 1148function SetBelegData(betrag, id, konto, konto2, kreditor, kreditorname, quelle, kontoname, kontoname2, mwststd) 1149{ 1150 $("#betrag").val(betrag==0?'':betrag); 1151 KontoPickerSetzeName('kontoid',konto,kontoname); 1152 KontoPickerSetzeName('kontoid2',konto2,kontoname2); 1153 $("#unterkonto").val(kreditor); 1154 $("#kreditordetailsunterkonto").html(kreditorname); 1155 $("#peoplepickerguthabenmitglied").val(kreditorname); 1156 if (id=='' || id==0) return; 1157 $.ajax({ type: 'GET', url: './?webservicejson&function=GetRechnung&id='+id, success: function(result) 1158 { 1159 $("#datum").val(result.datum.substr(8,2)+'.'+result.datum.substr(5,2)+'.'+result.datum.substr(0,4)); 1160 $("#zweck").val(result.zweckkurz); 1161 $("#kat").val(result.kategorie); 1162 $("#mwst").val(mwststd==0?'':mwststd); 1163 $("#belegnr").val(result.beleg); 1164 $("#kunde").val(result.kunde); 1165 $("#userid").val(result.userid); 1166 $("#gruppenid").val(""); 1167 $("#veranstaltungid").val(""); 1168 $("#quelle").val(quelle==-1?result.quelle:quelle); 1169 } }); 1170} 1171 1172function ShowHideToggle(id) 1173{ 1174 if (!$(id).is(':visible')) $(id).show(); else $(id).hide(); 1175} 1176 1177function CheckGeoAdr(adr) 1178{
1179 if (adr=='') return false; 1180 if (adr=='undefined') return false; 1181 if (adr==undefined) return false; 1182 if (adr.indexOf(' / ') && parseFloat(adr)>0) return false; 1183 return true; 1184} 1185 1186function GeoOpenDirect(extra,template,dialog) 1187{ 1188 var adr=$('#geoadr').val(); 1189 if (!CheckGeoAdr(adr)) { OpenDirect(extra,template,dialog); return; } 1190 $.ajax({ type: 'GET', url: './?webservice=geo&ort='+encodeURIComponent(adr), success: function(result) 1191 { 1192 if (result!='') $('#geoadr').val(result); 1193 OpenDirect(extra,template,dialog); 1194 } }); 1195 1196 //var geocoder = new google.maps.Geocoder(); 1197 //geocoder.geocode( 1198 // { address: adr }, 1199 // function(locResult, status) 1200 // { 1201 // if (status == google.maps.GeocoderStatus.OK) 1202 // $('#geoadr').val(locResult[0].geometry.location.lat() +" / " +locResult[0].geometry.location.lng()); 1203 // OpenDirect(extra,template,dialog); 1204 // } 1205 //); 1206} 1207 1208function GeoOpenNewWindow(extra,template) 1209{ 1210 var adr=$('#geoadr').val(); 1211 if (!CheckGeoAdr(adr)) { OpenNewWindow(extra,template); return; } 1212 1213 $.ajax({ type: 'GET', url: './?webservice=geo&ort='+encodeURIComponent(adr), success: function(result) 1214 { 1215 if (result!='') $('#geoadr').val(result); 1216 OpenNewWindow(extra,template); 1217 } }); 1218 1219 //var geocoder = new google.maps.Geocoder(); 1220 //geocoder.geocode( 1221 // { address: adr }, 1222 // function(locResult, status) 1223 // { 1224 // if (status == google.maps.GeocoderStatus.OK) 1225 // $('#geoadr').val(locResult[0].geometry.location.lat() +" / " +locResult[0].geometry.location.lng()); 1226// OpenNewWindow(extra,template); 1227 // } 1228 //); 1229} 1230 1231//Suche nach Umkreis 1232function BerechneGEO(src, dst, submit) 1233{ 1234 ShowLightBox(); 1235 var el=document.getElementById(src); 1236 if (el==undefined) { if (submit!='') DirectFormSubmit(submit); return; } 1237 var adr=el.value; 1238 if (!CheckGeoAdr(adr)) { if (submit=='#') OpenNewWindowNow(-1,-1); else if (submit!='') DirectFormSubmit(submit); return; } 1239 GoogleGeoCoder(adr, dst, submit); 1240} 1241 1242function GoogleGeoCoder(adr, geofieldid, submit) 1243{ 1244 $.ajax({ type: 'GET', url: './?webservice=geo&ort='+encodeURIComponent(adr), success: function(result) 1245 { 1246 if (result!='') $('#'+geofieldid).val(result); 1247 if (submit=='#') OpenNewWindowNow(-1,-1); else if (submit!='') DirectFormSubmit(submit); 1248 } }); 1249 1250 ////Client 1251 //var geocoder = new google.maps.Geocoder(); 1252 //geocoder.geocode( 1253 // { address: adr }, 1254 // function(locResult, status) 1255 // { 1256 // if (status == google.maps.GeocoderStatus.OK) 1257 // $('#'+geofieldid).val(locResult[0].geometry.location.lat() + " / " +locResult[0].geometry.location.lng()); 1258 // //else alert(status); 1259 // if (submit!='') DirectFormSubmit(submit); 1260 // } 1261 //); 1262} 1263 1264//Mitgliederprofile, Geo-Feld "Neu berechnen" 1265function BerechneGEOAdr2(geofieldid, submit, prefix) 1266{ 1267 var pre=prefix; if (pre=='') pre=$('#postgp').val()==0?"p":"g"; 1268 var adrLnd = $('#'+pre+'_land').val(); 1269 var adrStr = $('#'+pre+'_strasse').val(); 1270 var adrPlz = $('#'+pre+'_plz').val(); 1271 var adrOrt = $('#'+pre+'_ort').val(); 1272 if (adrLnd=='') adrLnd='D'; 1273 var adr = adrLnd+"-"+adrPlz+" "+adrOrt+", "+adrStr; 1274 if (adr==$('#geolastvalue').val() && $('#'+geofieldid).val()!='') { if (submit!='') DirectFormSubmit(submit); return; } 1275 GoogleGeoCoder(adr, geofieldid, submit); 1276} 1277 1278function BerechneLuft(pos1, pos2, luft) 1279{ 1280 var p1=document.getElementById(pos1).value; 1281 var p1p=p1.indexOf('/'); 1282 var latLng1 = new google.maps.LatLng(p1.substring(0,p1p), p1.substring(p1p+1), true); 1283 1284 var p2=document.getElementById(pos2).value; 1285 var p2p=p2.indexOf('/'); 1286 var latLng2 = new google.maps.LatLng(p2.substring(0,p2p), p2.substring(p2p+1), true); 1287 1288 var l=document.getElementById(luft); 1289 l.value=round2(google.maps.geometry.spherical.computeDistanceBetween(latLng1,latLng2)/1000); 1290} 1291 1292function round2(value) 1293{ 1294 var shift = 100; 1295 var shifted = Math.round(value * shift); 1296 return shifted / shift; 1297} 1298 1299function round3(value) 1300{ 1301 var shift = 1000; 1302 var shifted = Math.round(value * shift); 1303 return shifted / shift; 1304} 1305 1306function AddBelegZeile(zeilennr, extranr) 1307{ 1308 var elem=$('#zeile_25').clone(); 1309 elem.show(); 1310 ItemsSetIDLine(elem,'','_'+zeilennr+'_'+extranr,false); 1311 1312 elem.find('#einaus_'+zeilennr+'_'+extranr).val($('#einaus'+zeilennr).val());
1313 elem.find('#nettobrutto_'+zeilennr+'_'+extranr).val($('#nettobrutto'+zeilennr).val()); 1314 elem.find('#mwst_'+zeilennr+'_'+extranr).val($('#mwst'+zeilennr).val()); 1315 1316 elem.find('a.belegzeile').each(function(index, value) { 1317 $(this).attr('onclick','javascript:AddBelegZeile('+zeilennr+','+(extranr+1)+');return false;'); 1318 }); 1319 1320 if (extranr==1) 1321 $('#extralink_'+zeilennr).hide(); 1322 else 1323 $('#extralink_'+zeilennr+'_'+(extranr-1)).hide(); 1324 1325 var nxt=$('#zeile_'+(zeilennr+1)); 1326 elem.insertBefore(nxt); 1327 1328 KontoPickerEnable('konto_'+zeilennr+'_'+extranr); 1329} 1330 1331function OpenRegister(selectedTab, name) 1332{ 1333 $('#openedpage').val(selectedTab); 1334 if (name!='') name='#'+name+' '; 1335 1336 $(name+'.tabdialog').hide(); 1337 $(name+'.tabX').removeClass('active'); 1338 $(name+'.tabB').removeClass('tabselected'); 1339 $(name+'.tabB').addClass('tabunselected'); 1340 1341 $(name+'.item'+selectedTab).show(); 1342 $(name+'.tabX'+selectedTab).addClass('active'); 1343 $(name+'.tabB'+selectedTab).addClass('tabselected'); 1344 $(name+'.tabB'+selectedTab).removeClass('tabunselected'); 1345 1346 //if (typeof PadResizeCanvas2 === "function") PadResizeCanvas2(); 1347} 1348 1349function SyncUnter(kontofield, kontenFV, kontenBank) 1350{ 1351 var konto=$('#'+kontofield).val(); 1352 var sel=3, bank=''; 1353 for(var i=0; i<kontenFV.length; i++) if (kontenFV[i]==konto) sel=1; 1354 for(var i=0; i<kontenBank.length; i++) if (kontenBank[i][0]==konto) { sel=2; bank=kontenBank[i][1]; } 1355 if (sel==1) $('#div_unter'+kontofield+'_1').show(); else $('#div_unter'+kontofield+'_1').hide(); 1356 if (sel==2) $('#div_unter'+kontofield+'_2').show(); else $('#div_unter'+kontofield+'_2').hide(); 1357 if (sel==3) $('#div_unter'+kontofield+'_3').show(); else $('#div_unter'+kontofield+'_3').hide(); 1358 $('#unter'+kontofield).val(sel); 1359 if (sel==2) $('#unter'+kontofield+'_2').val(bank); 1360} 1361 1362function OpenBox(boxnr) 1363{ 1364 var el=document.getElementById('box'+boxnr); 1365 if (el.style.display=='none') el.style.display=''; else el.style.display='none'; 1366} 1367 1368function resizetable(id) 1369{ 1370 $(document).ready(function() { 1371 //$('#'+id).css('display','block').css('scrollable','yes').css('overflow-y','auto').css('overflow-x','hidden').css('height','400'); 1372 //$('#'+id).prev().css('display','block').css('position','relative'); 1373 //$('#'+id+' > tr').css('display','block').css('height','30px'); 1374 var h = $(window).height()-$('#'+id).offset().top-30+$(window).scrollTop(); 1375 $('#'+id).height(h); 1376 }); 1377 $(window).resize(function() { var h = $(window).height()-$('#'+id).offset().top-30+$(window).scrollTop(); $('#'+id).height(h); }); 1378 //$(window).scroll(function() { var h = $(window).height()-$('#'+id).offset().top-30+$(window).scrollTop(); $('#'+id).height(h); }); 1379} 1380 1381function pruefPasswortStaerke(password, minlaenge, komplexitaet, txtKurz, txtNA, txtA, txtVorgabe, txtKriterien, txtPwdSec, txtSchwach, txtGut, txtStark, txtSehrStark) 1382{ 1383 var staerke=0; 1384 if (password.length<minlaenge) return ['#ff0000',txtKurz]; 1385 1386 var gr=password.match(/([A-ZÄÖÜ])/); 1387 var kl=password.match(/([a-zäöü])/); 1388 var zi=password.match(/([0-9])/); 1389 var so=false; for(var i=0; i<password.length; i++) { var z=password[i]; so=so || !(z.match(/([A-ZÄÖÜ])/) || z.match(/([a-zäöü])/) || z.match(/([0-9])/)); } 1390 var kom=(gr?1:0)+(kl?1:0)+(zi?1:0)+(so?1:0); 1391 var erg=kom<komplexitaet?txtNA:txtA; 1392 1393 //if (password.length>7) staerke+=1; 1394 if (gr) staerke+=1; 1395 if (kl) staerke+=1; 1396 if (zi) staerke+=1; 1397 if (so) staerke+=1; 1398 //if (password.match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/)) staerke+=1; 1399 1400 var farbe=kom<komplexitaet?'#ff0000':'#007f00'; 1401 1402 if (staerke<2) return [farbe, txtVorgabe+' '+erg+' ('+kom+'/4 '+txtKriterien+'), '+txtPwdSec+' '+txtSchwach]; 1403 if (staerke<3) return [farbe, txtVorgabe+' '+erg+' ('+kom+'/4 '+txtKriterien+'), '+txtPwdSec+' '+txtGut]; 1404 if (staerke<4) return [farbe, txtVorgabe+' '+erg+' ('+kom+'/4 '+txtKriterien+'), '+txtPwdSec+' '+txtStark]; 1405 return [farbe, txtVorgabe+' '+erg+' ('+kom+'/4 '+txtKriterien+'), '+txtPwdSec+' '+txtSehrStark]; 1406} 1407 1408function FormatEuro(w,curr) 1409{ 1410 var s=''+w; if (s.indexOf('.')>=0) { ss=s+'00'; s=Trenner(ss.substr(0,ss.indexOf('.')))+','+ss.substr(ss.indexOf('.')+1,2); } else s=Trenner(s)+',00'; 1411 return s+' '+curr; 1412} 1413 1414function Trenner(number) 1415{ 1416 number = '' + number; 1417 if (number.length > 3) 1418 { 1419 var mod = number.length % 3; 1420 var output = (mod > 0 ? (number.substring(0,mod)) : ''); 1421 for (i=0 ; i < Math.floor(number.length / 3); i++) 1422 { 1423 if ((mod == 0) && (i == 0)) 1424 output += number.substring(mod+ 3 * i, mod + 3 * i + 3); 1425 else 1426 output+= '.' + number.substring(mod + 3 * i, mod + 3 * i + 3); 1427 } 1428 return output; 1429 } 1430 return number; 1431} 1432 1433function GetKommaZahl(feld) 1434{ 1435 var wrt=$('#'+feld).val(); 1436 return GetKommaZahlWert(wrt); 1437} 1438 1439function GetKommaZahlWert(wrt) 1440{ 1441 if (wrt.indexOf('.')>=0 && wrt.indexOf(',')>=0) wrt=wrt.replace('.',''); 1442 wrt=wrt.replace(',','.'); 1443 if (wrt=='') return 0; 1444 return parseFloat(wrt); 1445} 1446 1447function SpeichernKreditor() 1448{ 1449 if ($("input[name='auswahl']:checked").val()==1) if ($('#konto1').val()==0) alert('Bitte Kontakt au
1449swählen'); else SetzeKreditor('#'+$('#konto1').val(), $('#peoplepickerkonto1').val()); 1450 if ($("input[name='auswahl']:checked").val()==2) if ($('#konto2').val()=='') alert('Bitte Kreditor auswählen'); else SetzeKreditor($('#konto2').val(), $('#konto2').val()); 1451 if ($("input[name='auswahl']:checked").val()==3) if ($('#konto3').val()=='') alert('Bitte Kreditor eingeben'); else SetzeKreditor($('#konto3').val(), $('#konto3').val()); 1452 if ($("input[name='auswahl']:checked").val()==4) SetzeKreditor('',''); 1453} 1454 1455function SetzeDatum2(el, feld) 1456{ 1457 var data=el.value.split('.'); 1458 if (data.length>=3) $('#'+feld).val('31.12.'+data[2]); 1459} 1460 1461function Verbandsauswahl(mandant, selectfeld) 1462{ 1463 $('#'+selectfeld).empty(); 1464 $.ajax({ type: 'GET', url: './?webservicejson&function=GetMembers&filter=mandant%3D'+mandant, success: function(result) 1465 { 1466 $("<option/>").val("").text("").appendTo('#'+selectfeld); 1467 for(var i=0; i<result.length; i++) $("<option/>").val(result[i].id).text(result[i].name).appendTo('#'+selectfeld); 1468 } 1469 }); 1470} 1471 1472function CheckSize(size, confirmalle=false) 1473{ 1474 if (confirmalle) if ($('#alle').prop('checked') || $('#vms').prop('checked') || $('#othr').prop('checked')) { if (!confirm("Wirklich an 'alle' senden (ggf. gemäß Filter)?")) return false; } 1475 if ($('#subject').length>0 && $('#subject').val()=='') { alert('Betreff muss ausgefüllt sein'); return false; } 1476 if ($('#attachmentsaslink').prop("checked")) return true; 1477 1478 var ist=0; 1479 $.each( $("input[type='file']"), function(key, value) { if (value.files!=undefined) if (value.files.length>0) for(var i=0; i<value.files.length; i++) ist=ist+value.files[i].size; }); 1480 if (Dropzone.isBrowserSupported()) 1481 { 1482 var dropzone = Dropzone.forElement('#dropareaattachments'); 1483 if (dropzone!=null) { var files = dropzone.getQueuedFiles(); if (files.length!=undefined) for(var i=0; i<files.length; i++) ist+=files[i].size; } 1484 } 1485 if (ist>size*1024*1024) { alert('Die Dateien sind mit '+(Math.round(ist/1024/1024*10)/10)+' MBytes größer als die erlaubten '+size+' MBytes'); return false; } 1486 1487 return true; 1488} 1489 1490function CascadeAuswahl(feld, value, data) 1491{ 1492 $('#'+feld).empty(); 1493 if (value=='') $("<option/>").val('').text('').appendTo('#'+feld); 1494 for(var i=0; i<data.length; i++) if (data[i][0]==value) $("<option/>").val(data[i][1]).text(data[i][2]).appendTo('#'+feld); 1495 if (value=='') SetAndTriggerChange(feld,''); else for(var i=0; i<data.length; i++) if (value=='' || data[i][0]==value) { SetAndTriggerChange(feld,data[i][1]); break; } 1496} 1497 1498function SetAndTriggerChange(feld, wert) 1499{ 1500 $('#'+feld).val(wert); 1501 $('#'+feld).trigger('change'); 1502} 1503 1504function ShowEinreichungAnzahl(id, details, hinweise) 1505{ 1506 $('#hinweistext').html(''); 1507 for(var i=0; i<hinweise.length; i++) if (hinweise[i][0]==id) $('#hinweistext').html(hinweise[i][1]); 1508 1509 $('[class*="rowkey_detail_"]').hide(); 1510 $('[class*="rowkey_detail_"] input').prop('disabled',true); 1511 for(var i=0; i<details.length; i++) 1512 if (details[i][0]==id) 1513 for(var k=1; k<details[i].length; k++) 1514 { 1515 $('.rowkey_detail_'+details[i][k]).show(); 1516 $('.rowkey_detail_'+details[i][k]+' input').prop('disabled',false); 1517 $('#key_detail_'+details[i][k]).prop('disabled',false); 1518 } 1519} 1520 1521function DeleteAllFinal() 1522{ 1523 if (confirm('Wirklich endgültig löschen?')) { SetForm1Value('action','members_deleteallfinal'); Form1Submit(); } 1524} 1525 1526function ReaktiviereAll() 1527{ 1528 if (confirm('Wirklich reaktivieren?')) { SetForm1Value('action','members_list'); SetForm1Value('cmd','saveactivate'); Form1Submit(); } 1529} 1530 1531function AnonymisierenAll() 1532{ 1533 if (confirm('Wirklich anonymisieren?')) { SetForm1Value('action','members_anonymisierenall'); Form1Submit(); } 1534} 1535 1536function DeleteAll() 1537{ 1538 if (confirm('Wirklich löschen?')) { SetForm1Value('action','members_deleteall'); Form1Submit(); } 1539} 1540 1541function LockAll() 1542{ 1543 if (confirm('Wirklich sperren?')) { SetForm1Value('action','members_lockall'); Form1Submit(); } 1544} 1545 1546function ShowOnMap() 1547{ 1548 SetForm1Value('action','members_map'); OpenNewWindow(0,0); 1549} 1550 1551function CopyAdresse(src, dst) 1552{ 1553 $('#'+dst+'_strasse').val($('#'+src+'_strasse').val()); 1554 $('#'+dst+'_plz').val($('#'+src+'_plz').val()); 1555 $('#'+dst+'_ort').val($('#'+src+'_ort').val()); 1556 $('#'+dst+'_land').val($('#'+src+'_land').val()); 1557 if (dst=='r') $('#'+dst+'_firma').val($('#firma').val()); 1558 if (dst=='r') $('#'+dst+'_co').val($('#'+src+'_co').val()); 1559} 1560 1561function SortiereListe(liste) 1562{ 1563 var selElem=document.getElementById(liste); 1564 var tmpAry = new Array(); 1565 for (var i=0;i<selElem.options.length;i++) { 1566 tmpAry[i] = new Array(); 1567 tmpAry[i][0] = selElem.options[i].text; 1568 tmpAry[i][1] = selElem.options[i].value; 1569 } 1570 tmpAry.sort(); 1571 while (selElem.options.length > 0) { 1572 selElem.options[0] = null; 1573 } 1574 for (var i=0;i<tmpAry.length;i++) { 1575 var op = new Option(tmpAry[i][0], tmpAry[i][1]); 1576 selElem.options[i] = op; 1577 } 1578} 1579 1580function MoveFile(id, folder, file, targetfolder, link) 1581{ 1582 //alert('./?action=data_raum&id='+id+'&folder='+encodeURIComponent(folder)+'&raumtarget='+id+'&foldertarget='+encodeURIComponent(targetfolder)+'&movefile='+encodeURIComponent(file)+'&mode=&dialog=4'); return; 1583 $.ajax({ type: 'GET', url: './?action=data_raum&utf8=1&id='+id+'&folder='+encodeURIComponent(folder)+'&raumtarget='+id+'&foldertarget='+encodeURIComponent(targetfolder)+'&movefile='+encodeURIComponent(file)+'&mode=&dialog=4', success: function(result) 1584 { 1585 location.href=link; 1586 } }); 1587} 1588 1589function MoveFileAdm(folder, file, targetfolder, link) 1590{ 1591 $.ajax({ type: 'GET', url: './?webservice=movefile&folder='+encodeURIComponent(folder)+'&foldertarget='+encodeURIComponent(targetfolder)+'&file='+encodeURIComponent(file), success: function(result) 1592 { 1593 location.href=link; 1594 } }); 1595} 1596 1597function KontoPickerEnable(field,filterart='',webservice='kontopicker') 1598{ 1599 $('#kontopicker'+field).autocomplete({ 1600 source: 1601 function(request, response) 1602 { 1603 //$('#'+field).val(''); 1604 //$('#kontopicker'+field).val(''); 1605 $.ajax({ url: './?webservice='+webservice, dataType: 'json', data: { query:encode_utf8(request.term), filterart:filterart }, success: function( data ) 1606 { 1607 if (data.length==1) 1608 { 1609 $('#'+field).val(data[0].value); 1610 $('#kontopicker'+field).val(data[0].label); 1611 $('#kontopicker'+field).autocomplete('close'); 1612 $('#kontopicker'+field).trigger('change'); 1613 KontoPickerAktiv(field,false); 1614 } 1615 else 1616 response( data ); 1617 } }); 1618 }, 1619 select: function(event, ui) 1620 { 1621 KontoPickerAktiv(field,false); 1622 $('#'+field).val(ui.item.value); 1623 $('#kontopicker'+field).val(ui.item.label); 1624 $('#kontopicker'+field).autocomplete('close'); 1625 $('#kontopicker'+field).trigger('change'); 1626 event.preventDefault(); 1627 } 1628 }); 1629} 1630function KontoPickerExit(field) 1631{ 1632 if ($('#'+field).val()=='') $('#kontopicker'+field).val(''); 1633} 1634 1635function VAPickerEnable(field, onlyPictures, gruppenid) 1636{ 1637 $('#vapicker'+$.escapeSelector(field)).autocomplete({ 1638 source: 1639 function(request, response) 1640 { 1641 //$('#'+field).val(''); 1642 //$('#vapicker'+field).val(''); 1643 if (request.term.length>2) 1644 $.ajax({ url: './?webservice=vapicker&onlyPictures='+onlyPictures+'&gruppenid='+gruppenid, dataType: 'json', data: { query:encode_utf8(request.term) }, success: function( data ) 1645 { 1646 if (data.length==1) 1647 { 1648 $('#'+$.escapeSelector(field)).val(data[0].value); 1649 $('#vapicker'+$.escapeSelector(field)).val(data[0].label); 1650 $('#vapicker'+$.escapeSelector(field)).autocomplete('close'); 1651 $('#vapicker'+$.escapeSelector(field)).trigger('change'); 1652 VAPickerAktiv(field,false); 1653 } 1654 else 1655 response( data ); 1656 } }); 1657 }, 1658 select: function(event, ui) 1659 { 1660 VAPickerAktiv(field,false); 1661 $('#'+$.escapeSelector(field)).val(ui.item.value); 1662 $('#vapicker'+$.escapeSelector(field)).val(ui.item.label); 1663 $('#vapicker'+$.escapeSelector(field)).autocomplete('close'); 1664 $('#vapicker'+$.escapeSelector(field)).trigger('change'); 1665 event.preventDefault(); 1666 } 1667 }); 1668} 1669function VAPickerExit(field) 1670{ 1671 if ($('#'+$.escapeSelector(field)).val()=='') $('#vapicker'+$.escapeSelector(field)).val(''); 1672} 1673function VAPickerAktiv(field,aktiv) 1674{ 1675 $('#vapicker'+$.escapeSelector(field)).prop('disabled',!aktiv); 1676 $('#vapicker'+$.escapeSelector(field)).trigger('change'); 1677} 1678function VAPickerLoeschen(field) 1679{ 1680 $('#'+$.escapeSelector(field)).val(''); 1681 $('#vapicker'+$.escapeSelector(field)).val(''); 1682 VAPickerAktiv(field, true); 1683} 1684 1685function encode_utf8(rohtext) 1686{ 1687 rohtext = rohtext.replace(/\r\n/g,"\n"); 1688 var utftext = ""; 1689 for(var n=0; n<rohtext.length; n++) 1690 { 1691 var c=rohtext.charCodeAt(n); 1692 if (c<128) 1693 utftext += String.fromCharCode(c); 1694 else if((c>127) && (c<2048)) 1695 { 1696 utftext += String.fromCharCode((c>>6)|192); 1697 utftext += String.fromCharCode((c&63)|128); 1698 } 1699 else 1700 { 1701 utftext += String.fromCharCode((c>>12)|224); 1702 utftext += String.fromCharCode(((c>>6)&63)|128); 1703 utftext += String.fromCharCode((c&63)|128); 1704 } 1705 } 1706 return utftext; 1707} 1708 1709function PeoplePickerAktiv(field,aktiv) 1710{ 1711 $('#peoplepicker'+field).prop('disabled',!aktiv); 1712} 1713 1714function PeoplePickerEnable(field,typ,m,rech,usercode,px=61,id='') 1715{ 1716 $('#peoplepicker'+field).autocomplete({ 1717 source: 1718 function( request, response ) 1719 { 1720 if (request.term.length>2) 1721 $.ajax({ url: './?webservice=memberpicker', dataType: 'json', data: { query:encode_utf8(request.term), typ:typ, m:m, rech:rech, usercode:encodeURIComponent(usercode), id:id }, success: function(data) 1722 { 1723 if (data.length==1) 1724 { 1725 PeoplePickerAktiv(field,false); 1726 PeopleAddUser(field,data[0].value,data[0].label,px); 1727 $('#peoplepicker'+field).autocomplete('close'); 1728 } 1729 else 1730 { 1731 response(data); 1732 } 1733 } }); 1734 }, 1735 select: function( event, ui ) 1736 { 1737 PeoplePickerAktiv(field,false); 1738 PeopleAddUser(field,ui.item.value,ui.item.label,px); 1739 $('#peoplepicker'+field).autocomplete('close'); 1740 event.preventDefault(); 1741 } 1742 }); 1743} 1744function PeoplePickerAddUsers(field, target) 1745{ 1746 var peoples=document.getElementById('result'); 1747 var s=-1; for(var i=0; i<peoples.options.length; i++) if (peoples.options[i].selected) s=peoples.options[i].value; 1748 if (s==-1) { alert('Bitte einen Eintrag auswählen'); return false; } 1749 for(var i=0; i<peoples.options.length; i++) 1750 if (peoples.options[i].selected) 1751 target.PeopleAddUser(field, peoples.options[i].value, peoples.options[i].text); 1752 return true; 1753} 1754function PeopleAddUser(field,id,name,px=61) 1755{ 1756 if (field=='profile') 1757 { 1758 $.ajax({ type: 'POST', url: './?webservice=memberdata&id='+id, success: function(result) 1759 { 1760 eval('werte='+result); 1761 var lst=['firma','g_co','g_strasse','g_plz','g_ort','g_land','g_postfach','g_plz_postfach','g_ort_postfach','g_land_postfach','g_telefon','g_fax','g_mobil','g_email','g_homepage']; 1762 for(itm in lst) $('#'+lst[itm]).val(werte[lst[itm]]); 1763 } }); 1764 } 1765 else if (field=='profilere') 1766 { 1767 $.ajax({ type: 'POST', url: './?webservice=memberdata&id='+id, success: function(result) 1768 { 1769 eval('werte='+result); 1770 var lst=['r_firma','r_co','r_strasse','r_plz','r_ort','r_land','r_email']; 1771 for(itm in lst) $('#'+lst[itm]).val(werte[lst[itm]]); 1772 } }); 1773 } 1774 else 1775 { 1776 $('#personloeschen'+field).show(); 1777 $('#personoeffnen'+field).show(); 1778 $('#peoplepickerinput'+field).css('width','calc(100% - '+px+'px)'); 1779 $('#peoplepicker'+field).val(name); 1780 $('#'+field).val(id); 1781 $('#'+field).trigger('change'); 1782 } 1783} 1784function PeopleDeleteUser(field, all) 1785{
1786 if (all) $('#peoplepicker'+field).val(''); 1787 $('#'+field).val('0'); 1788 $('#'+field).trigger('change'); 1789 $('#personloeschen'+field).hide(); 1790 $('#personoeffnen'+field).hide(); 1791 $('#peoplepickerinput'+field).css("width","calc(100% - 26px)"); 1792 $('#key_uid').val(''); // Pytis 1793} 1794function PeoplePickerAddUsersMultiple(field, target) 1795{ 1796 var peoples=document.getElementById('result'); 1797 var s=0; for(var i=0; i<peoples.options.length; i++) if (peoples.options[i].selected) s++; 1798 if (s==0) { alert('Bitte einen Eintrag auswählen'); return false; } 1799 for(var i=0; i<peoples.options.length; i++) 1800 if (peoples.options[i].selected) 1801 PeoplePickerAddUserToList(field, peoples.options[i].value, peoples.options[i].text, target); 1802 PeoplePickerSetPeopleValues(target.document, field); 1803 return true; 1804} 1805function PeoplePickerSetPeopleValues(doc, field) 1806{ 1807 var result=''; 1808 var peoplepicker=doc.getElementById('peoplepicker'+field); 1809 for(var i=0; i<peoplepicker.options.length; i++) result+=','+peoplepicker.options[i].value; 1810 if (result.length>0) result=result.substring(1); 1811 doc.getElementById(field).value=result; 1812 $(doc).find('#'+field).trigger('change'); 1813} 1814function PeoplePickerAddUserToList(field, id, name, target) 1815{ 1816 var peopleslist=target.document.getElementById('peoplepicker'+field); 1817 for(var i=0; i<peopleslist.options.length; i++) if (peopleslist.options[i].value==id) return; 1818 target.PeoplePickerAddUser(field,name,id); 1819} 1820function PeoplePickerDeleteUser(field) 1821{ 1822 var peoplepicker=document.getElementById('peoplepicker'+field); 1823 if (peoplepicker.selectedIndex<0) { alert('Bitte zuerst Person markieren'); return; } 1824 peoplepicker.options[peoplepicker.selectedIndex]=null; 1825 PeoplePickerSetPeopleValues(document, field); 1826} 1827function PeoplePickerDeleteUserAll(field) 1828{ 1829 var peoplepicker=document.getElementById('peoplepicker'+field); 1830 peoplepicker.length = 0; 1831 PeoplePickerSetPeopleValues(document, field); 1832} 1833function PeoplePickerAddUser(field, name, id) 1834{ 1835 var peoplepicker=document.getElementById('peoplepicker'+field); 1836 peoplepicker.add(new Option(name,id)); 1837 $('#'+field).trigger('change'); 1838} 1839function PeoplePickerEdit(field) 1840{ 1841 if ($('#'+field).val()=='0' || $('#'+field).val()=='') $('#peoplepicker'+field).val(''); 1842} 1843 1844function PeoplePickerAttachFromPicker(field) 1845{ 1846 if ($('#personadd'+field).val()!=0) 1847 { 1848 var peoplepicker=document.getElementById('peoplepicker'+field); 1849 peoplepicker.add(new Option($('#peoplepickerpersonadd'+field).val(),$('#personadd'+field).val())); 1850 PeoplePickerSetPeopleValues(document, field); 1851 PeopleDeleteUser('personadd'+field, true); 1852 PeoplePickerAktiv('personadd'+field, true); 1853 } 1854} 1855 1856function PeoplePickerAttach(field,userid,username) 1857{ 1858 var peoplepicker=document.getElementById('peoplepicker'+field); 1859 peoplepicker.add(new Option(username, userid)); 1860 PeoplePickerSetPeopleValues(document, field); 1861 PeopleDeleteUser('personadd'+field, true); 1862 PeoplePickerAktiv('personadd'+field, true); 1863} 1864 1865function VersPickerEnable(field, auswahl) 1866{ 1867 $('#verspicker'+field).autocomplete({ 1868 source: 1869 function(request, response) 1870 { 1871 $.ajax({ url: './?webservice=verspicker', dataType: 'json', data: { query:encode_utf8(request.term), auswahl:auswahl}, success: function( data ) 1872 { 1873 if (data.length==1) 1874 { 1875 $('#'+field).val(data[0].value); 1876 $('#verspicker'+field).val(data[0].label); 1877 $('#verspicker'+field).autocomplete('close'); 1878 $('#'+field).trigger('change'); 1879 } 1880 else 1881 response( data ); 1882 } }); 1883 }, 1884 select: function(event, ui) 1885 { 1886 $('#'+field).val(ui.item.value); 1887 $('#verspicker'+field).val(ui.item.label); 1888 $('#verspicker'+field).autocomplete('close'); 1889 $('#'+field).trigger('change'); 1890 event.preventDefault(); 1891 } 1892 }); 1893} 1894function VersPickerSetzeName(field,wert,name) 1895{ 1896 $('#'+field).val(wert); 1897 $('#key_versicherungstarif').val(''); 1898 $('#'+field).trigger('change');
1899 $('#verspicker'+field).val(name); 1900} 1901 1902function ArtikelPickerEnable(field, pos, typ, angebot, userfield, lagerortid) 1903{ 1904 $('#'+field).autocomplete({ 1905 source: 1906 function( request, response ) 1907 { 1908 $.ajax({ url: './?webservice=artikelpicker&typ='+typ+'&lagerortid='+lagerortid, dataType: 'json', data: { q:request.term }, success: function( data ) { response( data ); } }); 1909 }, 1910 select: 1911 function( event, ui ) 1912 { 1913 var hidetext=$('#keintextlang').prop('checked'); 1914 $.ajax({ type: 'POST', url: './?webservice=artikel&id='+ui.item.value+'&a='+angebot+'&userid='+$('#'+userfield).val()+'&pos='+pos+'&nb='+$('#nettobrutto').val()+'&hidetext='+hidetext, success: function(result) 1915 { 1916 eval('werte='+result); 1917 AngebotsPositionAuswahl(window, pos, werte['bezeichnung'], werte['beschreibung'].replace(/~~~/g,'\r\n'), werte['betrag'], werte['mwst'], werte['nettobrutto'], werte['konto'], werte['artikelid'], werte['preiseB'], werte['preiseN'], werte['kontoname'], werte['veranstaltungid'], werte['lager'], werte['eknetto'], werte['ekbrutto'], werte['rechnungsnummer']); 1918 } }); 1919 $('#'+field).autocomplete('close'); 1920 event.preventDefault(); 1921 } 1922 }); 1923} 1924 1925function SwitchPreisBruttoNetto(bruttonetto) 1926{ 1927 var pos, isGefuellt=false; 1928 for(pos=0; $('#preiseB'+pos).length>0; pos++) if ($('#betrag'+pos).val()!='') isGefuellt=true; 1929 if (isGefuellt) alert('Hinweis: Durch nachträgliches Ändern der brutto/netto-Einstellung müssen bereits eingegebene Preise ggf. manuell korrigiert werden.'); 1930 1931 for(pos=0; $('#preiseB'+pos).length>0; pos++) 1932 { 1933 if (bruttonetto==0) 1934 { 1935 $('#preiseB'+pos).show(); 1936 $('#preiseN'+pos).hide(); 1937 } 1938 else 1939 { 1940 $('#preiseB'+pos).hide(); 1941 $('#preiseN'+pos).show(); 1942 } 1943 } 1944} 1945 1946function EventKontaktChanged() 1947{ 1948 var userid=$('#userid').val(); 1949 var grpid=$('#akid').val(); 1950 if ((grpid==0 || grpid=='') && (userid==0 || userid=='')) 1951 EventKontaktChangedAddUser('','','','','',''); 1952 else 1953 $.ajax({ type: 'POST', url: './?webservice=member&art=6', data: 'wert='+userid+'&grpid='+grpid, success: function(result) 1954 { 1955 eval('werte='+result); 1956 EventKontaktChangedAddUser(werte['Name'],werte['Email'],werte['Telefon'],werte['Fax'],werte['Strasse'],werte['Ort']); 1957 } 1958 }); 1959} 1960 1961function EventKontaktChangedAddUser(name,email,telefon,fax,strasse,ort) 1962{ 1963 $('#kontakt').val(name); 1964 $('#kontaktemail').val(email); 1965 $('#kontakttelefon').val(telefon); 1966 $('#kontaktfax').val(fax); 1967 $('#kontaktstrasse').val(strasse); 1968 $('#kontaktort').val(ort); 1969 $('#anmeldemail').prop('checked',name!=''); 1970} 1971 1972function EventSwitchPreis(userid) 1973{ 1974 var a='e'; 1975 $('.letzterpreisB').html(''); 1976 $('.letzterpreisN').html(''); 1977 if (userid!=0 && userid!='') 1978 $.ajax({ type: 'POST', url: './?webservice=member&art=2', data: 'wert='+userid, success: function(result) 1979 { 1980 eval('werte='+result); 1981 if (werte['Typ']!=1) a='i'; 1982 $('#preisauswahl').val(a); 1983 $('#rechnunggp').val(werte['RechnungGP']); 1984 for(w in werte) 1985 { 1986 if (w.substring(0,13)=='letzterpreisB') $('#letzterB'+w.substring(13)).html(werte[w]); 1987 else if (w.substring(0,13)=='letzterpreisN') $('#letzterN'+w.substring(13)).html(werte[w]); 1988 else if (w.substring(0,10)=='preisnetto') $('#mg'+w).val(werte[w]); 1989 else if (w.substring(0,5)=='preis') $('#mg'+w).val(werte[w]); 1990 } 1991 SwitchPreis(a); 1992 } 1993 }); 1994 else 1995 { 1996 //$('#preisauswahl').val(a); 1997 //SwitchPreis(a); 1998 } 1999} 2000 2001 2002function GetCurrency(txt,st=100) 2003{ 2004 if (txt=='') return 0; 2005 if (txt.indexOf(':')>=0) { var z=txt.split(':'); return GetCurrency(z[0])+GetCurrency(z[1])/60; } 2006 if (txt.indexOf('.')>=0 && txt.indexOf(',')>=0) txt=txt.replace('.',''); 2007 if (txt.indexOf(',')>=0) txt=txt.replace(',','.'); 2008 txt=txt.replace(' ',''); 2009 var w=parseFloat(txt); 2010 if (w+''=='NaN') w=0; 2011 w=Math.round(w*st)/st; 2012 return w; 2013} 2014 2015function SetzeInBezahlung(form, cmd, text) 2016{ 2017 if (confirm(text+'?')) 2018 { 2019 SetFormValue(form, 'action', 'kasse_buchung'); 2020 SetFormValue(form, 'cmd', cmd);
2021 FormSubmit(form); 2022 } 2023} 2024 2025// zweck und renr enthalten keine "-"/Leerzeichen-Zeichen und sind kleingeschrieben 2026function ScharferReCheck(zweck, renr) 2027{ 2028 if (renr=='') return false; 2029 return zweck.toLowerCase().indexOf(renr.toLowerCase())>=0; 2030} 2031function UnscharferReCheck(zweck, renr) 2032{ 2033 while (renr.length>0) if (renr.substring(0,1)<'0' || renr.substring(0,1)>'9') renr=renr.substring(1); else break; 2034 return ScharferReCheck(zweck, renr); 2035} 2036 2037function EnableProgrammpunkte(wert, liste) 2038{ 2039 $('.programmpunkt').hide(); 2040 for(var n=0; n<liste.length; n++) if (liste[n][0]==wert) if (liste[n][1].length==0) $('.programmpunkt').show(); else for(var k=0; k<liste[n][1].length; k++) $('.pp'+liste[n][1][k]).show(); 2041 $('.programmpunkt input:checkbox:hidden').prop('checked',false); 2042} 2043 2044function SetzeAnwesend(id,nr,activ,del) 2045{ 2046 $.ajax({ type: 'GET', url: './?action=events_anwesend&id='+id+'&nr='+nr+'&ret=no', success: function(result) { } }); 2047 if (del) { $('#row'+id).remove(); return; } 2048 var txt=activ?'<B>anwesend</B> ':''; 2049 txt=txt+'<A HREF="#" onclick="javascript:SetzeAnwesend('+id+','+nr+','+(!activ?'true':'false')+','+(del?'true':'false')+');return false;">'+(activ?'[nicht anwesend]':'[Anwesend]')+'</A>'; 2050 $('#anwesend'+id+'-'+nr).html(txt); 2051} 2052 2053function SetzeBezahlt(anmeldeid, rechnungid, renr, betrag) 2054{ 2055 if (confirm('Die Rechnung '+renr+' auf Bar-bezahlt setzen?')) 2056 { 2057 $.ajax({ type: 'GET', url: './?action=events_barzahlung&id='+rechnungid+'&aid='+anmeldeid, success: function(result) { if (result=='1') $('.row'+anmeldeid).addClass('bezahlt'); } }); 2058 $('#rechnungstatus'+rechnungid).html('<b>bezahlt</b>'); 2059 $('#rechnungart'+rechnungid).html('Bar'); 2060 $('#rechnunglink'+rechnungid).hide(); 2061 $('#rechnungbezahlt'+rechnungid).html('(bereits bezahlt: '+betrag+')'); 2062 } 2063} 2064 2065function Platzbelegung(div, userid, platzid, beginn, ende, intervall, buchungsart, usercode) 2066{ 2067 var status=$(div).hasClass('platzbuchungstatusfrei')?1:0; 2068 if (intervall=='*' && status==1) { var tage=prompt('Anzahl Tage'); if (tage=='' || tage+''=='null') return; ende=ende+(tage-1)*24*3600; } 2069 if (status==0) if (!confirm('Möchte Sie die Buchung wirklich stornieren?')) return; 2070 if (status==1) if (!confirm('Wirklich buchen?')) return; 2071 ShowLightBox(); 2072 $.ajax({ type: 'GET', url: './?webservice=platz&platz='+status+','+userid+','+platzid+','+beginn+','+ende+'&usercode='+usercode, success: function(result) 2073 { 2074 CloseLightBox(); 2075 if (result.substring(0,6)=='error:') { alert(result.substring(6)); } 2076 else if (result=='frei') { alert("Die Buchung wurde storniert."); $(div).removeClass('platzbuchungstatusmein'); $(div).removeClass('platzbuchungstatusbelegt'); $(div).addClass('platzbuchungstatusfrei'); $(div).html(''); } 2077 else if (result.substring(0,5)=='mein:') { if (intervall=='*') window.reloadMain(); else { $(div).removeClass('platzbuchungstatusfrei'); $(div).addClass('platzbuchungstatusmein'); $(div).html(result.substring(5)); } } 2078 else if (result.substring(0,7)=='belegt:') { alert(result.substring(7)); } 2079 else alert(result+"..."+result.substring(0,3)); 2080 2081 if (buchungsart!='') window.location.reload(); 2082 if (intervall=='woche:sa1400sa1000') window.location.reload(); 2083 } }); 2084} 2085 2086//--------------- DropFiles 2087var DropFields=[]; 2088function Form1Submit() 2089{ 2090 ResetDirty(); 2091 ShowLightboxSubmit(); 2092 if (DropFields.length==0) DirectForm1Submit(); else DropZoneSubmit(DirectForm1Submit); 2093} 2094 2095function DirectForm1Submit() 2096{ 2097 if ($('.signaturepadcanvas').length>0) PadSave(); 2098 var frm1=document.getElementById('form1'); 2099 if (frm1) frm1.submit(); 2100 SetForm1Value('print',''); 2101} 2102 2103var DropZoneFiles={}; 2104var DropZoneSubmitFunction; 2105var DropZoneCnt=0; 2106var DropZoneSubmitted=0; 2107// wird 1x pro Feld aufgerufen 2108function DropZoneInit(feldname, dateiloeschen, message) 2109{ 2110 if (Dropzone.isBrowserSupported()) 2111 { 2112 DropFields.push(feldname); 2113 $('div#droparea'+feldname).dropzone( 2114 { 2115 url: "./?webservice=upload", 2116 dictDefaultMessage: message, 2117 autoProcessQueue: false, 2118 parallelUploads: 100, 2119 uploadMultiple: true, 2120 addRemoveLinks: true, 2121 dictRemoveFile: dateiloeschen, 2122 getFallbackForm: function() { return null; } 2123 }); 2124 2125 Dropzone.forElement('div#droparea'+feldname).on("success", function(file, serverFileName) 2126 { 2127 DropZoneFiles[feldname] = DropZoneFiles[feldname] + (DropZoneFiles[feldname]==''?'':'|') + file.name + "=" + serverFileName.replace('\n',''); 2128 }); 2129 Dropzone.forElement('div#droparea'+feldname).on("removedfile", function(file) 2130 { 2131 DropZoneFiles[feldname]=RemoveDropZoneFile(DropZoneFiles[feldname],file.name); 2132 }); 2133 Dropzone.forElement('div#droparea'+feldname).on("queuecomplete", function() 2134 { 2135 $('#dropfiles'+feldname).val(DropZoneFiles[feldname]); 2136 DropZoneSubmitted++; 2137 if (DropZoneSubmitted>=DropZoneCnt) { DropFields=[]; DropZoneSubmitFunction(); } 2138 }); 2139 DropZoneFiles[feldname] = ''; 2140 } 2141 else 2142 $('div#droparea'+feldname).hide(); 2143} 2144 2145function RemoveDropZoneFile(files, filename) 2146{ 2147 var p; 2148 p=files.indexOf('|'+filename+'='); 2149 if (p>=0) { var p2=files.indexOf('|',p+1); if (p2<0) return files.substr(0,p); else return files.substr(0,p)+files.substr(p2); } 2150 p=files.indexOf(filename+'='); 2151 if (p==0) { var p3=files.indexOf('|'); if (p3<0) return ''; else return files.substr(p3+1); } 2152 return files; 2153} 2154 2155function DropZoneSubmit(submitfkt) 2156{ 2157 DropZoneSubmitFunction = submitfkt; 2158 DropZoneCnt=0; 2159 var dropzone, files; 2160 if (Dropzone.isBrowserSupported()) 2161 { 2162 for(var i=0; i<DropFields.length; i++) 2163 { 2164 $('#dropfiles'+DropFields[i]).val(DropZoneFiles[DropFields[i]]); 2165 dropzone = Dropzone.forElement('#droparea'+DropFields[i]); 2166 if (dropzone==null) continue; 2167 files = dropzone.getQueuedFiles(); 2168 if (files.length>0) DropZoneCnt++; 2169 } 2170 for(var i=0; i<DropFields.length; i++) 2171 { 2172 $('#dropfiles'+DropFields[i]).val(DropZoneFiles[DropFields[i]]); 2173 dropzone = Dropzone.forElement('#droparea'+DropFields[i]); 2174 if (dropzone==null) continue; 2175 files = dropzone.getQueuedFiles(); 2176 if (files.length == undefined) continue; 2177 if (files.length == 0) continue; 2178 dropzone.processQueue(); 2179 } 2180 } 2181 if (DropZoneCnt==0) { DropFields=[]; DropZoneSubmitFunction(); } 2182} 2183//--------------- /DropFiles 2184 2185 2186 2187var FileSelectCount=100; 2188function FileSelectAdd(field, target) 2189{ 2190 var frm1=document.getElementById('form1'); 2191 for(i=0; i<frm1.elements.length; i++) 2192 { 2193 if (frm1.elements[i].name.substring(0,5)=="file_" && frm1.elements[i].checked) 2194 { 2195 var val=frm1.elements[i].value; 2196 if (val.indexOf('|')>=0) 2197 { 2198 var data=val.split('|'); 2199 target.FileSelectAddFile(field, data[0], data[1], data[2], data[3], data[3]); 2200 } 2201 else 2202 target.FileSelectAddFile(field, GetForm1Element('grpname').value, GetForm1Element('id').value, GetForm1Element('folder').value, frm1.elements[i].name.substring(5), val); 2203 } 2204 } 2205} 2206function FileSelectAddFile(field,grpname,id,folder,file,name) 2207{ 2208 //alert(field+' / '+grpname+' / '+id+' / '+folder+' / '+file+' / '+name); 2209 $('#datenablage'+field).show(); 2210 FileSelectCount++; 2211 //$('#datenablage'+field).html($('#datenablage'+field).html()+'<div>aus Datenablage: '+name+' <A HREF="#" onclick="javascript:$(this).parent().remove();return false;">[entfernen]</A><INPUT type="hidden" name="datenablage'+field+'_'+FileSelectCount+'" value="'+id+'|'+folder+'|'+file+'"></div>'); 2212 var inputid='datenablage'+field+FileSelectCount; 2213 var spalte1=(grpname==''?'Basiskonfiguration: ':'Datenablage: '+grpname+', ')+folder+(folder==''?'':'/')+'<A HREF="?action=data_raum&id='+id+'&folder='+encodeURIComponent(folder)+'&download='+encodeURIComponent(name)+'">'+name+'</A>'; 2214 var ch="'"; 2215 var spalte2='<A HREF="#" onclick="javascript:$('+ch+'#'+inputi
2215d+ch+').val('+ch+ch+');$('+ch+'#datenablagerownew'+FileSelectCount+ch+').hide();return false;"><i class="bi bi-x-circle" title="Entfernen"></i></A>'; 2216 var input='<INPUT type="hidden" id="'+inputid+'" name="'+inputid+'" value="'+id+'|'+folder+'|'+file+'">'; 2217 $('#datenablage'+field+'link').html($('#datenablage'+field+'link').html()+'<tr id="datenablagerownew'+FileSelectCount+'"><td>'+spalte1+'</td><td>'+spalte2+input+'</td></tr>'); 2218} 2219 2220function FileSelectSet(field, target, value) 2221{ 2222 target.FileSelectSetFile(field, value); 2223} 2224function FileSelectSetFile(field, value) 2225{ 2226 var el=document.getElementById(field); 2227 if (el) el.value=value; 2228 $('#'+field).val(value); 2229} 2230 2231function SwitchSprache(feld, sprache, tiny) 2232{ 2233 var spzuvor=$('#'+feld+'_sprache').val(); 2234 if (spzuvor==sprache) return; 2235 if (tiny!=false) 2236 { 2237 $('#'+feld+'_'+spzuvor).val(tiny.getContent()); 2238 tiny.setContent($('#'+feld+'_'+sprache).val()); 2239 } 2240 else 2241 { 2242 $('#'+feld+'_'+spzuvor).val($('#'+feld).val()); 2243 $('#'+feld).val($('#'+feld+'_'+sprache).val()); 2244 } 2245 $('#'+feld+'_sprache').val(sprache); 2246 $('#'+feld+'_sprachelink'+sprache).css('height',20); 2247 $('#'+feld+'_sprachelink'+spzuvor).css('height',14); 2248} 2249 2250function SwitchTextHtml(f, feld) 2251{ 2252 if ($(f).prop('checked')) 2253 SetEditorContent('tiny'+feld, $('#'+feld+'_text').val()); 2254 else 2255 $('#'+feld+'_text').val(GetEditorContent('tiny'+feld)); 2256 ShowHide('#'+feld+'_div1', !$(f).prop('checked')); 2257 ShowHide('#'+feld+'_div2', $(f).prop('checked')); 2258} 2259 2260function ProgrammPunkteDisable(vaids,grp) 2261{ 2262 for(var i=0; i<vaids.length; i++) 2263 { 2264 $('#programmpunkt'+vaids[i]+grp).prop('checked',false); 2265 $('#anmeldeoptionenprogrammpunkt'+vaids[i]+grp).hide(); 2266 } 2267} 2268 2269function ProgrammpunkteDisableAbmeldung(wrt) 2270{ 2271 $('input.programmpunkt').prop('disabled',wrt==1); 2272 if (wrt==1) $('input.programmpunkt').prop('checked',false); 2273 2274 $.each( $("input,select"), function(key, value) 2275 { 2276 if ($(this).attr('name')!=undefined && $(this).attr('name').indexOf('key_')>=0) { $(this).prop('disabled',wrt==1); if (wrt==1) $(this).val(''); } 2277 }); 2278 2279 // ext. Begleiter deaktivieren 2280 ShowHide('.rowbegleiter',wrt!=4); 2281 if (wrt==4) $.each( $("div[id^='begleiter']"), function(key, value) { var id=parseFloat($(this).attr("id").substr(9)); if (id>0 && id<1000) $(this).remove(); } ); 2282} 2283 2284function ProgrammPunkteShowOptionen(enabled,ppid) 2285{ 2286 if (enabled) 2287 $('#anmeldeoptionen'+ppid).show(); 2288 else 2289 $('#anmeldeoptionen'+ppid).hide(); 2290} 2291 2292function ProgrammPunkteMaxCheck(enabled,ppid,vaids,grp,maxpps) 2293{ 2294 if (enabled) 2295 { 2296 var cnt=0; 2297 for(var i=0; i<vaids.length; i++) if ($('#programmpunkt'+vaids[i]+grp).prop('checked')) cnt++; 2298 if (cnt>maxpps) { alert('Es dürfen maximal '+maxpps+' Programmpunkte gewählt werden!'); $('#'+ppid).prop('checked',false); } 2299 } 2300} 2301 2302function ProgrammPunkteAlle(cls) 2303{ 2304 $(cls+':visible').each(function() { $(this).prop('checked',true); $(this).trigger('change'); }); 2305} 2306 2307 2308function ProgrammPunkteKeiner(cls) 2309{ 2310 $(cls+':visible').each(function() { $(this).prop('checked',false); $(this).trigger('change'); }); 2311} 2312 2313function FilterLuftRoute() 2314{ 2315 var l=$('#filterluft').val(); 2316 var r=$('#filterroute').val(); 2317 for (var i=0; i<entfernung.length; i++) 2318 { 2319 var sh=(l!='' && entfernung[i][1]<=parseInt(l)) || (r!='' && entfernung[i][2]<=parseInt(r)) || (l=='' && r==''); 2320 if (!sh) $('#user'+entfernung[i][0]).prop('checked', false); 2321 if (sh) $('#spanuser'+entfernung[i][0]).show(); else $('#spanuser'+entfernung[i][0]).hide(); 2322 } 2323} 2324 2325function AngebotsPositionAuswahl(wnd, pos, txt, txtlang, betrag, mwst, nettobrutto, konto, artikelid, preiseB, preiseN, kontoname, veranstaltungid, lager, eknetto, ekbrutto, rechnungsnummer) 2326{ 2327 var el; 2328 2329 betrag=GetKommaZahlWert(betrag); 2330 el=wnd.document.getElementById('nettobrutto'); 2331 if (el!=null && el!='undefined') if (el.value=='n' && nettobrutto=='b' && mwst>0) betrag=Math.round(100*betrag*100/(100+parseFloat(mwst)))/100; 2332 if (el!=null && el!='undefined') if (el.value=='b' && nettobrutto=='n' && mwst>0) betrag=Math.round(100*betrag*(100+parseFloat(mwst))/100)/100; 2333 2334 var hidetext=$('#keintextlang').prop('checked'); 2335 el=wnd.document.getElementById('text'+pos); if (el!=null && el!='undefined') el.value=txt; 2336 if (!hidetext) { el=wnd.document.getElementById('textlang'+pos); if (el!=null && el!='undefined') el.value=txtlang; } 2337 el=wnd.document.getElementById('betrag'+pos); if (el!=null && el!='undefined') el.value=betrag; 2338 el=wnd.document.getElementById('mwst'+pos); if (el!=null && el!='undefined') el.value=mwst; 2339 el=wnd.document.getElementById('nettobrutto'+pos); if (el!=null && el!='undefined') el.value=nettobrutto; 2340 el=wnd.document.getElementById('kontodetailskonto'+pos); if (el!=null && el!='undefined') el.value=konto; 2341 el=wnd.document.getElementById('kontopickerkonto'+pos); if (el!=null && el!='undefined') el.value=kontoname; 2342 el=wnd.document.getElementById('kontopickerbkonto'+pos); if (el!=null && el!='undefined') el.value=kontoname; 2343 el=wnd.document.getElementById('konto'+pos); if (el!=null && el!='undefined') el.value=konto; 2344 el=wnd.document.getElementById('bkonto'+pos); if (el!=null && el!='undefined') el.value=konto; 2345 if (!hidetext) { el=wnd.document.getElementById('spantext'+pos); if (el!=null && el!='undefined') if (txtlang.length>0) el.style.display=''; } 2346 el=wnd.document.getElementById('artikelid'+pos); if (el!=null && el!='undefined') el.value=artikelid; 2347 el=wnd.document.getElementById('veranstaltungid'+pos); if (el!=null && el!='undefined') el.value=veranstaltungid; 2348 if (nettobrutto=='n') { $('#preiseB'+pos).hide(); $('#preiseN'+pos).show(); } else { $('#preiseB'+pos).show(); $('#preiseN'+pos).hide(); } 2349 $('#preiseB'+pos).html(preiseB);
2350 $('#preiseN'+pos).html(preiseN); 2351 $('#lager'+pos).html(lager); 2352 $('#preise'+pos).html(betrag); 2353 $('#betrag'+pos).trigger('change'); 2354 $('#ekbrutto'+pos).val(ekbrutto); 2355 $('#eknetto'+pos).val(eknetto); 2356 if (rechnungsnummer!='' && rechnungsnummer!=undefined) $('#rechnungsnummer').val(rechnungsnummer); 2357 2358 el=wnd.document.getElementById('betrag'+pos); 2359 $(el).trigger('change'); 2360} 2361 2362function StdAktionAuswahl(wnd, feldname, txt, trigger) 2363{ 2364 var el=wnd.document.getElementById(feldname); 2365 if (el!=null && el!='undefined') 2366 { 2367 if (txt!='') el.value=el.value+(el.value==''?'':'\n')+txt; 2368 if (trigger) { $(el).trigger('change'); wnd.SetDirtyDirect(); } 2369 } 2370} 2371 2372function UpdateColors(layoutAlt, layoutNeu) 2373{ 2374 if (layoutAlt==layoutNeu) return; 2375 if (layoutAlt=='ResponsiveV5-B' && layoutNeu=='ResponsiveV5') return; 2376 if (layoutAlt=='ResponsiveV5' && layoutNeu=='ResponsiveV5-B') return; 2377 if (layoutAlt=='ResponsiveV4-B' && layoutNeu=='ResponsiveV4') return; 2378 if (layoutAlt=='ResponsiveV4' && layoutNeu=='ResponsiveV4-B') return; 2379 2380 var primaer=$('#templatePrimaer').val(); 2381 var color=$('#templatePrimaerCol').val(); 2382 var sekundaer=$('#templateSekundaer').val(); 2383 var colorSekundaer=$('#templateSekundaerCol').val(); 2384 2385 ColorsClear(); 2386 SetPriColor(window, layoutNeu, primaer, color, sekundaer, colorSekundaer); 2387} 2388 2389function SetPriColor(wnd, layout, primaer, color, sekundaer, colorSekundaer) 2390{ 2391 if (primaer!='') $(wnd.document.getElementById('primaer')).css('background-color', primaer).css('color', color); 2392 if (primaer!='') $(wnd.document.getElementById('templatePrimaer')).val(primaer); 2393 if (primaer!='') $(wnd.document.getElementById('templatePrimaerCol')).val(color); 2394 $(wnd.document.getElementById('sekundaer')).css('background-color', sekundaer).css('color', colorSekundaer); 2395 $(wnd.document.getElementById('templateSekundaer')).val(sekundaer); 2396 $(wnd.document.getElementById('templateSekundaerCol')).val(colorSekundaer); 2397 if (layout=='ResponsiveV3') return; 2398 2399 SetLayoutColor(wnd, 'TopColFarbe', primaer); 2400 SetLayoutColor(wnd, 'NavColFarbe', primaer); SetLayoutColor(wnd, 'NavBackFarbe', color); 2401 SetLayoutColor(wnd, 'NavActBackFarbe', primaer); SetLayoutColor(wnd, 'NavActColFarbe', color); 2402 SetLayoutColor(wnd, 'NavHovBackFarbe', sekundaer); SetLayoutColor(wnd, 'NavHovColFarbe', colorSekundaer); 2403 SetLayoutColor(wnd, 'BtnHovBackFarbe', sekundaer); SetLayoutColor(wnd, 'BtnHovColFarbe', colorSekundaer); 2404 SetLayoutColor(wnd, 'BtnBackFarbe', primaer); SetLayoutColor(wnd, 'BtnColFarbe', color); 2405 SetLayoutColor(wnd, 'H1ColFarbe', primaer); 2406 SetLayoutColor(wnd, 'H2ColFarbe', primaer); 2407 SetLayoutColor(wnd, 'LinkColFarbe', primaer); 2408 SetLayoutColor(wnd, 'LinkHovColFarbe', sekundaer); 2409 SetLayoutColor(wnd, 'THBackFarbe', primaer); SetLayoutColor(wnd, 'THColFarbe', color); 2410 SetLayoutColor(wnd, 'FootColFarbe', primaer); 2411 2412 if (layout=='ResponsiveV5' || layout=='ResponsiveV5-B') 2413 { 2414 SetLayoutColor(wnd, 'Nav1ColFarbe', primaer); 2415 SetLayoutColor(wnd, 'Nav1ActColFarbe', sekundaer); 2416 SetLayoutColor(wnd, 'Nav1HovColFarbe', sekundaer); 2417 SetLayoutColor(wnd, 'Nav2BackFarbe', sekundaer); SetLayoutColor(wnd, 'Nav2ColFarbe', primaer); 2418 SetLayoutColor(wnd, 'Nav2ActBackFarbe', primaer); SetLayoutColor(wnd, 'Nav2ActColFarbe', sekundaer); 2419 SetLayoutColor(wnd, 'Nav2HovBackFarbe', primaer); SetLayoutColor(wnd, 'Nav2HovColFarbe', sekundaer); 2420 } 2421 else 2422 { 2423 SetLayoutColor(wnd, 'Nav1ActBackFarbe', sekundaer); SetLayoutColor(wnd, 'Nav1ActColFarbe', colorSekundaer); 2424 SetLayoutColor(wnd, 'Nav1HovBackFarbe', sekundaer);SetLayoutColor(wnd, 'Nav1HovColFarbe', colorSekundaer); 2425 SetLayoutColor(wnd, 'Nav2ColFarbe', primaer); 2426 SetLayoutColor(wnd, 'Nav2ActBackFarbe', sekundaer); 2427 SetLayoutColor(wnd, 'Nav2HovColFarbe', sekundaer); 2428 } 2429} 2430 2431function SetLayoutColor(wnd, feld, col) 2432{ 2433 if (col=='') return; 2434 $(wnd.document.getElementById('template'+feld)).css('background-color', col).val(col); 2435 $(wnd.document.getElementById('template'+feld)).next().find('.Icon .Color').css('background-color', col); 2436} 2437 2438function ColorsClear() 2439{ 2440 $("input[name^='template'].colorPicker").val('').css('background-color','#ffffff').next().find('.Icon .Color').css('background-color', '#ffffff'); 2441 $('#primaer').css('background-color','#ffffff').css('color','#000000'); 2442 $('#sekundaer').css('background-color','#ffffff').css('color','#000000'); 2443} 2444 2445function StdAktionImage(wnd, feldname, file) 2446{ 2447 var el=wnd.document.getElementById(feldname); 2448 if (el!=null && el!='undefined') $(el).html('<IMG src="" style="height:200px;max-width:100%;">'); 2449 if (el!=null && el!='undefined') $(el).html('<IMG src="'+file+'" style="height:200px;max-width:100%;">'); 2450} 2451 2452function SaveHierarchie(gruppenid) 2453{ 2454 var result=''; 2455 $('.minus:visible').each(function() { result=result+$(this).attr('name')+'~~~'; }); 2456 if (result=='') result='-'; 2457 $.ajax({ type: 'GET', url: './?webservice=hierarchie&gruppenid='+gruppenid+'&status='+encodeURIComponent(result) }); 2458} 2459 2460function FileSelectorFindInput(elem) 2461{ 2462 while (elem!=undefined && elem.tagName.toLowerCase()!='input') elem=elem.children[0]; 2463 return elem; 2464} 2465 2466function FileSelectorFindDiv(elem, start) 2467{ 2468 while (elem!=undefined && elem.parentNode!=undefined && !(elem.tagName.toLowerCase()=='div' && elem.id.substring(0,start.length)==start)) elem=elem.parentNode; 2469 return elem.id.substring(start.length); 2470} 2471 2472function SendLogin(form) 2473{ 2474 if (form=='') form='formlogin'; 2475 var frm1=document.getElementById(form); 2476 var el=frm1.elements['usertoken']; 2477 if (el) 2478 { 2479 SetFormValue(form,'usertoken',md5(GetFormValue(form,'userpassword'))); 2480 SetFormValue(form,'userpassword',''); 2481 } 2482 DirectFormSubmit(form); 2483} 2484 2485function CheckAndSendLogin(form) 2486{ 2487 if (form=='') form='formlogin'; 2488 var frm1=document.getElementById(form); 2489 var elUsr=frm1.elements['userlogin']; 2490 var data='userlogin='+encodeURIComponent(elUsr.value); 2491 var pwd=GetFormValue(form,'userpassword'); 2492 var el=frm1.elements['usertoken']; 2493 if (el) 2494 { 2495 var hash=md5(pwd); 2496 data=data+'&usertoken='+hash; 2497 SetFormValue(form,'usertoken',hash); 2498 SetFormValue(form,'userpassword',''); 2499 } 2500 else 2501 data=data+'&userpassword='+encodeURIComponent(pwd); 2502 $('#loginerror').hide(); 2503 $.ajax({ type: 'POST', url: './?webservice=checklogin', data: data, success: function(result) 2504 { 2505 if (result=='ok') DirectFormSubmit(form); else { $('#loginerror').html(result); $('#loginerror').show(); } 2506 } 2507 }); 2508} 2509 2510function AuswahlPDFSektion(sektion) 2511{ 2512 $('.adminpdflink').removeClass('adminpdfauswahl'); 2513 $('.adminpdflink').addClass('adminpdf'); 2514 $('#lnk'+sektion).removeClass('adminpdf'); 2515 $('#lnk'+sektion).addClass('adminpdfauswahl'); 2516 2517 var alt=$('#current').val();
2518 if (alt!='-') $('#sekname'+alt).val($('#sekname').val()); 2519 if (alt!='-') $('#toolbox'+alt).html($('#sekname').val()); 2520 var inhalt=$('#pdf').val(); 2521 if (alt!='-') $('#sek'+alt).val(inhalt); 2522 if (alt!='-') $('#lnk'+alt+' A').css('font-weight', inhalt==''?'normal':'bold'); 2523 if (alt!='-' && inhalt=='') $('#lnk'+sektion).addClass('ohne'); 2524 if (alt!='-' && inhalt!='') $('#lnk'+sektion).removeClass('ohne'); 2525 2526 $('#sekname').val($('#sekname'+sektion).val()); 2527 $('#pdf').val($('#sek'+sektion).val()); 2528 2529 $('#current').val(sektion); 2530} 2531 2532function SpeichernPDFSektion() 2533{ 2534 var alt=$('#current').val(); 2535 if (alt!='-') $('#sekname'+alt).val($('#sekname').val()); 2536 if (alt!='-') $('#sek'+alt).val($('#pdf').val()); 2537} 2538 2539function ErsetzeBeitraege(id) 2540{ 2541 $.ajax({ type: 'GET', url: './?webservice=ersetzebeitraege&id='+id, success: function(result) 2542 { 2543 $('#userbeitraege').html(result); 2544 } }); 2545} 2546 2547function ErsetzeMitgliedInListe(id) 2548{ 2549 $.ajax({ type: 'GET', url: './?webservice=ersetzemitgliedinliste&id='+id, success: function(result) 2550 { 2551 $('#row'+id).html(result); 2552 } }); 2553} 2554 2555function ErsetzeFlexDatensatzInListe(module,listenid,dataid) 2556{ 2557 $.ajax({ type: 'GET', url: './?webservice=ersetzeflexdatensatzinliste&module='+module+"&listenid="+listenid+'&dataid='+dataid, success: function(result) 2558 { 2559 $('#row'+dataid).html(result); 2560 } }); 2561} 2562 2563function ErsetzeGruppeInListe(id,offsetisgrp) 2564{ 2565 $.ajax({ type: 'GET', url: './?webservice=gruppeninfo&id='+id, success: function(result) 2566 { 2567 var data=result.split('\n'); 2568 $('#row'+id+' TD:nth-child(1)').html(data[0]); 2569 if (offsetisgrp==1) $('#row'+id+' TD:nth-child(2)').html(data[5]); 2570 $('#row'+id+' TD:nth-child('+(2+offsetisgrp)+')').html(data[1]); 2571 $('#row'+id+' TD:nth-child('+(3+offsetisgrp)+') A').html(data[2]); 2572 $('#row'+id+' TD:nth-child('+(4+offsetisgrp)+')').html(data[3]); 2573 $('#row'+id+' TD:nth-child('+(5+offsetisgrp)+')').html(data[4]); 2574 } }); 2575} 2576 2577function ErsetzeVARaeume(vids,id) 2578{ 2579 $.ajax({ type: 'GET', url: './?webservice=ersetzevaraeume&vids='+vids+(id==0?'':'&id='+id), success: function(result) 2580 { 2581 $('#veranstaltungraeume').html(result); 2582 } }); 2583} 2584 2585function ErsetzeVAProgrammpunkte(vid) 2586{ 2587 $.ajax({ type: 'GET', url: './?webservice=ersetzevaprogrammpunkte&id='+vid, success: function(result) 2588 { 2589 $('#veranstaltungprogrammpunkte').html(result); 2590 } }); 2591} 2592 2593function CheckMaxDetails(cls,max) 2594{ 2595 var cnt=$('.row_'+cls).length; 2596 if (cnt>max) { alert('Die maximale Positionenzahl von '+max+' ist bereits erreicht'); return false; } 2597 return true; 2598} 2599 2600// divKEY, KEY0 2601function ItemsAddLine(key) 2602{ 2603 var elem=$('#'+key+'0').clone(); 2604 var cnt=1; while ($('#'+key+cnt).length>0) cnt++; 2605 elem.show(); 2606 ItemsSetIDLine(elem,key,cnt,true); 2607 elem.appendTo('#div'+key); 2608 return cnt; 2609} 2610function ItemsRemoveLine(key,nr) 2611{ 2612 var elem=$('#'+key+nr); 2613 elem.hide(); 2614 ItemsSetIDLine(elem,key,nr,true); 2615} 2616function ItemsSetIDLine(elem,key,nr,setdelete) 2617{ 2618 elem.attr('id',key+nr); 2619 elem.find('input:not([type]), input[type=text], input[type=hidden], textarea, select').each(function(index, value) { 2620 var name=$(this).attr('name'); 2621 name=name.substr(0,name.length-1)+nr; 2622 $(this).attr('name',name); 2623 $(this).attr('id',name); 2624 $(this).val(''); 2625 if ($(this).attr('onclick')) $(this).attr('onclick',$(this).attr('onclick').replace('konto0','konto'+nr).replace('konto0','konto'+nr)); 2626 if ($(this).attr('onchange')) $(this).attr('onchange',$(this).attr('onchange').replace('konto0','konto'+nr).replace('konto0','konto'+nr)); 2627 }); 2628 elem.find('input[type=checkbox]').each(function(index, value) { 2629 var name=$(this).attr('name'); 2630 name=name.substr(0,name.length-1)+nr; 2631 $(this).attr('name',name); 2632 }); 2633 elem.find('span.spantext, span.preise').each(function(index, value) { 2634 var id=$(this).attr('id'); 2635 id=id.substr(0,id.length-1)+nr; 2636 $(this).attr('id',id); 2637 }); 2638 if (setdelete) 2639 elem.find('.weblink').each(function(index, value) { 2640 $(this).attr('onclick',"javascript:ItemsRemoveLine('"+key+"','"+nr+"');return false;"); 2641 }); 2642 elem.find('a.toggle').each(function(index, value) { 2643 $(this).attr('onclick',"javascript:Toggle('spantext"+nr+"');return false;"); 2644 }); 2645 elem.find('a.angebotspos').each(function(index, value) { 2646 $(this).attr('onclick',$(this).attr('onclick').replace('&pos=0','&pos='+nr)); 2647 $(this).attr('href',$(this).attr('href').replace('&pos=0','&pos='+nr)); 2648 }); 2649 elem.find('a.kontopicker').each(function(index, value) { 2650 $(this).attr('onclick',$(this).attr('onclick').replace('konto0','konto'+nr).replace('konto0','konto'+nr)); 2651 $(this).attr('href',$(this).attr('href').replace('konto0','konto'+nr).replace('konto0','konto'+nr)); 2652 }); 2653 elem.find('select.kontopicker').each(function(index, value) { 2654 $(this).attr('onchange',$(this).attr('onchange').replace('konto0','konto'+nr).replace('konto0','konto'+nr)); 2655 }); 2656} 2657 2658function ZuordnenReset() 2659{
2660 $('.sammelcheckbox').prop('checked',false); 2661 $('.ruecklastcheck').prop('checked',false); 2662} 2663 2664function ShowPassendeBuchungen(betrag, iban, zweck, checkmnr) 2665{ 2666 var cls='betrag'+(betrag>=0?'P':'N')+round2(betrag>=0?betrag*100:-betrag*100); 2667 var ok=false; 2668 $('.offenebuchung').hide(); 2669 2670 if (zweck.length>0) $('.offenebuchung').each( function() 2671 { 2672 if ($(this).attr('renr')!='') if (ScharferReCheck(zweck, $(this).attr('renr'))) { $(this).show(); ok=true; } 2673 }); 2674 2675 if (!ok && zweck.length>0) $('.offenebuchung').each( function() 2676 { 2677 if ($(this).attr('renr')!='') if (UnscharferReCheck(zweck, $(this).attr('renr'))) { $(this).show(); ok=true; } 2678 }); 2679 2680 if (!ok && iban.length>0) $('.offenebuchung').each( function() 2681 { 2682 if ($(this).attr('iban1')!='') if ($(this).attr('iban1')==iban) { $(this).show(); ok=true; } 2683 if ($(this).attr('iban2')!='') if ($(this).attr('iban2')==iban) { $(this).show(); ok=true; } 2684 }); 2685 2686 if (!ok && zweck.length>0 && checkmnr) $('.offenebuchung').each( function() 2687 { 2688 if ($(this).attr('minr')!='') if (ScharferReCheck(zweck, $(this).attr('minr'))) { $(this).show(); ok=true; } 2689 }); 2690 2691 //if (!ok && zweck.length>0) $('.offenebuchung').each( function() 2692 //{ 2693 // if ($(this).attr('minr')!='') if (UnscharferReCheck(zweck, $(this).attr('minr'))) { $(this).show(); ok=true; } 2694 //}); 2695 2696 if (!ok) $('.'+cls).show(); 2697} 2698 2699function IsEnter(evn) 2700{ 2701 if (window.event && window.event.keyCode == 13) return true; // IE 2702 if (evn && evn.keyCode == 13) return true; // FireFox 2703 return false; 2704} 2705 2706function enterPressed(evn) 2707{ 2708 if (IsEnter(evn)) form1.submit(); 2709} 2710function enterPressed2(evn) 2711{ 2712 if (IsEnter(evn)) form2.submit(); 2713} 2714function enterPressedForm(evn,form) 2715{ 2716 if (IsEnter(evn)) document.getElementById(form).submit(); 2717} 2718function enterPressedFormDirty(evn,form) 2719{ 2720 if (IsEnter(evn)) { if (DirtyMessage()) document.getElementById(form).submit(); evn.preventDefault(); } 2721} 2722function enterAvoid(evn) 2723{ 2724 if (IsEnter(evn)) evn.preventDefault(); 2725} 2726 2727function CheckBegleiter(check,mindestbegleiter,checkgeburtstag,msg,anredePflicht,alspflicht,begleiteremailpflicht) 2728{ 2729 var cnt=0,fehler=0; 2730 if (anredePflicht) 2731 $.each( $("select[name^='anrede']:visible"), function(key, value) { if ($(this).attr('name')!='anrede') { var leer=$(this).val().trim()==''; if (check) $(this).css('background-color',leer?'#FFA0A0':''); else if (leer) $(this).val('-'); if (leer) fehler++; } }); 2732 $.each( $("input[name^='nachname']:visible"), function(key, value) { if ($(this).attr('name')!='nachname') { var leer=$(this).val().trim()==''; if (check) $(this).css('background-color',leer?'#FFA0A0':''); else if (leer) $(this).val('-'); cnt++; if (leer) fehler++; } }); 2733 $.each( $("input[name^='vorname']:visible"), function(key, value) { if ($(this).attr('name')!='vorname') { var leer=$(this).val().trim()==''; if (check) $(this).css('background-color',leer?'#FFA0A0':''); else if (leer) $(this).val('-'); if (leer) fehler++; } }); 2734 if (checkgeburtstag) 2735 $.each( $("input[name^='geburtstag']:visible"), function(key, value) { if ($(this).attr('name')!='geburtstag') { var leer=$(this).val().trim()==''; if (check) $(this).css('background-color',leer?'#FFA0A0':''); else if (leer) $(this).val('-'); if (leer) fehler++; } }); 2736 if (alspflicht) 2737 $.each( $("select[name^='begleitungals']:visible"), function(key, value) { if ($(this).attr('name')!='begleitungals') { var leer=$(this).val().trim()==''; if (check) $(this).css('background-color',leer?'#FFA0A0':''); else if (leer) $(this).val('-'); if (leer) fehler++; } }); 2738 if (begleiteremailpflicht) 2739 $.each( $("input[name^='email']:visible"), function(key, value) { if ($(this).attr('name')!='email') { var leer=$(this).val().trim()==''; if (check) $(this).css('background-color',leer?'#FFA0A0':''); else if (leer) $(this).val('-'); if (leer) fehler++; } }); 2740 if (mindestbegleiter>0) if (cnt<mindestbegleiter) { alert('Bitte mindestens '+mindestbegleiter+' Teilnehmer anmelden'); return false; } 2741 if (!check) return true; 2742 if (fehler>0) alert(msg); 2743 return fehler==0; 2744} 2745 2746var ddstartindex; 2747function BoxDragStart(event,ui) 2748{ 2749 ddstartindex=ui.item.index(); 2750} 2751 2752function BoxDragStop(event,ui) 2753{ 2754 if ($(this).attr('id')==ui.item.parent().attr('id')) 2755 { 2756 // gleiche Spalte 2757 BoxDragMove(ui.item.attr('id'), $(this).attr('id'), ui.item.index(), ddstartindex+1); 2758 } 2759} 2760 2761function BoxDragReceive(event,ui) 2762{ 2763 // wechsel Spalte 2764 BoxDragMove(ui.item.attr('id'), $(this).attr('id'), ui.item.index(), 0); 2765} 2766 2767function BoxDragMove(id, block, pos, vorpos) 2768{ 2769 //alert('ID '+id+', Block '+block+', Pos '+pos+', Vor '+vorpos); 2770 $.ajax({ type: 'GET', dataType: 'json', url: './?webservice=movewebpart&id='+id.substring(2)+'&block='+block.substring(7)+'&pos='+pos+'&vor='+vorpos}); 2771} 2772 2773function BoxDragDrop() 2774{ 2775 var d=''; 2776 $.each( $('.webpartbox'), 2777 function(key, value) 2778 { 2779 d=d+value.id+': '; 2780 $.each( $(this).children('div'), 2781 function(key2, value2) 2782 { 2783 d=d+', '+value2.id; 2784 } 2785 ); 2786 d=d+'\n'; 2787 } 2788 ); 2789 alert(d); 2790} 2791 2792function KasseNeuePosition(mwst, konto) 2793{ 2794 var p=ItemsAddLine('position'); 2795 $('#nettobrutto'+p).val("b"); 2796 $('#mwst'+p).val(mwst); 2797 $('#position'+p+' td:first').html(p+1); 2798 KontoPickerSetze('konto'+p,konto); 2799 ArtikelPickerEnable('text'+p,p,'*','','mitglied',0); 2800 KontoPickerEnable('konto'+p); 2801} 2802 2803function KontenNeuePosition() 2804{ 2805 var p=ItemsAddLine('zeile'); 2806 KontoPickerEnable('konto'+p); 2807 $('#zeile'+p+' td:nth-child(3)').html(''); 2808 $('#zeile'+p+' td:nth-child(4)').html(''); 2809} 2810 2811function CalcBruttoNetto(feldbetrag, feldmwst) 2812{ 2813 var mwst=GetKommaZahl(feldmwst); if (mwst==0) return; 2814 var betrag=GetKommaZahl(feldbetrag); 2815 var brutto=$('#checkbetragbrutto').prop('checked'); 2816 if (brutto) betrag=betrag*(100+mwst)/100; else betrag=betrag*100/(100+mwst); 2817 betrag=round3(betrag); 2818 $('#'+feldbetrag).val(betrag); 2819} 2820 2821function TaskAddLink(quelle, ziel, el) 2822{ 2823 $.ajax({ type: 'GET', url: './?webservice=task&quelle='+quelle+'-'+ziel, success: function(result) 2824 { 2825 if (result[0]=='#') alert(result.substring(1)); else el.html(result); 2826 } }); 2827} 2828 2829function ErgaenzeFelder(listenid, id, nr) 2830{ 2831 $.ajax({ type: 'GET', dataType: 'json', url: './?webservice=listendaten&listenid='+listenid+'&id='+id+'&nr='+nr, success: function(result) 2832 { 2833 $('#firma').val(result.name); 2834 if (result.strasse==undefined) $('#g_strasse').val(''); else $('#g_strasse').val(result.strasse+' '+result.hausnummer); 2835 $('#g_plz').val(result.plz); 2836 $('#g_ort').val(result.gemeinde); 2837 $('#g_telefon').val(result.telefon); 2838 if (id!=0) $('#key_DstNr').val(result.nr); 2839 if (id==0) $('#key_DstSchl').val(result.id); 2840 } }); 2841} 2842
2843function EntferneDatenablageFile(key,nr) 2844{ 2845 $('#datenfile'+key+'_'+nr).hide(); 2846 $('#datenablage'+key+'_000'+nr).val(''); 2847} 2848 2849var extrafilecontrolnr = {}; 2850function AddExtraFile(name) 2851{ 2852 if (extrafilecontrolnr[name]==undefined) extrafilecontrolnr[name]=1; else extrafilecontrolnr[name]=extrafilecontrolnr[name]+1; 2853 var elem = document.getElementById('div'+name+'0').cloneNode(true); 2854 ClearExtraFile(name,elem,extrafilecontrolnr[name],'block'); 2855 document.getElementById('div'+name+'root').appendChild(elem); 2856} 2857function RemoveExtraFile(name,nr) 2858{ 2859 var elem = document.getElementById('div'+name+nr); 2860 ClearExtraFile(name,elem,nr,'none'); 2861} 2862function ClearExtraFile(name,elem,nr,display) 2863{ 2864 elem.id='div'+name+nr; 2865 elem.style.display=display; 2866 var elem1=FileSelectorFindInput(elem); 2867 elem1.name=name+'_'+nr; 2868 elem1.id=elem1.name; 2869 if (display=='none') $(elem).html(''); 2870} 2871 2872function EventLoadExtrafields(userid, rechnunggp, vid) 2873{ 2874 if (userid==0) { $('#firma').val(''); $('#strasse').val(''); $('#ort_plz').val(''); $('#ort_ort').val(''); $('#ort_land').val(''); $('#telefonnummer').val(''); $('#email').val(''); return; } 2875 $("input[type='radio']").css('padding','100px'); 2876 $.ajax({ url: './?webservice=eventanmelden', dataType: 'json', data: { id:userid, rechnunggp:rechnunggp, vid:vid }, success: function( data ) 2877 { 2878 for(var n=0; n<data.length; n++) 2879 { 2880 if (data[n].key.substr(0,4)=='key_') 2881 { 2882 $("input[name='"+data[n].key+"'][type='radio'][value='"+data[n].value+"']").prop('checked',true); 2883 $("input[name='"+data[n].key+"'][type='checkbox'][value='"+data[n].value+"']").prop('checked',true); 2884 $("input[name='"+data[n].key+"'][type='text']").val(data[n].value); 2885 $("input[name='"+data[n].key+"']:not([type])").val(data[n].value); 2886 $("select[name='"+data[n].key+"']").val(data[n].value); 2887 } 2888 else 2889 { 2890 var feld=data[n].key; 2891 if (feld=='telefon') feld='telefonnummer'; 2892 if (feld=='plz' || feld=='ort' || feld=='land') feld='ort_'+feld; 2893 $('#'+feld).val(data[n].value); 2894 } 2895 } 2896 } }); 2897} 2898 2899function AddGppAuswahl(id, name) 2900{ 2901 $("<option/>").val(id).text(name).appendTo('#adressauswahl'); 2902 $('#adressauswahl').val(id); 2903 $('#adressauswahl').trigger('change'); 2904 2905 $("<option/>").val(id).text(name).appendTo('#adressauswahlliefer'); 2906} 2907 2908function TriggerChange() 2909{ 2910 $('#mitglied').trigger('change'); 2911} 2912 2913function CheckEinwilligung(txt, id) 2914{ 2915 if ($('#'+id).prop('checked')) return true; 2916 alert(txt); 2917 return false; 2918} 2919 2920function checkCookie_eu() 2921{ 2922 var consent = getCookie_eu("cookies_consent"); 2923 if (consent == null || consent == "" || consent == undefined) $('#cookie_directive_container').show(); 2924} 2925 2926function setCookie_eu(c_name,value,exdays) 2927{ 2928 setCookie(c_name,value,exdays); 2929 $('#cookie_directive_container').hide('slow'); 2930} 2931 2932function setCookie(c_name,value,exdays) 2933{ 2934 var exdate = new Date(); 2935 exdate.setDate(exdate.getDate() + exdays); 2936 var c_value = encodeURIComponent(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 2937 document.cookie = c_name + "=" + c_value+"; path=/"; 2938 //alert(c_name + "=" + c_value+"; path=/"); 2939} 2940 2941function getCookie_eu(c_name) 2942{ 2943 var i,x,y,ARRcookies=document.cookie.split(";"); 2944 for (i=0;i<ARRcookies.length;i++) 2945 { 2946 x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 2947 y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 2948 x=x.replace(/^\s+|\s+$/g,""); 2949 if (x==c_name) return unescape(y); 2950 } 2951} 2952 2953function WeiteresElementHinzufuegen(id, pos, elementnr, dialog) 2954{ 2955 $.ajax({ type: 'GET', url: './?webservice=htmlelement&id='+id+'&pos='+pos+'&elementnr='+elementnr+'&dialog='+dialog, success: function(result) 2956 { 2957 var parent=$('#elementneu'+id+'-'+elementnr).parent(); 2958 $('#elementneu'+id+'-'+elementnr).hide(); 2959 parent.append(result); 2960 } }); 2961} 2962 2963function SpaltenAusblenden(liste,etcbeginn) 2964{ 2965 for(i=0; i<liste.length; i++) $('table.table.responsivetable td:not(.listaktionen):nth-child('+(liste[i]+etcbeginn)+')').hide(); 2966 for(i=0; i<liste.length; i++) $('table.table.responsivetable th:not(.listaktionen):nth-child('+(liste[i]+etcbeginn)+')').hide(); 2967} 2968function SpalteAusblenden(col,tag,etcbeginn) 2969{ 2970 var c=col-etcbeginn; 2971 $('table.table.responsivetable td:nth-child('+col+')').hide(); 2972 $('table.table.responsivetable th:nth-child('+col+')').hide(); 2973 $.ajax({ type: 'GET', url: './?webservice=setcookie&col='+c+'&tag='+tag });
2974} 2975function SpaltenEinblenden(tag) 2976{ 2977 $('table.table.responsivetable td').show(); 2978 $('table.table.responsivetable th').show(); 2979 $.ajax({ type: 'GET', url: './?webservice=setcookie&col=-&tag='+tag }); 2980} 2981 2982function ShowSammel(zt) 2983{ 2984 OpenRegister(3,''); 2985 $('#sammel_'+zt).prop('checked',true); 2986 Recalc(); 2987} 2988 2989function ShowOffeneRe(ids) 2990{ 2991 OpenRegister(1,''); 2992 var id=ids[0]; 2993 $('#offenerechnungen .offenebuchung').hide(); 2994 $('#offenerechnungen .offrecheckbox').prop('checked',false); 2995 $('#row'+id).show(); 2996 $('#row'+id+' .offrecheckbox').prop('checked',true); 2997} 2998 2999function ShowRuecklast(liste) 3000{ 3001 OpenRegister(4,''); 3002 for(i=0; i<liste.length; i++) $('#rueck'+liste[i]).prop('checked',true).trigger('click'); 3003 $('.ruecklistrow').hide(); 3004 for(i=0; i<liste.length; i++) $('.ruecklistrow'+liste[i]).show(); 3005 $('#ruecklastalle').show(); 3006} 3007 3008function BerechneRuecklast(ibanre,ibanprofil) 3009{ 3010 var su=0; 3011 $.each( $(".ruecklastcheck:checked"), function(key, value) { su+=parseFloat($(this).val()); }); 3012 $('#rueckbetraggebuehr').html((parseFloat($('#rueckbetrag').html())-su).toFixed(2)) 3013 if (ibanre==ibanprofil) 3014 { 3015 $('#rueckzahlart1').val('1'); 3016 $('#rueckzahlart2').val('1'); 3017 $('.rueckibans').html((ibanre==''?'':'<FONT color="red">'+ibanre+' = IBAN Originalrechnung = IBAN aktuelles Mitgliederprofil</FONT>')); 3018 } 3019 else 3020 { 3021 $('#rueckzahlart1').val('3'); 3022 $('#rueckzahlart2').val('3'); 3023 $('.rueckibans').html((ibanre==''?'':'<FONT color="red">'+ibanre+' = IBAN Originalrechnung</FONT><BR>')+(ibanprofil==''?'':'<FONT color="green">'+ibanprofil+' = IBAN aktuelles Mitgliederprofil</FONT>')); 3024 } 3025} 3026 3027function ShowRuecklastAlle() 3028{ 3029 $('.ruecklistrow').show(); 3030 $('#ruecklastalle').hide(); 3031} 3032 3033function ResetRuecklast() 3034{ 3035 OpenRegister(1,''); 3036 $('.ruecklistrow').show(); 3037 $('#ruecklastalle').hide(); 3038} 3039 3040function Kollisionswarner(el) 3041{ 3042 if (el.value!='') $.ajax({ type: 'GET', url: './?webservice=kollisionswarner&datum='+el.value, success: function(result) { $('#kollisionswarner').html(result); } }); 3043} 3044 3045function GetGuiUpdate(data, selector, fkt) 3046{ 3047 $(selector).html('<IMG SRC="https://www.vereinonline.org/admin/img/ajax.gif">'); 3048 $.ajax({ type: 'GET', url: './?webservice=gui&act='+data, success: function(result) 3049 { 3050 if (result=='##') return; 3051 $(selector).html(result); 3052 if (fkt) fkt(); 3053 if (selector=='#postfachmail') SetMaxHeight('#postfachmailbody'); 3054 if (selector=='#chatview') { SetMaxHeight('#chatviewmessages'); ScrollToEnd('chatviewmessages'); } 3055 } }); 3056} 3057 3058function InfoHide() 3059{ 3060 $('#infoxxx').hide(); 3061} 3062 3063function SetTreeSelection(id, element) 3064{ 3065 $('#'+id+' A').css('background-color',''); 3066 $(element).css('background-color','#e0e0e0'); 3067} 3068 3069function SetzePostfachStatus(id, status, art, postfachid) 3070{ 3071 if (status==0) SetMbxCommand('ungelesen',postfachid,art,id); 3072 if (status==1) SetMbxCommand('gelesen',postfachid,art,id); 3073 if (status==2) SetMbxCommand('delete',postfachid,art,id); 3074} 3075 3076function ShowGelesen(postfach,uid,open) 3077{ 3078 if ($('.row'+uid).hasClass('ungelesengruen')) ShowPostfachPostfachMark(postfach,-1); 3079 if (open) { $('#mainlistbody TR').removeClass('mailopen'); $('.row'+uid).addClass('mailopen'); } 3080 $('.row'+uid).removeClass('ungelesengruen'); 3081} 3082 3083function ShowUngelesen(postfach,uid) 3084{ 3085 if (!$('.row'+uid).hasClass('ungelesengruen')) ShowPostfachPostfachMark(postfach,1); 3086 $('.row'+uid).removeClass('mailopen'); 3087 $('.row'+uid).addClass('ungelesengruen'); 3088} 3089 3090function SetMbxCommand(cmd,postfach,art,uid) 3091{ 3092 //alert('./?webservice=mbxcommand&cmd='+cmd+'&postfach='+postfach+'&art='+art+'&id='+uid); 3093 $.ajax({ type: 'GET', url: './?webservice=mbxcommand&cmd='+cmd+'&postfach='+postfach+'&art='+art+'&id='+uid }); 3094 if (cmd=='gelesen') { ShowGelesen(postfach,uid,false); } 3095 if (cmd=='ungelesen') { ShowUngelesen(postfach,uid); } 3096 if (cmd=='delete') { $('.row'+uid).remove(); $('#postfachmail').html(''); } 3097 if (cmd=='moveinbox') { $('.row'+uid).remove(); $('#postfachmail').html(''); } 3098} 3099 3100function SetzePostfachStatusList(ids, status, art, postfachid) 3101{ 3102 for(i=0; i<ids.length; i++) SetzePostfachStatus(ids[i], status, art, postfachid); 3103} 3104 3105function SetzePostfachStatusISZ(id, status, folderid, postfachid) 3106{ 3107 $.ajax({ type: 'GET', url: './?webservice=postfachstatus&id='+id+'&status='+status+'&folderid='+folderid+'&postfachid='+postfachid, success: function(result) { ShowPostfachFolderMark(folderid, result); } }); 3108 if (status==0) $('.row'+id).removeClass('mailopen').addClass('ungelesengruen'); 3109 if (status==1) $('.row'+id).removeClass('mailopen').removeClass('ungelesengruen'); 3110 if (status==2) $('.row'+id).remove(); 3111 if (status==3) $('.row'+id).remove(); 3112} 3113 3114function SetzePostfachStatusListISZ(ids, status, folderid, postfachid) 3115{ 3116 for(i=0; i<ids.length; i++) SetzePostfachStatusISZ(ids[i], status, folderid, postfachid); 3117} 3118 3119function UpdatePostfachFolderMark(folderid, postfachid) 3120{ 3121 var list=$('#postfach_postfach'+postfachid+'-'+folderid); 3122 $.ajax({ type: 'GET', url: './?webservice=postfachstatus&id=0&folderid='+folderid+'&postfachid='+postfachid+(list.length>0?'&cmd=html':''), success: function(result) 3123 { 3124 if (list.length>0) 3125 { 3126 var html=result.substr(result.indexOf(',')+1); 3127 result=result.substr(0, result.indexOf(',')); 3128 if (html!='') 3129 { 3130 var selector='#postfach_postfach'+postfachid+'-'+folderid+' tbody'; 3131 if ($(selector+' tr').length>0) 3132 $(html).insertBefore(selector+' tr:nth-child(1)'); 3133 else 3134 $(html).appendTo(selector); 3135 ActivateDragDrop(); 3136 } 3137 } 3138 ShowPostfachFolderMark(folderid, result); 3139 } }); 3140} 3141 3142function ShowPostfachFolderMark(folderid, cnt) 3143{ 3144 $('#marker'+folderid).html(cnt); if (cnt==0) $('#marker'+folderid).hide(); else $('#marker'+folderid).show(); 3145} 3146 3147function ShowPostfachPostfachMark(postfachid, delta) 3148{ 3149 var cnt=parseInt($('.markerpostfach'+postfachid).html())+delta; 3150 $('.markerpostfach'+postfachid).html(cnt); if (cnt<=0) $('.markerpostfach'+postfachid).hide(); else $('.markerpostfach'+postfachid).show(); 3151} 3152 3153function SendKontaktMailWeb(webpartid) 3154{ 3155 $.ajax({ type: 'POST', url: './?webservice=sendkontaktmail', data:$('#formkontakt'+webpartid).serialize(), success: function(result) 3156 { 3157 $('#mailresult'+webpartid).html(result); if (result.indexOf('errorbox')<0) $('#mailformular'+webpartid).hide(); 3158 } }); 3159} 3160 3161function SaveMailZuordnung() 3162{ 3163 $.ajax({ type: 'POST', url: './', data:$('#formmail').serialize() }); 3164} 3165 3166function LoadmitglieddataSignatur(itm) 3167{ 3168 var signatur=''; 3169 if (itm!=0) 3170 { 3171 $.ajax({ type: 'POST', url: './?webservice=member&art=1', data: 'wert='+itm, success: function(result) 3172 { 3173 eval('werte='+result); 3174 signatur=werte['signatur']; 3175 signatur=signatur.replace(/~~~/g, "<br>\r\n"); 3176 if (signatur=='') signatur=$('#signaturstandard').val(); 3177 tinyMCE.get('edt2').setContent(signatur); 3178 } }); 3179 } 3180 else 3181 { 3182 signatur=$('#signaturstandard').val(); 3183 tinyMCE.get('edt2').setContent(signatur); 3184 } 3185} 3186 3187function ShowNachRechtsLink(cls) 3188{ 3189 //alert(cls + ', ' + $(cls).width()+' < '+$('#mainlist').width()); 3190 ShowHide('#nachrechts', $(cls).width()<$('#mainlist').width()); 3191} 3192function ScrollRechts(element) 3193{ 3194 var l=$(element).scrollLeft(); 3195 $(element).animate({ scrollLeft: l+400 }, 'fast'); 3196} 3197 3198function TanAbsenden(art) 3199{ 3200 var tan=$('#tan').val(); 3201 $.ajax({ type: 'GET', url: './?webservice=tanabsenden&tan='+tan+'&ts='+$('#ts').val() });
3202 if (art==1) $('#taneingabedata').html('TAN '+tan+' gespeichert<br><br>'); else $('#taneingabedata').html('Bestätigung gespeichert<br><br>'); 3203 $('#eingabe').hide(); 3204 ResetDirty(); 3205} 3206 3207function TestFkt() 3208{ 3209 $.ajax({ type: 'GET', url: './?webservice=testfkt', success: function(result) { alert(result); } }); 3210} 3211 3212function ForumNotify(enable, id, ext) 3213{ 3214 $.ajax({ type: 'GET', url: './?webservice=forumnotify&cmd='+(enable?'add':'remove')+'&id='+id+'&ext='+ext }); 3215} 3216 3217function SaveMitgliedBemerkung(id) 3218{ 3219 var bem=$('#bemerkung').val(); 3220 $.ajax({ type: 'POST', url: './?webservice=savemitgliedbemerkung&id='+id, data:$('#bem').serialize(), success: function(result) { alert('Bemerkung wurde gespeichert'); } }); 3221} 3222 3223var expertenanzahl=0; 3224function Expertensuche(nr,chiro) 3225{ 3226 $('#expertensuche').show(); 3227 $('#expertebutton1').hide(); 3228 $('#expertebutton2').show(); 3229 if (expertenanzahl<nr) expertenanzahl=nr; 3230 expertenanzahl++; 3231 var elem=$('#experte_0').clone(); 3232 elem.show(); 3233 ItemsSetIDLine(elem,'experte_',expertenanzahl,true); 3234 elem.appendTo('#expertensuche'); 3235 if (chiro) $('#expertefeld'+expertenanzahl).val('mitgliedsnummer'); 3236 $('#expertefkt'+expertenanzahl).val('='); 3237 $('#expertewert'+expertenanzahl).focus(); 3238} 3239 3240function ExperteDelete(element) 3241{ 3242 var id=element.parent().parent().parent().attr('id'); 3243 if (id.indexOf('_')>0) id=id.substr(id.indexOf('_')+1, 99); 3244 $('#expertefeld'+id).val(''); 3245 element.parent().parent().parent().hide(); 3246} 3247 3248 3249function KopiereRabatt(currency) 3250{ 3251 var row; 3252 var std=$('#stdrabatt').val(); 3253 for(row=0; row<=1000; row++) if ($('#anz'+row).length>0) $('#rabatt'+row).val(std); 3254 Rechnungssumme(currency); 3255} 3256 3257function Rechnungssumme(currency) 3258{ 3259 var su=0, row, rab, gewinn=0; 3260 for(row=0; row<=1000; row++) 3261 if ($('#anz'+row).length>0) 3262 { 3263 var wrt=$('#anz'+row).val(); 3264 var z=GetKommaZahlWert(wrt); 3265 var vk=GetKommaZahl('betrag'+row); 3266 if (vk!=0 && wrt=='') { z=1; $('#anz'+row).val('1'); } 3267 if (z!=0) 3268 { 3269 var r=$('#rabatt'+row).val(); 3270 if (r.length>0) 3271 { 3272 if (r.substring(r.length-1)=='%') rab=vk*GetKommaZahlWert(r.substring(0,r.length-1))/100; else rab=GetKommaZahl('rabatt'+row)/z; 3273 vk-=rab; 3274 $('#rabattbetrag'+row).html(rab==0?'':'-'+FormatEuro(rab,currency)+' / Stk.<BR>='+FormatEuro(vk,currency)+' / Stk'); 3275 } 3276 var nb=$('#nettobrutto').val(); 3277 var ek=nb=='n'?$('#eknetto'+row).val():$('#ekbrutto'+row).val(); 3278 if (ek>0 && ek>vk) 3279 $('#gewinnwarnung'+row).html('<DIV style="background-color:red;color:white;padding:3px;margin-right:7px;">Achtung: Verlust von '+FormatEuro(ek-vk,currency)+' pro Stück</DIV>'); 3280 else 3281 $('#gewinnwarnung'+row).html(''); 3282 su=su+round2(z*vk); 3283 if (ek>0) gewinn=gewinn+z*(vk-ek); 3284 } 3285 } 3286 $('#summe').html(su==0?'':'Summe: '+FormatEuro(su,currency)); 3287 $('#gewinnwarnung').html(); 3288 if (gewinn<0) 3289 $('#gewinnwarnung').html('<SPAN style="background-color:red;color:white;padding:3px;margin-left:20px;">Gesamt-Verlust: '+FormatEuro(-gewinn,currency)+'</SPAN>'); 3290 else if (gewinn>0) 3291 $('#gewinnwarnung').html('<SPAN style="background-color:lightgreen;padding:3px;margin-left:20px;">Gesamt-Gewinn: '+FormatEuro(gewinn,currency)+'</SPAN>'); 3292 else 3293 $('#gewinnwarnung').html(''); 3294} 3295 3296function Belegsumme(currency) 3297{ 3298 var su=0,row; 3299 for(row=1; row<=25; row++) if ($('#betrag'+row).length>0) su+=GetKommaZahl('betrag'+row)*($('#einaus'+row).val()=='-'?-1:1); 3300 $('#summe').html(su==0?'':'Summe: '+FormatEuro(su,currency)); 3301} 3302 3303function Aufgabensumme(stundensatz, kmsatz, currency, rows) 3304{ 3305 var summestd=0, summeeuro=0, summekm=0, summekmeuro=0, row; 3306 for(row=1; row<=rows; row++) 3307 { 3308 if ($('#stunden'+row).length>0) 3309 { 3310 var z=GetKommaZahl('stunden'+row); 3311 if (z!=0) { summestd+=z, summeeuro+=z*stundensatz; } 3312 } 3313 if ($('#km'+row).length>0) 3314 { 3315 var z=GetKommaZahl('km'+row); 3316 if (z!=0) { summekm+=z, summekmeuro+=z*kmsatz; } 3317 } 3318 } 3319 $('#summestd').html(summestd==0?'':summestd+' Std.'); 3320 $('#summeeuro').html(summeeuro==0?'':summeeuro+' '+currency); 3321 $('#summekm').html(summekm==0?'':summekm+' km'); 3322 $('#summekmeuro').html(summekmeuro==0?'':summekmeuro+' '+currency); 3323} 3324 3325function OpenFancybox(id) 3326{ 3327 $(document).fancybox({ 3328 'autoScale': true, 3329 'transitionIn': 'elastic', 3330 'transitionOut': 'elastic', 3331 'speedIn': 500, 3332 'speedOut': 300, 3333 'autoDimensions': true, 3334 'centerOnScroll': true, 3335 'href' : id+' [data-fancybox]' 3336 }); 3337} 3338 3339function ReloadKalender(url, sekunden, ajax) 3340{
3341 if (ajax) $.ajax({ type: 'GET', url: url, success: function(result) { $('#divkalender').html($(result).find('#divkalender').html()); } }); 3342 window.setTimeout(function() { ReloadKalender(url, sekunden, true); }, sekunden*1000); 3343} 3344 3345function SetzeRechte(alle) 3346{ 3347 $('select').each(function(index, value) 3348 { 3349 if ($(this).attr('id').indexOf('kosten')>0 || $(this).attr('id').indexOf('visible')>0) return; 3350 if (alle) { var l=$(this).find('option').length; if ($(this).attr('id').indexOf('membersGeb')>0) l=2; var p=$(this).find('option:nth-child('+l+')').val(); $(this).val(p); } else $(this).val(''); 3351 }); 3352} 3353 3354function EnableIsDirty() 3355{ 3356 $('input').on('keypress', function() { SetDirty($(this).attr('name')); }); 3357 $('input').on('change', function() { SetDirty($(this).attr('name')); }); 3358 $('textarea').on('keypress', function() { isDirty=true; }); 3359 $('textarea').on('change', function() { isDirty=true; }); 3360 $('select').on('change', function() { SetDirty($(this).attr('name')); }); 3361 //echo " $(window).on('beforeunload', function() { if (isDirty) return 'Achtung, Daten nicht gespeichert!'; });\n"; 3362} 3363function SetDirty(name) 3364{ 3365 if (name==undefined) return; 3366 if (name.substr(0,4)!='fake' && name!='suche' && name!='strukt1' && name!='strukt2' && name!='strukt3') { isDirty=true; } 3367} 3368function SetDirtyDirect() 3369{ 3370 isDirty=true; 3371} 3372function ResetDirty() 3373{ 3374 isDirty=false; 3375} 3376function DirtyMessage() 3377{ 3378 if (isDirty) return confirm('Wirklich ohne speichern schließen ?'); 3379 return true; 3380} 3381 3382function RolleMarkieren(feld) 3383{ 3384//alert('o'); 3385// $(feld).css('padding','10px'); 3386 $(feld).css('background-color','#c0ffc0'); 3387} 3388 3389function EventSetBegeiter(w) 3390{ 3391 ShowHide('.rowmaxbegleiter',w!=4 && w!=7 && w!=8 && w!=3 && w!=10 && w!=13 && w!=14); 3392} 3393 3394function FeldJBHLE(id) 3395{ 3396 if (id==0 || id=='') return; 3397 $.ajax({ type: 'POST', url: './?webservice=memberdata&id='+id, success: function(result) 3398 { 3399 eval('werte='+result); 3400 if ($('#key_organisation').val()=='') $('#key_organisation').val(werte['firma']); 3401 if ($('#key_anrede').val()=='') $('#key_anrede').val(werte['anrede']); 3402 if ($('#key_vorname').val()=='') $('#key_vorname').val(werte['vorname']); 3403 if ($('#key_nachname').val()=='') $('#key_nachname').val(werte['nachname']); 3404 if ($('#key_strasse').val()=='') $('#key_strasse').val(werte['g_strasse']); 3405 if ($('#key_plz').val()=='') $('#key_plz').val(werte['g_plz']); 3406 if ($('#key_ort').val()=='') $('#key_ort').val(werte['g_ort']); 3407 if ($('#key_telefon').val()=='') $('#key_telefon').val(werte['g_telefon']); 3408 if ($('#key_mobil').val()=='') $('#key_mobil').val(werte['g_mobil']); 3409 if ($('#key_geburtsdatum').val()=='') $('#key_geburtsdatum').val(werte['geburtstag']); 3410 if ($('#key_email').val()=='') $('#key_email').val(werte['g_email']); 3411 } }); 3412} 3413 3414function SucheFLAnsicht(id, code, sort) 3415{ 3416 var suche=encodeURIComponent($('#suche'+id).val()); 3417 $('#flexansicht'+id).html('<I>Suche läuft...</I><BR><BR><IMG SRC="/admin/img/ajax.gif">'); 3418 $.ajax({ type: 'GET', url: './?webservice=sucheflansicht&id='+id+'&code='+code+'&suche'+id+'='+suche+'&sort='+sort, success: function(result) { $('#flexansicht'+id).html(result); } }); 3419} 3420 3421function KeyCheck(e) 3422{ 3423 var keycode; 3424 if (window.event) keycode = window.event.keyCode; else if (e) keycode = e.which; else return true; 3425 if (47 < keycode && keycode < 58) return true; // Zahlen 3426 var kcok = new Array(8, 10, 13, 46, 58, 0); // Steuerzeichen 3427 while (kcok.length > 0) { if (keycode == kcok.pop()) return true; } 3428 return false; 3429} 3430 3431function TableSuche(tableid, suche, headerzeilen) 3432{ 3433 if (suche=='') { $('#'+tableid+' .suchenach').val(''); $('#'+tableid+' .suchealles').hide(); $('#'+tableid+' tr').show(); $('.spaltenanzeige').hide(); return; } 3434 $('#'+tableid+' .suchealles').show(); 3435 $('#'+tableid+' tr').each(function(index, value) 3436 { 3437 if (index>=headerzeilen) if ($(this).html().toLowerCase().indexOf(suche.toLowerCase())>=0) $(this).show(); else $(this).hide(); 3438 }); 3439} 3440 3441function TableSucheList(tableid, suche, headerzeilen) 3442{ 3443 if (suche=='') { $('#'+tableid+' .suchenach').val(''); $('#'+tableid+' .suchealles').hide(); $('#'+tableid+' tr').show(); $('.spaltenanzeige').hide(); return; } 3444 $('#'+tableid+' .suchealles').show(); 3445 $('#'+tableid+' tr').each(function(index, value) 3446 { 3447 if (index>=headerzeilen) 3448 { 3449 var ok=false, w; 3450 w=$(this).find("input[name^='caption']").val(); if (w.toLowerCase().indexOf(suche.toLowerCase())>=0) ok=true; 3451 w=$(this).find("input[name^='datakey']").val(); if (w.toLowerCase().indexOf(suche.toLowerCase())>=0) ok=true; 3452 w=$(this).find("input[name^='datakey']").val(); if (w.toLowerCase().indexOf(suche.toLowerCase())>=0) ok=true; 3453 if (ok) $(this).show(); else $(this).hide(); 3454 } 3455 }); 3456} 3457 3458function NewsSuche(webpart, suche) 3459{ 3460 if (suche=='') { webpart.find('.messages .message').show(); return; } 3461 webpart.find('.messages .message').show(); 3462 webpart.find('.messages .message').each(function(index, value) 3463 { 3464 if ($(this).html().toLowerCase().indexOf(suche.toLowerCase())>=0) $(this).show(); else $(this).hide(); 3465 }); 3466} 3467 3468function AddBegleiter(maxbegleiter, maxfrei, anrededefault, setzefirma, firma, namehidden, adminpath, maxinfo, confirmtext) 3469{ 3470 controlnr++; 3471 if (maxbegleiter!='') if (anzahl>=maxbegleiter) { alert(maxinfo); return; } 3472 if (maxfrei!='') if (anzahl>=maxfrei) { if (!confirm(confirmtext)) return; } 3473 var elem = $('#begleiter0').clone(); 3474 SetBegleiter(elem, '0', controlnr, true, anrededefault, setzefirma, firma, adminpath);
3475 elem.insertBefore($('#b1')); 3476 InitDatepickerField('#geburtstag'+controlnr, adminpath, false); 3477 if (namehidden==1) $('#nachname'+controlnr).val('Begleiter'); 3478 anzahl++; 3479 PrintActivateFields('#'+controlnr); 3480 return elem; 3481} 3482 3483function RemoveBegleiter(nr) 3484{ 3485 var elem = $('#begleiter'+nr); 3486 SetBegleiter(elem,nr,nr,false,'',1,'',''); 3487 anzahl--; 3488} 3489 3490function AddBegleiterIntern() 3491{ 3492 $('#divsendemailbegleiterintern').show(); 3493 3494 controlnrIntern++; 3495 var elem = $('#begleiter1000').clone(); 3496 SetBegleiterIntern(elem,controlnrIntern); 3497 3498 var nralt='1000', nr=controlnrIntern; 3499 elem.find('input').each(function(index) 3500 { 3501 if ($(this).attr('name')!=null) 3502 { 3503 var na=$(this).attr('name'); 3504 var idalt=$(this).attr('id'); 3505 if (na.substring(0,4)=='key_' || na.substring(0,10)=='check_key_' || na.substring(0,15)=='fileselect_key_') 3506 { 3507 if (na.substring(na.length-2)!='[]') 3508 { 3509 na=na.replace('#'+nralt,'#'+nr); 3510 idneu=idalt.replace('#'+nralt,'#'+nr); 3511 if (typeof SetExtrafeldTrigger == 'function') { SetExtrafeldTrigger(elem, na.substring(0,na.length-5), nr); } 3512 } 3513 } 3514 } 3515 }); 3516 elem.find('select').each(function(index) 3517 { 3518 if ($(this).attr('name')!=null) 3519 if ($(this).attr('name').substring(0,4)=='key_') 3520 { 3521 var na=$(this).attr('name'); na=na.substring(0,na.length-5)+'#'+nr; 3522 if (typeof SetExtrafeldTrigger == 'function') { SetExtrafeldTrigger(elem, na.substring(0,na.length-5), nr); } 3523 } 3524 }); 3525 3526 elem.insertBefore($('#bintern1')); 3527 anzahlIntern++; 3528 3529 if (typeof PrintActivateFields == 'function') { PrintActivateFields('#'+nr); } 3530} 3531 3532function RemoveBegleiterIntern(nr) 3533{ 3534 var elem = $('#begleiter'+nr); 3535 elem.find('input,select').each(function(index, value) { $(this).val(''); }); 3536 elem.hide(); 3537 anzahlIntern--; 3538} 3539 3540function SetBegleiterIntern(elem,nr) 3541{ 3542 elem.attr('id', 'begleiter'+nr); 3543 elem.show(); 3544 var h=elem.html() 3545 while (h.indexOf('1000"')>0) h=h.replace('1000"',nr+'"'); 3546 while (h.indexOf('1000\'')>0) h=h.replace('1000\'',nr+'\''); 3547 while (h.indexOf('1000&')>0) h=h.replace('1000&',nr+'&'); 3548 while (h.indexOf('1000_')>0) h=h.replace('1000_',nr+'_'); 3549 while (h.indexOf('1000[]')>0) h=h.replace('1000[]',nr+'[]'); 3550 elem.html(h); 3551} 3552 3553function SetBegleiter(elem, nralt, nr, display, anrededefault, setzefirma, firma, adminpath) 3554{ 3555 elem.attr('id', 'begleiter'+nr); 3556 if (display) elem.show(); else elem.hide(); 3557 elem.find('input:not([type=checkbox]):not([type=hidden]):not([type=submit]):not([type=radio]):not([type=button]),select,textarea').val(''); 3558 elem.find('#anrede'+nralt).attr('id','anrede'+nr).attr('name','anrede'+nr).val(anrededefault); 3559 elem.find('#titel'+nralt).attr('id','titel'+nr).attr('name','titel'+nr); 3560 elem.find('#vorname'+nralt).attr('id','vorname'+nr).attr('name','vorname'+nr); 3561 elem.find('#nachname'+nralt).attr('id','nachname'+nr).attr('name','nachname'+nr); 3562 elem.find('#firma'+nralt).attr('id','firma'+nr).attr('name','firma'+nr).val(setzefirma==1?'':(setzefirma==2?$('#firma').val():firma)); 3563 elem.find('#email'+nralt).attr('id','email'+nr).attr('name','email'+nr); 3564 elem.find('#datepickergeburtstag'+nralt).attr('id','datepickergeburtstag'+nr); 3565 elem.find('#geburtstag'+nralt).attr('id','geburtstag'+nr).attr('name','geburtstag'+nr); 3566 elem.find('#begleitungals'+nralt).attr('id','begleitungals'+nr).attr('name','begleitungals'+nr); 3567 elem.find('#begleiterloeschen'+nralt).attr('id','begleiterloeschen'+nr).attr('onclick','javascript:RemoveBegleiter('+nr+');return false;'); 3568 elem.find('div.fieldgroup').each(function(index) { $(this).attr('class',$(this).attr('class').replace('_nr'+nralt,'_nr'+nr)); }); 3569 elem.find('#linkalle'+nralt).attr('id','linkalle'+nr).attr('onclick','javascript:ProgrammPunkteAlle(\'.programmpunkt_'+nr+'\');return false;'); 3570 elem.find('#linkkeiner'+nralt).attr('id','linkkeiner'+nr).attr('onclick','javascript:ProgrammPunkteKeiner(\'.programmpunkt_'+nr+'\');return false;'); 3571 elem.find('#geburtstag'+nr).removeClass("hasDatepicker"); 3572 elem.find('#datepickergeburtstag'+nr+' img').remove(); 3573 3574 //elem.find('#anmeldeoptionenprogrammpunkt57858_'+nralt).attr('id','anmeldeoptionenprogrammpunkt57858_'+nr); 3575 //elem.find('#anmeldeoptionenserienva57858_'+nralt).attr('id','anmeldeoptionenserienva57858_'+nr); 3576 elem.find('tr').each(function(index) 3577 { 3578 var id=$(this).attr('id'); if (id=='' || id==undefined) return; 3579 if (id.substr(0,28)=='anmeldeoptionenprogrammpunkt') if (id.substr(id.length-1-nralt.length)=='_'+nralt) $(this).attr('id',id.substr(0,id.length-nralt.length)+nr); 3580 if (id.substr(0,23)=='anmeldeoptionenserienva') if (id.substr(id.length-1-nralt.length)=='_'+nralt) $(this).attr('id',id.substr(0,id.length-nralt.length)+nr); 3581 if (id.substr(0,17)=='row_programmpunkt') if (id.substr(id.length-1-nralt.length)=='_'+nralt) $(this).attr('id',id.substr(0,id.length-nralt.length)+nr); 3582 }); 3583 3584 elem.find('input').each(function(index) 3585 { 3586 if ($(this).attr('name')!=null) 3587 { 3588 var na=$(this).attr('name'); 3589 //var typ=$(this).attr('type'); alert(typ); if (typ=='button') return; 3590 var idalt=$(this).attr('id'); 3591 if (na.substring(0,4)=='key_' || na.substring(0,10)=='check_key_' || na.substring(0,15)=='fileselect_key_' || na.substring(0,2)=='pp') 3592 { 3593 if (na.substring(na.length-2)=='[]') 3594 { 3595 na=na.substring(0,na.length-4)+'#'+nr+'[]'; 3596 $(this).attr('name',na); 3597 idneu=idalt.replace('_nr'+nralt,'_nr'+nr).replace('#'+nralt,'#'+nr); 3598 $(this).attr('id',idneu); 3599 } 3600 else 3601 { 3602 //na=na.substring(0,na.length-2)+'#'+nr; 3603 na=na.replace('#'+nralt,'#'+nr); 3604 idneu=idalt.replace('_nr'+nralt,'_nr'+nr).replace('#'+nralt,'#'+nr); 3605 $(this).attr('name',na); 3606 $(this).attr('id',idneu); 3607 if (typeof SetExtrafeldTrigger == 'function') { SetExtrafeldTrigger(elem, na.substring(0,na.length-2), nr); } 3608 } 3609 } 3610 if (na.substring(0,13)=='programmpunkt' || na.substring(0,8)=='serienva') 3611 { 3612 na=na.substring(0,na.length-2)+'_'+nr; 3613 $(this).attr('name',na); 3614 $(this).attr('id',na); 3615 $(this).attr('grp','_'+nr); 3616 $(this).attr('class','programmpunkt_'+nr); 3617 $(this).attr('onchange',$(this).attr('onchange').replace('_'+nralt,'_'+nr)); 3618 } 3619 } 3620 }); 3621 elem.find('select').each(function(index) 3622 { 3623 if ($(this).attr('name')!=null) 3624 if ($(this).attr('name').substring(0,4)=='key_' || $(this).attr('name').substring(0,2)=='pp') 3625 { 3626 var na=$(this).attr('name'); na=na.substring(0,na.length-2)+'#'+nr; 3627 $(this).attr('name',na); 3628 $(this).attr('id',na); 3629 var onchange=$(this).attr('onchange'); 3630 if (onchange!==undefined && onchange!==false) $(this).attr('onchange',onchange.replace("TischBegleiter('key_kosten_ticketauswahl#0'","TischBegleiter('key_kosten_ticketauswahl#"+nr+"'")); 3631 if (typeof SetExtrafeldTrigger == 'function') { SetExtrafeldTrigger(elem, na.substring(0,na.length-2), nr); } 3632 this.selectedIndex=-1; 3633 } 3634 }); 3635 elem.find('.register').attr('id','registerkey'+nr); 3636 elem.find('.tabX a, #begleiter'+nralt+' .tabB a').each(function(index) 3637 { 3638 $(this).attr('onclick',"OpenRegister("+(index+1)+",'registerkey"+nr+"');$(window).trigger('resize');return false;"); 3639 }); 3640 elem.find('.buttonitem a').each(function(index) 3641 { 3642 $(this).attr('href',$(this).attr('href').replace('#'+nralt,'#'+nr)); 3643 }); 3644 elem.find('.dateien a').each(function(index) 3645 { 3646 $(this).attr('onclick',$(this).attr('onclick').replace('#'+nralt,'#'+nr).replace('#'+nralt,'#'+nr)); 3647 }); 3648 elem.find('div.dateien').each(function(index) 3649 { 3650 $(this).attr('id',$(this).attr('id').replace('#'+nralt,'#'+nr)); 3651 }); 3652 elem.find('div.dateienliste').each(function(index) 3653 { 3654 $(this).attr('id',$(this).attr('id').replace('#'+nralt,'#'+nr)); 3655 }); 3656 elem.find('input[type=button]').each(function(index) 3657 { 3658 $(this).attr('onclick',$(this).attr('onclick').replace('#'+nralt,'#'+nr).replace('#'+nralt,'#'+nr)); 3659 }); 3660} 3661 3662function AddAbstimmung() 3663{ 3664 var nr=1; $('#alternativen tbody tr').each(function(index, value) { var id=$(this).attr("id"); id=parseFloat(id.substr(2,99)); if (id>=nr) nr=id+1; }); 3665 var elem=$('#tr0').clone(true); 3666 elem.show(); 3667 ItemsSetIDLine(elem,'tr',nr,true); 3668 elem.find('select').each(function(index, value) { if ($(this).attr('onchange')) $(this).val('').attr('onchange',$(this).attr('onchange').replace('details0','details'+nr)); }); 3669 elem.find('a').each(function(index, value) { if ($(this).attr('onclick')) $(this).attr('onclick',$(this).attr('onclick').replace("'0'", "'"+nr+"'")); }); 3670 elem.find('div').each(function(index, value) { $(this).attr('id', 'divdetails'+nr); }); 3671 elem.insertBefore($('#tr0')); 3672 $('#art'+nr).val($('#art'+(nr-1)).val()); 3673 ShowHide('#divdetails'+nr, HatAbstimmungDetails($('#art'+(nr-1)).val())); 3674 if (HatAbstimmungDetails($('#art'+(nr-1)).val())) $('#details'+nr).val($('#details'+(nr-1)).val()); 3675} 3676 3677function HatAbstimmungDetails(wert) 3678{ 3679 return wert=='' || wert=='#multi2:' || wert=='#multi3:' || wert=='#multi4:' || wert=='#multi5:'; 3680} 3681 3682function StarClick(feld, star) 3683{ 3684 for(var i=1; i<=5; i++) { ShowHide('#star0'+i+feld, i>star); ShowHide('#star1'+i+feld, i<=star); } 3685 $('#'+feld).val(star); 3686} 3687 3688function BSStarClick(feld, star) 3689{ 3690 for(var i=1; i<=10; i++) if (i<=star) $('#'+feld+'-star'+i).addClass('star-selected'); else $('#'+feld+'-star'+i).removeClass('star-selected'); 3691 $('#'+feld).val(star); 3692} 3693 3694function AbstimmungLoeschen(nr) 3695{
3696 if (!confirm('Wirklich löschen?')) return; 3697 $('#tr'+nr).remove(); 3698} 3699 3700//function(){return isctrl;} 3701function WPDragDropInit(bs) 3702{ 3703 // aus Toolbox 3704 $('.wpdrag').draggable({ revert: false, helper: 'clone', zIndex: 1000, cursorAt: { top: 0, left: 0 } }); 3705 $('.wpdrag').on('dragstart', function(event, ui) { AddDroppable(bs); }); 3706 3707 // aus Dokument 3708 //, start: function(event, ui) { $(this).draggable('option', 'cursorAt', { left: 0, top: 0 }); } 3709 $('.wpitem').draggable({ revert: "invalid", helper: 'clone', zIndex: 1000, cursorAt: { top: 0, left: 0 } }); 3710 $('.wpitem').on('dragstart', function(event, ui) { AddDroppable(bs); }); 3711 3712 $('.wpitemchild').on('click', function() { StaticHtmlClickChild($(this)); }); 3713 $('.wpitemchild .wpitem').each(function() { $(this).parent().parent().off('click'); }); 3714} 3715 3716function AddDroppable(bs) 3717{ 3718 // Drop auf Zwischenräume 3719 $(".droparea").droppable( 3720 { 3721 accept: ".wpdrag, .wpitem", 3722 tolerance: "pointer", 3723 classes: { "ui-droppable-active": "droparea-active", "ui-droppable-hover": "droparea-hover" }, 3724 //over: function(event, ui) { $(this).css('height',ui.draggable.height()+'px'); }, 3725 //out: function(event, ui) { $(this).css('height','22px'); }, 3726 drop: function(event, ui) 3727 { 3728 $(this).css('height','22px'); 3729 if (!ui.draggable.hasClass('wpsection')) 3730 AddDroppableItem(ui.draggable, $(this).parent(), bs); 3731 else 3732 AddDroppableMain(ui.draggable.attr('type'), $(this).parent(), '', bs); 3733 } 3734 }); 3735 3736 // Drop in Mehrfachelement 3737 $(".wpitemchild").droppable( 3738 { 3739 accept: ".wpdragchild, .wpitem", 3740 tolerance: "pointer", 3741 classes: { "ui-droppable-active": "droparea-active", "ui-droppable-hover": "droparea-hover" }, 3742 drop: function(event, ui) 3743 { 3744 if (!ui.draggable.hasClass('wpsection')) 3745 { 3746 var el=ui.draggable.clone(true); 3747 el.find('.editarea').remove(); 3748 AddDroppableChild(ui.draggable.attr('type'), $(this), el.html()); 3749 if (!isctrl) StaticHtmlRemove(ui.draggable,false); 3750 } 3751 else 3752 AddDroppableChild(ui.draggable.attr('type'), $(this), '', false); 3753 } 3754 }); 3755} 3756 3757function AddDroppableMain(type, eleminsert, html, bs) 3758{ 3759 if (html=='') html=$('#template'+type).html(); 3760 var edit=$('#edit'+type).html(); 3761 var item=1, i; $('.webpartlist .dropitem').each(function(index, value) { i=$(this).attr("id"); i=parseFloat(i.substr(4,99)); if (i>=item) item=i+1; }); 3762 $("<li class='dropitem' id='item"+item+"'><div class='droparea' onclick='javascript:StaticHtmlClick("+item+","+(bs?'true':'false')+");return false;'>Bitte per Klick oder Drag-and-Drop neue Elemente einfügen</div><div class='wpitem' type='"+type+"'><div class='editarea'>"+edit+"</div>\n"+html+"\n</div></li>").insertBefore(eleminsert); 3763 $('#item'+item+' .wpitem').draggable({ revert: "invalid", helper: 'clone', zIndex: 1000, cursorAt: { top: 0, left: 0 } }); 3764 $('.wpitemchild').on('click', function() { StaticHtmlClickChild($(this)); }); 3765} 3766 3767function AddDroppableItem(newitem, eleminsert, bs) 3768{ 3769 var type=newitem.attr('type') 3770 var edit=$('#edit'+type).html(); 3771 var item=1, i; $('.webpartlist .dropitem').each(function(index, value) { i=$(this).attr("id"); i=parseFloat(i.substr(4,99)); if (i>=item) item=i+1; }); 3772 $("<li class='dropitem' id='item"+item+"'><div class='droparea'>Bitte per Klick oder Drag-and-Drop neue Elemente einfügen</div><div class='wpitem' type='"+type+"'><div class='editarea'>"+edit+"</div>\n"+newitem.html()+"\n</div></li>").insertBefore(eleminsert); 3773 if (!isctrl) StaticHtmlRemove(newitem,false); 3774 $('#item'+item+' .wpitem').draggable({ revert: "invalid", helper: 'clone', zIndex: 1000, cursorAt: { top: 0, left: 0 } }); 3775 $('#item'+item).on('click', function() { StaticHtmlClickChild($(this)); }); 3776} 3777 3778function AddDroppableChild(type, eleminsert, html) 3779{ 3780 if (html=='') html=$('#template'+type).html(); 3781 var edit=$('#edit'+type).html(); 3782 var item=1, i; $('.webpartlist .dropitem').each(function(index, value) { i=$(this).attr("id"); i=parseFloat(i.substr(4,99)); if (i>=item) item=i+1; }); 3783 eleminsert.html("<!--WPCHILD--><div class='dropitem' id='item"+item+"'><div class='wpitem' type='"+type+"'>\n<div class='editarea'>"+edit+"</div>"+html+"</div>\n</div><!--/WPCHILD-->"); 3784 //eleminsert.droppable("disable"); // raus, weil sonst text in Col3 einfügen nicht klappt; // rein, weil sonst 2Zeilen in 3Spalten und dann ELement in Zeilen einfügen nicht klappt 3785 eleminsert.removeClass('wpitemchild'); 3786 eleminsert.removeClass('ui-droppable'); 3787 eleminsert.removeClass('ui-droppable-active'); 3788 eleminsert.removeClass('droparea-active'); 3789 eleminsert.off('click');
3790 $('#item'+item+' .wpitem').draggable({ revert: "invalid", helper: 'clone', zIndex: 1000, cursorAt: { top: 0, left: 0 } }); 3791 AddDroppable(true); 3792} 3793 3794function SetForm1Top() 3795{ 3796 GetForm1().target='_top'; 3797} 3798 3799function StaticHtmlSave(cmd,dialog) 3800{ 3801 SetForm1Value('cmd',cmd); 3802 GetForm1().target=''; 3803 SetForm1Value('dialog',dialog); 3804 //$('.webpartlist').hide(); 3805 $('.webpartlist .droparea').remove(); 3806 $('.webpartlist .contentdisplay').remove(); 3807 $('.webpartlist .content').removeClass('hidden'); 3808 $('.webpartlist .content').attr('contenteditable',''); 3809 $('.webpartlist .droparea-active').removeClass('droparea-active'); 3810 $('.webpartlist .editarea').remove(); 3811 $('.wpitem').removeClass('ui-draggable').removeClass('ui-draggable-handle'); 3812 var html=''; $.each( $(".webpartlist > li"), function(key, value) { html=html+$(this).html(); }); 3813 $('#inhalt1_html').val(html); 3814} 3815 3816function StaticHtmlSize(jq, anz, cls1, cls2) 3817{ 3818 jq.parent().parent().find(cls1).each(function() { StaticHtmlSizeElement($(this), -anz); }); 3819 jq.parent().parent().find(cls2).each(function() { StaticHtmlSizeElement($(this), anz); }); 3820} 3821 3822function StaticHtmlSizeElement(el, anz) 3823{ 3824 var w=el.css('width'); 3825 var v=parseInt(w); 3826 if (w.substr(0,w.length-1)=='%') el.css('width',parseInt((v+anz)/10)+'%'); else el.css('width',(v+anz)+'px'); 3827} 3828 3829function StaticHtmlSetImg(item, file, parent) 3830{ 3831 var html='<img src="'+(file.substr(0,5)=='files'?file:'?downloadprojectfile='+file.substr(9))+'" style="max-width:100%">'; 3832 parent.$('.webpartlist #'+item+' .content').html(html); 3833 parent.$('.webpartlist #file'+item).val(file); 3834} 3835 3836function StaticHtmlSetImgNew(item, file, bs) 3837{ 3838 var html='<div class="content"><img src="'+(file.substr(0,5)=='files'?file:'?downloadprojectfile='+file.substr(9))+'" style="max-width:100%"></div>'; 3839 if (item.substr(0,4)=="item") 3840 AddDroppableMain('img', $('.webpartlist #'+item), html, bs); 3841 else 3842 AddDroppableChild('img', $('.webpartlist #'+item), html); 3843} 3844 3845function StaticHtmlClick(nr,bs) 3846{ 3847 SetForm1Value('cmd','addwpitem'+nr); 3848 if (!bs) 3849 OpenNewWindow(-1,-1); 3850 else 3851 OpenPopupBS('./?action='+GetForm1Value('action')+'&cmd='+GetForm1Value('cmd')+'&id='+GetForm1Value('id')+'&dialog=2',0,0,120); 3852} 3853 3854function StaticHtmlClickChild(elem) 3855{ 3856 var d = new Date(); var ts=d.getTime(); 3857 elem.attr('id', ts); 3858 SetForm1Value('cmd','addwp'+ts); 3859 OpenNewWindow(-1,-1); 3860} 3861 3862function StaticHtmlRemove(elem,cf) 3863{ 3864 if (cf) if (!confirm('Wirklich löschen?')) return; 3865 var p=elem.parent(); 3866 if (p.parent().hasClass('webpartlist')) 3867 { 3868 p.remove(); 3869 } 3870 else 3871 { 3872 p=p.parent(); 3873 p.html("Bitte per Klick oder Drag-and-Drop neue Elemente einfügen"); 3874 p.addClass('wpitemchild'); 3875 p.addClass('ui-droppable'); 3876 p.droppable("enable"); 3877 } 3878} 3879 3880function PlatzPruefen(id) 3881{ 3882 var par='id='+id+'&datum='+$('#datum').val()+'&anzahltage='+$('#anzahltage').val()+'&datum_anzahl='+$('#datum_anzahl').val()+'&datum_ende='+$('#datum_ende').val()+'&datum_tage='+$('#datum_tage').val()+'&datum_monate='+$('#datum_monate').val()+'&datum_jederxtag='+$('#datum_jederxtag').val()+'&datum_jederwotag='+$('#datum_jederwotag').val()+'&datum_datumswerte='+$('#datum_datumswerte').val(); 3883 par=par+'&raum='+encodeURIComponent($('#raum').val())+'&raumab='+$('#raumab').val()+'&raumbis='+$('#raumbis').val()+$('#raumbucher').val(); 3884 par=par+'&akid='+$('#akid').val(); 3885 $.ajax({ type: 'GET', url: './?webservice=platzcheck&'+par, success: function(result) { $('#raumbucherverfuegbar').html(result); } }); 3886} 3887 3888function SetzeAnrede(vorname, anredefeld) 3889{ 3890 if ($('#'+anredefeld).val()!='') return; 3891 $.ajax({ type: 'GET', url: './?webservice=vorname&vorname='+encodeURIComponent(vorname), success: function(result) 3892 { 3893 if (result!='') $('#'+anredefeld).val(result); 3894 } }); 3895} 3896 3897function PytisStueckliste(isMaterial) 3898{ 3899 var artikelliste=[]; 3900 $.each( $(".stueckanzahl"), function(key, value) 3901 { 3902 var stueckartid=$(this).attr('id').substr(6); 3903 var stueckanzahl=$(this).val(); 3904 var artikel=eval($(this).attr('data')); 3905 for(var i=0; i<artikel.length; i++) { var a=artikel[i][1]; artikelliste[a]=(artikelliste[a]==undefined?0:artikelliste[a])+stueckanzahl*artikel[i][0]; } 3906 }); 3907 var fehlen=0; 3908 for(var artid in artikelliste) 3909 { 3910 var z=artikelliste[artid]; 3911 $.each( $(".art"+artid), function(key, value) 3912 { 3913 if (true) 3914 { 3915 var artlager=$(this).attr('id').substr(3); 3916 var verfuegbar=$('#spanzstck'+artlager).attr('verfuegbar'); 3917 var dieseslager=z>verfuegbar?verfuegbar:z; 3918 z=z-dieseslager; 3919 $('#zstck'+artlager).val(dieseslager); 3920 $('#spanzstck'+artlager).html(dieseslager==0?'':'<br>+ '+dieseslager+' für Stücklisten'); 3921 } 3922 }); 3923 if (z>0) fehlen+=z; 3924 } 3925 if (fehlen>0) alert('nicht genügend '+(isMaterial?'Material':'Equipment')+' vorhanden ('+fehlen+' fehlen)'); 3926} 3927 3928function OnceForm1Submit(el) 3929{ 3930 ShowLightBox(); 3931 $(el).attr('onclick',"javascript:alert('bereits ausgeführt');return false;"); 3932 DirectForm1Submit(); 3933} 3934 3935function Grossbuchstaben(feld) 3936{ 3937 var wrt=$('#'+feld).val(); if (wrt=='' || wrt.indexOf(' ')>0) return; 3938 $('#'+feld).val(wrt.substr(0,1).toUpperCase()+wrt.substr(1)); 3939} 3940 3941function ShowVideo(nr) 3942{ 3943 $('.videos').hide(); 3944 $('#video'+nr).show(); 3945 $('#videoplay'+nr).show(); 3946 $('.videoplay').each(function(index, value) { $(this)[0].pause(); }); 3947 $('#videoplay'+nr)[0].play(); 3948} 3949 3950function SetzeRaumZeit(wrt) 3951{ 3952 var i=wrt.indexOf('-'); 3953 $('#raumab').val((i>=0?wrt.substr(0,i):wrt).trim()); 3954 if (i>=0) $('#raumbis').val(wrt.substr(i+1).trim()); 3955} 3956 3957function Speisekarte(id,wrt) 3958{ 3959 $.ajax({ type: 'GET', url: './?webservice=speisekarte&id='+id+'&wrt='+wrt }); 3960} 3961 3962function CheckGruppenMail() 3963{ 3964 var msg=''; 3965 if (!$('#empf1').prop('checked') && !$('#empf2').prop('checked') && !$('#empf3').prop('checked') && !$('#empf4').prop('checked') && !$('#empf5').prop('checked')) msg+='Bitte Versandart wählen.\n' 3966 if ($('#betreff').val()=='') msg+='Bitte Betreff eingeben.\n' 3967 if (msg!='') alert(msg); 3968 return msg==''; 3969} 3970 3971function NettoToBrutto(feld,mwstfaktor) 3972{ 3973 var brutto=GetKommaZahl(feld)*mwstfaktor; 3974 $('#'+feld+'brutto').val(round2(brutto)); 3975} 3976 3977function BruttoToNetto(feld,mwstfaktor) 3978{ 3979 var netto=GetKommaZahl(feld+'brutto')/mwstfaktor; 3980 $('#'+feld).val(round2(netto)); 3981} 3982
3983function RenameFile(caption, field) 3984{ 3985 var txt=$('#newfilename_'+field).val(); 3986 var pre=''; 3987 if (txt.substr(0,2)=='20' && txt.substr(14,1)=="_") { pre=txt.substr(0,15); txt=txt.substr(15); } 3988 var f=prompt(caption, txt); 3989 if (f!=null && f!='') $('#newfilename_'+field).val(pre+f); 3990 if (f!=null && f!='') $('#attlink_'+field).html(f); 3991} 3992 3993 3994function FindeRechnung(renr) 3995{ 3996 $.ajax({ type: 'GET', url: './?webservice=sucherenr&renr='+encodeURIComponent(renr), success: function(result) 3997 { 3998 $('#resuche').html(result); 3999 } }); 4000} 4001 4002function ActivateDragDrop() 4003{ 4004 $('.draggable').draggable({ revert: true, }); 4005 $('.droppable').droppable({ hoverClass: 'draghover', drop: function( event, ui ) { ui.draggable.draggable({revert: false}); MoveMail(ui.draggable, $(this).attr('name')); } }); 4006 JsResponsivetable(); 4007} 4008 4009function MoveMail(mailelement, zielfolderid) // mailelement=mailid-foldersrc-postfachid 4010{ 4011 var par=mailelement.attr('name').split("-"); 4012 MoveMailExecute(1, mailelement, par[0], par[1], par[2], zielfolderid); 4013} 4014 4015function MoveMailExecute(fkt, mailelement, mailid, foldersrc, postfachid, zielfolderid) // mailelement=mailid-foldersrc-postfachid 4016{ 4017 $.ajax({ type: 'GET', url: './?webservice=movemail&mailid='+mailid+'&folderid='+zielfolderid+'&foldersrc='+foldersrc+'&postfachid='+postfachid, success: function(result) 4018 { 4019 if (result.substring(0,6)=="ERROR:") { alert(result.substring(6,999)); return; } 4020 if (fkt==1) mailelement.parent().parent().remove(); else $('.row'+mailid).remove(); 4021 var cnt=result.split(','); 4022 ShowPostfachFolderMark(foldersrc, cnt[0]); 4023 ShowPostfachFolderMark(zielfolderid, cnt[1]); 4024 } }); 4025} 4026 4027function JsResponsivetable() 4028{ 4029 $.each($('.responsivetable:not(.footable)'), function(index) 4030 { 4031 var tb=$(this); 4032 $(tb).find('thead td,thead th').each(function(index, value) 4033 { 4034 $(tb).find('tbody td:nth-of-type('+(index+1)+')').attr('data-title',$(this).text()+($(this).text().trim()==''||endswith($(this).text().trim(),':')?'':':')); 4035 }) 4036 }); 4037} 4038 4039function endswith(str, z) 4040{ 4041 if (str.length==0) return false; 4042 return str[str.length-1]==z; 4043} 4044 4045var tagesordnungspunkte=0; 4046function SetzeTop(id, status) 4047{ 4048 tagesordnungspunkte=3; 4049 $('.top').css('background-color',''); 4050 $('#top'+id).css('background-color','#80ff80'); 4051 if (status==2) if ($('#abstimmung'+id).html()=='Abstimmung aktivieren') { $('#abstimmung'+id).html('Abstimmung deaktivieren'); } else { $('#abstimmung'+id).html('Abstimmung aktivieren'); status=1; } 4052 var b=''; $(document).find('.blockbodystart').each(function(index, value) { if ($(this).css('display')!='none') b=b+(b==''?'':',')+$(this).attr('id'); }); 4053 $.ajax({ type: 'GET', url: './?webservice=setzetop&id='+id+'&status='+status+'&b='+b, success: function(result) 4054 { 4055 $('.versammlung').html(result); 4056 } }); 4057} 4058 4059function UpdateTop(vid) 4060{ 4061 if (tagesordnungspunkte>0) { tagesordnungspunkte--; return; } 4062 var b=''; $(document).find('.blockbodystart').each(function(index, value) 4063 { 4064 if ($(this).css('display')!='none') b=b+(b==''?'':',')+$(this).attr('id'); 4065 }); 4066 $.ajax({ type: 'GET', url: './?webservice=updatetop&id='+vid+'&b='+b, success: function(result) 4067 { 4068 if (tagesordnungspunkte>0) return; 4069 $('.versammlung').html(result); 4070 } }); 4071} 4072 4073function VoteTop(id, vote) 4074{ 4075 $.ajax({ type: 'GET', url: './?webservice=votetop&id='+id+'&vote='+vote, success: function(result) 4076 { 4077 alert(result); 4078 } }); 4079} 4080 4081function TopDropped() 4082{ 4083 var sort=''; 4084 $.each( $(".tops .maintop"), function(key, value) { sort=sort+(sort==''?'':',')+$(this).attr('id').substring(3); }); 4085 $.ajax({ type: 'GET', url: './?webservice=reordertop&sort='+sort, success: function(result) 4086 { 4087 $('.versammlung').html(result); 4088 $(".topdrag").sortable({ items: '.maintop', revert: true, stop: function( event, ui ) { TopDropped(); } }); 4089 } }); 4090} 4091 4092function AddExternalUser(str) 4093{ 4094 var externals=document.getElementById('externals'); 4095 externals.value=externals.value+(externals.value==''?'':'\\n')+str; 4096} 4097 4098function CheckSerientermine() 4099{ 4100 var alle=$('.serienva').length;
4101 if (alle<=1) return true; 4102 var sel=$('.serienva:checked').length; 4103 if (sel==0) { alert('Sie haben 0 von '+alle+' Serienterminen gewählt.\n\nBitte wählen Sie mindestens einen Termin.'); return false; } 4104 return confirm('Sie haben '+sel+' von '+alle+' Serienterminen gewählt.\n\nAnmeldung speichern?'); 4105} 4106 4107function MailArchivCheckbox(id, state) 4108{ 4109 $('.mailarchivextra.block'+id+' input:visible').prop('checked',state); 4110} 4111 4112function SetzeAnzeigeRV(el,id,wert) 4113{ 4114 $.ajax({ type: 'POST', url: './?webservice=setzeanzeigerv&id='+id+'&w='+wert }); 4115 $.each( $(el).parent().parent().find('a'), function(key, value) { if ($(this).html().substring(0,1)=='*') $(this).html($(this).html().substring(2,99)); } ); 4116 $(el).html('* '+$(el).html()); 4117} 4118 4119function DeleteMail(id) 4120{ 4121 $.ajax({ type: 'POST', url: './?webservice=maildelete&id='+id }); 4122 $('tr#row'+id).remove(); 4123} 4124 4125function SetzeRaum(plaetze, enable) 4126{ 4127 for(i=0; i<plaetze.length; i++) $('#platzauswahl'+plaetze[i]).prop('checked',enable); 4128} 4129 4130function Restbudget(grpid) 4131{ 4132 if (grpid==0) $('#restbudget').html(""); 4133 else $.ajax({ type: 'POST', url: './?webservice=restbudget&id='+grpid, success: function(result) { $('#restbudget').html(result); } }); 4134} 4135 4136function SyncExtrafelder(ab,id) 4137{ 4138 $.ajax({ type: 'POST', url: './?webservice=syncextrafelder&ab='+ab+'&id='+id, success: function(result) { alert(result); } }); 4139} 4140 4141function CheckReRequired(felder,oKst) 4142{ 4143 if (felder=='') return true; 4144 var lst=felder.split(','); 4145 var msg=''; 4146 for(i=0; i<lst.length; i++) if (!CheckReRequiredField(lst[i],oKst)) msg+='\n- '+lst[i].substring(0,1).toUpperCase()+lst[i].substring(1); 4147 if (msg!='') alert('Bitte vor dem Speichern folgende Felder ausfüllen:'+msg); 4148 return msg==''; 4149} 4150 4151function CheckReRequiredField(feld,oKst) 4152{ 4153 if (feld!='kostenstelle') return GetForm1Value(feld)!=""; 4154 4155 // Kostenstelle 4156 if (oKst=='') return true; 4157 if (oKst=='ja' || oKst=='gruppen') return GetForm1Value('kategorie')!=""; 4158 if (oKst=='multi') { alert('Pflichtfelder bei Kostenstellen=Mehrfachzuordnung nicht unterstützt'); return false; } 4159 var ok=true; 4160 $.each( $("select[name^='kategorie']"), function(key, value) { if ($('#anz'+$(this).attr('id').substr(9)).val()!="") ok=ok && $(this).val().trim()!=''; } ); 4161 return ok; 4162} 4163 4164function ErstelleRechnung(jahr,pflicht,oKst,action,art) 4165{ 4166 if ((art=='lst' ||art=='uew') && $('#vereinskonto').val()=='') { alert('Bitte Vereinskonto wählen'); return; } 4167 if (!BuchungDatumOk(jahr)) return; 4168 if (!CheckReRequired(pflicht,oKst)) return; 4169 var renr=$('#rechnungsnummer').val().trim(); 4170 if (renr=='') { alert("Bitte Rechnungsnummer angeben"); return; } 4171 $.ajax({ url: './?webservice=checkrenr&renr='+encodeURIComponent(renr), success: function(result) 4172 { 4173 if (result!='') { alert(result); return; } 4174 SetForm1Value('action','kasse_'+action); 4175 Form1Submit(); 4176 } }); 4177} 4178 4179function PopupLogin() 4180{ 4181 var myModal = new bootstrap.Modal(document.getElementById('logindialog'), { keyboard: false }); 4182 myModal.show() 4183} 4184 4185function FormatZeit(z) 4186{ 4187 var hh=parseInt(z); 4188 var mm=parseInt((z-hh)*60); 4189 return hh+':'+(mm<10?'0':'')+mm; 4190} 4191 4192function SaveTerminPlanung(uid,vaid) 4193{ 4194 $.ajax({ type: 'POST', url: './?webservice=terminplanung', data: 'uid='+uid+'&vaid='+vaid+'&status='+$('#va'+vaid).val()+'&txt='+encodeURIComponent($('#txt'+vaid).val()), success: function(result) { if (result!='') alert(result); } }); 4195} 4196 4197function SaveTerminPlanungKommentar(uid,aid) 4198{ 4199 $.ajax({ type: 'POST', url: './?webservice=terminplanungkommentar', data: 'uid='+uid+'&aid='+aid+'&txt='+encodeURIComponent($('#anmerkungen').val()), success: function(result) { if (result!='') alert(result); } }); 4200} 4201 4202function BuchungDatumOk(jahr) 4203{ 4204 var datum=$('#datum').val(); 4205 var data=datum.split('.'); var d=parseInt(data[0]), m=parseInt(data[1]), y=parseInt(data[2]); 4206 if (y<=jahr) { alert('Buchführung bis zum Jahr '+jahr+' gesperrt'); return false; } 4207 if (d<1 || d>31 || m<1 || m>12) { alert('ungültiges Datum'); return false; } 4208 return true; 4209} 4210 4211function FelderMoveSelected(src, dst) 4212{ 4213 var s=document.getElementById(src); 4214 var d=document.getElementById(dst); 4215 for(var i=0; i<s.options.length; i++) if (s.options[i].selected) d.add(new Option(s.options[i].text,s.options[i].value)); 4216 for(var i=s.options.length-1; i>=0; i--) if (s.options[i].selected) s.options[i]=null; 4217 SelectAll(); 4218} 4219function FelderMoveAll(src, dst) 4220{ 4221 var s=document.getElementById(src); 4222 var d=document.getElementById(dst); 4223 for(var i=0; i<s.options.length; i++) d.add(new Option(s.options[i].text,s.options[i].value)); 4224 for(var i=s.options.length-1; i>=0; i--) s.options[i]=null; 4225 SelectAll(); 4226} 4227function SelectAll() 4228{ 4229 var d=document.getElementById('selection'); 4230 for(var i=d.options.length-1; i>=0; i--) d.options[i].selected=true; 4231} 4232function FelderMoveSelectedUpDown(lst,dir) 4233{ 4234 var l=document.getElementById(lst); 4235 var p=l.selectedIndex; 4236 if (p<0 || p+dir<0 || p+dir>=l.length) return; 4237 var o1=new Option(l.options[p].text, l.options[p].value); 4238 var o2=new Option(l.options[p+dir].text, l.options[p+dir].value); 4239 l.options[p+dir]=o1; 4240 l.options[p]=o2;
4241 l.selectedIndex=p+dir; 4242 //SelectAll(); 4243} 4244 4245function Rv6Toggle() 4246{ 4247 if ($('#sidebar').is(":visible")) 4248 { 4249 $('#sidebar').removeClass('d-md-block').addClass('d-none'); 4250 $('.maincontent').removeClass('col-fluid'); 4251 document.cookie = 'sidebar=no; path=/'; 4252 } 4253 else 4254 { 4255 $('#sidebar').addClass('d-md-block').removeClass('d-none'); 4256 $('.maincontent').addClass('col-fluid'); 4257 document.cookie = 'sidebar=; path=/'; 4258 } 4259 $('html,body').scrollTop(0); 4260} 4261 4262function Rv6Show() 4263{ 4264 if ($('#sidebar').hasClass('d-none')) 4265 { 4266 $('#sidebar').addClass('d-md-block').removeClass('d-none'); 4267 $('.maincontent').addClass('col-fluid') 4268 } 4269 $('html,body').scrollTop(0); 4270} 4271 4272function Rv6Close() 4273{ 4274 if ($(window).width()<=600) 4275 { 4276 $('#sidebar').removeClass('d-md-block').addClass('d-none'); 4277 $('.maincontent').removeClass('col-fluid'); 4278 document.cookie = 'sidebar=no; path=/'; 4279 } 4280} 4281 4282function ReAusblenden(id, nuraktive) 4283{ 4284 if (nuraktive==1) $('#rechnung'+id).hide(); 4285 $.ajax({ url: './?webservice=reausblenden&id='+id, success: function(result) { $('#link'+id).html(result); } }); 4286} 4287 4288function CheckRaumbelegung(ids) 4289{ 4290 var par=''; 4291 var frm1=document.getElementById('form1'); 4292 for(i=0; i<frm1.elements.length; i++) { if (frm1.elements[i].name.substring(0,5)=="platz" || frm1.elements[i].name.substring(0,6)=="beginn" || frm1.elements[i].name.substring(0,4)=="ende") par=par+'&'+frm1.elements[i].name+'='+encodeURIComponent(frm1.elements[i].value); } 4293 $.ajax({ url: './?webservice=checkraumbelegung&ids='+ids+par, success: 4294 function(result) 4295 { 4296 if (result=='') { Form1Submit(); return; } 4297 eval('werte='+result); 4298 for(i=0; i<werte.length; i++) $('#info'+werte[i][0]).html(werte[i][1]); 4299 } 4300 }); 4301} 4302 4303function SetzeBildersichtbarkeit(opt) 4304{ 4305 $("select[name^='public']").val(opt); 4306} 4307 4308function ChangePositionen(pos) 4309{ 4310 var max=$('.selectpos').length; 4311 var wert=parseInt($('#position'+pos).val()); 4312 var prewert=parseInt($('#preposition'+pos).val()); 4313 for(var p=1; p<=max; p++) 4314 { 4315 if (p!=pos) 4316 { 4317 var w=parseInt($('#position'+p).val()); 4318 if (wert>prewert && w>prewert && w<=wert) { $('#position'+p).val(w-1); $('#preposition'+p).val(w-1); } 4319 if (wert<prewert && w<prewert && w>=wert) { $('#position'+p).val(w+1); $('#preposition'+p).val(w+1); } 4320 } 4321 } 4322 $('#preposition'+pos).val(wert); 4323} 4324 4325function FlexTypShowDetail(nr) 4326{ 4327 var detailtypen=["multiselect","select","selectradio","checkbox","label","workflow","autowert","wert","currency","currencylist","formel"]; 4328 var typ=$('#datatyp'+nr).val(); 4329 ShowHide('#datatypdetails'+nr, detailtypen.includes(typ)); 4330} 4331 4332function FlexListTypAdd() 4333{ 4334 flexlistenpos++; 4335 4336 $('.selectpos').each(function(index, value) 4337 { 4338 $(this).find("option[value='x']").remove(); 4339 $(this).append("<option value='"+flexlistenpos+"'>"+flexlistenpos+"</option>"); 4340 $(this).append("<option value='x'>löschen</option>"); 4341 }); 4342 4343 var elem=$('.listtable tbody .flexlistrow:first').clone(); 4344 elem.find('input,select,textarea').each(function(index, value) 4345 { 4346 var name=$(this).attr('name'); 4347 name=name.substr(0,name.length-1)+flexlistenpos; 4348 $(this).attr('name',name); 4349 $(this).attr('id',name); 4350 if ($(this).attr('onchange')) 4351 { 4352 var r=$(this).attr('onchange').replace('ext1','ext0').replace('ext1','ext0').replace('ext1','ext0'); 4353 r=r.replace('ext0','ext'+flexlistenpos).replace('ext0','ext'+flexlistenpos).replace('ext0','ext'+flexlistenpos); 4354 r=r.replace('datakey1','datakey'+flexlistenpos); 4355 $(this).attr('onchange',r); 4356 } 4357 $(this).val(''); 4358 }); 4359 elem.find('textarea').hide(); 4360 elem.find('.selectpos').val(flexlistenpos); 4361 elem.find('#preposition'+flexlistenpos).val(flexlistenpos); 4362 elem.find('.selectpos').attr('onchange','javascript:ChangePositionen('+flexlistenpos+')'); 4363 elem.find('#datatyp'+flexlistenpos).attr('onchange','javascript:FlexTypShowDetail('+flexlistenpos+')');
4364 elem.find('a').attr('onclick','javascript:$("#divsichtbar'+flexlistenpos+'").toggle();'); 4365 elem.find('.linkcondition').attr('onclick','javascript:$("#divsichtbar'+flexlistenpos+'").toggle();'); 4366 elem.find('.ergext').attr('id','ergext'+flexlistenpos).html(''); 4367 elem.find('.divsichtbar').attr('id','divsichtbar'+flexlistenpos); 4368 4369 elem.appendTo('.listtable tbody'); 4370} 4371 4372function KostenAusnahmenAdd(adminpath, showWeek) 4373{ 4374 kostentabellenr++; 4375 $('.kostentabellehead').show(); 4376 4377 var elem=$('#kostentabelle tbody tr:first').clone(); 4378 elem.find('input,select,textarea').each(function(index, value) 4379 { 4380 var name=$(this).attr('name'); if (name.substr(0,3)=='btn') return; 4381 name=name.substr(0,name.length-1)+kostentabellenr; 4382 $(this).attr('name',name); 4383 $(this).attr('id',name); 4384 $(this).val(''); 4385 $(this).removeClass("hasDatepicker"); 4386 }); 4387 elem.find('div').each(function(index, value) 4388 { 4389 var id=$(this).attr('id'); 4390 $(this).attr('id',id.substr(0,id.length-1)+kostentabellenr); 4391 }); 4392 elem.find('img').each(function(index, value) 4393 { 4394 $(this).remove(); 4395 }); 4396 elem.show(); 4397 elem.appendTo('#kostentabelle tbody'); 4398 4399 InitDatepickerField('#kostentabelle tbody #kostenab'+kostentabellenr, adminpath, showWeek); 4400 InitDatepickerField('#kostentabelle tbody #kostenbis'+kostentabellenr, adminpath, showWeek); 4401} 4402 4403function KostenAusnahmenRemove(elem) 4404{ 4405 var cnt=elem.parentNode.parentNode.parentNode.children.length; 4406 elem.parentNode.parentNode.remove(); 4407 if (cnt<3) $('.kostentabellehead').hide(); 4408} 4409 4410function MailAttachUser(id,user,notiz) 4411{ 4412 $.ajax({ url: './?webservice=mailattachuser&id='+id+'&user='+user+'¬iz='+encodeURIComponent(notiz), success: function(result) { if (result=='N') alert('Fehler beim Speichern'); else alert('Wurde gespeichert'); } }); 4413} 4414 4415function MailPush(art,gid) 4416{ 4417 if (art=='mail' && $('#mail'+gid).prop('checked')==false) $('#push'+gid).prop('checked',true); 4418 if (art=='push' && $('#push'+gid).prop('checked')==false) $('#mail'+gid).prop('checked',true); 4419} 4420 4421function Schulschach(kind,cls) 4422{ 4423 $('.schachlehrer'+kind+':not('+cls+') input').prop('checked',false); 4424} 4425function Schachkurs(vaid,uid,chk,stufe,iduser,idva) 4426{ 4427 $.ajax({ url: './?webservice=schachkurs&vaid='+vaid+'&uid='+uid+'&typ='+(chk?'3':'1') }); 4428 var u=$('#user'+stufe+uid).html(); if (u=='') u=0; 4429 var su=$('.su'+stufe+vaid).first().html(); if (su=='') su=0; 4430 if (chk) { u++; su++; } else { u--; su--; } 4431 $('#user'+stufe+uid).html(u==0?'':u); 4432 $('#user'+stufe+uid).css('background-color',u>1?'red':''); 4433 $('#user'+stufe+uid).css('color',u>1?'white':''); 4434 $('#user'+stufe+uid).css('padding',u>1?'3px':''); 4435 $('.su'+stufe+vaid).html(su==0?'':su); 4436} 4437 4438function SucheInTags(field, service) 4439{ 4440 $.ajax({ url: './?webservice=filetags'+service+'&field='+field+'&tags='+encodeURIComponent($('#tags').val()), success: function(result) { $('#result').html(result); } }); 4441} 4442 4443function CheckUserCode(field) 4444{ 4445 var mailtext=GetEditorContent(field); 4446 var i=mailtext.indexOf('usercode='); 4447 if (i>=0) 4448 { 4449 var weiter=parseInt(mailtext.substr(i+9)); if (isNaN(weiter)) weiter=0; 4450 if (weiter!=0) { alert('Der Text darf keinen individuelle Zugriffcode enthalten! (usercode='+weiter+'...)'); return false; } 4451 } 4452 return true; 4453} 4454 4455function AuswahlTag(tag) 4456{ 4457 var v=" "+$('#tags').val()+" "; 4458 var p=v.indexOf(" "+tag+" "); 4459 4460 var w; 4461 if (p<0) w=(v+tag).trim(); 4462 else if (p==0) w=v.substr(tag.length+2).trim(); 4463 else w=v.substr(0,p).trim()+' '+v.substr(p+tag.length+2).trim(); 4464 4465 //$('#tag'+tag).css('background-color', p>=0?'#e0e0e0':'#a0a0a0'); 4466 4467 $('#tags').val(w); 4468 $('#tags').trigger('keyup'); 4469} 4470 4471function FieldInfo(art,field) 4472{ 4473 $.ajax({ url: './?webservice=fieldinfo&art='+art+'&field='+field, success: function(result) { alert(result); } }); 4474} 4475 4476function LoadJournalZuordnungen(id, print) 4477{ 4478 if ($('#aufklappen'+id+'body').html()!="") return; 4479 $.ajax({ url: './?webservice=getzuordnungen&id='+id+(print==''?'':'&print='+print), success: function(result) { $('#aufklappen'+id+'body').html(result); } }); 4480} 4481 4482function ICVAnmeldeAdresse(dialog, val, postcount, pstrasse='', pland='', pplz='', port='', pemail='', firma='', gco='', gstrasse='', gland='', gplz='', gort='', gemail='') 4483{ 4484 ShowHide('#icvanmeldeadresse', val!=''); 4485 if (val=='') { $('#icvanmeldeadresse').html(''); return; } 4486 4487 var par=''; 4488 if (val=='privat') par+='&p_strasse='+encodeURIComponent(pstrasse)+'&p_land='+encodeURIComponent(pland)+'&p_plz='+encodeURIComponent(pplz)+'&p_ort='+encodeURIComponent(port)+'&p_email='+encodeURIComponent(pemail); 4489 else par+='&firma='+encodeURIComponent(firma)+'&g_co='+encodeURIComponent(gco)+'&g_strasse
4489='+encodeURIComponent(gstrasse)+'&g_land='+encodeURIComponent(gland)+'&g_plz='+encodeURIComponent(gplz)+'&g_ort='+encodeURIComponent(gort)+'&g_email='+encodeURIComponent(gemail); 4490 4491 $.ajax({ url: (dialog==4?'https://portal.icv-controlling.com/':'./')+'?webservice=icvanmeldeadresse&dialog='+dialog+'&art='+val+'&postcount='+postcount+par, xhrFields: { withCredentials: true }, crossDomain: true, success: function(result) 4492 { 4493 $('#icvanmeldeadresse').html(result); 4494 } }); 4495} 4496 4497function UpdatedGeburtstag(datatyp, datakey, datum, vaid, wert) 4498{ 4499 var el=document.getElementById('key_kosten'); 4500 if (el==null || el=='undefined') return; 4501 if (datakey=='') return; 4502 $.ajax({ url: './?webservice=updatedgeburtstag&datum='+encodeURIComponent(datum)+'&datatyp='+datatyp+'&datakey='+datakey+'&vaid='+vaid+'&wert='+wert, success: function(result) { $(el).parent().html(result); } }); 4503} 4504 4505function CheckFieldDubletten() 4506{ 4507 var frm1=document.getElementById('form1'); 4508 var lst=[]; 4509 for(i=0; i<frm1.elements.length; i++) 4510 if (frm1.elements[i].name.substring(0,7)=="datakey" && frm1.elements[i].value!='') 4511 { 4512 var extname='#ext'+frm1.elements[i].name.substring(7); 4513 var ext=$(extname).length==0?'':$(extname).val(); 4514// if (ext=='undefined') ext=''; 4515 var val=frm1.elements[i].value.trim()+ext; 4516 if (lst.indexOf(val)>=0) { alert('Gleichnamige Felder sind nicht zulässig: '+val); return true; } 4517 lst.push(val); 4518 } 4519 return false; 4520} 4521 4522function BlogDelete(id) 4523{ 4524 $('#blogdiv'+id).hide(); 4525 $.ajax({ url: './?webservice=blogdelete&id='+id }); 4526} 4527 4528function SaveGruppenNotify(gruppenid) 4529{ 4530 $.ajax({ url: './?webservice=gruppennotify&id='+gruppenid+'&wert='+$('#abo').val() }); 4531} 4532 4533function scrollToAnchor(aid, diff) 4534{ 4535 var aTag = $("a[name='"+ aid +"']"); 4536 $('html,body').animate({scrollTop: aTag.offset().top-diff},'slow'); 4537} 4538 4539function SetzeKontoVA(field,vaid) 4540{ 4541 $.ajax({ url: './?webservice=setzekontova&id='+vaid, success: function(result) 4542 { 4543 var data=result.split('\n'); 4544 KontoPickerSetze(field,data[0]); 4545 $('#kategorie').val(data[1]); 4546 } }); 4547} 4548 4549function CopyToClipboard(id, info) 4550{ 4551 var content = document.getElementById(id); 4552 ShowHide('#'+id,true); 4553 content.select(); 4554 document.execCommand('copy'); 4555 ShowHide('#'+id,false); 4556 if (info!='') alert(info+":\n\n"+content.value); 4557} 4558 4559function CopyFieldToClipboard(id) 4560{ 4561 var content = document.getElementById(id); 4562 content.select(); 4563 document.execCommand('copy'); 4564} 4565 4566function CopyFieldToClipboardTiny(id) 4567{ 4568 var tiny=GetEditor('tiny'+id); 4569 navigator.clipboard.writeText(tiny.getContent()); 4570} 4571 4572function CopyHTMLToClipboard(id) 4573{ 4574 var w=$(id).html().replace('&','&').replace('&','&'); 4575 $('#copyfield').val(w); 4576 CopyToClipboard('copyfield',''); 4577} 4578 4579function ExpertensucheAuswahlfelder(id, feld) //, adminpath, showWeek) 4580{ 4581 //if (feld=='aufnahmemitglied') { alert(id+','+feld); $('#experte_'+id+' .expertinput').hide(); $('#experte_'+id+' .expertdatum').show(); InitDatepickerField('#experte_'+id+' .expertdatum', adminpath, showWeek); } 4582 if (feld=='userpwd') 4583 { 4584 $('#expertefkt'+id+' option').prop('disabled',true); 4585 $('#expertefkt'+id+' option:contains("leer")').prop('disabled',false); 4586 } 4587 else if (feld=='alter') 4588 { 4589 $('#expertefkt'+id+' option').prop('disabled',true); 4590 $('#expertefkt'+id+' option:contains("ist")').prop('disabled',false); 4591 $('#expertefkt'+id+' option:contains("leer")').prop('disabled',true); 4592 } 4593 else if (feld=='beitraege') 4594 { 4595 $('#expertefkt'+id+' option').prop('disabled',true); 4596 $('#expertefkt'+id+' option:contains("leer")').prop('disabled',false); 4597 $('#expertefkt'+id+' option:contains("enthält")').prop('disabled',false); 4598 $('#expertefkt'+id+' option:contains("ist nicht gleich")').prop('disabled',false); 4599 $('#expertefkt'+id+' option:contains("ist gleich")').prop('disabled',false); 4600 } 4601 else if (feld=='beitragszahlerfuer') 4602 { 4603 $('#expertefkt'+id+' option').prop('disabled',true); 4604 $('#expertefkt'+id+' option:contains("leer")').prop('disabled',false); 4605 } 4606 else 4607 $('#expertefkt'+id+' option').prop('disabled',false); 4608 4609 var sel=$('#expertefkt'+id).prop('selectedIndex'); 4610 if (sel>=0 && $('#expertefkt'+id+' option:eq('+sel+')').prop('disabled')) 4611 { 4612 var cnt=$('#expertefkt'+id+' option').length; 4613 for(i=0; i<cnt; i++) if (!$('#expertefkt'+id+' option:eq('+i+')').prop('disabled')) { $('#expertefkt'+id).prop("selectedIndex",i); break; } 4614 } 4615 4616 if (feld=='') 4617 $('#experte_'+id+' .experteinfo').html(''); 4618 else 4619 $.ajax({ url: './?webservice=fieldinfo&id='+id+'&art=m&komma=1&field='+feld, success: function(result) { $('#experte_'+id+' .experteinfo').html(result); } }); 4620} 4621 4622function ShopLieferadresse(wrt) 4623{ 4624 ShowHide('.rowlieferadresse',wrt==''); 4625 ShowHide('.rowlieferswitch',wrt==''); 4626 ShowHide('.rowlieferfirma',wrt==''); 4627 ShowHide('.rowliefervollername',wrt==''); 4628 ShowHide('.rowlieferstrasse',wrt==''); 4629 ShowHide('.rowlieferadresse',wrt==''); 4630 ShowHide('.rowlieferemail',wrt==''); 4631} 4632 4633function RefreshICAL() 4634{ 4635 $.ajax({ url: './?webservice=refreshical' }); 4636} 4637 4638function addattachmentsFile() 4639{ 4640 AddExtraFile('attachments'); 4641} 4642 4643function GetEditor(field) 4644{ 4645 if (tinyMCE.editors==undefined) 4646 { 4647 return tinyMCE.get(field); 4648 } 4649 return tinyMCE.editors[field]; 4650} 4651 4652function GetEditorContent(field) 4653{ 4654 var edt=GetEditor(field); if (edt==false) return ''; 4655 return edt.getContent(); 4656} 4657
4658function SetEditorContent(field,txt) 4659{ 4660 var edt=GetEditor(field); if (edt==false) return ''; 4661 edt.setContent(txt, {format : 'raw'}); 4662} 4663 4664 4665function VAControllingAbgeschlossen(vaid,status,abgeschlossen) 4666{ 4667 $.ajax({ url: './?webservice=vacontrollingabgeschlossen&vaid='+vaid+'&status='+(status?'1':'') }); 4668 if (abgeschlossen!='') $('.va'+vaid).remove(); 4669 if (abgeschlossen!='') $('.vasumme').remove(); 4670} 4671 4672function VAControllingAbgeschlossen2(vaid,status) 4673{ 4674 $.ajax({ url: './?webservice=vacontrollingabgeschlossen2&vaid='+vaid+'&status='+(status?'1':'') }); 4675} 4676 4677function BeitragFilter() 4678{ 4679 $('#filter').toggle(); 4680} 4681 4682function RefreshAufgabenListe() 4683{ 4684 $.ajax({ url: './?webservice=topaufgabenliste', success: function(result) { $('#aufgabeneu').html(result); } }); 4685} 4686 4687function TischBegleiter(key,wrt,adminpath) 4688{ 4689 var clickid=key == "key_kosten_ticketauswahl" ? 0 : parseInt(key.substr(18)); 4690 $.ajax({ url: './?webservice=tischreservierung&id='+wrt, success: function(result) 4691 { 4692 if (result=='') return; 4693 var list=[]; if ($('#key_kosten_ticketauswahl').val()==wrt) list.push($('#key_kosten_ticketauswahl')); 4694 $("div[id^='begleiter']:visible").each(function(index, value) 4695 { 4696 var nr=$(this).attr('id').substr(9); if (nr=='0') return; 4697 var select=$(this).find("select[id^='key_kosten_ticketauswahl']"); 4698 var keyid=select.attr('id') == "key_ticketauswahl" ? 0 : parseInt(select.attr('id').substr(25)); 4699 if (select.val()==wrt) list.push(select); else if (keyid > clickid) $(this).remove(); 4700 }); 4701 var cnt=(parseInt((list.length-1)/result)+1)*parseInt(result)-list.length; 4702 for(i=1; i<=cnt; i++) { var elem=AddBegleiter('','','','0','',0,adminpath,'',''); elem.find("select[id^='key_kosten_ticketauswahl']").val(wrt); } 4703 } }); 4704} 4705 4706function toHex(zahl) 4707{ 4708 var hex=zahl.toString(16); if (hex.length==1) hex='0'+hex; return hex; 4709} 4710 4711function toBase64(data) 4712{ 4713 var view=new Uint8Array(data); 4714 var result=''; for(var i=0; i<view.length; i++) result+=String.fromCharCode(view[i]) 4715 return btoa(result); 4716} 4717 4718function PasskeyCreate(challengedata, challengebase64, passkeysServer, userlogin, username) 4719{ 4720 const publicKeyCredentialCreationOptions = { 4721 challenge: challengedata, 4722 rp: { name: "VereinOnline.org", id: passkeysServer }, 4723 user: { id: new Uint8Array([1,2,3]), name: userlogin, displayName: username }, 4724 pubKeyCredParams: [{alg: -7, type: "public-key"}], 4725 authenticatorSelection: { authenticatorAttachment: "cross-platform" }, 4726 timeout: 60000, 4727 attestation: "direct" 4728 }; 4729 navigator.credentials.create({ publicKey: publicKeyCredentialCreationOptions }).then((credential) => 4730 { 4731 //console.log(credential); 4732 const response = credential.response; 4733 const decodedAttestationObject = cbor.decode(credential.response.attestationObject); 4734 //console.log(decodedAttestationObject); 4735 4736 const utf8Decoder = new TextDecoder('utf-8'); 4737 const decodedClientData = utf8Decoder.decode(credential.response.clientDataJSON); 4738 const clientDataObj = JSON.parse(decodedClientData); 4739 //console.log(clientDataObj); 4740 if (clientDataObj.type!='webauthn.create') { alert('wrong type:'+clientDataObj.type+'.'); return; } 4741 if (clientDataObj.origin!='https://'+passkeysServer) { alert('wrong server'); return; } 4742 if (clientDataObj.challenge!=challengebase64) { alert('wrong challenge:\n'+clientDataObj.challenge+'\n'+challengebase64); } 4743 4744 const authData = decodedAttestationObject.authData; 4745 const dataView = new DataView(new ArrayBuffer(2)); 4746 const idLenBytes = authData.slice(53, 55); idLenBytes.forEach((value, index) => dataView.setUint8(index, value)); 4747 const credentialIdLength = dataView.getUint16(); 4748 const credentialId = authData.slice(55, 55 + credentialIdLength); 4749 //console.log(credentialId); 4750 4751 const publicKeyBytes = authData.slice(55 + credentialIdLength); 4752 const publicKeyObject = cbor.decode(publicKeyBytes.buffer); 4753 //console.log(publicKeyBytes); 4754 //console.log(publicKeyObject); 4755 4756 var result=''; 4757 for(var i=0; i<credentialId.length; i++) result+=toHex(credentialId[i]); 4758 //console.log('hex='+result); 4759 var cdata=toBase64(credential.response.clientDataJSON); 4760 var attest=toBase64(credential.response.attestationObject); 4761 //console.log(attest); 4762 $.ajax({ url: './?webservice=passkeycreate&credential='+encodeURIComponent(result)+'&cdata='+encodeURIComponent(cdata)+'&attest='+encodeURIComponent(attest)+'&id='+encodeURIComponent(credential.id), 4763 success: function(result) { $('#info').html(result); if (result.substr(0,6)=='Fehler') $('#info').css({'background-color':'red', 'color':'white'}); } 4764 }); 4765 }); 4766} 4767 4768function PasskeyGet(credentials, challengedata, challengebase64, userlogin) 4769{ 4770 const publicKeyCredentialRequestOptions = { 4771 challenge: challengedata, 4772 allowCredentials: credentials, // , transports: ['usb', 'ble', 'nfc'] 4773 timeout: 60000 4774 } 4775 navigator.credentials.get({ publicKey: publicKeyCredentialRequestOptions }).then((credential) => 4776 { 4777 //console.log(credential); 4778 const response = credential.response; 4779 4780 var authdata=toBase64(credential.response.authenticatorData); 4781 var cdata=toBase64(credential.response.clientDataJSON); 4782 var sig=toBase64(credential.response.signature); 4783 //console.log(authdata); console.log(cdata); console.log(sig); 4784 4785 const utf8Decoder = new TextDecoder('utf-8'); 4786 const decodedClientData = utf8Decoder.decode(credential.response.clientDataJSON); 4787 const clientDataObj = JSON.parse(decodedClientData); 4788 //console.log(clientDataObj); 4789 if (clientDataObj.challenge!=challengebase64) { alert('wrong challenge:\n'+clientDataObj.challenge+'\n'+challengebase64); } 4790 4791 $.ajax({ url: './?webservice=passkeyget&authdata='+encodeURIComponent(authdata)+'&cdata='+encodeURIComponent(cdata)+'&sig='+encodeURIComponent(sig)+'&id='+encodeURIComponent(credential.id)+'&userlogin='+encodeURIComponent(userlogin), 4792 success: function(result) { $('#info').html(result); if (result.substr(0,6)=='Fehler') $('#info').css({'background-color':'red', 'color':'white'}); } 4793 }); 4794 }); 4795} 4796 4797function contextMenuOpen(event, contextmenuaction) 4798{ 4799 if ($("#contextmenu").length==0) return; 4800 if (!event) event = window.event; 4801 event.preventDefault(); 4802 event.stopImmediatePropagation(); 4803 $.each($("#contextmenu div, #contextmenu hr"), function(key, value) { var cls=$(this).attr('class'); if (cls=='' || contextmenuaction.indexOf(cls.substr(11))>=0) $(this).show(); else $(this).hide(); }); 4804 $("#contextmenu").show(); 4805 var posx=0, posy=0; 4806 if (event.pageX || event.pageY) { posx = event.pageX; posy = event.pageY; } else if (event.clientX || event.clientY) { posx = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; } 4807 var menu = document.getElementById("contextmenu"); 4808 if (window.innerWidth - posx < menu.offsetWidth) menu.style.left = (posx - menu.offsetWidth) + "px"; else menu.style.left = posx + "px"; 4809 if (window.innerHeight - posy < menu.offsetHeight) menu.style.top = (posy - menu.offsetHeight) + "px"; else menu.style.top = posy + "px"; 4810} 4811$(document).on('click', function (e) { if ((e.which || e.button) === 1) $("#contextmenu").hide(); }); 4812$(window).on('keyup', function (e) { if (e.keyCode === 27) $("#contextmenu").hide(); }); 4813 4814function SaalplanSelect(vaid,nr,anzahl) 4815{ 4816 //alert(vaid+','+nr+','+anzahl); 4817 var saalplaetze=$('#saalplaetze').val(); 4818 var plaetze=saalplaetze.length==0 ? [] : $('#saalplaetze').val().split(','); 4819 var ist=plaetze.length; 4820 var ok=false; for(var i in plaetze) if (plaetze[i]==nr) ok=true; 4821 if (ok) 4822 { 4823 SaalplanUnset(vaid,nr); 4824 var neu=''; for(var i in plaetze) if (plaetze[i]!=nr) neu=neu+(neu==''?'':',')+plaetze[i]; 4825 $('#saalplaetze').val(neu); 4826 } 4827 else 4828 { 4829 if (anzahl>0) for(var i=0; i<=ist-anzahl; i++) SaalplanUnset(vaid,plaetze[i]); 4830 var neu=''; for(var i in plaetze) if (ist<anzahl || i>ist-anzahl || anzahl<0) neu=neu+(neu==''?'':',')+plaetze[i]; 4831 neu=neu+(neu==''?'':',')+nr; 4832 $('#saalplaetze').val(neu); 4833 4834 $('.sitzplatz.'+nr).addClass('selected').removeClass('belegt').removeClass('frei').removeClass('locked'); 4835 $.ajax({ type: 'GET', url: './?webservice=saalplanset&vaid='+vaid+'&nr='+nr, success: function(result) 4836 { 4837 if (result=='lock') 4838 { 4839 $('.sitzplatz.'+nr).addClass('locked').removeClass('belegt').removeClass('frei').removeClass('selected').css('cursor','default'); 4840 var neu=''; for(var i in plaetze) if (plaetze[i]!=nr) neu=neu+(neu==''?'':',')+plaetze[i]; 4841 $('#saalplaetze').val(neu); 4842 alert('dieser Platz '+nr+' wurde inzwischen reserviert'); 4843 } 4844 } }); 4845 } 4846} 4847 4848function SaalplanSave(veranstaltungid,csv) 4849{ 4850 $.ajax( 4851 { 4852 type: 'POST', url: './?webservice=saalplancsv&vaid='+veranstaltungid, data: csv, cache: false, xhrFields: { withCredentials: true }, processData: false, contentType: false, crossDomain : true 4853 }); 4854} 4855 4856function SaalplanUnset(vaid,nr) 4857{ 4858 $('.sitzplatz.'+nr).removeClass('belegt').removeClass('locked').removeClass('selected'); 4859 $.ajax({ type: 'GET', url: './?webservice=saalplanunset&vaid='+vaid+'&nr='+nr }); 4860} 4861 4862function CheckSaalPersonen(anzahl) 4863{ 4864 var saalplaetze=$('#saalplaetze').val(); 4865 var plaetze=saalplaetze.length==0 ? [] : $('#saalplaetze').val().split(','); 4866 return anzahl==plaetze.length; 4867} 4868 4869function SaalplanUpdate(vaid) 4870{ 4871 var saalplaetze=$('#saalplaetze').val(); 4872 var plaetze=saalplaetze.length==0 ? [] : $('#saalplaetze').val().split(','); 4873 4874 $.ajax({ type: 'GET', url: './?webservice=saalplan&vaid='+vaid+'&plaetze='+saalplaetze, success: function(result) 4875 { 4876 var vor=$('#saalreserviert').val(); 4877 $('#saalreserviert').val(result); 4878 4879 var ist=vor=='' ? [] : vor.split(','); 4880 var soll=result=='' ? [] : result.split(','); 4881 4882 for(var i in ist) if (soll.indexOf(ist[i])==-1) $('.sitzplatz.'+ist[i]).removeClass('selected').removeClass('belegt').removeClass('frei').removeClass('locked').css('cursor','pointer'); 4883 for(var i in soll) if (ist.indexOf(soll[i])==-1 && plaetze.indexOf(soll[i])==-1) $('.sitzplatz.'+soll[i]).removeClass('selected').removeClass('belegt').removeClass('frei').addClass('locked').css('cursor','default'); 4884 4885 for(var i in ist) if (ist[i].substr(0,1)=='*') $('.sitzplatz.'+ist[i].substr(1)).removeClass('locked').addClass('belegt').css('cursor','default'); 4886 } }); 4887} 4888 4889var saalplaetzepos, setzenr=0; 4890function SaalPlaetzeInit(isAdmin) 4891{ 4892 if (isAdmin) 4893 $("#canvas").on("click", function(event) 4894 { 4895 var dx=8, dy=8; 4896 var x = event.pageX - $('#canvas').offset().left; 4897 var y = event.pageY - $('#canvas').offset().top; 4898 for(var i in saalplaetzepos) 4899 { 4900 var itm=saalplaetzepos[i];
4901 if (itm[0]-dx/2<=x && itm[0]+dx/2>=x && itm[1]-dy/2<=y && itm[1]+dy/2>=y) 4902 { 4903 if (itm[2]!=1) { saalplaetzepos[i][2]=2-saalplaetzepos[i][2]; SaalPlaetzeAnzeigen(); } 4904 return; 4905 } 4906 } 4907 setzenr++; 4908 $('#command').val($('#command').val()+setzenr+'=>array('+Math.round(x)+', '+Math.round(y)+'), '); 4909 saalplaetzepos[saalplaetzepos.length]=[x,y,0]; 4910 SaalPlaetzeAnzeigen(); 4911 }); 4912 SaalPlaetzeAnzeigen(); 4913} 4914 4915function SaalPlaetzeAnzeigen() 4916{ 4917 var dx=8, dy=8; 4918 jg.clear(); 4919 jg.setFont("Arial", "8", ""); 4920 for(var i in saalplaetzepos) 4921 { 4922 var itm=saalplaetzepos[i]; 4923 if (itm[2]==0) jg.setColor("#00ff00"); else if (itm[2]==1) jg.setColor("#ff0000"); else jg.setColor("#0000ff"); 4924 jg.fillRect(itm[0]-dx/2, itm[1]-dy/2, dy, dy); 4925 jg.setColor("#000000"); 4926 jg.drawString(i, itm[0]-dx/2+2, itm[1]-dy/2); 4927 } 4928 jg.paint(); 4929} 4930 4931function DeleteBelegAttachment(id) 4932{ 4933 $('#divatt'+id).hide(); 4934 $('#attachments'+id).val('#'+$('#attachments'+id).val()); 4935} 4936 4937function ListTypenlisteReNumber() 4938{ 4939 var nr=0; 4940 $.each( $(".selectpos"), function(key, value) { nr++; $(this).val(nr); }); 4941} 4942 4943function JBHSubmit(workflow) 4944{ 4945 var ok=true, msg=''; 4946 if (!$('#agb').prop('checked')) { ok=false; msg+='Bitte der AGB zustimmen\n'; } 4947 if (!$('#hausordnung').prop('checked')) { ok=false; msg+='Bitte der Hausordnung zustimmen\n'; } 4948 if (!$('#preisestorno').prop('checked')) { ok=false; msg+='Bitte der Preis- und Stornobedingungen zustimmen\n'; } 4949 if (!$('#haftpflicht').prop('checked')) { ok=false; msg+='Bitte der Haftpflicht-Bedingung zustimmen\n'; } 4950 if (!$('#datenschutz').prop('checked')) { ok=false; msg+='Bitte dem Datenschutz zustimmen\n'; } 4951 if (ok) { SetForm1Value('cmd',workflow); DirectForm1Submit(); } else alert(msg); 4952 return ok; 4953} 4954 4955function GetAllOptions(id) 4956{ 4957 var select=''; 4958 $('#'+id+' option:selected').each(function() { select+=(select==''?'':',')+$(this).val(); }); 4959 return select; 4960} 4961 4962function BugSubscribe(bugid,enable,usercode) 4963{ 4964 $('#subscribebtn').html('<DIV style="color:gray;font-weight:normal;min-height:41px;">Bitte warten...</DIV>'); 4965 $.ajax({ url: './?webservice=bugsubscribe&bugid='+bugid+'&enable='+enable+'&usercode='+usercode, success: function(result) { $('#subscribelist').html(result); } }); 4966} 4967 4968//function CheckSubscribersErwaehnung() 4969//{ 4970// var txt=$('#beschreibung').val(); 4971// ShowLightBox(); 4972// $.ajax({ url: './?webservice=bugcheckerwaehnung', data: 'txt='+encodeURIComponent(txt), success: function(result) 4973// { 4974// if (result=='') Form1Submit(); else { CloseLightBox(); alert('Ungültige Erwähnungen:'+result); } 4975// } }); 4976//} 4977 4978function RemoveVARePos(id) 4979{ 4980 $.ajax({ url: './?webservice=removevarepos&id='+id, success: function(result) 4981 { 4982 $('#varepos'+id).html(result); 4983 } }); 4984} 4985 4986function MySQLDateEx(dat) 4987{ 4988 var data=dat.split('.'); 4989 return Nr2(data[2],4)+"-"+Nr2(data[1],2)+"-"+Nr2(data[0],2); 4990} 4991 4992function Nr2(wert,stellen) 4993{ 4994 while (wert.length<stellen) wert='0'+wert; 4995 return wert; 4996} 4997 4998function TerminplanungNeuALT() 4999{ 5000 var kr=$('#filter4').prop('checked'); 5001 $.each( $(".responsivetable tbody tr"), function(key, value) { if (!kr || $(this).find('select').val()=='') $(this).show(); else $(this).hide(); }); 5002} 5003 5004function TerminplanungNeu() 5005{ 5006 var an=!$('#filter1').prop('checked'); 5007 var ab=!$('#filter2').prop('checked'); 5008 var wa=!$('#filter3').prop('checked'); 5009 //var kr=$('#filter4').prop('checked'); 5010 $.each( $(".responsivetable tbody tr"), function(key, value) 5011 { 5012 //var w=$(this).find('select').val(); 5013 var t=$(this).find('.anmeldestatus').html(); 5014 if (t=='angemeldet') if (an) $(this).show(); else $(this).hide(); 5015 if (t=='abgemeldet') if (ab) $(this).show(); else $(this).hide(); 5016 if (t=='auf Warteliste') if (wa) $(this).show(); else $(this).hide(); 5017 }); 5018} 5019 5020function VereinOnlineGotoUrl(url) 5021{ 5022 jQuery.ajax( 5023 { 5024 type: 'GET', 5025 crossDomain: true, 5026 url: url + '&dialog=4', 5027 success: function(result) { $('#content').html(result); }, 5028 error: function(r,e,txt) { $('#content').html('FEHLER: '+txt); } 5029 }); 5030} 5031 5032function EBriefBruttoPreis(jobid) 5033{ 5034 $.ajax({ url: './?webservice=ebriefbruttopreis&id='+jobid, success: function(result) { $('#ebriefpreis').html(result); } }); 5035} 5036 5037function ListeResize(id,bottom) 5038{ 5039 if ($(id).length>0) 5040 { 5041 var h=$(window).height(); 5042 var t=$(id).offset().top; 5043 $('body').css('overflow-y','hidden'); 5044 //alert('id='+id+', max-height='+h+', top='+t+', bottom='+bottom); 5045 $(id).css('overflow-y','auto').css('max-height',(h-t-bottom)+'px'); 5046 } 5047} 5048 5049function GekuendigtInfo(userid, gekdatum) 5050{ 5051 if (userid=='' || userid==0 || gekdatum=='') { $('#gekuendigtinfo').html(''); return; } 5052 $.ajax({ url: './?webservice=gekuendigtinfo&id='+userid, success: function(result) { $('#gekuendigtinfo').html(result); } }); 5053} 5054 5055var atzeichen=false, atname='', attextfield='', atselectfield='', atstart=0; atresult=[]; 5056function ProcessBugNames(event, textfield, selectfield) 5057{ 5058 if (event.key==='@' && ProcessBugCheckVorZeichen(textfield)) { atzeichen=true; attextfield=textfield; atselectfield=selectfield; atname=''; atstart=document.getElementById(attextfield).selectionStart; $('#'+atselectfield+' .processbugauswahl').html("..."); ProcessBugSetHeader(0); ProcessBugSetPosition(attextfield, atselectfield); $('#'+atselectfield).show(); } 5059 else if (atzeichen && (event.key===' ' || event.key==='Enter' || event.key==='Tab')) { ProcessBugFinish(); event.preventDefault(); } 5060 else if (atzeichen && event.key.length==1) { atname+=event.key; if (atname.length<3) { $('#'+atselectfield+' .processbugauswahl').html(atname+'...'); ProcessBugSetHeader(0); } else ProcessBugSuche(); } 5061 else if (atzeichen && event.key=='Backspace' && atname.length>0) { atname=atname.substring(0,atname.length-1); if (atname.length<3) { $('#'+atselectfield+' .processbugauswahl').html(atname+'...'); ProcessBugSetHeader(0); } else ProcessBugSuche(); } 5062 else if (atzeichen && event.key=='Escape') { atzeichen=false; $('#'+atselectfield).hide(); } 5063 //else { $('#'+atselectfield+' .processbugauswahl').html(atname+'...['+event.key+']'); } 5064} 5065function ProcessBugSuche() 5066{ 5067 $('#'+atselectfield+' .processbugauswahl').html('<img src="/admin/img/ajax.gif" WIDTH="60">'); 5068 $.ajax({ url: './?webservice=bugname&atname='+encodeURIComponent(atname), success: function(result) 5069 { 5070 atresult=JSON.parse(result); 5071 if (atresult.error!=undefined) { $('#'+atselectfield+' .processbugauswahl').html('Fehler: '+atresult.error); ProcessBugSetHeader(0); return; } 5072 var txt=''; for(var z in atresult) txt+=atresult[z].caption+'<BR>'; 5073 ProcessBugSetHeader(atresult.length); 5074 $('#'+atselectfield+' .processbugauswahl').html(txt); 5075 } }); 5076} 5077function ProcessBugCheckVorZeichen(textfield) 5078{ 5079 var pos=document.getElementById(textfield).selectionStart; 5080 if (pos==0) return true; 5081 var text=$('#'+textfield).val(); 5082 var c=text.charCodeAt(pos-1); 5083 return c==10 || c==13 || c==32; 5084} 5085function ProcessBugSetHeader(anzahl) 5086{
5087 if (anzahl==0) $('.processbugheader').html('Auswahl Person oder Einheit<BR><FONT color=\"#444\" size=\"-1\">(bitte VornameNachname oder Einheit ohne Leerzeichen eingeben, mit ESC abbrechen)</FONT>'); 5088 if (anzahl==1) $('.processbugheader').html('Auswahl Person oder Einheit<BR><FONT color=\"#444\" size=\"-1\">(mit Leerzeichen/Tab/Enter bestätigen, mit ESC abbrechen)</FONT>'); 5089 if (anzahl>=2) $('.processbugheader').html('Auswahl Person oder Einheit<BR><FONT color=\"#444\" size=\"-1\">(bitte einen Treffer anklicken, mit ESC abbrechen)</FONT>'); 5090} 5091function ProcessBugFinish() 5092{ 5093 if (atresult.error!=undefined) return; 5094 ProcessBugSetName(atresult[0].result); 5095} 5096function ProcessBugSetName(name) 5097{ 5098 var html=$('#'+attextfield).val(); 5099 var txt=html.substring(0,atstart)+'@'+name+' '; 5100 var pos=txt.length; 5101 txt+=html.substring(atstart+atname.length+1); 5102 $('#'+atselectfield).hide(); 5103 $('#'+attextfield).val(txt); 5104 $('#'+attextfield).focus(); 5105 document.getElementById(attextfield).selectionStart=pos; 5106 document.getElementById(attextfield).selectionEnd=pos; 5107 atzeichen=false; 5108} 5109function ProcessBugSetPosition(attextfield, atselectfield) 5110{ 5111 const textarea = document.getElementById(attextfield); 5112 const { selectionStart } = textarea; 5113 5114 // Ein "Mirror"-Div erzeugen 5115 const div = document.createElement("div"); 5116 const style = getComputedStyle(textarea); 5117 5118 // Alle relevanten Styles kopieren 5119 for (const prop of [ 5120 "boxSizing", "width", "height", "fontSize", "fontFamily", "fontWeight", 5121 "lineHeight", "padding", "border", "overflow", "whiteSpace", 5122 "letterSpacing", "textTransform" 5123 ]) { 5124 div.style[prop] = style[prop]; 5125 } 5126 5127 div.style.position = "absolute"; 5128 div.style.visibility = "hidden"; 5129 div.style.whiteSpace = "pre-wrap"; 5130 div.style.wordWrap = "break-word"; 5131 div.style.top = textarea.offsetTop + "px"; 5132 div.style.left = textarea.offsetLeft + "px"; 5133 5134 // Inhalt bis zur Cursorposition einfügen 5135 const text = textarea.value.substring(0, selectionStart); 5136 const rest = textarea.value.substring(selectionStart); 5137 div.textContent = text; 5138 5139 // Cursor-Marker einfügen 5140 const span = document.createElement("span"); 5141 span.textContent = rest.charAt(0) || '.'; 5142 div.appendChild(span); 5143 5144 document.body.appendChild(div); 5145 5146 // Position ermitteln 5147 const { offsetLeft, offsetTop } = span; 5148 const coords = { 5149 x: offsetLeft - textarea.scrollLeft, 5150 y: offsetTop - textarea.scrollTop 5151 }; 5152 5153 document.body.removeChild(div); 5154 5155 //alert(`Cursor ist bei: x=${coords.x}px, y=${coords.y}px`); 5156 const popup = document.getElementById(atselectfield); 5157 popup.style.top = (textarea.offsetTop + coords.y + 30) + "px"; 5158 popup.style.left = (textarea.offsetLeft + coords.x) + "px"; 5159} 5160 5161function KdNummer(kdnummer,id) 5162{ 5163 $('#kdnummerinfo').html('').hide(); 5164 $.ajax({ url: './?webservice=kdnummer&id='+id+'&kdnummer='+kdnummer.trim(), success: function(result) { if (result!='') $('#kdnummerinfo').show().html(result); } }); 5165} 5166 5167function OpenSelectionGroup() 5168{ 5169 $.each( $('.selectiongroup'), function(key, value) 5170 { 5171 var na=$(this).attr('id'); 5172 var div='#div'+na.substr(3); 5173 if ($(this).prop('checked')) $(div).show(); else $(div).hide(); 5174 }); 5175} 5176 5177function AntragFamilie(familie) 5178{ 5179 var status=$('#'+familie).prop('checked'); 5180 if (status) { $('.'+familie).show(); return; } 5181 $('.'+familie).hide(); 5182 $('.'+familie+' input:not([type=checkbox])').val(''); 5183 $('.'+familie+' input[type=checkbox]').prop('checked',false); 5184} 5185 5186function LazyLoadDialog(url) 5187{ 5188 jQuery.ajax( 5189 { 5190 type: 'GET', 5191 crossDomain: true, 5192 url: url, 5193 5194 success: function(result) 5195 { 5196 var s=result.toLowerCase().indexOf('<body'); if (s<0) s=0; 5197 var e=result.toLowerCase().indexOf('</body'); if (e<0) e=result.length; 5198 $.each( $('.tinymceinstance'), function() { tinymce.EditorManager.execCommand('mceRemoveEditor',true, $(this).attr('id')); }); 5199 $('body').html(result.substr(s,e-s+7)); 5200 $.each( $('.tinymceinstance'), function() { tinymce.EditorManager.execCommand('mceAddControl',true, $(this).attr('id')); }); 5201 LoadMainReady('gewählt','Auswahl'); 5202 }, 5203 error: function(r,e,txt) { $('html').html('FEHLER: '+txt); } 5204 }); 5205} 5206 5207function FormSubmitLazy(url,form) 5208{ 5209 var data=new FormData(); 5210 var werte={ dialog:4 }; 5211 jQuery.each(jQuery('#'+form+' input, #'+form+' select, #'+form+' textarea.mceNoEditor'), function(key,value) 5212 { 5213 //if (value.value.length>0) alert(value.name+'='+value.value+'. '+value.value.length); 5214 if (value.name.substr(value.name.length-2)=='[]') { if (value.checked) { var k=value.name.substr(0,value.name.length-2); if (werte[k]!=undefined) werte[k]=werte[k]+'|'+value.value; else werte[k]=value.value; } } 5215 else if (value.type=='radio') { if (jQuery(this).prop('checked')) data.append(value.name, value.value); } 5216 else if (value.type=='checkbox') { if (jQuery(this).prop('checked')) data.append(value.name, value.value); } 5217 else if (value.type!='file') data.append(value.name, value.value); 5218 else if (value.files.length>0) data.append(value.name, value.files[0]); 5219 }); 5220 jQuery.each(jQuery('#'+form+' textarea:not(.mceNoEditor)'), function(key,value) 5221 { 5222 data.append(value.name, GetEditorContent('tiny'+value.name)); 5223 }); 5224 for(var k in werte) data.append(k, werte[k]); 5225 jQuery.ajax( 5226 { 5227 type: 'POST', url: url, data: data, cache: false, xhrFields: { withCredentials: true }, processData: false, contentType: false, crossDomain : true, 5228 error: function(r,e,txt) { alert('FEHLER: '+r.status+': '+txt); }, 5229 success: function(result) { LazyLoadDialog(result); } 5230 }); 5231} 5232 5233function SetMaxHeight(selector) 5234{ 5235 if ($(window).width()<=767) 5236 { 5237 $(selector).css('height', 'auto'); 5238 $(selector).css('max-height', 'auto'); 5239 $(selector).css('overflow-y','visible'); 5240 $('body').css('overflow-y','visible'); 5241 } 5242 else 5243 { 5244 var h=$(window).height()-$(selector).offset().top-50; 5245 //$(selector).css('background', 'lightgreen'); 5246 $(selector).css('overflow-y','auto'); 5247 $(selector).css('max-height', h+'px'); 5248 $(selector).css('height', h+'px'); 5249 } 5250} 5251 5252function ScrollToEnd(id) 5253{ 5254 var el=document.getElementById(id); 5255 el.scrollTop=el.scrollHeight; 5256} 5257 5258function DeactivateButton(el) 5259{ 5260 el.attr('href','#').attr('onclick',"javascript:return false;"); 5261} 5262 5263function SpanShowHide(id, typ) 5264{ 5265 $('#'+id).css('display', $('#'+id).css('display')!="none" ? "none" : typ); 5266} 5267 5268function SwitchPassword(feld) 5269{ 5270 const passwordField = document.getElementById(feld); 5271 passwordField.type = passwordField.type === "password" ? "text" : "password"; 5272 SpanShowHide('pwdswitchon'+feld, "inline"); 5273 SpanShowHide('pwdswitchoff'+feld, "inline"); 5274} 5275 5276function SwitchKommentar(html) 5277{ 5278 SpanShowHide('linkkommentarhtml', "inline"); 5279 SpanShowHide('linkkommentar', "inline"); 5280 SpanShowHide('divkommentarhtml', "block"); 5281 SpanShowHide('divkommentar', "block"); 5282 tiny=GetEditor('tinykommentarhtml'); 5283 if (!html) $('#kommentar').val(tiny.getContent()); else tiny.setContent($('#kommentar').val());
5284 $('#kommentartyp').val(html?"html":"text"); 5285} 5286 5287function SendChatMessage(action, cmd, id) 5288{ 5289 var post = new FormData(); var j=0; 5290 post.append('nachricht', $('#nachricht').val()); 5291 if ($('#mail').prop('checked')) post.append('mail','1'); 5292 if ($('#push').prop('checked')) post.append('push','1'); 5293 $('#form1 input[type="file"]').each(function() { if (this.files) for (var i=0;i<this.files.length;i++) post.append($(this).attr('name'), this.files[i]); }); 5294 5295 $('#chatview').html('<IMG SRC="https://www.vereinonline.org/admin/img/ajax.gif">'); 5296 5297 $.ajax({ type: 'POST', url: './?webservice=gui&act='+action+'&cmd='+cmd+'&id='+id, data:post, cache: false, xhrFields: { withCredentials: true }, processData: false, contentType: false, crossDomain : true, success: function(result) 5298 { 5299 $('#chatview').html(result); 5300 SetMaxHeight('#chatviewmessages'); ScrollToEnd('chatviewmessages'); 5301 } }); 5302} 5303 5304function SendKI(href) 5305{ 5306 $('#waiticon').show(); 5307 window.location.href = href; 5308} 5309 5310function TabelleSchrumpfen() 5311{ 5312 var tables=document.getElementsByClassName('responsivetable'); 5313 if (tables.length==0) return; 5314 var table=tables[0]; 5315 const containerWidth = table.parentElement.clientWidth; 5316 const totalWidth = table.scrollWidth; 5317 5318 if (totalWidth > containerWidth) 5319 { 5320 const scale = containerWidth / totalWidth; 5321 if (scale<0.75) scale=0.75; 5322 table.style.transform = `scale(${scale})`; 5323 table.style.transformOrigin = 'left top'; 5324 } 5325 else 5326 { 5327 table.style.transform = 'none'; 5328 } 5329} 5330 5331function RemoveTaskFromTOP(aufgabenid) 5332{ 5333 $('.rowaufgabenid'+aufgabenid).hide(); 5334 $('#aufgabenid'+aufgabenid).val(''); 5335} 5336 5337function AddTaskToTOP(aufgabenid) 5338{ 5339 if (aufgabenid==0) { alert("Bitte Aufgabe wählen"); return; } 5340 var aufgaben='', ok=true; 5341 $.each( $("input[name^='aufgabenid']"), function(key, value) { if ($(this).val()==aufgabenid) ok=false; if ($(this).val()!='') aufgaben+=(aufgaben==''?'':',')+$(this).val(); }); 5342 if (!ok) { alert('Diese Aufgabe ist bereits zugeordnet'); return; } 5343 aufgaben+=(aufgaben==''?'':',')+aufgabenid; 5344 $.ajax({ url: './?webservice=topaufgabeadd&aufgaben='+aufgaben, success: function(result) { $('#aufgabeliste').html(result); } }); 5345} 5346 5347function CheckAppUser(id) 5348{ 5349 if (id=='' || id[0]=='g') 5350 $('#checkappuser').html(''); 5351 else 5352 $.ajax({ url: './?webservice=checkappuser&id='+id, success: function(result) { $('#checkappuser').html(result); } }); 5353} 5354 5355function SlideDown(all, thisbody) 5356{ 5357 if (!$(thisbody).is(':visible')) 5358 { 5359 $(all).slideUp("fast"); 5360 $(thisbody).slideDown("fast"); 5361 } 5362 else 5363 $(thisbody).slideUp("fast"); 5364} 5365 5366function FooTableAlleSpalten() 5367{ 5368 var ft = FooTable.get('.footable'); 5369 $(ft.columns.array).each(function() { this.breakpoints = []; } ); 5370 ft.draw(); 5371} 5372 5373function DeleteNeuerBeleg(zeile, reid) 5374{ 5375 $('#zeile_'+zeile).remove(); 5376 $.ajax({ url: './?webservice=deleteneuerbeleg&id='+reid }); 5377} 5378 5379function SendKIAnfrage(kiid) 5380{ 5381 var data={ txt: $('#kifragetext').val() }; 5382 $('#kiassistent').html("Bitte warten..."); 5383 $.ajax({ type: 'POST', url: './?webservice=kiassistent&kiid='+kiid, data: data, success: 5384 function(result) 5385 { 5386 $('#kiassistent').html(result); 5387 $('#kifragetext').focus(); 5388 document.getElementById('kiletzteantwort').scrollIntoView(); 5389 } 5390 }); 5391} 5392 5393function WebPushInit(scope) 5394{ 5395 var r=CheckNotification(); 5396 if (r=='unsupported') 5397 alert("Ihr Browser unterstützt diese Funktion leider nicht"); 5398 else if (r=='granted') 5399 alert("Diese Funktion ist bereits aktiviert.\n\nSie können diese im Browser deaktivieren (meist in der Adresszeile des Browsers)"); 5400 else if (r=='denied') 5401 alert("Sie haben die Benachrichtigungen für diese Url deaktiviert, bitte ggf. im Browser wieder aktivieren."); 5402 else if (confirm("Möchten Sie Web-Push-Benachrichtigungen im Browser aktivieren?")) 5403 { 5404 EnableNotification(scope); 5405 window.setTimeout("WebPushRefresh();",3000); 5406 } 5407} 5408function WebPushRefresh() 5409{ 5410 var r=CheckNotification();
5411 $('#webpushinfo').html(' ('+FormatWebPushInfo(r)+')'); 5412} 5413async function WebPushUnsubscribe() 5414{ 5415 const reg = await navigator.serviceWorker.ready; 5416 const sub = await reg.pushManager.getSubscription(); 5417 if (sub) 5418 { 5419 //console.log(await reg.pushManager.getSubscription()); 5420 //const result = await sub.unsubscribe(); 5421 //console.log('result:'+result); 5422 //console.log(await reg.pushManager.getSubscription()); 5423 //const regs = await navigator.serviceWorker.getRegistrations(); 5424 //for (const reg of regs) await reg.unregister(); 5425 await $.ajax({ type: 'POST', url: './?action=admin_webpush&cmd=unsubscribe', data: sub.endpoint }); 5426 } 5427} 5428async function WebPushLoginResubscribe() 5429{ 5430 const reg = await navigator.serviceWorker.ready; 5431 const sub = await reg.pushManager.getSubscription(); 5432 if (sub) await $.ajax({ type: 'POST', url: './?action=admin_webpush&cmd=resubscribe', data: JSON.stringify(sub) }); 5433} 5434function UrlBase64ToUint8Array(base64String) 5435{ 5436 const padding = '='.repeat((4 - base64String.length % 4) % 4); 5437 const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/'); 5438 const rawData = window.atob(base64); 5439 const outputArray = new Uint8Array(rawData.length); 5440 for (let i = 0; i < rawData.length; ++i) { outputArray[i] = rawData.charCodeAt(i); } 5441 return outputArray; 5442} 5443function IsSupported() 5444{ 5445 if (!window.Notification) return false; 5446 if (!('serviceWorker' in navigator)) return false; 5447 if (!('PushManager' in window)) return false; 5448 return true; 5449} 5450function CreateNotificationSubscription(pushServerPublicKey) 5451{ 5452 return navigator.serviceWorker.ready.then(function(serviceWorker) 5453 { 5454 return serviceWorker.pushManager 5455 .subscribe({ 5456 userVisibleOnly: true, 5457 applicationServerKey: UrlBase64ToUint8Array(pushServerPublicKey) 5458 }) 5459 .then(function(pushSubscription) { 5460 var subJSObject = JSON.parse(JSON.stringify(pushSubscription)); 5461 var subscription = { 'endpoint': subJSObject.endpoint, 'authToken': subJSObject.keys.auth, 'publicKey': subJSObject.keys.p256dh }; 5462 return subscription; 5463 }); 5464 }); 5465} 5466function RegisterServiceWorker(file,scope) 5467{ 5468 if (!navigator.serviceWorker) return; 5469 navigator.serviceWorker.register(file, { scope: scope }); 5470} 5471function RegisterSubscription(status) 5472{ 5473 // status kann folgende Werte haben: default: User wurde noch nicht gefragt / granted: User hat zugestimmt / denied: User hat abgelehnt 5474 if (status == 'granted') 5475 { 5476 var publickey="BGjFF3anZLhEGyBCKRp0uSN2vYe6TbQzpyC1dSlaC5TH-YtMV173ZQCG9FMyJ5s5LIMi8NuQcskeOzMgq_5X1xs"; 5477 //console.log(status); 5478 CreateNotificationSubscription(publickey).then(function(subscription) 5479 { 5480 //console.log(subscription); 5481 fetch('?action=admin_webpush&cmd=subscribe', { method: 'post', headers: { 'Content-type': "application/json" }, body: JSON.stringify(subscription) }); 5482 }); 5483 } 5484 else if (status=='denied') 5485 alert('Sie haben die Benachrichtigungen für diese Url deaktiviert, bitte ggf. im Browser wieder aktivieren.'); 5486} 5487function EnableNotification(scope) 5488{ 5489 if (!IsSupported()) { alert('Ihr Browser unterstützt keine Benachrichtigungen'); return; } 5490 RegisterServiceWorker('serviceworker.js',scope); 5491 Notification.requestPermission(RegisterSubscription); 5492} 5493function CheckNotification() 5494{ 5495 if (!IsSupported()) return "unsupported"; 5496 return Notification.permission; 5497} 5498function FormatWebPushInfo(txt) 5499{ 5500 if (txt=='default') return 'nicht aktiviert'; 5501 if (txt=='granted') return 'aktiviert'; 5502 if (txt=='denied') return 'deaktiviert'; 5503 if (txt=='unsupported') return 'vom Browser nicht unterstützt'; 5504 return txt; 5505} 5506 5507function GetRegierungsbezirk(ort, suchbegriffort) 5508{ 5509 $.ajax({ type: 'POST', url: './?webservice=getregierungsbezirk', data: 'ort='+encodeURIComponent(ort)+'&suchbegriffort='+encodeURIComponent(suchbegriffort), success: function(result) { $('#regierungsbezirk').html(result); } }); 5510} 5511 5512function SetReaction(nr, pos, pic, emoij, me) 5513{ 5514 $('.reactions.nr'+nr+' .reaction.pos'+pos).toggleClass('me'); 5515 $.ajax({ type: 'POST', url: './?webservice=setreaction', data: 'nr='+nr+'&pic='+encodeURIComponent(pic)+'&emoij='+emoij+'&me='+me, success: function(result) 5516 { 5517 $('.reactions.nr'+nr).html(result); 5518 } }); 5519}
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.