<!DOCTYPE HTML>
<html>
<head>
    <title>Ansicht Kellner</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="author" content="Stefan Pichel">
    <link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.7.3">

    <link rel="stylesheet" href="css/ospage.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/tablepanel.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/productpanel.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/grouppanel.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/groupitem.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/ordereditem.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/roompanel.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/extraspanel.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/actpanel.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/paypanel.css?v=2.7.3"/>
    <link rel="stylesheet" href="css/numfield.css?v=2.7.3"/>

    <link rel="stylesheet" href="php/3rdparty/jqueryui1-12-0/jquery-ui.min.css"/>
    <script src="php/3rdparty/jquery-2.2.4.min.js"></script>
    <script src="php/3rdparty/jqueryui1-12-0/jquery-ui.min.js"></script>
    <script src="elements/tablemap.js?v=2.7.3"></script>
    <script src="elements/grouping.js?v=2.7.3"></script>
    <script src="elements/extra.js?v=2.7.3"></script>
    <script src="elements/waiterutils.js?v=2.7.3"></script>
    <script src="elements/phases.js?v=2.7.3"></script>
    <script src="utilities.js?v=2.7.3"></script>
    <script src="receiptutils.js?v=2.7.3"></script>

    <script>function sendNewOrders(e){var t=getTableid();if(0!=neworders.length){var o={tableid:t,prods:neworders,print:e?1:0,payprinttype:"s"};o=waiter_addDeliveryData(o),0===performanceMeasureTimer&&(perfStartTime=new Date().getTime()),doAjax("POST","php/contenthandler.php?module=queue&command=addProductListToQueue",o,handleSentNewOrders,"Fehler bei Produktversand",!1)}else alert("Es sind keine Produkte ausgew\xe4hlt worden.")}function checkEndPerformanceMeaurement(){if(0===performanceMeasureTimer){var e;performanceMeasureTimer=PERFTIMER,doAjax("GET","php/contenthandler.php?module=admin&command=addperformancedata",{task:"waitersendorder",elapsedtime:new Date().getTime()-perfStartTime},null,null,!0)}else performanceMeasureTimer--}function handleSentNewOrders(e){checkEndPerformanceMeaurement(),"OK"!==e.status?(alert("Es ist ein Fehler beim Versenden der Bestellung aufgetreten"),neworders.length>0&&(allowPrintAndOrderBtn=!0)):(neworders=[],$("#search").val(""),waiter_clearDeliveryFields(),refreshGui())}function refreshGui(){requestRoomInformation(),clearProductsSelection(),requestProdInformation(),requestOrderedInformation(),displayPanels(),allowPrintAndOrderBtn=!0}function getTableid(){if(null!==selectedroomindex)return selectedroomindex<0||null===selectedtableindex?0:(0,roominfo.roomstables[selectedroomindex].tables[selectedtableindex].id)}function enableSendButton(){}function disableSendButton(){}function moveItems(){$("#selectiondialog").dialog({autoOpen:!1,modal:!0,height:400,buttons:{Abbrechen:function(){$(this).dialog("close")}}});var e=getRoomsForDialog();$("#selectiondialog").html(e),$("#selectiondialog").dialog("open"),$(".ui-dialog-buttonset .ui-button").css("background-color","#44ff44"),$(".ui-widget-header").css("background-color","#ff4400"),bindMoveItemsRoom()}function bindMoveItemsRoom(){$(".roomchangeitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=parseInt(this.id.split("_")[1]),o=getTablesForDialog(t);$("#selectiondialog").dialog("open"),$("#selectiondialog").html(o),bindMoveItemsTable(t)})}function bindRightButtons(){$("#sendNewOrders").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),allowPrintAndOrderBtn&&(allowPrintAndOrderBtn=!1,unZoomTableMap(),updateChangeTableBtnIfTableIsSelected(),clearLiveOrders(),clearNewOrderPrice(),sendNewOrders(!1))}),$("#paydeskbtn").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),allowPrintAndOrderBtn&&(allowPrintAndOrderBtn=!1,unZoomTableMap(),neworders.length>0&&(clearNewOrderPrice(),clearLiveOrders(),1==waitergopayprint?sendNewOrders(!0):sendNewOrders(!1)),goPayDesk())}),$("#workbtn").off("click").on("click",function(e){allowPrintAndOrderBtn&&(allowPrintAndOrderBtn=!1,unZoomTableMap(),updateChangeTableBtnIfTableIsSelected(),neworders.length>0&&(clearNewOrderPrice(),clearLiveOrders(),sendNewOrders(!0)))}),$("#goorderbtn").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),unZoomTableMap(),goOrderDesk()}),$("#mainmenudlg").dialog({autoOpen:!1,modal:!0}),$("#changetablebtn").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),unZoomTableMap(),moveItems()}),$("#tablerecordsbtn").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),doAjax("GET","php/contenthandler.php?module=queue&command=getRecords&tableid="+getTableid(),null,showRecords,!0)})}function showRecords(e){if("OK"!==e.status)alert("Fehler aufgetreten: "+e.msg);else{var t=createTableRecords(e);$("#recordsdlg").dialog({autoOpen:!1,modal:!0,height:570,width:600,buttons:{Abbrechen:function(){$(this).dialog("close")}}}),$("#recordsdlg").dialog("open"),$("#recordsdlg").html(t)}}function createTableRecords(e){var t=[["Bestellung","Ordering","Ordenar"],["Rechnung","Bill","Pagar"],["Artikelstorno","Discard product","Descartar producto"],["Rechnungsstorno","Discard bill","Descartar pago"],["Rechnungs- und Artikelstorno","Discard bill and product","Descrtar pago y producto"],["Tischwechsel Produktentfernung","Move products to other table","Productos a otra mesa"],["Tischwechsel Produktbuchung","Received moved products","Recibo productos de otra mesa"],["Lieferbon","Delivery receipt","Recibo de entrega"],["Storno Lieferbon","Discard delivery receipt","Descartar recibo de entrega"],["Storno Lieferbon und Artikel","Discard delivery receipt and products","Descartar recibo de entrega y productos"]],o=e.msg,n="<h2>Tischprotokoll</h2>";return 0===o.length?n+="keine Eintr\xe4ge":(n+="<ul>",o.forEach(function(e,o){var a,i=toHtml(e.time),r=toHtml(e.username),l=t[toHtml(e.action)][0];n+="<li>"+i+" "+r+" - <b>"+l+"</b>:<br>",n+="<ul>",e.prods.forEach(function(e,t){var o=toHtml(e.name),a=toHtml(e.comment),i=toHtml(e.extras);n+="<li>"+o,""!==a&&(n+=" ["+a+"]"),""!=i&&(n+=" ("+i+")")}),n+="</ul>"}),n+="</ul>")}function bindMoveItemsTable(e){$(".tablechangeitem").off("click").on("click",function(t){t.stopImmediatePropagation(),t.preventDefault(),moveToRoomIndex=e;var o=parseInt(this.id.split("_")[1]),n=roominfo.roomstables[e].tables[o];if(moveToTableId=n.id,"-1"!=selectedroomindex){var n=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];moveFromTableId=n.id,$("#selectiondialog").dialog("close"),doAjax("GET","php/contenthandler.php?module=queue&command=getProdsForTableChange",{tableId:moveFromTableId},insertProductsToChangeTableDlg,null,!0)}else $("#selectiondialog").dialog("close")})}function insertProductsToChangeTableDlg(e){if("OK"!=e.status){alert("Fehler");return}prodsToMove=e.msg,allselected=1,updateProdToMoveList(),$("#selectallnothing").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),allselected=1-allselected;for(var t=0;t<prodsToMove.length;t++){var o=prodsToMove[t];1===allselected?o.class="selecteditem":o.class="unselecteditem"}updateProdToMoveList()})}function updateProdToMoveList(){1===allselected?$("#selectallnothing_txt").val(W_UNSELALL[lang]):$("#selectallnothing_txt").val(W_SELALL[lang]);for(var e="",t=0;t<prodsToMove.length;t++){var o=prodsToMove[t],n="prodToMove_"+t,a=" (unbezahlt)",i=o.kind,r="proditemselected";void 0===o.class&&(o.class="selecteditem");var l=o.class;"unselecteditem"===l&&(r="proditemunselected"),"unpaid_undelivered"===o.status&&(a=" (unbezahlt, nicht serviert)");var s=workflowconfigfood;1==i&&(s=workflowconfigdrinks),(s==WORKFLOW_WORK||s==WORKFLOW_WORK_TRANSFER)&&(a=""),e+="<li class='prodToMoveEl "+r+"' id='"+n+"' >"+("<span class='"+l+"'>"+o.productname+a)+"</span></li>"}$("#productsToMoveList").html(e),$("#moveItemdslg").dialog({autoOpen:!1,modal:!0,height:600,width:800,buttons:{Abbrechen:function(){$(this).dialog("close")},Verschieben:function(){$(this).dialog("close"),doMoveItems()}}}),$("#moveItemdslg").dialog("open"),handleClickOnMoveableProd()}function handleClickOnMoveableProd(){$(".prodToMoveEl").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=this.id.split("_")[1],o=prodsToMove[t];"unselecteditem"==o.class?o.class="selecteditem":o.class="unselecteditem",updateProdToMoveList()})}function doMoveItems(){$("#moveItemdslg").dialog("close");for(var e=[],t=0;t<prodsToMove.length;t++){var o=prodsToMove[t];"selecteditem"==o.class&&(e[e.length]=o.queueid)}0===e.length?alert(W_NO_PRODS_SELECTED[lang]):doAjax("POST","php/contenthandler.php?module=queue&command=changeTable",{fromTableId:moveFromTableId,toTableId:moveToTableId,queueids:e.join()},resultOfChangeTable,"Fehler Tischwechsel",!0)}function resultOfChangeTable(e){"OK"!=e.status?alert("Fehler "+e.code+": "+e.msg+"\n\nM\xf6glicherweise hat ein Kollege\nin der Zwischenzeit Produkte zugestellt."):alert("Tischwechsel durchgef\xfchrt!"),refreshGui()}function requestRoomInformation(){1==restaurantmode&&(perfStartTimeShowAllRooms=new Date().getTime(),doAjax("GET","php/contenthandler.php?module=roomtables&command=showAllRooms",null,insertRoomInfo,null,!0))}function checkEndPerformanceMeaurementShowAllRooms(){var e;doAjax("GET","php/contenthandler.php?module=admin&command=addperformancedata",{task:"waitershowallrooms",elapsedtime:new Date().getTime()-perfStartTimeShowAllRooms},null,null,!0)}function insertRoomInfo(e){checkEndPerformanceMeaurementShowAllRooms(),roominfo=e,showRooms()}function getTableMapPreferences(){doAjax("GET","php/tablemap.php?command=getTableMapPreferences",null,insertTMInfo,"Keine TM-Information",!0)}function showRooms(){var e=roominfo.roomstables,t="osroom-desk-0",o="osroom-desk-sel-0";1==osroombtnsize?(t="osroom-desk-1",o="osroom-desk-sel-1"):2==osroombtnsize&&(t="osroom-desk-2",o="osroom-desk-sel-2");var n="";$.each(e,function(e,a){selectedroomindex===e?n+='<div id="room_'+e+'" class="roomitemselected '+o+'">'+a.name+"</div>":n+='<div id="room_'+e+'" class="roomitem '+t+'">'+a.name+"</div>"});var a=roominfo.takeawayprice.replace(".",decpoint)+" "+currency;""!=a&&(a='<div class="roomtogoaccounted">'+a+"</div>"),1==showtogo?selectedroomindex<0&&"waiter"===panelMode?(0==selectedtableindex?$("#deliverydetails").hide():$("#deliverydetails").show(),n+='<div id="room_-1" class="roomitemselected roomtogo '+o+'">',n+='<div class="roomname">Zum Mitnehmen</div>',n+=a,n+="</div>"):($("#deliverydetails").hide(),n+='<div id="room_-1" class="roomitem roomtogo '+t+'">',n+='<div class="roomname">Zum Mitnehmen</div>',n+=a,n+="</div>"):$("#deliverydetails").hide(),$("#roompanel").html(n),$("#tablepanelcontent").html(""),showRoomTableTextInfo(),showTablesForRoomIndex(),bindingRoom(),1==showtogo&&bindDeliveryPanel()}function bindDeliveryPanel(){$("#deliverydetailsbtn").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),$("#deliveryfields").show(),$("#ordersendemaildiv").show()}),$("#ordersendemaildiv").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),1==ordersendemail?($("#ordersendemailyes").hide(),$("#ordersendemailno").show()):($("#ordersendemailyes").show(),$("#ordersendemailno").hide()),ordersendemail=1-ordersendemail})}function getRoomsForDialog(){var e=roominfo.roomstables,t="";return $.each(e,function(e,o){t+='<div id="changeroom_'+e+'" class="roomchangeitem">'+o.name+"</div>"}),t}function bindingRoom(){$(".roomitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=parseInt(this.id.split("_")[1]);$("#changetablebtn").hide(),$("#tablerecordsbtn").hide(),"waiter"==panelMode?neworders.length>0?($("#unsentorderdlg").dialog({autoOpen:!1,modal:!0,height:400,buttons:{Nein:function(){$(this).dialog("close")},Ja:function(){$(this).dialog("close"),discardChangeRoom(t)}}}),$("#unsentorderdlg").dialog("open")):(changeRoom(t),"-1"==selectedroomindex&&($("#tablerecordsbtn").show(),startProductDisplay())):(changeRoom(t),goPayDesk())})}function clearSearchResult(){$("#search").val(""),productFilter=null,$("#barcode").val(""),showAllProdsToChoose()}function discardChangeRoom(e){clearSearchResult(),neworders=[],groupedNewOrders=null,showNewOrders(),changeRoom(e)}function changeRoom(e){clearSearchResult(),clearProductsSelection(),phases.clearCurrentPhase(),phases.showPhaseInDesktop(),selectedtableindex=null,selectedroomindex=e,1==restaurantmode&&showRooms(),requestOrderedInformation()}function showRoomTableTextInfo(){var e="Keine Auswahl";null!==selectedroomindex&&(selectedroomindex<0?e="Zum Mitnehmen":(e="Raum: "+roominfo.roomstables[selectedroomindex].name,null!==selectedtableindex&&(e+=" - Tisch: "+roominfo.roomstables[selectedroomindex].tables[selectedtableindex].name))),$("#location").html(e)}function showTablesForRoomIndex(){if(selectedroomindex>=0&&null!==selectedroomindex){var e=roominfo.roomstables[selectedroomindex].id,t=shallDisplayRoom(e);if(t.show){$("#tablepanelcontent").hide(),d=new Date,$("#mapimgpart").attr("src","php/tablemap.php?command=getTableMapImgAsPng&showBubbles=0&roomid="+e+"&"+d.getTime()),$("#tablemapcontent").show();var o=new Tablemap(selectedroomindex,null,""),n=roominfo.roomstables[selectedroomindex].tables,a=null;null!=selectedtableindex&&(a=roominfo.roomstables[selectedroomindex].tables[selectedtableindex].id);var i=o.createOverlay("#mapimgpart",t.pos,W_TO_PAY[lang],decpoint,currency,n,ostablebtnsize,a);$("#tableoverlay").html(i),o.bindingForOverlaySelection(handleClickInTablemap.bind(this),e,n,switchZoomView)}else showTablesListForRoomIndex();bindTableMapClick()}else showTablesListForRoomIndex()}function switchZoomView(){tableMapIsZoomed?($(".main").show(),$("#roompanel").show(),tableMapIsZoomed=!1,$("#mapimgpart").removeClass("zoomed"),$("#mapimgpart").addClass("notzoomed")):(tableMapIsZoomed=!0,$("#mapimgpart").addClass("zoomed"),$("#mapimgpart").removeClass("notzoomed"))}function unZoomTableMap(){tableMapIsZoomed=!0,switchZoomView()}function handleClickInTablemap(e){selectedtableindex=null;for(var t=roominfo.roomstables[selectedroomindex].tables,o=0;o<t.length;o++)if(t[o].id==e.tableid){selectedtableindex=o;break}unZoomTableMap(),unfocusTableMap(),changeTable(selectedtableindex),$("#tablerecordsbtn").show(),"waiter"===panelMode?($("#changetablebtn").show(),startProductDisplay()):($("#changetablebtn").hide(),goPayDesk())}function showTablesListForRoomIndex(){$("#tablemapcontent").hide();var e="ostable-desk-0";if(1==ostablebtnsize?e="ostable-desk-1":2==ostablebtnsize&&(e="ostable-desk-2"),selectedroomindex>=0&&null!==selectedroomindex){var t=roominfo.roomstables[selectedroomindex].tables,o="";$.each(t,function(n,a){null!=selectedtableindex&&t[selectedtableindex].id==a.id?o+='<div id="table_'+n+'" class="tableelement tableitemselected '+e+'">':o+='<div id="table_'+n+'" class="tableelement tableitem '+e+'">';var i=a.name,r=a.reservations;""!=r&&(i+="<br><span class='tablereservations'>("+r.split(",").join("<br>")+")</span>"),o+='  <header class="tablename">'+i+"</header>";var l=a.pricesum;if(0!=l){var s=l.replace(".",decpoint)+" "+currency;o+='<div class="tableopen">'+s+"</div>"}o+="</div>"}),$("#tablepanelcontent").html(o)}else $("#tablepanelcontent").html("");$("#tablepanelcontent").show(),bindingTable()}function getTablesForDialog(e){var t=roominfo.roomstables[e].tables,o="";return $.each(t,function(e,t){o+='<div id="changetable_'+e+'" class="tablechangeitem">'+t.name+"</div>"}),o}function updateChangeTableBtnIfTableIsSelected(){$("#tablerecordsbtn").show(),"waiter"==panelMode?$("#changetablebtn").show():$("#changetablebtn").hide()}function bindingTable(){$(".tableitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=parseInt(this.id.split("_")[1]);"waiter"===panelMode?($("#tablerecordsbtn").show(),$("#changetablebtn").show(),neworders.length>0?($("#unsentorderdlg").dialog({autoOpen:!1,modal:!0,height:400,buttons:{Nein:function(){$(this).dialog("close")},Ja:function(){$(this).dialog("close"),discardChangeTable(t)}}}),$("#unsentorderdlg").dialog("open")):(changeTable(t),startProductDisplay())):(changeTable(t),goPayDesk())})}function discardChangeTable(e){neworders=[],groupedNewOrders=null,phases.clearCurrentPhase(),phases.showPhaseInDesktop(),showNewOrders(),changeTable(e)}function changeTable(e){clearSearchResult(),phases.clearCurrentPhase(),phases.showPhaseInDesktop(),selectedtableindex=e,showRoomTableTextInfo(),showTablesForRoomIndex(),requestOrderedInformation(),cheaptestAlreadySubtracted=!1}function startProductDisplay(){selectedtypeid=null,selectedprodid=null,clearProductsSelection(),requestProdInformation(),requestOrderedInformation(),clearSearchResult(),$("#searchpanel").show(),1==usebarcode&&document.getElementById("barcode").focus(),$("#remarkpanel").show()}function clearProductsSelection(){neworders=[],groupedNewOrders=[],selectedtypeid=null,$("#groupchain").html(""),$("#groupchoice").html(""),$("#productspanel").html(""),$("#remark").val(""),$("#neworders").html(""),$("#ordered").html(""),$("#searchpanel").hide(),$("#remarkpanel").hide()}function bindTableMapClick(){$("#tablemapcontent").off("click").on("click",function(e){if(e.stopImmediatePropagation(),e.preventDefault(),0===tableMapInFocus){tableMapWidth=document.getElementById("mapimgpart").width,tableMapHeight=document.getElementById("mapimgpart").height;var t=document.body.clientWidth,o=$(window).height(),n=document.getElementById("roompanel").clientHeight;document.getElementById("mapimgpart").style.zIndex="100",document.getElementById("mapimgpart").style.width=t+"px",document.getElementById("mapimgpart").style.height=o-n+"px",$("#roompanel").hide(),tableMapInFocus=1}else unfocusTableMap()})}function unfocusTableMap(){1===tableMapInFocus&&(document.getElementById("mapimgpart").style.width=tableMapWidth+"px",document.getElementById("mapimgpart").style.height=tableMapHeight+"px",document.getElementById("mapimgpart").style.zIndex="auto",$("#roompanel").show(),tableMapInFocus=0)}var allOrderdItems=[];function requestOrderedInformation(){if("waiter"===panelMode){var e=0;if(null!=selectedroomindex||null!=selectedtableindex){var t=!1;if(null!=selectedroomindex&&selectedroomindex<0&&(t=!0),null!=selectedroomindex&&"-1"!=selectedroomindex&&null!=selectedroomindex){var o=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];void 0!==o&&(e=o.id,t=!0)}t&&doAjax("GET","php/contenthandler.php?module=queue&command=getJsonLongNamesOfProdsForTableNotDelivered&tableid="+e,null,insertOrderedInformation,!0)}}}function insertOrderedInformation(e){allOrderdItems=e;var t=new Grouping(e,createTxtAssignedProd);t.group();var o="";o+=t.outputList(createListElOfAssignedProd),$("#ordered").html(o),bindOrderedItem()}function createTxtAssignedProd(e,t){void 0==t&&(t="");var o="";""!=e.option&&(o="<p><i>"+toHtml(e.option)+"</i>");var n="",a=toHtml(e.longname);if(1==e.togo&&(n="To-Go: "),a='<div class="ordereditem-name '+t+'">'+n+'<span class="ordereditem-bold '+t+'">'+a+"</span></div>",1==e.pricechanged&&(a+=" - "+e.price.replace(".",decpoint)+" "+currency),isUnitOfAmountTypeNotPieceNotVoucher(e.unit)){var i=g_units_arr[e.unit].text,r=e.unitamount.replace(".",decpoint);a+=" ("+r+" "+i+")"}e.phase>0&&(a+=phases.getPhaseName(e.phase));var l="";return"1"==e.isready&&(l+=" &#9758"),"1"==e.isCooking&&(l+=" &#9832"),"1"==e.isPaid&&(l+=" &#9745"),a+'<div class="oredereditem-misc">'+o+l+createExtraParagraphForOrderedEl(e.extras,e.extrasamounts)+"</div>"}function createListElOfAssignedProd(e){var t="";"count"in e&&e.count>1&&(t=0==preferimgdesk?'<div class="ordereditem-count">'+e.count+"x </div>":'<div class="ordereditem-count whitebackground">'+e.count+"x </div>");var o="";if(0==preferimgdesk)o+="<div id='ordered_"+e.id+"' class='ordereditem-item-sent' >"+t+createTxtAssignedProd(e)+"</div>";else{var n="php/contenthandler.php?module=products&command=getprodimage&prodid="+e.prodid+"&size=m",a="<span>"+t+createTxtAssignedProd(e,"whitebackground")+"</span>";o+='<div id="ordered_'+e.id+'" class="ordereditem-item-sent" '+createImageStyle(n)+" >"+a+"</div>"}return o}function createExtraParagraphForOrderedEl(e,t){if(null==e||""==e)return"";for(var o=[],n=0;n<e.length;n++)o[o.length]=t[n]+"x "+toHtml(e[n]);return"<p>"+o.join("<br>")}function bindOrderedItem(){$(".ordereditem-item-sent").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();for(var t=this.id.split("_")[1],o=0;o<allOrderdItems.length;o++){var n=allOrderdItems[o];if(t==n.id){handleClickOnOrderedItem(n,t);break}}})}function handleClickOnOrderedItem(e,t){var o=e.isready,n=e.isPaid,a=e.isCooking,i="Das Produkt ist diesem Tisch zugewiesen.";"1"==n&&"1"==o?i="Produkt wurde schon zubereitet und bezahlt.":"1"==o?i="Produkt wurde schon zubereitet.":"1"==n?i="Produkt wurde schon bezahlt.":"1"==a&&(i="Produkt wird soeben zubereitet."),$("#ordereditem-info").html(i),$("#ordereditemdlg").dialog({autoOpen:!1,modal:!0,height:400,width:600,position:{my:"center top",at:"center top",of:"body"}}),""!=cancelunpaidcode?($("#orderedcancelpanel").show(),$("#cancelcode").val("")):$("#orderedcancelpanel").hide(),$("#ordereditemdlg").dialog("open"),bindOrderItemAction(e)}function bindOrderItemAction(e){var t=e.isready,o=e.isPaid,n=e.isCooking,a=e.id;$("#ordereditemcancel").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),$("#ordereditemdlg").dialog("close")}),$("#ordereditemremove").off("click").on("click",function(e){if(e.stopImmediatePropagation(),e.preventDefault(),""!=cancelunpaidcode){var i=$("#cancelcode").val();if(cancelunpaidcode!=i){alert("Falscher Stornocode!");return}}removeProductFromQueue(a,o,n,t,!0),$("#cancelcode").val("")}),$("#deleteallordereditems").off("click").on("click",function(e){if(e.stopImmediatePropagation(),e.preventDefault(),""!=cancelunpaidcode){var t=$("#cancelcode").val();if(cancelunpaidcode!=t){alert("Falscher Stornocode!");return}}removeAllAssignedProds(),$("#cancelcode").val("")}),$("#ordereditemreorder").off("click").on("click",function(t){t.stopImmediatePropagation(),t.preventDefault(),reorderProduct(e.prodid,e.extrasids,e.extras,e.extrasamounts)})}function removeAllAssignedProds(){for(var e=0;e<allOrderdItems.length;e++){var t=allOrderdItems[e].isready,o=allOrderdItems[e].isPaid,n=allOrderdItems[e].isCooking;removeProductFromQueue(allOrderdItems[e].id,o,n,t,!1)}requestOrderedInformation(),$("#ordereditemdlg").dialog("close")}function removeProductFromQueue(e,t,o,n,a){$.ajax({type:"POST",dataType:"json",url:"php/contenthandler.php?module=queue&command=removeProductFromQueue",data:{queueid:e,isPaid:t,isCooking:o,isReady:n},async:!1,success:function(e){a&&(requestOrderedInformation(),$("#ordereditemdlg").dialog("close"))},error:function(e){alert("Sorry, Fehler bei Produktentfernung!")}})}function reorderProduct(e,t,o,n){var a=getProdProperties(e);if(0!=a.unit){alert(W_NO_REORDER_VAR_PRICE[lang]);return}for(var i=[],r=0;r<t.length;r++)i[i.length]={id:t[r],name:o[r],amount:n[r]};$("#ordereditemdlg").dialog("close");var l=calcTotalPriceOfProdAndExtras(a.price,i),s=a.phase;addProductToNewOrders(e,"",i,"NO",0,l,a.unit,s)}function requestProdInformation(){doAjax("GET","php/contenthandler.php?module=products&command=getAllTypesAndAvailProds",null,insertProductInformation,!0)}function insertProductInformation(e){productInformation=e,allextras={};for(var t=0;t<e.extras.length;t++){var o=e.extras[t];allextras[o.id]=o.price}updateProductInfoDisplay()}function updateProductInfoDisplay(){"waiter"==panelMode&&(showAllTypesToChoose(),showAllProdsToChoose(),$("#searchpanel").show(),1==usebarcode&&document.getElementById("barcode").focus(),$("#remarkpanel").show(),disableSendButton(),allowPrintAndOrderBtn=!0)}function getType(e){for(var t=productInformation.types,o=0;o<t.length;o++){var n=t[o];if(n.id==e)return n}return null}function getSubTypes(){var e=productInformation.types,t=[];if(null!=selectedtypeid)for(var o=getType(selectedtypeid),n=0;n<e.length;n++){var a=e[n];null!=a&&a.ref==o.id&&(t[t.length]={id:a.id,name:a.name})}else for(var n=0;n<e.length;n++){var a=e[n];(null==a.ref||0==a.ref)&&(t[t.length]={id:a.id,name:a.name})}return t}function getAllProds(e){var t=productInformation.prods,o=[];if(null!=e){e=e.trim().toLowerCase();for(var n=0;n<t.length;n++){var a=t[n];a.longname.toLowerCase().indexOf(e)>=0&&(o[o.length]={id:a.id,name:a.name,amount:a.amount,price:a.price})}}else if(null!=selectedtypeid)for(var i=getType(selectedtypeid),n=0;n<t.length;n++){var a=t[n];a.ref==i.id&&(o[o.length]={id:a.id,name:a.name,amount:a.amount,price:a.price})}else for(var n=0;n<t.length;n++){var a=t[n];(null==a.ref||0==a.ref)&&(o[o.length]={id:a.id,name:a.name,amount:a.amount,price:a.price})}return o}function showAllTypesToChoose(){var e="";if("-1"==selectedroomindex||null!=selectedtableindex){var t=getSubTypes();$.each(t,function(t,o){selectedtypeid==o.id?e+='<div id="type_'+o.id+'" class="groupitemchoiceselected">'+o.name+"</div>":e+='<div id="type_'+o.id+'" class="groupitemchoice">'+o.name+"</div>"})}$("#groupchoice").html(e),showChain(),bindType()}function bindType(){$(".groupitemchoice").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),$("#search").val(""),productFilter=null,showAllProdsToChoose(),selectedtypeid=parseInt(this.id.split("_")[1]),updateProductInfoDisplay()})}function showAllProdsToChoose(){var e="osprod-desk-0";1==osprodbtnsize?e="osprod-desk-1":2==osprodbtnsize&&(e="osprod-desk-2");var t="";if("-1"==selectedroomindex||null!=selectedtableindex){var o=getAllProds(productFilter);$.each(o,function(o,n){if(t+="<div style='display: flex; flex-direction: column'>",0==preferimgdesk)t+='<div id="prod_'+n.id+'" class="productitem '+e+'">'+n.name;else{var a="php/contenthandler.php?module=products&command=getprodimage&prodid="+n.id+"&size=m",i="<span class='whitebackground'>"+n.name+"</span>";t+='<div id="prod_'+n.id+'" class="productitem '+e+'" '+createImageStyle(a)+" >"+i}"null"!=n.amount&&n.amount<11&&(t+="<br><span class='warning whitebackground'>("+W_ONLY[lang]+" "+n.amount+")</span>"),t+="<br><br>"+n.price+" &#8364;</div>",t+=`</div>`})}$("#productspanel").html(t),bindProduct(),bindRemark()}function findProdWithBarcode(e){if("-1"==selectedroomindex||null!=selectedtableindex)for(var t=productInformation.prods,o=0;o<t.length;o++){var n=t[o],a=n.barcode;if((a=(a=a.split("-").join("")).split(" ").join(""))==e)return n}return null}function createImageStyle(e){return" style=\"background-image: url('"+e+"'); background-size: cover; background-repeat: no-repeat;  background-position: center center; \" "}function getTypeChain(){var e=getType(selectedtypeid);if(null==e)return[];for(var t=[e],o=!1;!o;){var n=e.ref;if(null==n||0==n){o=!0;break}e=getType(n),t[t.length]=e}return t}function showChain(){var e="";if("-1"==selectedroomindex||null!=selectedtableindex){var t=getTypeChain();e+='<div id="groupchainitem_-1" class="groupitem">Auswahl</div>';for(var o=t.length-1;o>=0;o--){var n=t[o];e+='<div id="groupchainitem_'+n.id+'" class="groupitem">'+n.name+"</div>"}}$("#groupchain").html(e),bindChain(),bindSearch()}function bindChain(){$(".groupitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),"-1"==(selectedtypeid=parseInt(this.id.split("_")[1]))&&(selectedtypeid=null),updateProductInfoDisplay(),$("#search").val(""),productFilter=null,showAllProdsToChoose()})}function bindSearch(){$("#search").off("keyup").on("keyup",function(e){e.stopImmediatePropagation(),e.preventDefault(),""==(productFilter=$("#search").val().trim().toLowerCase().trim())&&(productFilter=null),showAllProdsToChoose()}),1==usebarcode&&$("#barcode").off("keyup").on("keyup",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=$("#barcode").val();if((1!=needcrinbarcode||13===e.which)&&""!==(t=(t=t.split("-").join("")).split(" ").join(""))){var o=findProdWithBarcode(t);if(null!=o){$("#search").val(""),$("#barcode").val("");var n=o.id;beepBarcodeBooking(),completeProductClicked(n)}}})}function bindProduct(){$(".productitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),completeProductClicked(parseInt(this.id.split("_")[1]))})}function beepBarcodeBooking(){new Audio("data:audio/wav;base64,//uQRAAAAWMSLwUIYAAsYkXgoQwAEaYLWfkWgAI0wWs/ItAAAGDgYtAgAyN+QWaAAihwMWm4G8QQRDiMcCBcH3Cc+CDv/7xA4Tvh9Rz/y8QADBwMWgQAZG/ILNAARQ4GLTcDeIIIhxGOBAuD7hOfBB3/94gcJ3w+o5/5eIAIAAAVwWgQAVQ2ORaIQwEMAJiDg95G4nQL7mQVWI6GwRcfsZAcsKkJvxgxEjzFUgfHoSQ9Qq7KNwqHwuB13MA4a1q/DmBrHgPcmjiGoh//EwC5nGPEmS4RcfkVKOhJf+WOgoxJclFz3kgn//dBA+ya1GhurNn8zb//9NNutNuhz31f////9vt///z+IdAEAAAK4LQIAKobHItEIYCGAExBwe8jcToF9zIKrEdDYIuP2MgOWFSE34wYiR5iqQPj0JIeoVdlG4VD4XA67mAcNa1fhzA1jwHuTRxDUQ//iYBczjHiTJcIuPyKlHQkv/LHQUYkuSi57yQT//uggfZNajQ3Vmz+Zt//+mm3Wm3Q576v////+32///5/EOgAAADVghQAAAAA//uQZAUAB1WI0PZugAAAAAoQwAAAEk3nRd2qAAAAACiDgAAAAAAABCqEEQRLCgwpBGMlJkIz8jKhGvj4k6jzRnqasNKIeoh5gI7BJaC1A1AoNBjJgbyApVS4IDlZgDU5WUAxEKDNmmALHzZp0Fkz1FMTmGFl1FMEyodIavcCAUHDWrKAIA4aa2oCgILEBupZgHvAhEBcZ6joQBxS76AgccrFlczBvKLC0QI2cBoCFvfTDAo7eoOQInqDPBtvrDEZBNYN5xwNwxQRfw8ZQ5wQVLvO8OYU+mHvFLlDh05Mdg7BT6YrRPpCBznMB2r//xKJjyyOh+cImr2/4doscwD6neZjuZR4AgAABYAAAABy1xcdQtxYBYYZdifkUDgzzXaXn98Z0oi9ILU5mBjFANmRwlVJ3/6jYDAmxaiDG3/6xjQQCCKkRb/6kg/wW+kSJ5//rLobkLSiKmqP/0ikJuDaSaSf/6JiLYLEYnW/+kXg1WRVJL/9EmQ1YZIsv/6Qzwy5qk7/+tEU0nkls3/zIUMPKNX/6yZLf+kFgAfgGyLFAUwY//uQZAUABcd5UiNPVXAAAApAAAAAE0VZQKw9ISAAACgAAAAAVQIygIElVrFkBS+Jhi+EAuu+lKAkYUEIsmEAEoMeDmCETMvfSHTGkF5RWH7kz/ESHWPAq/kcCRhqBtMdokPdM7vil7RG98A2sc7zO6ZvTdM7pmOUAZTnJW+NXxqmd41dqJ6mLTXxrPpnV8avaIf5SvL7pndPvPpndJR9Kuu8fePvuiuhorgWjp7Mf/PRjxcFCPDkW31srioCExivv9lcwKEaHsf/7ow2Fl1T/9RkXgEhYElAoCLFtMArxwivDJJ+bR1HTKJdlEoTELCIqgEwVGSQ+hIm0NbK8WXcTEI0UPoa2NbG4y2K00JEWbZavJXkYaqo9CRHS55FcZTjKEk3NKoCYUnSQ0rWxrZbFKbKIhOKPZe1cJKzZSaQrIyULHDZmV5K4xySsDRKWOruanGtjLJXFEmwaIbDLX0hIPBUQPVFVkQkDoUNfSoDgQGKPekoxeGzA4DUvnn4bxzcZrtJyipKfPNy5w+9lnXwgqsiyHNeSVpemw4bWb9psYeq//uQZBoABQt4yMVxYAIAAAkQoAAAHvYpL5m6AAgAACXDAAAAD59jblTirQe9upFsmZbpMudy7Lz1X1DYsxOOSWpfPqNX2WqktK0DMvuGwlbNj44TleLPQ+Gsfb+GOWOKJoIrWb3cIMeeON6lz2umTqMXV8Mj30yWPpjoSa9ujK8SyeJP5y5mOW1D6hvLepeveEAEDo0mgCRClOEgANv3B9a6fikgUSu/DmAMATrGx7nng5p5iimPNZsfQLYB2sDLIkzRKZOHGAaUyDcpFBSLG9MCQALgAIgQs2YunOszLSAyQYPVC2YdGGeHD2dTdJk1pAHGAWDjnkcLKFymS3RQZTInzySoBwMG0QueC3gMsCEYxUqlrcxK6k1LQQcsmyYeQPdC2YfuGPASCBkcVMQQqpVJshui1tkXQJQV0OXGAZMXSOEEBRirXbVRQW7ugq7IM7rPWSZyDlM3IuNEkxzCOJ0ny2ThNkyRai1b6ev//3dzNGzNb//4uAvHT5sURcZCFcuKLhOFs8mLAAEAt4UWAAIABAAAAAB4qbHo0tIjVkUU//uQZAwABfSFz3ZqQAAAAAngwAAAE1HjMp2qAAAAACZDgAAAD5UkTE1UgZEUExqYynN1qZvqIOREEFmBcJQkwdxiFtw0qEOkGYfRDifBui9MQg4QAHAqWtAWHoCxu1Yf4VfWLPIM2mHDFsbQEVGwyqQoQcwnfHeIkNt9YnkiaS1oizycqJrx4KOQjahZxWbcZgztj2c49nKmkId44S71j0c8eV9yDK6uPRzx5X18eDvjvQ6yKo9ZSS6l//8elePK/Lf//IInrOF/FvDoADYAGBMGb7FtErm5MXMlmPAJQVgWta7Zx2go+8xJ0UiCb8LHHdftWyLJE0QIAIsI+UbXu67dZMjmgDGCGl1H+vpF4NSDckSIkk7Vd+sxEhBQMRU8j/12UIRhzSaUdQ+rQU5kGeFxm+hb1oh6pWWmv3uvmReDl0UnvtapVaIzo1jZbf/pD6ElLqSX+rUmOQNpJFa/r+sa4e/pBlAABoAAAAA3CUgShLdGIxsY7AUABPRrgCABdDuQ5GC7DqPQCgbbJUAoRSUj+NIEig0YfyWUho1VBBBA//uQZB4ABZx5zfMakeAAAAmwAAAAF5F3P0w9GtAAACfAAAAAwLhMDmAYWMgVEG1U0FIGCBgXBXAtfMH10000EEEEEECUBYln03TTTdNBDZopopYvrTTdNa325mImNg3TTPV9q3pmY0xoO6bv3r00y+IDGid/9aaaZTGMuj9mpu9Mpio1dXrr5HERTZSmqU36A3CumzN/9Robv/Xx4v9ijkSRSNLQhAWumap82WRSBUqXStV/YcS+XVLnSS+WLDroqArFkMEsAS+eWmrUzrO0oEmE40RlMZ5+ODIkAyKAGUwZ3mVKmcamcJnMW26MRPgUw6j+LkhyHGVGYjSUUKNpuJUQoOIAyDvEyG8S5yfK6dhZc0Tx1KI/gviKL6qvvFs1+bWtaz58uUNnryq6kt5RzOCkPWlVqVX2a/EEBUdU1KrXLf40GoiiFXK///qpoiDXrOgqDR38JB0bw7SoL+ZB9o1RCkQjQ2CBYZKd/+VJxZRRZlqSkKiws0WFxUyCwsKiMy7hUVFhIaCrNQsKkTIsLivwKKigsj8XYlwt/WKi2N4d//uQRCSAAjURNIHpMZBGYiaQPSYyAAABLAAAAAAAACWAAAAApUF/Mg+0aohSIRobBAsMlO//Kk4soosy1JSFRYWaLC4qZBYWFRGZdwqKiwkNBVmoWFSJkWFxX4FFRQWR+LsS4W/rFRb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU=").play()}function completeProductClicked(e){var t=getProdEntry(e);if(canProdBeOrdered(t)){$("#search").val(""),$("#barcode").val(""),1==usebarcode&&$("#barcode").focus(),selectedprodid=e;var o=$("#remark").val(),n=t.extras,a=t.unit;t.unitamount;var i=phases.getCurrentPhase();if(null!=n&&n.length>0||1==a)1==t.unit?(requestPriceInExtras=!0,presetPriceInExtras=""):requestPriceInExtras=!1,showExtras(t,o);else if($("#enterpricedlg").data("prodid",e),$("#enterpricedlg").data("option",o),$("#enterpricedlg").data("unit",t.unit),$("#enterpricefield").val(""),$("#entervoucherid").val(""),isUnitOfAmountTypeNotPieceNotVoucher(t.unit)){enterpricedlgshown=!0;var r="Preiseingabe";t.unit>1&&(r="Eingabe "+g_units_arr[t.unit].longtext),$("#entervalueunit").html(r),$("#enterpricedlg").dialog({autoOpen:!1,modal:!0,height:570,width:400,buttons:{Abbrechen:function(){$(this).dialog("close")}}}),$("#enterpricedlg").dialog("open"),$("#dlgvoucherarea").hide(),$("#dlgpricearea").show(),bindEnterPriceOrVoucherNumbers()}else 8==t.unit?addProductToNewOrders(e,o,null,"NO",0,null,9,1,0):9==t.unit?($("#entervalueunit").html("Gutschein einl\xf6sen"),$("#enterpricedlg").dialog({autoOpen:!1,modal:!0,height:570,width:400,buttons:{Abbrechen:function(){$(this).dialog("close")}}}),$("#enterpricedlg").dialog("open"),$("#dlgvoucherarea").show(),$("#dlgpricearea").hide(),bindEnterPriceOrVoucherNumbers()):addProductToNewOrders(e,o,null,"NO",0,null,0,1,i)}}function bindEnterPriceOrVoucherNumbers(){$(".numfield td").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=$(this).html(),o=$(this).attr("class");if("keyboardapply"==o)applyPriceEnter();else if("applyvoucherid"==o)applyVoucherId();else{var n=String($("#enterpricefield").val());$("#enterpricefield").val(n+t)}})}function applyVoucherId(){var e=$("#enterpricedlg").data("prodid"),t=$("#entervoucherid").val().trim();if(""==t){alert("Keine Gutscheinnummer angegeben.");return}$("#enterpricedlg").dialog("close"),addProductToNewOrders(e,t,null,0,0,0,9,1,null)}function applyPriceEnter(){var e=$("#enterpricedlg").data("prodid"),t=$("#enterpricefield").val(),o=$("#enterpricedlg").data("option"),n=$("#enterpricedlg").data("unit");""!=(t=(t=t.trim()).replace(decpoint,"."))&&$.isNumeric(t)?($("#enterpricedlg").dialog("close"),1==n?addProductToNewOrders(e,o,null,t,0,t,0,1,null):addProductToNewOrders(e,o,null,"NO",0,null,n,t,null)):alert(W_NO_VALID_PRICE[lang])}function bindRemark(){$("#remark").off("click").on("click",function(e){if(null!=genComments&&genComments.length>0){e.stopImmediatePropagation(),e.preventDefault();for(var t="",o=0;o<genComments.length;o++)t+="<li class='commentitem'>"+toHtml(genComments[o].comment)+"</li>";$("#commentschoice").html(t),$("#gencommentsdlg").dialog({autoOpen:!1,modal:!0,height:600,buttons:{Abbrechen:function(){$(this).dialog("close")},Anwenden:function(){$(this).dialog("close"),applyComment()}}}),$("#gencommentsdlg").dialog("open"),$("#gencommentsdlg").css("height",52*genComments.length+150),$("#generalcommentfield").val(""),$(".ui-dialog-buttonset .ui-button:nth-child(1)").css("background-color","#eeeeee"),$(".ui-dialog-buttonset .ui-button:nth-child(1)").css("color","#ff0000"),$(".ui-dialog-buttonset .ui-button:nth-child(2)").css("background-color","#00ff00"),$(".ui-dialog-buttonset .ui-button:nth-child(2)").css("color","#000000"),$(".ui-widget-header").css("background-color","#ff4400"),bindCommentClick()}})}function bindCommentClick(){$(".commentitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),$("#gencommentsdlg").dialog("close"),$("#remark").val($(this).text())})}function applyComment(){$("#remark").val($("#generalcommentfield").val())}function getProdEntry(e){for(var t=productInformation.prods,o=0;o<t.length;o++){var n=t[o];if(parseInt(n.id)==e)return n}return null}function getProdProperties(e){var t=getProdEntry(e);return null!=t?{name:t.longname,price:t.price,unit:t.unit}:"FEHLER!"}function addProductToNewOrders(e,t,o,n,a,i,r,l,s){$("#remark").val(""),void 0===l&&(l=1),void 0===r&&(r=0);var c=getProdProperties(e),u=c.name,p=calcTotalPriceOfProdAndExtras(c.price,o);null!=i&&(n=p=i=parseFloat(i).toFixed(2).replace(",","."));var m=phases.getCurrentPhase();null!==s&&(m=s);var h={name:u,option:t,extras:o,prodid:e,price:p,changedPrice:n,togo:a,unit:r,unitamount:l,phase:m};neworders[neworders.length]={name:h.name,option:h.option,extras:h.extras,prodid:h.prodid,price:h.price,changedPrice:h.changedPrice,togo:h.togo,unit:h.unit,unitamount:h.unitamount,phase:h.phase},showNewOrders(),$("#remark").val(""),enterpricedlgshown=!1}function group(e){var t=[],o=[],n=[],a={count:[],joinedvals:[],name:t,price:o,option:n,extras:[],prodids:[],origidxs:[],changedPrices:[],togos:[],units:[],unitamounts:[],phases:[]},i=0;for(i=0;i<e.length;i++){var r=e[i],t=r.name,o=r.price,n=r.option,l=r.prodid,s=r.changedPrice,c=r.togo,u=r.unit,p=r.unitamount,m=r.phase,h=r.extras,g="",f=[];if(null!=h)for(var b=0;b<h.length;b++)f[f.length]="+"+h[b].amount+"x "+toHtml(h[b].name);f.length>0?g+="<p>"+f.join("<br>"):g="";var v=t+"-"+n+"-"+g+"-"+u+"-"+p+"G"+m;"NO"!==s&&(v=t+"-"+n+"-"+g+s+"G"+m),1==c&&(v+=" - To-Go");var A=a.joinedvals.indexOf(v);if(A>=0)a.count[A]=a.count[A]+1,(idxarr=a.origidxs[A])[idxarr.length]=i,a.origidxs[A]=idxarr;else{var y=a.count.length;a.count[y]=1,a.joinedvals[y]=v,a.name[y]=t,a.price[y]=o,a.option[y]=n,a.extras[y]=g,a.prodids[y]=l,a.changedPrices[y]=s,a.togos[y]=c,a.units[y]=u,a.unitamounts[y]=p,a.phases[y]=m,a.origidxs[y]=[i]}}return a}function calcAndShowPriceOfNewOrders(){for(var e=0,t=groupedNewOrders.count.length,o=t-1;o>=0;o--){var n=groupedNewOrders.unitamounts[o],a=groupedNewOrders.price[o],i=groupedNewOrders.changedPrices[o];"NO"!==i&&(a=parseFloat(i)),e+=groupedNewOrders.count[o]*a*n}var r=e.toFixed(2);r=r.replace(".",decpoint),$("#neworderinfofield").html(r+" "+currency)}function showNewOrders(){groupedNewOrders=group(neworders);for(var e="",t=groupedNewOrders.count.length,o=t-1;o>=0;o--){var n=groupedNewOrders.units[o],a=groupedNewOrders.unitamounts[o],i=groupedNewOrders.phases[o],r="";isUnitOfAmountTypeNotPieceNotVoucher(n)&&(r=a+g_units_arr[n].text+" ");var l=toHtml(groupedNewOrders.name[o]);i>0&&(l+=" "+phases.getPhaseName(i));var s=groupedNewOrders.option[o],c=groupedNewOrders.count[o];l=c>1?"<span style='font-size: 23px;'>"+c.toString()+"x</span> "+r+l:r+l;var u=groupedNewOrders.prodids[o];""!==s&&(s="<p>"+toHtml(s)+"</p>");var p=groupedNewOrders.changedPrices[o],m=groupedNewOrders.togos[o],h="",g=groupedNewOrders.extras[o];null!=g&&""!=g&&(h="<span style='font-size: 14px;'><i>"+g+"</i></span>");var f="";if("NO"!=p){var b=p.replace(".",decpoint)+" "+currency;isUnitOfAmountTypeNotPieceNotVoucher(n)&&(b+="/"+g_units_arr[n].text),f=0!=m?"<br> ("+b+" - To-Go)":"<br> ("+b+")"}else 0!=m&&(f="<br> (To-Go)");e+='<div id="neworder_'+u+"_"+o+'" class="ordereditem-item-new">'+l+s+h+f+"</div>"}$("#neworders").html(e),$("#remark").val(""),calcAndShowPriceOfNewOrders();var v=getTableid();updateLiveOrders(neworders,v),neworders.length>0?enableSendButton():disableSendButton(),bindNewOrderItem(),displayRightButtons()}var roominfo=null,selectedroomindex=null,selectedtableindex=null,productInformation=null,allextras=null,selectedtypeid=null,selectedprodid=null,rightpaydesk=!1,sumupforcard=0,affiliatekey="",appid="",serverurl="",preferimgdesk=0,calcmodus=1,tableMapIsZoomed=!1,mainmenu=[],version="",loggedinUser="",payments="",hostTemplate="",WORKFLOW_DIGI_AND_WORK=0,WORKFLOW_DIGI=1,WORKFLOW_WORK=2,WORKFLOW_WORK_TRANSFER=3,productFilter=null,moveFromTableId=null,moveToRoomIndex=null,moveToTableId=null,panelMode="waiter",returntoorder=1,genComments=null,usercandocashop=0,tableMapInFocus=0,tableMapWidth=0,tableMapHeight=0,performanceMeasureTimer=0,perfStartTime=0,PERFTIMER=5,perfStartTimeShowAllRooms=0,phases=null,W_SELALL=["Alles ausw\xe4hlen","Select all","Elegir todo"],W_UNSELALL=["Alles abw\xe4hlen","Unselect all","No elegir nada"],W_NO_PRODS_SELECTED=["Es wurden keine Produkte ausgew\xe4hlt!","You have not chosen any products!","No ha seleccionado ning\xfan producto!"],W_ONLY=["noch","only","s\xf3lo"],W_TO_PAY=["offen","to pay","a pagar"],P_CASHACTION_OK=["Kassenaktion abgeschlossen.","Action completed.","Acci\xf3n terminado."],W_NO_VALID_PRICE=["Keine g\xfcltige Zahl","No valid value","No es un n\xfamero valido"],W_NO_REORDER_VAR_PRICE=["Nur Produkte mit der Einheit 'St\xfcck' k\xf6nnen auf diese Weise nachbestellt werden.","Only products of unit 'Piece' can be reordered this way.","Un producto de esta unidad no se puede reordenado asi."];function setLanguage(e){}function savePayments(e){payments=e.payments,hotelinterface=e.hotelinterface,guests=e.guests,internalguests=e.internalguests}function intervalGetItemsToPayAndRoomInfo(e){setInterval(function(){getAndShowPayItems(!1),requestRoomInformation(),requestOrderedInformation()},1e3*e)}function intervalGetGeneralCommentsAndTablePref(e){doAjax("GET","php/contenthandler.php?module=products&command=getAllGeneralComments",null,fillGenCommentsList,null,!0),setInterval(function(){doAjax("GET","php/contenthandler.php?module=products&command=getAllGeneralComments",null,fillGenCommentsList,null,!0),getTableMapPreferences()},1e3*e)}function intervalGetWaiterMessage(e){doAjax("GET","php/contenthandler.php?module=admin&command=getWaiterMessage",null,fillWaiterMessage,null,!0),setInterval(function(){doAjax("GET","php/contenthandler.php?module=admin&command=getWaiterMessage",null,fillWaiterMessage,null,!0)},1e3*e)}function intervalFetchDaycode(e){setInterval(function(){doAjax("GET","php/contenthandler.php?module=admin&command=getDailycode",null,updateDailycode,!0)},1e3*e)}function updateDailycode(e){"OK"===e.status&&(dailycode=e.msg,$(".daycodefield").html(toHtml(dailycode)))}function getMenuInBackground(e){setInterval(function(){requestProdInformation()},1e3*e)}function insertWaiterConfig(e){if(1!=e.isUserLoggedIn)setTimeout(function(){document.location.href="index.html"},250);else{var t=e.config;setGlobalVars(e),usercandocashop=e.rightcashop,preferimgdesk=e.preferimgdesk,calcmodus=e.calcpref,rightpaydesk=e.rightpaydesk,returntoorder=t.returntoorder,billprintjobs=t.billprintjobs,1==t.showdaycode?($(".daycodeareamobile").show(),$(".daycodefield").html(toHtml(dailycode))):$(".daycodeareamobile").hide(),1==usebarcode&&($("#barcode").show(),$("#barcode").val(""),document.getElementById("barcode").focus()),initializeOrderView()}}function fillGenCommentsList(e){if("OK"!==e.status){if("2"!=e.code)return;setTimeout(function(){document.location.href="logout.php"},250);return}genComments=e.msg}function fillWaiterMessage(e){if("OK"==e.status){var t=e.msg.trim();""!=t?($("#waitermessagearea").html("<b>Nachricht: </b>"+toHtml(t)),$("#waitermessagearea").show()):($("#waitermessagearea").html(""),$("#waitermessagearea").hide())}}function initializeOrderView(){panelMode="waiter",initGui(),clearProductsSelection(),requestRoomInformation(),requestProdInformation(),bindMainMenuButton(),bindRightButtons(),0==restaurantmode&&$("#tablepanel").hide()}function getHostTemplate(){$.ajax({url:"customer/bon-bewirtungsvorlage.html?v=2.7.3",async:!1,success:function(e){hostTemplate=e},error:function(e){},cache:!1})}function saveMenuInfo(e){1==e.loggedin?(loggedinUser=e.user,$("#loggedinuser").html("&nbsp;"+loggedinUser),$("#versioninfo").html(e.version),version=e.version,$.each(e.menu,function(e,t){var o=t.name,n=t.link;mainmenu[mainmenu.length]={name:o,link:n}}),$("#mainmenubtn").show()):$("#mainmenubtn").hide()}function bindMainMenuButton(){$("#selectiondialog").dialog({autoOpen:!1,modal:!0,height:400,buttons:{Anwenden:function(){$(this).dialog("close"),applyExtras()}}}),$("#unsentorderdlg").dialog({autoOpen:!1,modal:!0,height:400,buttons:{Nein:function(){$(this).dialog("close")},Ja:function(){$(this).dialog("close")}}}),$("#actmenudlg").dialog({autoOpen:!1,modal:!0,height:400}),$("#mainmenudlg").dialog({autoOpen:!1,modal:!0,height:400,width:200,position:{my:"right top",at:"right top",of:"body"},buttons:{Abbrechen:function(){$(this).dialog("close")}}}),$("#ordereditemdlg").dialog({autoOpen:!1,modal:!0,height:400,width:200}),$("#moveItemdslg").dialog({autoOpen:!1,modal:!0,height:400,width:200}),$("#mainmenubtn").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();for(var t="<div><ul class='mainmenuchoice'>",o=0;o<mainmenu.length;o++)t+="<li id='mainmenu_"+o+"' class='mainmenuitem' >"+toHtml(mainmenu[o].name)+"</li>";t+="</ul></div>",$("#mainmenudlg").html(t);var n=280+40*mainmenu.length;$("#mainmenudlg").dialog({autoOpen:!1,modal:!0,height:n,width:200,position:{my:"right top",at:"right top",of:"body"},buttons:{Abbrechen:function(){$(this).dialog("close")}}}),$("#mainmenudlg").dialog("open"),$(".mainmenuitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=mainmenu[parseInt(this.id.split("_")[1])].link;$("#mainmenudlg").dialog("close"),neworders.length>0?($("#unsentorderdlg").dialog({autoOpen:!1,modal:!0,height:400,buttons:{Nein:function(){$(this).dialog("close")},Ja:function(){$(this).dialog("close"),clearLiveOrders(),setTimeout(function(){document.location.href=t},250)}}}),$("#unsentorderdlg").dialog("open")):(clearLiveOrders(),setTimeout(function(){document.location.href=t},250))})}),bindCashButton()}function goOrderDesk(){panelMode="waiter",initGui(),clearNewOrderPrice(),clearProductsSelection(),requestProdInformation(),requestOrderedInformation()}function goPayDesk(){panelMode="paydesk",initGui(),startCashProcess()}function initGui(){displayPanels(),displayRightButtons()}function displayPanels(){"waiter"===panelMode?(1==cashenabled||quickcash==QUICKCASH_YES?$("#panelmodetxt").html("Bestellung - Schnellkasse"):$("#panelmodetxt").html("Bestellung"),$("#groupchain").show(),$("#groupchoice").show(),$("#searchpanel").show(),1==usebarcode&&document.getElementById("barcode").focus(),$("#productspanel").show(),$("#remarkpanel").show(),$("#ordered").show(),$("oben").html(""),$("#oben").hide(),$("#unten").html(""),$("#unten").hide(),$("#paybuttonpanel").hide(),$("#billprintjobspanel").hide(),$("#receiptpanel").hide()):($("#panelmodetxt").html("Kasse"),$("#groupchain").hide(),$("#groupchoice").hide(),$("#searchpanel").hide(),$("#productspanel").hide(),$("#remarkpanel").hide(),$("#ordered").hide(),$("oben").html(""),$("#oben").show(),$("#unten").html(""),$("#unten").show(),$("#goorderbtn").show(),$("#paybuttonpanel").show(),1==showreceiptinpaydesk&&$("#receiptpanel").show())}function displayRightButtons(){$("#changetablebtn").hide(),$("#tablerecordsbtn").hide(),1==usercandocashop?$("#cashbutton").show():$("#cashbutton").hide(),"waiter"===panelMode?(1==rightpaydesk&&0==cashenabled&&0==quickcash&&($("#paydeskbtn").show(),$("#phasesarea").show()),1==showphases?$("#phasesarea").show():$("#phasesarea").hide(),$("#neworderinfo").show(),$("#hostbutton").hide(),$("#minuscheapest").hide(),$("#paydeskcash").hide(),$("#paydeskprint").hide(),$("#goorderbtn").hide(),workflowconfigfood!=workflowconfigdrinks&&(showtransferbtns=0),neworders.length>0&&((workflowconfigfood==WORKFLOW_DIGI_AND_WORK||workflowconfigfood==WORKFLOW_WORK||workflowconfigfood==WORKFLOW_WORK_TRANSFER)&&1==showtransferbtns&&$("#workbtn").show(),(workflowconfigfood==WORKFLOW_DIGI_AND_WORK||workflowconfigfood==WORKFLOW_DIGI||workflowconfigfood==WORKFLOW_WORK_TRANSFER)&&1==showtransferbtns&&$("#sendNewOrders").show()),null!=selectedtableindex&&0===neworders.length&&($("#changetablebtn").show(),$("#tablerecordsbtn").show())):($("#paydeskbtn").hide(),$("#phasesarea").hide(),$("#neworderinfo").hide(),$("#phasesarea").hide(),1==restaurantmode&&1==showhostprint&&($("#hostbutton").show(),1==allowminuscheapest?($("#minuscheapest").show(),bindMinusCheapestButton("desktop")):$("#minuscheapest").hide()),0==allowminuscheapest&&$("#minuscheapest").hide(),prodsaccounted.length>0?(0==forceprint&&$("#paydeskcash").show(),$("#paydeskprint").show(),$("#goorderbtn").show()):($("#paydeskcash").hide(),$("#paydeskprint").hide()),$("#workbtn").hide(),$("#sendNewOrders").hide())}function clearNewOrderPrice(){var e="0.00 "+currency;e=e.replace(".",decpoint),$("#neworderinfofield").html(e),clearLiveOrders()}$(document).ready(function(){(phases=new Phases).setLang(0),selectedroomindex=null,productFilter=null,doAjax("GET","php/contenthandler.php?module=admin&command=getWaiterSettings",null,insertWaiterConfig,"Fehler Konfigurationsdaten",!0),doAjax("GET","php/contenthandler.php?module=admin&command=getJsonMenuItemsAndVersion",null,saveMenuInfo,null,!0),getGeneralConfigItems(),getTableMapPreferences(),intervalGetItemsToPayAndRoomInfo(10),getMenuInBackground(60),getPayments(savePayments),getHostTemplate(),intervalCheckConnection(2),intervalGetPrinterStatus(5),intervalGetGeneralCommentsAndTablePref(10),intervalGetWaiterMessage(20),intervalFetchDaycode(10),updateLiveOrders(null,null),0==restaurantmode&&(changeRoom(-1),startProductDisplay()),phases.bindPhaseBtns(!1)});var e_prod=null,e_option=null,extrasManagement=new ExtrasManagement;function showExtras(e,t){e_prod=e,e_option=t,extrasManagement.setAllExtras(e.extras),$("#selectiondialog").dialog({autoOpen:!1,modal:!0,height:400,buttons:{Anwenden:function(){$(this).dialog("close"),applyExtras()}}}),displayExtras(),$("#selectiondialog").dialog("open")}function displayExtras(){var e="";e+="<div><ul class='extraschoice'>",!1!=requestPriceInExtras&&(e+='<li><input id="enterpriceextrasfield" type="text" placeholder="Preis" value="'+toHtml(presetPriceInExtras)+'" /></li>'),e+=extrasManagement.renderExtras(null,null,!1),e+="</ul></div>",$("#selectiondialog").html(e),$(".ui-dialog-buttonset .ui-button").css("background-color","#44ff44"),$(".ui-widget-header").css("background-color","#ff4400"),bindExtra()}function bindExtra(){$(".extraitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),extraClicked(parseInt(this.id.split("_")[1]))}),$(".extraitemselected").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),extraClicked(parseInt(this.id.split("_")[1]))})}function extraClicked(e){!1!==requestPriceInExtras&&(presetPriceInExtras=$("#enterpriceextrasfield").val()),extrasManagement.extraClicked(e),displayExtras()}function applyExtras(){var e=extrasManagement.getAssignedExtras(),t=getProdProperties(e_prod.id);t.price;var o=phases.getCurrentPhase();if(requestPriceInExtras){var n=$("#enterpriceextrasfield").val();""!==(n=(n=n.trim()).replace(decpoint,"."))&&$.isNumeric(n)?(requestPriceInExtras=!1,presetPriceInExtras="",addProductToNewOrders(e_prod.id,e_option,e,n,0,n,t.unit,1,o)):alert(W_NO_VALID_PRICE[lang])}else addProductToNewOrders(e_prod.id,e_option,e,"NO",0,null,t.unit,1,o)}function calcTotalPriceOfProdAndExtras(e,t){var o=parseFloat(e);return parseFloat(o+extrasManagement.calcPriceOfAssignedExtras(t,allextras)).toFixed(2)}var actcount=0,actprice=0,actname="",selectedEntry=null,actchangedprice=!1,actoption="",acttogo=0,actunit=0,actunitamount=1,actphase=0,origprice=0,countatdialogstart=0,CHANGE_ALL=0,CHANGE_ONE=1;function bindNewOrderItem(){$(".ordereditem-item-new").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=parseInt(this.id.split("_")[2]);selectedEntry={count:groupedNewOrders.count[t],name:groupedNewOrders.name[t],price:groupedNewOrders.price[t],option:groupedNewOrders.option[t],extras:groupedNewOrders.extras[t],prodid:groupedNewOrders.prodids[t],origidxs:groupedNewOrders.origidxs[t],changedPrices:groupedNewOrders.changedPrices[t],togos:groupedNewOrders.togos[t],unit:groupedNewOrders.units[t],unitamount:groupedNewOrders.unitamounts[t],phase:groupedNewOrders.phases[t]},acttogo=groupedNewOrders.togos[t],countatdialogstart=actcount=groupedNewOrders.count[t],actname=groupedNewOrders.name[t],actchangedprice=groupedNewOrders.changedPrices[t],actoption=groupedNewOrders.option[t],actunit=groupedNewOrders.units[t],actunitamount=groupedNewOrders.unitamounts[t],actphase=groupedNewOrders.phases[t],origprice=groupedNewOrders.price[t],actprice="NO"===actchangedprice?origprice:actchangedprice,insertDataIntoActDialog(!0);var o=400;1==rightchangeprice&&(o=600),$("#actmenudlg").dialog({autoOpen:!1,modal:!0,height:o,width:600,buttons:{Abbrechen:function(){$(this).dialog("close")},Löschen:function(){$(this).dialog("close"),delNewOrderItem()},"Alle \xe4ndern":function(){$(this).dialog("close"),changeAllNewOrders()},"Einen Artikel \xe4ndern":function(){$(this).dialog("close"),changeOneNewOrder()}}}),isUnitOfAmountTypeNotVoucher(actunit)?$("#actareaforproducts").show():$("#actareaforproducts").hide(),$(".ui-dialog-buttonset .ui-button").css("font-weight","bold"),$(".ui-dialog-buttonset .ui-button").css("color","black"),$(".ui-dialog-buttonset .ui-button:nth-child(2)").css("background-color","#ff0000"),$("#actmenudlg").dialog("open")})}function getDiscountButton(e,t){var o=e+"%";return""!=t.trim()&&(o=toHtml(t)),o}function insertDataIntoActDialog(e){$("#actdiscount1btn").html(getDiscountButton(discount1,discountname1)),$("#actdiscount2btn").html(getDiscountButton(discount2,discountname2)),$("#actdiscount3btn").html(getDiscountButton(discount3,discountname3)),$("#actcountno").html(actcount+"x"),$("#actname").html(actname);var t=parseFloat(actprice).toFixed(2).replace(".",decpoint),o=t+" "+currency;isUnitOfAmountTypeNotPieceNotVoucher(actunit)&&(o+="/"+g_units_arr[actunit].text),$("#actpriceinfo").html(o),$("#actpricefield").val(t),$("#actremarkfield").val(actoption),e&&$("#actnumberentryfield").val(actcount),0==acttogo?($("#togoicon").hide(),$("#notogoicon").show()):($("#togoicon").show(),$("#notogoicon").hide()),1==rightchangeprice?($("#actdiscount").show(),$("#actprice").show()):($("#actdiscount").hide(),$("#actprice").hide()),bindActBtn()}function bindActBtn(){$("#actnumberentryfield").off("keyup").on("keyup",function(e){var t=$("#actnumberentryfield").val().trim();""!=t&&$.isNumeric(t)?t>=0&&t<=1e3?(actcount=t,insertDataIntoActDialog(!1)):insertDataIntoActDialog(!0):(actcount=countatdialogstart,insertDataIntoActDialog(!1))}),$(".actbtn").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=this.id;if("actminusbtn"===t)actcount>0&&actcount--,$("#actnumberentryfield").val(actcount);else if("actplusbtn"===t)actcount++,$("#actnumberentryfield").val(actcount);else if("actdiscount1btn"===t){var o=(actprice=origprice-origprice*discount1/100).toFixed(2).replace(".",decpoint);$("#actpricefield").val(o),$("#actpriceinfo").html(o+" "+currency)}else if("actdiscount2btn"===t){var o=(actprice=origprice-origprice*discount2/100).toFixed(2).replace(".",decpoint);$("#actpricefield").val(o),$("#actpriceinfo").html(o+" "+currency)}else if("actdiscount3btn"===t){var o=(actprice=origprice-origprice*discount3/100).toFixed(2).replace(".",decpoint);$("#actpricefield").val(o),$("#actpriceinfo").html(o+" "+currency)}else"acttogobtn"===t&&(acttogo=1-acttogo);insertDataIntoActDialog(!0)})}function changeAllNewOrders(){actionNewOrderConfirm(CHANGE_ALL)}function changeOneNewOrder(){actionNewOrderConfirm(CHANGE_ONE)}function delNewOrderItem(){actcount=0,actionNewOrderConfirm(CHANGE_ALL)}function actionNewOrderConfirm(e){var t=selectedEntry;if(1==rightchangeprice){var o=$("#actpricefield").val().trim();if((o=o.replace(",","."))>9999.99){alert("Maximaler Preis f\xfcr das Produkt \xfcberschritten");return}if(""==o)o="NO";else if($.isNumeric(o))o=parseFloat(o).toFixed(2),actprice=parseFloat(o),$("#actpricefield").val("");else{alert("Es wurde ein falsches Zahlenformat angegeben");return}}else if(1==getProdEntry(t.prodid).unit){var o=$("#actpricefield").val().trim();o=o.replace(",",".")}else o="NO";if(e==CHANGE_ONE){var n=t.origidxs;neworders[n[0]].option=$("#actremarkfield").val(),neworders[n[0]].changedPrice=o,neworders[n[0]].togo=acttogo,neworders[n[0]].phase=actphase}else{var n=t.origidxs;for(s=0;s<n.length;s++){var a=n[s];neworders[a].option=$("#actremarkfield").val(),neworders[a].changedPrice=o,neworders[a].togo=acttogo,neworders[a].phase=actphase}}$("#actremarkfield").val(""),$("#actnumberentryfield").val("");var i,r=actcount-t.count;if(r<0){var l=0-r,n=t.origidxs,s=0;for(s=0;s<l;s++){var c=n.pop();neworders.splice(c,1)}}if(r>0){var n=t.origidxs,u=n[0],p=neworders[u].prodid,o=neworders[u].changedPrice,m=neworders[u].togo,h=neworders[u].option,g=neworders[u].extras,f=neworders[u].price,b=neworders[u].unit,v=neworders[u].unitamount,A=neworders[u].phase;for(s=0;s<r;s++)addProductToNewOrders(p,h,g,o,m,f,b,v,A)}showNewOrders()}var taxtype="normal",prodsToPayList=[],prodsToPayListGrouping=[],prodsOnReceiptList=[],prodsOnReceiptListGrouping=[],prodsaccounted=[],doPrint=!1,showItemsPerPrintJob=!1;function startCashProcess(){prodsaccounted=[],displayRightButtons(),getAndShowPayItems(!0)}function getAndShowPayItems(e){if("paydesk"===panelMode){var t=0;null!=selectedroomindex?selectedroomindex>=0?null!=selectedtableindex?(t=roominfo.roomstables[selectedroomindex].tables[selectedtableindex].id,taxtype="normal"):t=null:(tabeid=0,taxtype="togo"):t=null,showItemsPerPrintJob=!1,1==billprintjobs||2==billprintjobs&&0==t?(showItemsPerPrintJob=!0,$("#billprintjobspanel").show()):$("#billprintjobspanel").hide(),null!=t?e?doAjax("GET","php/contenthandler.php?module=queue&command=getJsonProductsOfTableToPay",{tableid:t},showProductsToPayInit,"Fehler bei der Daten\xfcbermittlung",!0):doAjax("GET","php/contenthandler.php?module=queue&command=getJsonProductsOfTableToPay",{tableid:t},showProductsToPayCycle,"Fehler bei der Daten\xfcbermittlung",!0):(prodsToPayList=[],displayProdsToPayForTable(),displayProdsOnReceipt())}}function showProductsToPayInit(e){showProductsToPay(e,!0)}function showProductsToPayCycle(e){showProductsToPay(e,!1)}function showProductsToPay(e,t){if("OK"!==e.status&&(alert("Fehler: "+e.msg),4==e.code)){setTimeout(function(){document.location.href="index.html"},250);return}fillProdByPrintJobsList(prodsToPayList=e.msg),0===e.msg.length&&1==returntoorder?(unZoomTableMap(),goOrderDesk()):(displayProdsToPayForTable(),displayProdsOnReceipt()),t&&1==allprodstoreceipt&&doPayAllActions()}function putItemInSortedListToReceipt(e){if(void 0===prodsToPayListGrouping.sortedset){console.log("sortedset is empty - so no putItemInSortedListToReceipt can be performed");return}for(var t=0;t<prodsToPayListGrouping.sortedset.length;t++)for(var o=prodsToPayListGrouping.sortedset[t],n=o.ids,a=0;a<n.length;a++)if(n[a]==e){increaseAccountedNumber(o);return}}function displayProdsToPayForTable(){if(bindHostButton("#hostbutton"),0==prodsToPayList.length)$("#oben").html("Keine weiteren Artikel vorhanden.");else{(prodsToPayListGrouping=new Grouping(prodsToPayList,createHashOfPayableItem)).group();var e=prodsToPayListGrouping.outputList(createPayableItemListElement);$("#oben").html(e)}$(".payable").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=this.id,o=$(".payable").index(this);if(void 0===prodsToPayListGrouping.sortedset){console.log("sortedset is empty - so no payable can be added");return}var n=prodsToPayListGrouping.sortedset[o],a=aProdToPayIsClicked(n);updateAccounted(t,a,n.count),displayProdsOnReceipt()}),$("#payall").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),doPayAllActions()}),showItemsPerPrintJob&&$(".payallofprintjob").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();for(var t=prodsByPrintjob[this.id.split("_")[1]],o=0;o<t.length;o++)putItemInSortedListToReceipt(t[o].id);displayProdsToPayForTable(),displayProdsOnReceipt()}),$("#paydeskcash").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),doPrint=!1,1==showpayments?displayPayments():payWithoutPaymentDlg()}),$("#paydeskprint").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),doPrint=!0,1==showpayments?displayPayments():payWithoutPaymentDlg()})}function doPayAllActions(){if(void 0===prodsToPayListGrouping.sortedset){console.log("sortedset is empty - so no doPayAllActions can be performed");return}prodsToPayListGrouping.sortedset.length>0&&prodsToPayListGrouping.sortedset.forEach(function(e){var t=e.count;createHashOfPayableItem(e),setAccountedNumber(e,t)}),displayProdsToPayForTable(),displayProdsOnReceipt()}function displayPayments(){var e="";e+='<div id="paym_1" class="paymentitem" >'+payments[0].name+"</div>",e+="<br><hr><br>";for(var t=0;t<payments.length;t++){var o=payments[t],n=o.id,a=o.name;2==n&&1==showpayment2&&(e+='<div id="paym_'+n+'" class="paymentitem" >'+a+"</div>"),3==n&&1==showpayment3&&(e+='<div id="paym_'+n+'" class="paymentitem" >'+a+"</div>"),4==n&&1==showpayment4&&(e+='<div id="paym_'+n+'" class="paymentitem" >'+a+"</div>"),5==n&&1==showpayment5&&(e+='<div id="paym_'+n+'" class="paymentitem" >'+a+"</div>"),6==n&&1==showpayment6&&(e+='<div id="paym_'+n+'" class="paymentitem" >'+a+"</div>"),7==n&&1==showpayment7&&(e+='<div id="paym_'+n+'" class="paymentitem" >'+a+"</div>"),8==n&&1==showpayment8&&(e+='<div id="paym_'+n+'" class="paymentitem" >'+a+"</div>")}e+='<div id="paym_cancel" class="paymentcancel" >'+P_CANCEL[lang]+"</div>";var i="";i+='<table id ="calculatorarea" style="border: 1px solid black;display:none;width:100%;">',i+="<tr>",i+="<td><span id=topaytxt>Zahlen: </span><td><i><b><span id=topayval>0,00</span></b></i></tr>",i+='<tr><td><span id=haspaidtxt>Bezahlt: </span><td style="width:100px;color:yellow;"><input type="text" id="haspaid" value=""  placeholder="" style="width:150px;"/>',i+="</tr>",i+='<tr><td><span id=tiptxt>Trinkg.: </span><td style="width:100px;color:yellow;"><input type="text" id="tipfield" value="" placeholder="" style="width:150px;"/>',i+='<tr><td><span id="rettxt">Zur\xfcck: </span><td><i><b><span id="topayback" style="background-color:#ffff99;">0,00</span></b></i><span id=curtopay2></span></td></tr>',i+="</tr>",i+="<tr>",i+='<td colspan=5><button id="calcreturnbtn" type="submit" ><span id="calcreturn">Berechne</span></button>',i+="</tr>",i+="</table>",$("#selectiondialog").html(i+e),setCalcModusBtn();var r=$("#priceinreceipt2").html().replace(".",decpoint);fillValuesInCalc(r,decpoint,currency),bindCalcReturn();var l=600;1==paymentconfig&&(l=380),$("#selectiondialog").dialog({autoOpen:!1,modal:!0,height:l,buttons:{Abbrechen:function(){$(this).dialog("close")}}}),$("#selectiondialog").dialog("open"),bindPayment()}function payWithoutPaymentDlg(){startPayProcess(1,"","","",null)}function bindPayment(){$(".paymentcancel").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),$("#selectiondialog").dialog("close")}),$(".paymentitem").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault();var t=this.id.split("_")[1];if(currentPaymentId=t,$("#selectiondialog").dialog("close"),currentPaymentId==PAYMENT_HS3||currentPaymentId==PAYMENT_GUEST){if($("#hoteldialog").dialog({autoOpen:!1,modal:!0,height:400,width:500,buttons:{Abbrechen:function(){$(this).dialog("close")}}}),""!==$("#tipfield").val().trim()){alert("Bei Gast- oder Hotelbuchung ist keine Trinkgeldbezahlung vorgesehen.");return}$("#hoteldialog").dialog("open"),$("#roomguesttextfield").val(""),bindhotelinterface(currentPaymentId);return}var o=checkAndCalcRightTip(decpoint,calcmodus);if("OK"!==o.status){alert(o.msg);return}startPayProcess(t,"","","",o.value)})}function bindhotelinterface(e){generateGuestResult($("#roomguesttextfield").val(),!1,e),$("#roomguesttextfield").off("keyup").on("keyup",function(t){generateGuestResult($("#roomguesttextfield").val(),!1,e)}),$("#paym_hotel").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),$("#hotelroomfoundguest").data("reservation");var t=$("#hotelroomfoundguest").data("guest"),o=$("#hotelroomselection").find(":selected").val();if(void 0!=o){var t=guests[o],n="";currentPaymentId==PAYMENT_GUEST&&(n=(t=internalguests[o]).id),startPayProcess(currentPaymentId,t.reservationid,t.object+" - "+t.guest,n,null),$("#hoteldialog").dialog("close")}else alert("Kein Gast ausgew\xe4hlt")})}function generateGuestResult(e){if(""==(e=e.trim().toLowerCase())){$("#hotelroomselection").html("");return}var t="",o=!1;$.each(guests,function(n,a){var i=a.object,r=a.guest,l=i.toLowerCase().indexOf(e)>=0,s=r.toLowerCase().indexOf(e)>=0;(l||s)&&(o?t+='<option value="'+n+'" >'+toHtml(i+" - "+r)+"</option>":(o=!0,t+='<option value="'+n+'" selected>'+toHtml(i+" - "+r)+"</option>"))}),$("#hotelroomselection").html(t)}function updateAccounted(e,t,o){t===o?($("#"+e).removeClass("paystillopen"),$("#"+e).removeClass("payallaccounted"),$("#"+e).removeClass("payitemnormborder"),$("#"+e).addClass("payallaccounted"),$("#"+e).addClass("payitemoffborder")):($("#"+e).removeClass("paystillopen"),$("#"+e).removeClass("payallaccounted"),$("#"+e).removeClass("payitemoffborder"),$("#"+e).addClass("paystillopen"),$("#"+e).addClass("payitemnormborder")),0===t?$("#"+e+" .payitemaccounted").html(""):$("#"+e+" .payitemaccounted").html(t)}function getProdAccountedEntry(e){for(var t=createHashOfPayableItem(e),o=0;o<prodsaccounted.length;o++){var n=prodsaccounted[o];if(t===n.hash)return n}return null}function increaseAccountedNumber(e){var t=getProdAccountedEntry(e);if(null!==t)t.count=t.count+1;else{var o={hash:createHashOfPayableItem(e),count:1};prodsaccounted[prodsaccounted.length]=o}}function setAccountedNumber(e,t){var o=getProdAccountedEntry(e);if(null!==o)o.count=t;else{var n={hash:createHashOfPayableItem(e),count:t};prodsaccounted[prodsaccounted.length]=n}}function aProdToPayIsClicked(e){var t=getProdAccountedEntry(e);if(null!==t)return t.count<e.count?(t.count=t.count+1,t.count):(t.count=0,0);var o={hash:createHashOfPayableItem(e),count:1};return prodsaccounted[prodsaccounted.length]=o,1}function displayProdsOnReceipt(){createProdsOnReceiptList(),(prodsOnReceiptListGrouping=new Grouping(prodsOnReceiptList,createHashOfPayableItem)).group(),createAllEntriesInReceipt()}function createHashOfPayableItemWithoutTax(e){var t=e.longname;"A"!=e.pricelevelname&&(t+=" ("+e.pricelevelname+")"),t+=" - "+parseFloat(e.price).toFixed(2).replace(".",decpoint),1==e.togo&&(t="To-Go: "+t);for(var o=[],n=e.extras,a=0;a<n.length;a++){var i=n[a];o[o.length]="+ "+toHtml(i)}var r="<p>"+o.join("<br>");return toHtml(t)+r}function createHashOfPayableItem(e){var t="{{"+parseFloat(e.tax).toFixed(2).replace(".",decpoint)+"}}";return createHashOfPayableItemWithoutTax(e)+toHtml(t)}function createPayableItemListElement(e){var t="",o=1;"count"in e&&e.count>1&&(t=e.count+"x ",o=e.count);var n=!1,a=getProdAccountedEntry(e),i="";null!==a&&(0!=a.count&&(i=a.count),a.count==o&&(n=!0));var r="";if(n){if(0==preferimgdesk)r='<div id="payable_'+e.id+'" class="payitem payitemoffborder payable payallaccounted"><div class=\'payitemmain\'>'+t+createHashOfPayableItemWithoutTax(e)+"</div><div class='payitemaccounted'>"+i+"</div></div>";else{var l="php/contenthandler.php?module=products&command=getprodimage&prodid="+e.prodid+"&size=m",s="<span class='whitebackground'>"+t+createHashOfPayableItemWithoutTax(e)+"</span>";r='<div id="payable_'+e.id+'" class="payitem payitemoffborder payable payallaccounted"  style="background-image: url(\''+l+"'); background-size: cover; background-repeat: no-repeat;  background-position: center center; \" ><div class='payitemmain'>"+s+"</div><div class='payitemaccounted'>"+i+"</div></div>"}}else if(0==preferimgdesk)r='<div id="payable_'+e.id+'" class="payitem payitemnormborder payable paystillopen"><div class=\'payitemmain\'>'+t+createHashOfPayableItemWithoutTax(e)+"</div><div class='payitemaccounted'>"+i+"</div></div>";else{var l="php/contenthandler.php?module=products&command=getprodimage&prodid="+e.prodid+"&size=m",c="<span class='whitebackground'>"+t+createHashOfPayableItemWithoutTax(e)+"</span>";r='<div id="payable_'+e.id+'" class="payitem payitemnormborder payable paystillopen"  style="background-image: url(\''+l+"'); background-size: cover; background-repeat: no-repeat;  background-position: center center; \" ><div class='payitemmain'>"+c+"</div><div class='payitemaccounted'>"+i+"</div></div>"}return r}function createOnReceiptItemListElement(e){var t="";return"count"in e&&e.count>1&&(t=e.count+"x "),'<div id="payable_'+e.id+'" class="payitem onreceipt">'+t+createHashOfPayableItem(e)+"</div>"}function getProdOfAllProdsWithHash(e){if(void 0===prodsToPayListGrouping.sortedset)return console.log("sortedset is empty - so no getProdOfAllProdsWithHash can be performed"),null;for(var t=prodsToPayListGrouping.sortedset,o=0;o<t.length;o++){var n=t[o];if(createHashOfPayableItem(n)===e)return n}return null}function createProdsOnReceiptList(){prodsOnReceiptList=[];for(var e=0;e<prodsaccounted.length;e++){var t=prodsaccounted[e],o=getProdOfAllProdsWithHash(t.hash);for(j=0;j<t.count;j++)prodsOnReceiptList[prodsOnReceiptList.length]=clonePayableItem(o)}}function clonePayableItem(e){return{extras:e.extras,id:e.id,ids:e.ids,longname:e.longname,price:e.price,pricelevelname:e.pricelevelname,prodid:e.prodid,tax:e.tax,togo:e.togo,unit:e.unit,unitamount:e.unitamount}}function createAllEntriesInReceipt(){for(var e=[],t=0;t<prodsOnReceiptList.length;t++){var o=prodsOnReceiptList[t];e=addEntryOrIncreaseCount(e,{prodid:o.prodid,queueid:o.id,longname:o.longname,price:o.price,tax:o.tax,togo:o.togo,extras:o.extras,pricelevelname:o.pricelevelname})}var n=createReceiptHeader();n+=generateProdPart(decpoint,e);var a=$("#info-page").data("usstGerVal");"togo"==$("#info-page").data("taxtype")&&(a=$("#info-page").data("togoTaxGerVal"));var i=listTaxesBasedOnUntenList(decpoint);n+=createReceiptFooter(a,lang,i),showHostTemplate&&(n+=hostTemplate);var r="<table><br>"+n+"</table>";$("#receiptpanel").html(r),calcSum(),updateLivePayOrders(prodsOnReceiptList,getTableid());var l=$("#receiptpart").html();$("#info-page").data("receipthtml",l),displayRightButtons()}function getTableName(){return null!=selectedtableindex?roominfo.roomstables[selectedroomindex].tables[selectedtableindex].name:"-1"==selectedroomindex?"Zum Mitnehmen":null}function createReceiptHeader(){return genCreateReceiptHeader(0,"",getTableName(),loggedinUser,currency,"",null)}function createReceiptFooter(e,t,o){return genCreateReceiptFooterNoSum(e,0,"",o)}function getQueueIdsDueToCountOfItem(e){for(var t=[],o=e.hash,n=e.count,a=0;a<prodsToPayList.length;a++){var i=prodsToPayList[a];if(createHashOfPayableItem(i)===o&&(t[t.length]=i.id,t.length>=n))break}return t}function _getTableId(){var e=0;return -1!=selectedroomindex&&(e=null!=selectedtableindex?roominfo.roomstables[selectedroomindex].tables[selectedtableindex].id:0),e}function startPayProcess(e,t,o,n,a){getTableName();var i=_getTableId(),r=$("#info-page").data("usst");"togo"==$("#info-page").data("taxtype")&&(r=$("#info-page").data("togotax")),checkForLogIn();for(var l=[],s=0;s<prodsaccounted.length;s++){var c=prodsaccounted[s];0!=c.count&&$.merge(l,getQueueIdsDueToCountOfItem(c))}var u={ids:l=l.join(),tableid:i,paymentid:e,declareready:1,host:showHostTemplate?1:0,reservationid:t,guestinfo:o,intguestid:n,camefromordering:1};null!==a&&(u.tip=a),$.ajax({type:"POST",dataType:"json",data:u,url:"php/contenthandler.php?module=queue&command=declarePaidCreateBillReturnBillId",async:!1,success:function(e){showHostTemplate=!1;var t=e.status,o=e.msg;if("ERROR"!=t){if(billid=o.billid,billdate=o.date,billid<0)alert("Fehler! Wurden Produkte ausgew\xe4hlt? Bitte erneut versuchen. Error code: "+billid);else{requestRoomInformation();var n=$("#info-page").data("billlanguage");if($("#billid").html(P_ID[n]+billid),$("#billdate").html(billdate),doPrint){if("s"===$("#info-page").data("payPrintType"))printBill(billid);else{$("#oben").hide();var a="<table>"+$(".receipttable").html()+"</table>";printContent(a)}}cheaptestAlreadySubtracted=!1,startCashProcess()}}else alert("Fehler: "+o)},error:function(e){alert("Sorry, there was a problem! "+e)}})}var P_DESCR=["Beschreibung","Description","Descripci\xf3n"],P_PRICE=["Preis","Price","Precio"],P_TOTAL=["Total","Total","Total"],P_ID=["Id:","Id:","Id:"],P_ROOMSEL=["Raumauswahl","Room selection","Selecci\xf3n de espacio"],P_PAYDESK_ACTIONS=["Kassenaktionen","Paydesk actions","Acciones de caja"],P_BAR_INPUT=["Bareinlage/-auslage","Input and output money","Insertar/Extrahir dinero"],P_BAR_GET=["Barentnahme","Take money","Sacar dinero"],P_BAR_SUM=["Einnahmen","Revenue","Cobro"],P_TITLE=["Kasse","Paydesk","Caja"],P_TABLE=["Tisch","Table","Mesa"],P_TABLE_SEL=["Tischauswahl","Select table","Qu\xe9 mesa?"],P_NOT_PAID=["Ausstehend f\xfcr ","Not paid for ","Impagado para "],P_OPS=["Operationen","Operations","Operaciones"],P_ALL=["Alles","All","Todo"],P_CONTENT_RECEIPT=["Inhalt Kassenbon","Content of receipt","Contenido del tique"],P_ONLY_PAY=["Nur Zahlung","Only pay","Solo pagar"],P_PAY_PRINT=["Bondruck","Pay+Print","Pagar+Imprimir"],P_CHANGE_CALC=["Wechselgeldrechner:","Change Calculator:","Calculadora de Cambio:"],P_TOTALSUM=["Summe","Sum","Total"],P_CHOOSE_PAYWAY=["Auswahl der Zahlungsart:","Selection of method of payment:","Selecci\xf3n del modo de pago:"],P_CANCEL=["Abbrechen","Cancel","Cancelar"],P_CASHTAKEOUT=["Barentnahme aus der Kasse","Cash take-out","Sacar dinero"],P_CASHTAKIN=["Barein-/auslage in/aus Kasse","Cash insert/extract","Insertar/exportar dinero"],P_AMOUNT=["Betrag:","Amount:","Valor:"],P_OVERVIEW=["\xdcbersicht Kellnerkasse","Overview waiter purse","Resumen cartera de bolsillo"],P_PUT_IN=["Einlegen/Entnehmen","Insert/Take out","Insertar"],P_TAKE_OUT=["Entnehmen","Take out","Sacar"],P_OVERV_DETAILS=["Diese \xdcbersicht zeigt die Einnahmen durch den Kellner pro Zahlungsweg seit der letzten Tageslosung sowie als weiteren Wert den Kassenstand unter Ber\xfccksichtigung der eigenen Eingaben und Entnahmen.","This overview contains the amount of money of this waiter since the last closing as well as the total amount of money including the own cash insert and take-out actions.","Este resumen contiene todo el dinero del camarero, y tambi\xe9n el dinero incluido con acciones de insertar y sacar."],P_CASH_SUM=["Bewirtungseinnahmen (ohne Ein-/Auslagen):","Cash by payment (without inserts/take-outs):","Cobro (sin tomas/entradas):"],P_INCLUDE_OWN=["<b>Bar</b>bestand inkl. eigener Kassenein-/auslagen:","Cash incl. own cash insert/take-outs:","Cash  incl. tomas y entradas proprias:"],P_NO_ELEM=["Keine Rechnungselemente","No items selected","Ning\xfan producto selecionado"],P_NO_ELEM_DETAILS=["Es wurden keine abrechenbaren Produkte festgelegt (der Bon ist leer!).","There are no selected items. The receipt is empty!","No hay ning\xfan elemento seleccionado para pagar."],P_CASHACTION_OK=["Kassenaktion abgeschlossen.","Action completed.","Acci\xf3n terminado."],P_NAV=["Navigation","Navigation","Navigaci\xf3n"],P_ORDER_ACTION=["-> Bestellansicht","-> Order view","-> Vista de Orden"],P_TO_PAY=["Zu zahlen: ","To pay: ","Pagar total: "],P_PAY_RETURN=["Zur\xfcck: ","Return: ","Torna: "],P_CALC_PAYBACK=["Berechne","Calculate","Calcular"],P_HAS_PAID=["Bezahlt: ","Paid: ","Pagado: "],P_TOGO=["Au\xdfer-Haus-Verkauf","Sale with Tax No 2","Venta IVA 2"],P_TIP=["nur Trinkg.: ","Only tip: ","Solo prop.: "],P_TOTAL_INCL_TIP=["Zielbetrag:","Target pay:","Quiere pagar:"],CALC_TIP_TXT=["Angabe extra Trinkg.","Do Tip separate","Propina individual"],CALC_TOTAL_TXT=["Angabe inkl. Trinkg.","Do Tip incl.","Propina incl."],P_GUESTS=["G\xe4ste","Guests","Habitaciones"],P_OF_WORK_RECEIPT=[" von Arbeitsbon ","of work receipt "," del ticket de trabajo "],P_OF_ORDER_JOB=[" von Lieferauftrag "," of Order/Delivery "," de la Entrega "],P_FOR=["f\xfcr","for","para"],P_BILL_TITLE=["Rechnung","Bill","Factura"],CALC_NONE=0,CALC_TOTAL=1,CALC_TIP=2,showHostTemplate=!1,guests=[],internalguests=[],hotelinterface=0,PAYMENT_CARD=2,PAYMENT_HS3=7,PAYMENT_GUEST=8,currentPaymentId=7,showpayments=1,showpayment2=1,showpayment3=1,showpayment4=1,showpayment5=1,showpayment6=1,showpayment7=1,showpayment8=1,forceprint=0,showhostprint=1,billprintjobs=0,prodsByPrintjob=[],prodsByOrder=[],currentSelectedIsTogo=!1,usercandocashop=0,allprodstoreceipt=0,deskviewname="",lastCalcBruttoSum=0,cheaptestAlreadySubtracted=!1,allowminuscheapest=0,showreceiptinpaydesk=1;function getGeneralConfigItems(){doAjax("GET","php/contenthandler.php?module=admin&command=getGeneralConfigItems",null,insertGeneralConfigItems,"Fehler Konfigurationsdaten")}function getPayments(e){doAjax("GET","php/contenthandler.php?module=admin&command=getPayments",null,e,"Fehler Zahlungswege")}function insertGeneralConfigItems(e){if("OK"===e.status){var t=e.msg;decpoint=t.decpoint,$("#info-page").data("decpoint",t.decpoint),currency=t.currency,usercandocashop=t.usercandocashop,allprodstoreceipt=t.allprodstoreceipt,deskviewname=t.deskviewname;var o=t.tax,n=o.replace(".",decpoint);$("#info-page").data("usstGerVal",n),$("#info-page").data("usst",o),n=(o=t.togotax).replace(".",decpoint),$("#info-page").data("togoTaxGerVal",n),$("#info-page").data("togotax",o),$("#info-page").data("companyinfo",t.companyinfo),$("#info-page").data("payPrintType",t.payprinttype),$("#info-page").data("currency",t.currency),$("#info-page").data("billlanguage",t.billlanguage),$("#info-page").data("userlanguage",t.userlanguage),receiptfontsize=parseInt(t.receiptfontsize),$("#receiptpart").css("font-size",receiptfontsize+"px"),paymentconfig=t.paymentconfig,t.usetse,showpayments=t.showpayments,showpayment2=t.showpayment2,showpayment3=t.showpayment3,showpayment8=t.showpayment8,showpayment7=t.showpayment7,showpayment4=0,showpayment5=0,showpayment6=0,forceprint=t.forceprint,$("#curtopay2").html(" "+t.currency),workflowconfigfood=t.workflowconfig,workflowconfigdrinks=t.workflowconfigdrinks,digigopaysetready=t.digigopaysetready,showhostprint=t.showhostprint,restaurantmode=t.restaurantmode,billprintjobs=t.billprintjobs,sumupforcard=t.sumupforcard,affiliatekey=t.affiliatekey,appid=t.appid,serverurl=t.serverurl,allowminuscheapest=t.allowminuscheapest,showreceiptinpaydesk=parseInt(t.showreceiptinpaydesk),serverurl.endsWith("/")&&(serverurl=serverurl.substr(0,serverurl.length-1)),$("#desktopviewname").html(deskviewname),setLanguage(t.userlanguage)}else $("#contentpart").hide(),setTimeout(function(){document.location.href="index.html"},250)}function addEntryOrIncreaseCount(e,t){var o=0,n=!1,a=t.prodid+"-"+t.extras.join("_")+t.price+"-"+t.pricelevelname+"#"+t.tax+"_"+t.togo;for(o=0;o<e.length;o++){var i=e[o];i[2]==a&&(i[0]+=1,n=!0)}return n||e.push([1,t,a]),e}function genCreateReceiptHeader(e,t,o,n,a,i,r){var l='style="border: solid black 0px;padding: 3px;text-align:right;vertical-align:bottom;"',s=P_TABLE[e]+" "+o,c=P_WAITER[e]+" "+n,u="";return u+="<tr><td colspan=6>&nbsp;</tr>",u+="<tr><td colspan=4>"+s+'			<td id="billid" colspan=2 '+l+">ID:"+t+"</tr>",u+='<tr><td colspan=4>&nbsp;<td id="billdate" colspan=2 '+l+"></tr>",u+="<tr><td colspan=6>"+c+"</tr>",u+="<tr><td colspan=6>&nbsp</tr>",""!=i&&(u+="<tr><td colspan=6>Gast: "+toHtml(i)+"</tr>",u+="<tr><td colspan=6>&nbsp</tr>"),null!=r&&(u+="<tr><td colspan=6>Zahlungsweg: "+r+"</tr>",u+="<tr><td colspan=6>&nbsp</tr>"),u+="<tr><td>"+P_NO[e]+"<td colspan=3>"+P_DESCR[e]+"<td "+l+">"+P_PRICE[e]+"<td "+l+">"+P_TOTAL[e]+"</tr>"}function genCreateReceiptFooterNoSum(e,t,o,n){return genCreateReceiptFooter(e,t,o,"","","",n)}function genCreateReceiptFooter(e,t,o,n,a,i,r){var l='style="border: solid black 0px;padding: 3px;text-align:right;vertical-align:bottom;"',s="<tr><td colspan=6>&nbsp</tr>",c=s;c+="<tr><td colspan=2>"+P_MWST[t]+"%		<td "+l+">"+P_MWST[t]+"<td "+l+">"+P_NETTO[t]+"<td "+l+" colspan=2>"+P_BRUTTO[t]+"</tr>";for(var u=0;u<r.length;u++){var p=r[u];c+='<tr><td id="taxval'+(p=p.replace(",","-"))+'" colspan=2><td id="mwst'+p+'" '+l+">"+n+'<td id="netto'+p+'" '+l+">"+a+'<td id="brutto'+p+'" '+l+" colspan=2>"+i+"</tr>"}return c+=s,c+="<tr><td>	&nbsp;	<td colspan=3>"+P_SUM[t]+'<td id="priceinreceipt2" '+l+" colspan=2>"+i+"</td></tr>",c+=s,c+='<tr><td style="text-align:center;vertical-align:bottom;" colspan=6><center>&nbsp;<br>',c+=toHtml(o).replace(/(?:\r\n|\r|\n)/g,"<br />"),c+="</center></tr>"}function generateOneProdLine(e,t,o,n,a,i){var r='style="border: solid black 0px;padding: 3px;text-align:right;vertical-align:bottom;"',l=parseFloat(o).toFixed(2).replace(".",a);"A"!=n&&(t+=" ("+n+")"),1==i&&(t="To-Go: "+t);var s,c="<tr>",u=(e*o).toFixed(2).replace(".",a);return 0==e&&(e="",l="",u=""),c+='<td style="border: solid black 0px;padding: 3px;text-align:center;vertical-align:bottom;" id="count">'+e+'<td colspan=3 style="white-space: nowrap;overflow: hidden;text-overflow:ellipsis;width: 60%;">'+t,c=c+"<td "+r+">"+l,c+="<td "+r+">"+u+"</tr>"}function generateProdPartByDbContent(e,t){var o=0;for(o=0,tablecontent="";o<t.length;o++){var n,a=t[o],i=a.count,r=a.productname;tablecontent+=generateOneProdLine(i,r,a.price,a.pricelevel,e)}return tablecontent}function listTaxes(e,t){for(var o=[],n=0;n<e.length;n++){var a=parseFloat(String(e[n]));a=a.toFixed(2).replace(".",t),0>o.indexOf(a)&&(o[o.length]=a)}return o}function listTaxesBasedOnUntenList(e){for(var t=[],o=0;o<prodsOnReceiptList.length;o++){var n=prodsOnReceiptList[o];t.push(n.tax)}return listTaxes(t,e)}function calcSum(){for(var e=listTaxesBasedOnUntenList(decpoint),t=[],o=[],n=[],a=0;a<e.length;a++)t[a]=0,o[a]=0,n[a]=0;for(var i=0,r=0,l=0,s=0;s<prodsOnReceiptList.length;s++){var c=prodsOnReceiptList[s],u=parseFloat(c.price),p=c.tax,m=parseFloat(p);p=p.replace(".",decpoint);for(var h=u/(1+m/100),g=u-h,f=0,a=0;a<e.length;a++)e[a]==p&&(f=a);t[f]=t[f]+h,o[f]=o[f]+u,n[f]=n[f]+g,i+=h,r+=u,l+=g}for(var b=0;b<e.length;b++){var m=e[b],v=m.replace(",","-");$("#taxval"+v).html(m+"%"),$("#mwst"+v).html(n[b].toFixed(2).replace(".",decpoint)),$("#netto"+v).html(t[b].toFixed(2).replace(".",decpoint)),$("#brutto"+v).html(o[b].toFixed(2).replace(".",decpoint))}billbrutto=r,billnetto=i,$("#priceinreceipt").html(r.toFixed(2).replace(".",decpoint)+" "+currency),$("#priceinreceipt2").html(r.toFixed(2).replace(".",decpoint)+" "+currency),lastCalcBruttoSum=r}function bindCashButton(){$("#cashbutton").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),$("#cashdlg").dialog({autoOpen:!1,modal:!0,height:520,width:500,buttons:{Abbrechen:function(){$(this).dialog("close")},"Einlegen/Entnehmen":function(){cashOperation()}}}),$("#includeowncash").html(P_INCLUDE_OWN[lang]),$("#cashmoney").val(""),$("#cashremark").val(""),$("#cashdlg").dialog("open"),doAjax("POST","php/contenthandler.php?module=bill&command=getCashOverviewOfUser",null,insertCashValues,"Fehler Kassenaktion"),$(".ui-dialog-buttonset .ui-button").css("font-weight","bold"),$(".ui-dialog-buttonset .ui-button").css("color","black"),$(".ui-dialog-buttonset .ui-button:nth-child(2)").css("background-color","#e0e0d1"),$(".ui-dialog-buttonset .ui-button:nth-child(2)").css("background-color","#ccff99"),$(".ui-dialog-buttonset .ui-button:nth-child(3)").css("background-color","#ffcc99")})}function insertCashValues(e){if("OK"!==e.status){$("#cashbyguests").html(""),$("#onlycashsum").html(""),$("#cashtotal").html(""),$(".currencyplaceholder").html(""),alert(e.msg);return}var t=generateCashOverviewOfUser(e.cashperpayments);$("#cashbyguests").html(t);var o=parseFloat(e.onlycash);$("#onlycashsum").html(o.toFixed(2).replace(".",decpoint)),$("#cashtotal").html(parseFloat(e.total).toFixed(2).replace(".",decpoint)),$(".currencyplaceholder").html(currency)}function cashOperation(){var e=$("#cashmoney").val().replace(",",".");if(isNaN(e))alert("Keine Zahl!");else{$("#cashdlg").dialog("close");var t=$("#cashremark").val(),o=$("#cashtype").val();if(!checkForCashActionAndUserWill(o,e)){alert("Abbruch");return}doAjax("POST","php/contenthandler.php?module=bill&command=doCashAction",{money:e,remark:t,cashtype:o},handleCashActionResult,"Fehler Kassenaktion")}}function handleCashActionResult(e){"ERROR"===e.status?alert("Fehler "+e.msg):"OK"==e.status&&alert(P_CASHACTION_OK[lang])}function _findChepestPriceEntry(e){var t=Number.MAX_VALUE,o=null;return e.forEach(function(e){var n=parseFloat(e.price);n<t&&(t=n,o=e)}),o}function bindMinusCheapestButton(e){$("#minuscheapest").off("click").on("click",function(t){if(t.stopImmediatePropagation(),t.preventDefault(),cheaptestAlreadySubtracted)alert("Billigstes Produkt wurde bereits in Negation hinzugef\xfcgt");else{var o=_findChepestPriceEntry(prodsOnReceiptList);if(null!==o){var n=0-o.price;0!=o.unit&&(n=1*n/o.unitamount);var a={id:o.id,name:o.longname,option:"",prodid:o.prodid,price:0-o.price,tax:o.tax,extras:[],changedPrice:n,togo:o.togo,unit:o.unit,unitamount:o.unitamount,phase:0,viewmode:e},i=0,r={tableid:i="desktop"===e?_getTableId():$("#info-page").data("tid"),prods:[a],print:0,payprinttype:"s"};doAjaxTransmitData("POST","php/contenthandler.php?module=queue&command=addProductListToQueue",r,_addedCheapestProd,"Fehler Produktbuchung",a)}}})}function _addedCheapestProd(e,t){if("OK"===e.status){var o=t.viewmode,n={count:1,extras:[],id:e.queueids[0],longname:t.name,orderid:null,ordername:"",price:t.price,privelevelname:"A",printjobid:0,prodid:t.prodid,prodimageid:0,tax:t.tax,togo:t.togo,pricelevelname:"A"};"mobile"===o&&(prodsOnReceiptList[prodsOnReceiptList.length]=n,displayProdsOnReceipt(),$("#minuscheapest").hide()),"desktop"===o&&(prodsToPayList[prodsToPayList.length]=n,aProdToPayIsClicked(n),displayProdsToPayForTable(),displayProdsOnReceipt()),cheaptestAlreadySubtracted=!0}else alert("Fehler: "+e.msg)}function bindHostButton(e){1==showhostprint&&$("#hostbutton").off("click").on("click",function(t){t.stopImmediatePropagation(),t.preventDefault(),showHostTemplate=!showHostTemplate,null!=e&&($(e).removeClass("ui-icon-check"),$(e).removeClass("ui-icon-delete"),$(e).removeClass("btnswitchoff"),$(e).removeClass("btnswitchon"),showHostTemplate?($(e).addClass("ui-icon-check"),$(e).addClass("btnswitchon")):($(e).addClass("ui-icon-delete"),$(e).addClass("btnswitchoff"))),0==$("#info-page").data("billlanguage")?createAllEntriesInReceipt():0==lang?alert("Bewirtungsbeleg steht nur f\xfcr deutsche Kassenbons zur Verf\xfcgung."):1==lang?alert("Bewirtungsbeleg is only possible for German receipts."):2==lang&&alert("Bewirtungsbeleg se puedo usar solo para tiques alemanes.")})}function printBill(e){doAjax("POST","php/contenthandler.php?module=printqueue&command=queueReceiptPrintJob",{billid:e,useaddrecprinter:1},null,"Druckfehler")}function generateGuestResult(e,t,o){if($("#hotelroomfoundguest").html(""),""==(e=e.trim().toLowerCase())){$("#hotelroomselection").html(""),t&&$("#hotelroomselection").selectmenu("refresh");return}var n="",a=!1,i=0,r="",l=guests;o==PAYMENT_GUEST&&(l=internalguests),$.each(l,function(t,o){var l=o.object.toString(),s=o.guest,c=l.toLowerCase().indexOf(e)>=0,u=s.toLowerCase().indexOf(e)>=0;(c||u)&&(i++,r=toHtml(l+" - "+s),a?n+='<option value="'+t+'" >'+toHtml(l+" - "+s)+"</option>":(a=!0,n+='<option value="'+t+'" selected>'+toHtml(l+" - "+s)+"</option>"))}),1===i&&$("#hotelroomfoundguest").html(r),$("#hotelroomselection").html(n),t&&$("#hotelroomselection").selectmenu("refresh")}function generateCashOverviewOfUser(e){for(var t="",o=0;o<e.length;o++){var n=e[o];t+=n.payment+": <b>"+parseFloat(n.value).toFixed(2).replace(".",decpoint)+"</b> "+currency+"<br>"}return t}function fillProdByPrintJobsList(e){prodsByPrintjob=[];for(var t=e.length,o=0;o<t;o++){var n=e[o],a=n.printjobid;if(0!=a){if(a in prodsByPrintjob){var i=prodsByPrintjob[a];i[i.length]=n}else prodsByPrintjob[a]=[n]}}}function fillProdByOrders(e){prodsByOrder=[],e.forEach(function(e){var t=e.orderid;if(e.ordername,t in prodsByOrder){var o=prodsByOrder[t];o[o.length]=e}else prodsByOrder[t]=[e]})}function setCalcModusBtn(){calcmodus==CALC_TOTAL?($("#payway").html(P_CHANGE_CALC[lang]),$("#calculatorarea").show(),$("#totalpricearea").hide(),$("#calcmodus").html("-&gt; "+CALC_TIP_TXT[lang]),$("#tiptxt").html(P_TOTAL_INCL_TIP[lang])):calcmodus==CALC_TIP?($("#payway").html(P_CHANGE_CALC[lang]),$("#calculatorarea").show(),$("#totalpricearea").hide(),$("#calcmodus").html("-&gt; "+CALC_TOTAL_TXT[lang]),$("#tiptxt").html(P_TIP[lang])):($("#payway").html(P_TOTALSUM[lang]),$("#totalpricearea").show(),$("#calculatorarea").hide())}function fillValuesInCalc(e,t,o){$("#topayval").html(e),$("#totalpricearea").html(e),$("#haspaid").attr("placeholder",e),$("#haspaid").val(""),$("#topayback").html("0"+t+"00"),$("#tipfield").attr("placeholder","0.00".replace(".",t)+" "+o),$("#tipfield").val("")}function bindCalcReturn(){$("#calcreturnbtn").off("click").on("click",function(e){e.stopImmediatePropagation(),e.preventDefault(),calcChangeMoney()})}function checkForCashActionAndUserWill(e,t){var o=!0;return 7==e&&t>0?o=confirm("\xdcblicherweise wird die Einnahme f\xfcr Trinkgeld beim Kassieren registriert und die \xdcbergabe an den Arbeitnehmer als Entnahme aus der \xfcber diesen Dialog angezeigt. Bei einem positiven Betrag sagen Sie jedoch, dass Sie Trinkgeld f\xfcr den Arbeitnehmer einlegen. Ist das gewollt?"):1==e&&t>0?o=confirm("Ein positiver Betrag sagt aus, dass Geld als Privateinlage in die Kasse eingelegt werden soll. Ist das gewollt?"):1==e&&t<=0?o=confirm("Ein negativer Betrag sagt aus, dass Geld als Privatentnahme aus der Kasse entnommen werden soll. Ist das gewollt?"):3==e&&t>0?o=confirm("Normalerweise nutzt man den Geldtransit, um zu beschreiben, dass Geld aus der Kasse entnommen wird. Ein positiver Betrag sagt jedoch aus, dass Geld in die Kasse gelegt werden soll. Ist das gewollt?"):6==e&&t>0&&(o=confirm("Bei einer Auszahlung wird ein negativer Betrag erwartet, weil der Kasse Geld entnomen wird. Wird jedoch ein positiver Betrag angegeben, w\xfcrden Sie das Gegenteil aufzeichnen. Ist das gewollt?")),o}function calcChangeMoney(){try{var e=$("#haspaid").val().trim(),t=parseFloat(e.replace(decpoint,".")),o=$("#topayval").html(),n=parseFloat(o.replace(decpoint,".")),a=0;if(calcmodus==CALC_TIP){var i=$("#tipfield").val().trim();i=""===i?0:parseFloat(i.replace(decpoint,".")),a=t-(n+i)}else{var r=$("#tipfield").val().trim();""==r?""==e?a="NaN":(a=t-n,$("#tipfield").val(o)):(r=parseFloat(r.replace(decpoint,".")),a=t-r)}if($.isNumeric(parseFloat(a))){var l=a.toFixed(2).replace(".",decpoint);$("#topayback").html(l)}else $("#topayback").html("?")}catch(s){$("#topayback").html("?")}}function valueWithoutCurrency(e){return e.split(" ")[0]}function checkAndCalcRightTip(e,t){var o=$("#tipfield").val().trim().replace(e,".");if(""!==(o=valueWithoutCurrency(o))&&isNaN(o))return{status:"ERROR",msg:"Trinkgeldfeld muss eine Zahl sein"};var n=parseFloat(o);return(""!==o&&t==CALC_TOTAL&&(n-=lastCalcBruttoSum),""===o&&(n=null),null!==o&&n<0)?{status:"ERROR",msg:"Negative Trinkgelder k\xf6nnen bei einer Abrechnung nicht angegeben werden."}:{status:"OK",value:n}}</script>
</head>

<style>


</style>

<body>

<div id="alertoverlay" onclick="alertoff();">
    <div id="alerttext"></div>
</div>

<div class="tableospage">
    <span id="waiterdesktopheader" class="header"><span id="desktopviewname">Kellneransicht</span> (<span
                id="panelmodetxt">Bestellung</span>) <img src="img/connection.png" class="connectionstatus"
                                                          style="display:none;"/> <img src="img/printerstatus.png"
                                                                                       class="printerstatus"
                                                                                       style="display:none;"/> <img
                src="img/tsestatus.png" class="tsestatus" style="display:none;"/> <img src="img/tasksstatus.png"
                                                                                       class="tasksstatus"
                                                                                       style="display:none;"/></span>
</div>


<?php
if (file_exists("customer/mywaiterdesktop.txt")) {
    readfile("customer/mywaiterdesktop.txt");
} else {
    readfile("waiterdesktopdefault.txt");
}

?>


<div class="tablefooter">
    <span id="loggedinuser"></span>
    <span id="versioninfo"></span>
</div>
</div>

<div id="selectiondialog" title="Auswahl" style="display:none;">Extras to select...</div>

<div id="hoteldialog" title="Auswahl" style='display:none;'>
    <h3><span id="hotelroomtitle">Hotelzimmer / Gast wählen</span></h3>
    <p>
    <form>
        <div id='hotelroomfoundguest'></div>
        <br>
        <div id='roomselectionarea'><select id='hotelroomselection' class='guestselectionlist'></select><br></div>
        <input id='roomguesttextfield' type="text" placeholder='Zimmer oder Gast' class='input100 inputwhite'/><br><br>
        <input id='paym_hotel' type='submit' value='Auf Zimmer schreiben' class='guestselectionbutton'/>
    </form>
</div>

<div id="unsentorderdlg" title="Achtung" style="display:none;">
    Die Bestellung wurde noch nicht abgeschlossen. Wollen Sie die Bestellung verwerfen?
</div>

<div id="mainmenudlg" title="Hauptmenü" style="display:none;">Hauptmenü</div>

<div id="actmenudlg" title="Aktion auswählen" style="display:none;">
    <header id="actprodinfo"><span id=actcountno>3x</span> <span id="actname">Warsteiner</span> (<span
                id="actpriceinfo">(1,00 Euro)</span>)
    </header>
    <div id="actareaforproducts">
        <div id="actcounttogo">
            <div id="actminusbtn" class="actbtn">-1</div>
            <div id="actplusbtn" class="actbtn">+1</div>


            <div id="acttogobtn" class="actbtn"><img id="togoicon" src="img/ok.png" style="display:none;"/><img
                        id="notogoicon" src="img/notavailable.png" style="display:none;"/> &nbsp; To-Go
            </div>
        </div>
        <div id="actnumberarea">
            <div class="actlabel">Anzahl:&nbsp;</div>
            <div>
                <input id="actnumberentryfield" class="input100 inputwhite" type="number" placeholder="Anzahl"/>
            </div>
        </div>
        <div id="actremark">
            <div class="actlabel">Bemerkung:&nbsp;</div>
            <div>
                <input id="actremarkfield" class="input100 inputwhite" type="text" placeholder="Notiz"/>
            </div>
        </div>
        <div id="actdiscount">
            <div id="actdiscount1btn" class="actbtn">-1</div>
            <div id="actdiscount2btn" class="actbtn">-1</div>
            <div id="actdiscount3btn" class="actbtn">-1</div>
        </div>
        <div id="actprice">
            <div>Neuer Preis:&nbsp;</div>
            <div>
                <input id="actpricefield" class="input100 inputwhite" type="text" placeholder="Neuer Preis"/>
            </div>
        </div>
    </div> <!-- actareaforproducts -->
</div>

<div id="ordereditemdlg" title="Aktion" style="display:none;">
    <div id="ordereditem-info"></div>
    <div id="orderedcancelpanel">
        <input id="cancelcode" class="input100 inputwhite" type="password" placeholder="Stornierungscode"/>
    </div>
    <div id="ordereditemremove" class="actbtn">Entfernen</div>
    <div id="ordereditemreorder" class="actbtn">Nachbestellen</div>
    <div id="ordereditemcancel" class="actbtn">Abbrechen</div>
    <div id="deleteallordereditems" class="actbtnlarge">ALLE entfernen</div>
</div>

<div id="moveItemdslg" title="Auswahl der Orderelemente" style="display:none;">
    <div>Welche Orderelemente sollen dem neuen Tisch zugewiesen werden?</div>
    <div id="selectallnothing">
        <input id="selectallnothing_txt" class="input100 inputblue" type="submit"/>
    </div>
    <ul id="productsToMoveList" class="extraschoice"></ul>
</div>

<div id="cashdlg" title="Ein-/Auslage" style="display:none;">
    <h3><span id="cashoverviewtxt">Übersicht Kellnerkasse</span></h3>

    <p><span id="overviewdetails">Diese Übersicht enthält die Bewirtungseinnahme durch den Kellner seit der letzten Tageslosung sowie
		    als weiteren Wert den Kassenstand unter Berücksichtigung der eigenen Eingaben und Entnahmen.</span>
    <p>
    <p><br><i><span id="cashsum">Bewirtungseinnahmen:</span></i>
    <div style="padding-left: 50px;padding-right: 50px;">
        <span id=cashbyguests></span></p>
    </div>
    <div>
        <br><i>Barein-/auslagen:</i> <b><span id=onlycashsum></span></b> <span class="currencyplaceholder"></span>
        <p>
            <br><i><span id="includeowncash">inkl. eigener Kassenein-/Auslagen:</span></i> <b><span id=cashtotal></span></b>
            <span class="currencyplaceholder"></span>
        <p>
    </div>
    <br>
    <p>
    <div>
        <input id="cashmoney" class="input100 inputblue" type="text" placeholder="0,00"/>
    </div>
    <div>
        <input id="cashremark" class="input100 inputblue" type="text" placeholder="Bemerkung"/>
    </div>
    <div>
        <select id="cashtype" style="width:100%;background-color: white; color:black;height:50px;">
            <option value="1">Privateinlage-/entnahme</option>
            <option value="3">Geldtransit</option>
            <!--<option value="4">Lohnzahlung</option> -->
            <option value="6">Auszahlung</option>
            <option value="7">Trinkgeld an Arb.nehmer</option><!--
			<option value="8">Trinkgeld an Arb.geber</option>-->
        </select>
    </div>
</div>

<div id="gencommentsdlg" title="Vordefinierte Kommentare" style="display:none;">
    <input id="generalcommentfield" class="input100" placeholder="Kommentar"/>

    <ul id="commentschoice" class="extraschoice"></ul>

</div>

<div id="enterpricedlg" title="Benutzereingabe" style="display:none;">
    <span id="entervalueunit">Eingabe...</span>
    <div id="dlgpricearea">
        <!-- enterpricefield must be of type text to allow comma values -->
        <input id="enterpricefield" class="input100" type="text"/><br><br>

        <table class=numfield id="numfield_num">
            <tr>
                <td>7
                <td>8
                <td>9
            </tr>
            <tr>
                <td>4
                <td>5
                <td>6
            </tr>
            <tr>
                <td>1
                <td>2
                <td>3
            </tr>
            <tr>
                <td>0
                <td colspan="2">,
            </tr>
            <tr>
                <td colspan="3" class="keyboardapply">Anwenden
            </tr>
        </table>
    </div>
    <div id="dlgvoucherarea">
        <p/>
        <table class=numfield id="numfield_num">
            <tr>
                <td><input id="entervoucherid" class="input100" type="text" placeholder="Gutscheinnr."/>
            </tr>
            <tr>
                <td class="applyvoucherid"><a id="applyvoucherid" href="#" data-role="button"
                                              data-theme="c">Anwenden</a>
            </tr>
        </table>

    </div>
</div>

<div id="recordsdlg" title="Tischprotokoll" style="display:none;">

</div>

</body>
</html>