From bfef19c4909e772c9973b3f791882e95b05d0e7a Mon Sep 17 00:00:00 2001 From: Geno Date: Thu, 19 Nov 2020 23:02:21 +0100 Subject: [PATCH] OrderSprinter 1.3.4 --- javaprinter/javaprinter.jar | Bin 59323 -> 59354 bytes printserver/OrderSprinterPrintserver.exe | Bin 259072 -> 259072 bytes spider/install/installer.php | 2 +- webapp/OrderSprinterPrintserver.exe | Bin 259072 -> 259072 bytes webapp/bar.html | 2 +- webapp/bill.html | 2 +- webapp/feedback.html | 2 +- webapp/index.html | 6 ++-- webapp/install.html | 2 +- webapp/install/installer.php | 31 +++++++++++++++--- webapp/kitchen.html | 2 +- webapp/manager.html | 2 +- webapp/paydesk.html | 2 +- webapp/php/admin.php | 40 +++++++++++------------ webapp/php/customers.php | 2 +- webapp/php/printqueue.php | 21 +++++++++++- webapp/php/queuecontent.php | 10 ++++-- webapp/preferences.html | 2 +- webapp/products.html | 2 +- webapp/rating.html | 2 +- webapp/reports.html | 2 +- webapp/reservation.html | 2 +- webapp/supplydesk.html | 2 +- webapp/waiter.html | 4 +-- webapp/waiterdesktop.php | 2 +- 25 files changed, 94 insertions(+), 50 deletions(-) diff --git a/javaprinter/javaprinter.jar b/javaprinter/javaprinter.jar index 11b0db149df1386ffdfa2e50ed3bc188b6c6674d..7ff1182112087820f9cce8820b59e6c09b62ce0a 100644 GIT binary patch delta 4565 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 diff --git a/printserver/OrderSprinterPrintserver.exe b/printserver/OrderSprinterPrintserver.exe index 2e3802012d298bdc26e0ef8e2ea6ae0a673cf926..360dea3022bb03480cbdf3f0c65a651022eafcea 100644 GIT binary patch delta 30723 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 M8|}EVv#0C-0c_WoL;wH) delta 30412 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 iKYXp;jA#3`->N "OK","msg" => "Installation successful"); diff --git a/webapp/OrderSprinterPrintserver.exe b/webapp/OrderSprinterPrintserver.exe index 2e3802012d298bdc26e0ef8e2ea6ae0a673cf926..360dea3022bb03480cbdf3f0c65a651022eafcea 100644 GIT binary patch delta 30723 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 M8|}EVv#0C-0c_WoL;wH) delta 30412 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 iKYXp;jA#3`->N - + diff --git a/webapp/bill.html b/webapp/bill.html index f148e12..5467007 100644 --- a/webapp/bill.html +++ b/webapp/bill.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/feedback.html b/webapp/feedback.html index 7e27a70..1dd2efe 100644 --- a/webapp/feedback.html +++ b/webapp/feedback.html @@ -4,7 +4,7 @@ - + diff --git a/webapp/index.html b/webapp/index.html index d7903dc..1ae5533 100644 --- a/webapp/index.html +++ b/webapp/index.html @@ -9,8 +9,8 @@ - - + + @@ -203,7 +203,7 @@ function handleResultOfInstallCheck(is_installed) { if (is_installed == "Yes") { useInstallation(); } else { - setTimeout(function(){document.location.href = "install.html?v=1.3.3"},500); + setTimeout(function(){document.location.href = "install.html?v=1.3.4"},500); } } diff --git a/webapp/install.html b/webapp/install.html index b2e40cb..e1e8e7b 100644 --- a/webapp/install.html +++ b/webapp/install.html @@ -679,7 +679,7 @@ $(document).ready(function() {   - +   diff --git a/webapp/install/installer.php b/webapp/install/installer.php index aecb969..878e587 100644 --- a/webapp/install/installer.php +++ b/webapp/install/installer.php @@ -1865,6 +1865,27 @@ return false; } } +function updateUserTable1303_1304($prefix, $version, $dbname) { +$pdo = $this->pdo; +try { +if ($version != "1.3.3") { +$ret = $this->updateUserTable1302_1303($prefix, $version, $dbname); +if (!$ret) { +echo "Version update v1.3.2 to 1.3.3 not successful."; +return false; +} +} + +DbUtils::overrulePrefix($prefix); + +$this->updateVersion($pdo, '1.3.4'); +return true; +} catch (PDOException $e) { +echo "Error in v1.3.3 to 1.3.4: $e"; +return false; +} +} + function setVersion($prefix,$theVersion) { $pdo = $this->pdo; @@ -1991,7 +2012,7 @@ $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VAL $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'billlanguage', $billlanguage)"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'currency', '$currency')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'receiptfontsize', '12')"); -$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'version', '1.3.3')"); +$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'version', '1.3.4')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'paymentconfig', '0')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'remoteaccesscode', null)"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'decpoint', '$decpoint')"); @@ -2034,7 +2055,7 @@ $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VAL $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'hsoutfile', '')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'hscurrency', 'EUR')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'hs3refresh', '60')"); -$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'memorylimit', '256')"); +$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'memorylimit', '512')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'restaurantmode', '1')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'returntoorder', '1')"); @@ -2374,7 +2395,7 @@ $zones[] = $timezone_identifiers[$i]; } echo json_encode($zones); } else if ($command == 'update') { -$installerVersion = "1.3.3"; +$installerVersion = "1.3.4"; $admin = new InstallAdmin(); $pdo = $admin->openDbAndReturnPdo($_POST['host'],$_POST['db'],$_POST['user'],$_POST['password']); @@ -2405,7 +2426,7 @@ $supportedVersions = array("1.0.22","1.0.23","1.0.24","1.0.25","1.0.26","1.0.27" "1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8", "1.1.9","1.1.10","1.1.11","1.1.12","1.1.13","1.1.14","1.1.15","1.1.16","1.1.17", "1.1.18","1.1.19","1.1.20","1.1.21","1.1.22","1.1.23","1.1.24","1.1.25","1.1.26","1.1.27","1.1.28","1.1.29","1.1.30", "1.2.0","1.2.1","1.2.2", "1.2.3", "1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.2.10","1.2.11","1.2.12","1.2.13","1.2.14","1.2.15","1.2.16","1.2.17", -"1.2.18","1.2.19","1.2.20","1.2.21","1.2.22","1.3.0","1.3.1","1.3.2" +"1.2.18","1.2.19","1.2.20","1.2.21","1.2.22","1.3.0","1.3.1","1.3.2","1.3.3" ); if (!in_array($version, $supportedVersions)) { @@ -2413,7 +2434,7 @@ echo json_encode("Quellversion nicht unterstützt"); return; } -$ret = $admin->updateUserTable1302_1303($_POST['prefix'], $version, $_POST['db']); +$ret = $admin->updateUserTable1303_1304($_POST['prefix'], $version, $_POST['db']); if(session_id() == '') { session_start(); diff --git a/webapp/kitchen.html b/webapp/kitchen.html index f9ddbc4..d4913cf 100644 --- a/webapp/kitchen.html +++ b/webapp/kitchen.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/manager.html b/webapp/manager.html index 1c8d60b..d475c80 100644 --- a/webapp/manager.html +++ b/webapp/manager.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/paydesk.html b/webapp/paydesk.html index 5019011..e357ce1 100644 --- a/webapp/paydesk.html +++ b/webapp/paydesk.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/php/admin.php b/webapp/php/admin.php index f63d121..08316b2 100644 --- a/webapp/php/admin.php +++ b/webapp/php/admin.php @@ -956,7 +956,7 @@ class Admin { $view = "preferences.html"; } - echo json_encode($view . "?v=1.3.3"); + echo json_encode($view . "?v=1.3.4"); } } @@ -1158,25 +1158,25 @@ class Admin { if (!self::isOnlyRatingUser($rights, $right_rating, true)) { if ($_SESSION['modus'] == 0) { - if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.3.3"); }; + if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.3.4"); }; } else { - if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.3.3"); }; + if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.3.4"); }; } - if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.3.3"); }; - if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.3.3"); }; - if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.3.3"); }; + if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.3.4"); }; + if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.3.4"); }; + if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.3.4"); }; if ($_SESSION['modus'] == 0) { - if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.3.3"); }; + if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.3.4"); }; } - if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.3.3"); }; - if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.3.3"); }; - if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.3.3"); }; - if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.3.3"); }; - if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.3.3"); }; - if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.3.3"); }; - if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.3.3"); }; - $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.3.3"); - $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.3.3"); + if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.3.4"); }; + if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.3.4"); }; + if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.3.4"); }; + if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.3.4"); }; + if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.3.4"); }; + if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.3.4"); }; + if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.3.4"); }; + $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.3.4"); + $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.3.4"); } $mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php"); @@ -1184,7 +1184,7 @@ class Admin { $waiterMessage = $this->getMessage(null, "waitermessage"); } - $mainMenuAndVersion = array ("version" => "OrderSprinter 1.3.3", + $mainMenuAndVersion = array ("version" => "OrderSprinter 1.3.4", "user" => $currentUser, "menu" => $mainMenu, "waitermessage" => $waiterMessage, @@ -1934,7 +1934,6 @@ class Admin { date_default_timezone_set(DbUtils::getTimeZone()); $nowtime = date('Y-m-d'); - ini_set('memory_limit', '1000M'); $pdo = DButils::openDbAndReturnPdoStatic(); if ($theType == "auto") { @@ -2033,8 +2032,7 @@ class Admin { } private function restore() { - ini_set('memory_limit', '60000M'); - set_time_limit(60*10); + set_time_limit(60*20); if ($_FILES['userfile']['error'] != UPLOAD_ERR_OK //checks for errors && is_uploaded_file($_FILES['userfile']['tmp_name'])) { //checks that file is uploaded @@ -2354,4 +2352,4 @@ class Admin { } } -?> \ No newline at end of file +?> diff --git a/webapp/php/customers.php b/webapp/php/customers.php index ee600df..9b67036 100644 --- a/webapp/php/customers.php +++ b/webapp/php/customers.php @@ -469,7 +469,7 @@ class Customers { try { $allcustomers = array(); - $sql = "SELECT %customers%.id as id,name,email,address,remark,phone,mobil,www,hello,regards,DATE_FORMAT(created,'%e %b %Y - %k:%i') as created,DATE_FORMAT(lastmodified,'%e %b %Y - %k:%i') as lastmodified FROM %customers% WHERE (name like ?) OR (email like ?) ORDER BY name"; + $sql = "SELECT %customers%.id as id,name,email,address,remark,phone,mobil,www,IFNULL(hello,'') as hello,IFNULL(regards,'') as regards,DATE_FORMAT(created,'%e %b %Y - %k:%i') as created,DATE_FORMAT(lastmodified,'%e %b %Y - %k:%i') as lastmodified FROM %customers% WHERE (name like ?) OR (email like ?) ORDER BY name"; $result = CommonUtils::fetchSqlAll($pdo, $sql, array($s,$s)); diff --git a/webapp/php/printqueue.php b/webapp/php/printqueue.php index 88e507b..2aa543e 100644 --- a/webapp/php/printqueue.php +++ b/webapp/php/printqueue.php @@ -538,8 +538,27 @@ class PrintQueue { $workarray = array(); foreach($result as $aWorkJob) { - $aWork = json_decode($aWorkJob["content"]); // is in json format + $aWork = (array) json_decode($aWorkJob["content"]); // is in json format CommonUtils::log($pdo,"PRINTQUEUE", "getNextWorkPrintJobs: collect work receipt with id=" . $aWorkJob["id"] . " for printer=$printer"); + if ($fl < 5) { + // if not fl 5 is reached than remove the price from the content + $prods = (array) ($aWork["products"]); + $targetProds = array(); + foreach ($prods as $aProd) { + $theArrProd = (array) $aProd; + + $newTargetProd = array("id" => $theArrProd["id"], + "longname" => $theArrProd["longname"], + "option" => $theArrProd["option"], + "extras" => $theArrProd["extras"], + "ordertime" => $theArrProd["ordertime"], + "kind" => $theArrProd["kind"], + "printer" => $theArrProd["printer"], + ); + $targetProds[] = $newTargetProd; + } + $aWork["products"] = $targetProds; + } if ($fl >= 2) { $workarray[] = array("id" => $aWorkJob["id"],"content" => $aWork, "bigfontworkreceipt" => intval($bigFontWorkReceipt), "template" => $template); } else { diff --git a/webapp/php/queuecontent.php b/webapp/php/queuecontent.php index a8b2ef6..409b6fa 100644 --- a/webapp/php/queuecontent.php +++ b/webapp/php/queuecontent.php @@ -355,6 +355,8 @@ class QueueContent { } $queueStr = implode(',',$queueIds); + $decpoint = CommonUtils::getConfigValue($pdo, 'decpoint', '.'); + $sql = "SELECT setting FROM %config% where name=?"; $row = CommonUtils::getRowSqlObject($pdo, $sql, array('groupworkitems')); $groupworkitems = $row->setting; @@ -362,7 +364,7 @@ class QueueContent { $groupworkitems = 1; } - $sql = "SELECT %queue%.id as id,%queue%.tablenr as tableid, %queue%.productid,%queue%.productname as longname,anoption,%prodtype%.kind as kind,%prodtype%.printer as printer FROM %queue%,%products%,%prodtype% WHERE %prodtype%.kind=? AND %queue%.id IN ($queueStr) AND productid=%products%.id AND %products%.category=%prodtype%.id ORDER BY longname"; + $sql = "SELECT %queue%.id as id,%queue%.tablenr as tableid, %queue%.productid,%queue%.productname as longname,%queue%.price as price,anoption,%prodtype%.kind as kind,%prodtype%.printer as printer FROM %queue%,%products%,%prodtype% WHERE %prodtype%.kind=? AND %queue%.id IN ($queueStr) AND productid=%products%.id AND %products%.category=%prodtype%.id ORDER BY longname"; $stmt = $pdo->prepare(DbUtils::substTableAlias($sql)); $stmt->execute(array($kind)); $queueItems = $stmt->fetchAll(); @@ -385,10 +387,12 @@ class QueueContent { if ($thePrinter == $printer) { $extras = $this->getExtrasOfQueueItem($pdo,$queueid); + $formattedPrice = number_format($aQueueItem["price"], 2, $decpoint, ''); $theEntry = array( "id" => $queueid, "productid" => $aQueueItem["productid"], "longname" => $aQueueItem["longname"], + "price" => $formattedPrice, "anoption" => $aQueueItem["anoption"], "kind" => $aQueueItem["kind"], "printer" => $aQueueItem["printer"], @@ -417,7 +421,7 @@ class QueueContent { $extrasTxt = join(",",$entry["extras"]); $found = false; foreach($collection as &$anEntry) { - if (($anEntry["longname"] == $entry["longname"]) && ($anEntry["anoption"] == $entry["anoption"]) && (join(",",$anEntry["extras"]) == $extrasTxt)) { + if (($anEntry["longname"] == $entry["longname"]) && ($anEntry["price"] == $entry["price"]) && ($anEntry["anoption"] == $entry["anoption"]) && (join(",",$anEntry["extras"]) == $extrasTxt)) { $found = true; $anEntry["count"] = $anEntry["count"] + 1; } @@ -428,6 +432,7 @@ class QueueContent { "longname" => $entry["longname"], "printer" => $entry["printer"], "anoption" => $entry["anoption"], + "price" => $entry["price"], "kind" => $entry["kind"], "extras" => $entry["extras"], "count" => 1 @@ -497,6 +502,7 @@ class QueueContent { $arr = array("id" => $queueId, "longname" => $aJob['longname'], + "price" => $aJob['price'], "option" => $aJob['anoption'], "extras" => $extras, "ordertime" => $germanTime, diff --git a/webapp/preferences.html b/webapp/preferences.html index d0cf8b2..82102d8 100644 --- a/webapp/preferences.html +++ b/webapp/preferences.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/products.html b/webapp/products.html index df840df..5f9c8c5 100644 --- a/webapp/products.html +++ b/webapp/products.html @@ -7,7 +7,7 @@ - + diff --git a/webapp/rating.html b/webapp/rating.html index 5ae5fdf..d102381 100644 --- a/webapp/rating.html +++ b/webapp/rating.html @@ -7,7 +7,7 @@ - + diff --git a/webapp/reports.html b/webapp/reports.html index 91d4840..1bd4df0 100644 --- a/webapp/reports.html +++ b/webapp/reports.html @@ -7,7 +7,7 @@ - + diff --git a/webapp/reservation.html b/webapp/reservation.html index 2464160..6bf14a9 100644 --- a/webapp/reservation.html +++ b/webapp/reservation.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/supplydesk.html b/webapp/supplydesk.html index c7d9bbe..6ced22a 100644 --- a/webapp/supplydesk.html +++ b/webapp/supplydesk.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/waiter.html b/webapp/waiter.html index 0d2df1e..bbd7809 100644 --- a/webapp/waiter.html +++ b/webapp/waiter.html @@ -4,7 +4,7 @@ - + @@ -32,7 +32,7 @@ +var W_TABLES=["Tische","Tables","Mesas"];var W_ATABLE=["Tisch","Table","Mesa"];var W_ROOMS=["Räume","Rooms","Espacios"];var W_SELECTION=["Auswahl","Selection","Selección"];var W_LAST_SELECTED=["zuletzt","last","seleccionado"];var W_FAVS=["Favoriten","Favorites","Favoritos"];var W_NEW_ORDER=["Neue Order","New Orders","Ordenes nuevas"];var W_KIT_BAR=["nicht serviert/unbezahlt","unserved/unpaid","no servido/impagado"];var W_OTHER_PROD=["Auswahl Produktkategorie","Select product categroy","Categoría diferente"];var W_WORK_TICKET=["Arbeitsbon","Work ticket","Tique de trabajar"];var W_NOTE=["Bemerkung","Comment","Comentario"];var W_SEND_ORDERS=["Bestellung senden","Send orders","Enviar Ordenes"];var W_TO_PAYDESK=["-> Kasse","-> Paydesk","-> Caja"];var W_TABLECHANGE=["Tischwechsel","Change table","Cambiar mesa"];var W_ROOMTABLE=["Raum-Tisch","Room-Table","Espacio-Mesa"];var W_TABLE_SEL=["Tischauswahl","Select table","Qué mesa?"];var W_UNDELIV_INFO=["Liste enthält die Produkte die noch in der Küchen-/Baransicht sind, sowie unbezahlte Produkte, die die Bereitstellungsansicht nicht durchlaufen.","List contains the products which are still in kitchen or bar view, as well as unpaid products that do not pass the supplydesk view.","La lista contiene los productos que estan todavía en modulo de cocina/bar, también productos impagados que no pasan vista de productos preparados."];var W_REMOVE_ERROR=["Ansicht nicht mehr aktuell - Liste wird neu geladen.","View is obsolete - List will be reloaded.","Vista no esta actual - vamos a actualisar la lista."];var W_FOOD_FOR=["Speisen für","Food for","Comidas para"];var W_DRINKS_FOR=["Getränke für","Beverage for","Bebidas para"];var W_ACT_NEW_ORD_EL=["Aktion auswählen","Select action","Que acción?"];var W_ACT_CHANGE=["Ändern","Modify","Modificar"];var W_ACT_CHANGE_ALL=["Alle Ändern","Modify all","Modificar todo"];var W_ACT_CHANGE_ONE=["Einen Artikel ändern","Modify one item","Modificar un artículo"];var W_APPLY=["Anwenden","Apply","Aplicar"];var W_CANCEL=["Abbrechen","Cancel","Cancelar"];var W_STILL_UNSENT_ORDERS=["Es sind noch ungesendete Orders vorhanden!","There are unsent orders in the list","Hay elementos in la liste que no han enviados"];var W_EXTRAS=["Extras/Optionen","Add-ons/Options","Opciones"];var W_OPEN_PANEL=["Extras-Auswahl noch offen","Add-ons selection still open","Selección de opciones todavía abierta"];var W_DEL=["Löschen","Delete","Removar"];var W_MSG=["Nachricht","Message","Mensaje"];var W_CHANGE_PRICE=["Neuer Preis: ","New price: ","Cambiar precio: "];var W_PRICE=["Preis","Price","Precio"];var W_WRONG_FORMAT=["Falsches Zahlenformat","Wrong number format","Formato de precio incorecto"];var W_TOGO=["Außer-Haus-Verkauf","Sale with Tax No 2","Venta IVA 2"];var W_YES=["Ja","Yes","Si"];var W_NO=["Nein","No","No"];var W_DISCARD_NO_ASK=["Es sind noch ungesendete Orders vorhanden! Sollen diese verworfen werden?","There are still unsent orders. Do you want to discard them?","Hay todavía ordenes non-enviados. Removarlos?"];var W_DISCARD_HEADER=["Neue Orders verwerfen?","Discard new orders?","Removar ordenes nuevos?"];var W_SEARCH=["Produktsuche","Product search","Buscar producto"];var W_SEARCHRESULTS=["Suchergebnis","Search Result","Encontrado"];var W_WRONG_PIN=["Falscher Stornocode","Wrong cancel code","Codigo falso"];var W_NO_ORDERS=["Keine gebuchten Orders vorhanden!","No orders available!","No hay ningún orden!"];var W_TO_PAY=["offen","to pay","a pagar"];var W_MOVE_PRODS=["Produkte verschieben","Move products","Productos a otra mesa"];var W_NO_PRODS_SELECTED=["Es wurden keine Produkte ausgewählt!","You have not chosen any products!","No ha seleccionado ningún producto!"];var W_MAX_PRICE_EXCEEDED=["Der Maximalwert für den Preis wurde überschritten!","The max. value for the price is exceeded!","El valor del precio es más que el maximum!"];var W_REORDER=["Nachbestellen","Reorder","Order una vez mas"];var W_REMOVE=["Entfernen","Remove","Removar"];var W_SELALL=["Alles auswählen","Select all","Elegir todo"];var W_UNSELALL=["Alles abwählen","Unselect all","No elegir nada"];var W_ONLY=["noch","only","sólo"];var W_DEL_ALL_UNDELIVERED=["Entferne alles","Remove all","Borrar todo"];var W_DEL_ALL_ASSIGNED_PRODS=["Alle Produkte löschen?","Delete all products?","Removar todos los productos?"];var CHANGE_ALL=0;var CHANGE_ONE=1;var WORKFLOW_DIGI_WORK=0;var WORKFLOW_DIGI=1;var WORKFLOW_WORK=2;var WORKFLOW_WORK_SEND=3;function Grouping(b,a){this.set=b;this.sortedset=[];this.group=function(){this.sortedset=[];for(var g=0;g/g,">"))}function setLanguage(h){lang=h;$("#roomtableheader2").html(W_ROOMTABLE[lang]);$("#tableselection").html(W_TABLE_SEL[lang]);$("#actiontxt").html(W_ACT_NEW_ORD_EL[lang]);$("#actdeltxt").html(W_DEL[lang]);$("#discard_new_orders_yes").html(W_YES[lang]);$("#discard_new_orders_no").html(W_NO[lang]);$("#discardnewordersask").html(W_DISCARD_NO_ASK[lang]);$("#discardnoheader").html(W_DISCARD_HEADER[lang]);$("#moveprods").html(W_MOVE_PRODS[lang]);var f="";if(prominentsearch==0){f+='
'}else{f+='
'}f+="
";var e='
';if(prominentsearch==0){$("#searchposition-normal").html(f)}else{$("#searchposition-prominent").html(f)}var b=e;if((workflowconfig==WORKFLOW_DIGI_WORK)||(workflowconfig==WORKFLOW_DIGI)||(workflowconfig==WORKFLOW_WORK_SEND)){b+=''+W_SEND_ORDERS[lang]+""}if((workflowconfig==WORKFLOW_DIGI_WORK)||(workflowconfig==WORKFLOW_WORK)||(workflowconfig==WORKFLOW_WORK_SEND)){b+=''+W_WORK_TICKET[lang]+""}if(cashenabled==1){b+=''+W_TO_PAYDESK[lang]+""}b+='';$("#commandbuttons").html(b);$("#waiterui").trigger("create");var c='
';$("#actremark").html(c);if(rightchangeprice==1){var a='';$("#actchangepricesection").html(a);var g='";$("#actdiscount").html(g)}$("#actionneworderconfirm_all").html(W_ACT_CHANGE_ALL[lang]);$("#actionneworderconfirm_one").html(W_ACT_CHANGE_ONE[lang]);$("#actionnewordercancel").html(W_CANCEL[lang]);$("#select-comment").off("click").on("click",function(k){k.stopImmediatePropagation();k.preventDefault();var i=$("#select-comment").find(":selected").val();$("#optionfield").val(i)});$("#act-select-comment").off("click").on("click",function(k){k.stopImmediatePropagation();k.preventDefault();var i=$("#act-select-comment").find(":selected").val();$("#act-optionfield").val(i)});$("#discard_new_orders_no").off("click").on("click",function(i){i.stopImmediatePropagation();i.preventDefault();parent.history.back()});$("#discard_new_orders_no").off("click").on("click",function(i){i.stopImmediatePropagation();i.preventDefault();parent.history.back()});$("#discard_new_orders_yes").off("click").on("click",function(i){i.stopImmediatePropagation();i.preventDefault();neworders=[];gotoOtherPage($("#discardnewordersdlg").data("link"))});$("#prodbackbtn").off("click").on("click",function(i){if(neworders.length!=0){i.stopImmediatePropagation();i.preventDefault();hideMenuProd();$("#discardnewordersdlg").data("link","back_table");$.mobile.changePage("#discardnewordersdlg")}else{parent.history.back()}});$("#searchField").off("keyup").on("keyup",function(i){generateSearchResults()})}function generateSearchResults(){var e=$("#searchField").val().trim().toLowerCase();if(e.length<3){$("#searchResult").html("")}else{var c=getProdSizeClass();var b='";$("#searchResult").html(b);$("#searchResult").trigger("create");$(".srinfo").off("click").on("click",function(i){i.stopImmediatePropagation();i.preventDefault();var f=this.id.split("_")[1];var h=getProdEntry(f);var g=h.price;alert(W_PRICE[lang]+": "+g+" "+currency)});$(".srplus").off("click").on("click",function(h){h.stopImmediatePropagation();h.preventDefault();var g=this.id.split("_")[1];var f=getSearchProdCount(g);$("#srprodcount_"+g).html(f+1)});$(".srminus").off("click").on("click",function(h){h.stopImmediatePropagation();h.preventDefault();var g=this.id.split("_")[1];var f=getSearchProdCount(g);if(f==2){$("#srprodcount_"+g).html("");selectedProdCount=1}else{if(f>2){$("#srprodcount_"+g).html(f-1)}}});$(".searchresult").off("click").on("click",function(g){g.stopImmediatePropagation();g.preventDefault();favOrSearchWasClicked=true;var f=this.id.split("_")[1];selectedProdCount=getSearchProdCount(f);clearSearchAndGoToHigherTypeIfExtrasOpen();levelOneType=0;handleClickOnProd(f)})}}function fillGenCommentsList(f){if(f.status!="OK"){alert("Fehler "+f.code+": "+f.msg);return}var b='';var e=f.msg;var c=0;for(c=0;c'+a+""}htmlComments=b;predefinedComments=b;$("#select-comment").html(b);$("#select-comment").selectmenu("refresh")}function initializeMainMenu(a,h,e,i,g){$("#"+e).html(" "+a.user);$("#"+i).html(a.version+" ");var k='
  • Module
  • ';$.each(a.menu,function(n,m){var l=m.name;var o=m.link;if(g){k+='
  • '+l+"
  • "}else{k+='
  • '+l+"
  • "}});$(h).empty().append(k).promise().done(function(){refreshList(h)});if(h=="#modulemenu-room"){var c=a.waitermessage;if(c!=""){$("#waitermessage").show();var b='
  • '+W_MSG[lang]+"
  • ";var f='
  • '+toHtml(c)+"
  • ";$("#waitermessage").html(b+f);refreshList("#waitermessage")}else{$("#waitermessage").hide()}}$(".modulebutton").off("click").on("click",function(m){var l=$(this).attr("href");doJsonAjaxAsync("POST","php/contenthandler.php?module=admin&command=setLastModuleOfUser",{view:l},null,"Problem Benutzerdatenpflege",false)})}function refreshList(a){if($(a).hasClass("ui-listview")){$(a).listview("refresh")}else{$(a).trigger("create")}}function gotoOtherPage(a){var b=a.split("_");if(b[0]=="menu"){doJsonAjax("POST","php/contenthandler.php?module=admin&command=setLastModuleOfUser",{view:b[1]},null,null);setTimeout(function(){document.location.href=b[1]},250)}else{if(b[0]=="back"){$("#discardnewordersdlg").dialog("close");parent.history.back()}}}function moduleForward(a){if(neworders.length==0){gotoOtherPage(a)}else{hideMenuProd();$("#discardnewordersdlg").data("link",a);$.mobile.changePage("#discardnewordersdlg")}}function getPayPrintType(){doJsonAjax("GET","php/contenthandler.php?module=admin&command=getPayPrintType",null,insertPayPrintType,"Fehler Druckkonfiguration")}function insertPayPrintType(a){$("#workprintarea").data("payPrintType",a)}function getUserHasRightForPaydesk(){doJsonAjax("GET","php/contenthandler.php?module=admin&command=hasUserPaydeskRight",null,hasUserPaydeskRight,"Fehler Kassenberechtigung")}function hasUserPaydeskRight(a){$("#gopaydesk_btn").data("allowed",a)}function hideMenuRoom(){$("#modulepanel-room").panel("close");$("#menuswitch").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();$("#modulepanel-room").panel("open")})}function hideMenuTable(){$("#modulepanel-table").panel("close");$("#menuswitchtable").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();$("#modulepanel-table").panel("open")})}function hideMenuProd(){$("#modulepanel-prod").panel("close");$("#menuswitchprod").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();$("#modulepanel-prod").panel("open")})}function addProductToQueueNoGuiUpdate(f,l,g,c,e){var b=getProdProperties(f);var a=b.name;var h=b.price;var m={name:a,option:l,extras:g,prodid:f,price:h,changedPrice:c,togo:e};for(var k=0;k";var l=groupedNewOrders.count.length;for(f=0;f1){k=""+g.toString()+"x "+k}var e=groupedNewOrders.prodids[f];if(h!=""){h="

    "+toHtml(h)+"

    "}var b=groupedNewOrders.changedPrices[f];var a=groupedNewOrders.togos[f];var n="";var c=groupedNewOrders.extras[f];if((c!=null)&&(c!="")){n=""+c+""}if(b!="NO"){b=b.replace(".",decpoint);if(a!=0){m+='
  • '+k+h+n+" ("+b+" - To-Go)
  • "}else{m+='
  • '+k+h+n+" ("+b+")
  • "}}else{if(a!=0){m+='
  • '+k+h+n+" - To-Go
  • "}else{m+='
  • '+k+h+n+"
  • "}}}$("#neworders").html(m);refreshList("#neworders");binding_neworderelem()}function getProdSizeClass(){if(osprodbtnsize==1){return("osprod-1")}else{if(osprodbtnsize==2){return("osprod-2")}}return""}function binding_neworderelem(){$(".neworder_el").off("click").on("click",function(c){c.stopImmediatePropagation();c.preventDefault();var b=$("#neworders li").index($(this).closest("li"))-1;var a={count:groupedNewOrders.count[b],name:groupedNewOrders.name[b],price:groupedNewOrders.price[b],option:groupedNewOrders.option[b],extras:groupedNewOrders.extras[b],prodid:groupedNewOrders.prodids[b],origidxs:groupedNewOrders.origidxs[b],changedPrices:groupedNewOrders.changedPrices[b],togos:groupedNewOrders.togos[b]};$("#actiononneworderel").data("entry",a);$("#actiononneworderel").data("newcount",a.count);$("#actiononneworderel").data("groupedListIndex",b);$("#act-optionfield").val(a.option);$("#togocheckbox").prop("checked",a.togos==1?true:false);actionSelOnNewOrderElem()})}function sendNewOrders(c,f,a){var g=$("#typprodpage").data("table-info");var b=g[1];if(neworders.length!=0){var e={tableid:b,prods:neworders,print:(c?1:0),payprinttype:f};$("#typprodpage").data("neworders",[]);if(f=="s"){doJsonAjax("POST","php/contenthandler.php?module=queue&command=addProductListToQueue",e,a,"Fehler bei Produktversand")}else{doJsonAjax("POST","php/contenthandler.php?module=queue&command=addProductListToQueue",e,fillPrintAreaAndPrint,"Fehler bei Produktversand")}}else{if(c&¬DeliveredProdsAvailable){}}}function reloadPage(){tableListActive=false;setTimeout(function(){document.location.href="waiter.html"},250)}function gotoTablePage(){var a=$("#tables-page").data("allroomtables");var b=a.length;if(!isTogoOrderSelected||(b==1)){$.mobile.changePage("#tables-page")}else{reloadPage()}}function removeProductFromQueue(a,c,f,e,b,g){if(typeof g==="undefined"){g=true}if(!b){alert(W_WRONG_PIN[lang]);return}$.ajax({type:"POST",dataType:"json",url:"php/contenthandler.php?module=queue&command=removeProductFromQueue",data:{queueid:a,isPaid:c,isCooking:f,isReady:e},async:false,success:function(l){if(l.status!="OK"){alert(W_REMOVE_ERROR[lang])}var k=$("#typprodpage").data("table-info");var h=k[1];var i="php/contenthandler.php?module=queue&command=getJsonLongNamesOfProdsForTableNotDelivered&tableid="+h;if(g){fillNotDeliveredProductsOfATable(i)}},error:function(h){alert("Sorry, Fehler bei Produktentfernung!")}})}function reorderProduct(e,a,f){var c=[];for(var b=0;b'+k.name+""});a+='
  • '+W_TOGO[lang];var f=h.takeawayprice;var c=f.replace(".",decpoint)+" "+currency;if(f!=0){a+=" ("+W_TO_PAY[lang]+": "+c+")"}a+=createServeInfo(null,h.takeawayprodcount,h.takeawayprodready);a+="
  • ";$("#room-list").append(a).promise().done(function(){bindTogoOrdering();bindServeClick();$(this).off("click").on("click","a",function(l){l.stopImmediatePropagation();l.preventDefault();var k=b[this.id];currentRoomIndex=this.id;isTogoOrderSelected=false;$("#tables-page").data("roomdetail",k);nextPage="tables-page";$.mobile.changePage("#tables-page")});refreshList(this)})}})}function handleClickInTablemap(a){forwardDisplayToProductView.call(this,a.roomid,a.tableid,a.tablename)}$(document).on("pagebeforeshow","#tables-page",function(){lastSelectedProduct="";tableListActive=true;if(nextPage==""){reloadPage()}hideMenuTable();checkForLogIn();$("#searchField").val("");generateSearchResults();$("#tableselbackbtn").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();tableListActive=false;$.mobile.changePage("#info-page")});updateTableList()});$(document).on("pagebeforeshow","#changetablewhatdialog",function(){var a=$("#changetablewhatdialog").data("fromtableid");doJsonAjax("GET","php/contenthandler.php?module=queue&command=getProdsForTableChange",{tableId:a},insertProductsToChangeTableDlg,"Tischartikel")});function insertProductsToChangeTableDlg(a){if(a.status!="OK"){alert("Fehler");return}prodsToMove=a.msg;allselected=1;updateProdToMoveList();$("#selectallnothing").off("click").on("click",function(f){f.stopImmediatePropagation();f.preventDefault();allselected=1-allselected;for(var c=0;c"+c.productname+b+"";a+="
  • "+g+"
  • "}$("#productsToMoveList").html(a);refreshList("#productsToMoveList");handleClickOnMoveableProd()}function handleClickOnMoveableProd(){$(".prodToMoveEl").off("click").on("click",function(f){f.stopImmediatePropagation();f.preventDefault();var b=this.id.split("_")[1];var a=prodsToMove[b];var c=a["class"];if(c=="unselecteditem"){a["class"]="selecteditem"}else{a["class"]="unselecteditem"}updateProdToMoveList()});$("#moveprods").off("click").on("click",function(k){k.stopImmediatePropagation();k.preventDefault();var g=[];for(var f=0;f'+W_TOGO[lang]+"";$("#tables-list-togo").html(k);$("#togoarea").show();refreshList("#tables-list-togo");bindTogoOrdering();bindServeClick()}}else{$(h).show();$("#togoarea").hide();$("#tablemapcontent").hide();var k='
  • '+W_TABLES[lang]+"
  • ";var f="";if(ostablebtnsize==1){f="ostable-1"}else{if(ostablebtnsize==2){f="ostable-2"}}$.each(l,function(p,s){var r=s.pricesum;var n=r.replace(".",decpoint)+" "+currency;var o=s.prodcount;var m=s.prodready;var q=s.readyQueueIds;if(r!=0){k+='
  • '+s.name+" ("+W_TO_PAY[lang]+": "+n+")"+createServeInfo(s.id,o,m)+"
  • "}else{k+='
  • '+s.name+createServeInfo(s.id,o,m)+"
  • "}});if(c=="t"){k+='
  • '+W_TOGO[lang]+"
  • "}$(h).empty().append(k).promise().done(function(){bindTogoOrdering();bindServeClick();$(this).off("click").on("click",".info-go",function(p){p.stopImmediatePropagation();p.preventDefault();var o=g;var m=l[this.id]["id"];var n=l[this.id]["name"];forwardDisplayToProductView.call(this,a,m,n)});refreshList(this)})}}function bindServeClick(){$(".prodreadyicon").off("click").on("click",function(l){l.stopImmediatePropagation();l.preventDefault();var f=this.id.split("_")[1];var h=queueIdsOfTakeAway;if((f!=null)&&(f!="n")){var a=$("#tables-page").data("roomdetail");var c=a.tables;for(var b=0;b0){var k=h.join();doJsonAjax("POST","php/contenthandler.php?module=queue&command=declareMultipleProductsDelivered",{queueids:k},updateAfterDelivery,"Bereitstellung")}})}function updateAfterDelivery(a){if(tableListActive){updateTableList()}else{reloadPage()}}function bindTogoOrdering(){$(".togoorder").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();isTogoOrderSelected=true;forwardDisplayToProductView.call(this,0,0,W_TOGO[lang])})}function forwardDisplayToProductView(b,a,c){neworders=[];updateNewOrdersGui();var e=new Array(b,a,c);$("#typprodpage").data("table-info",e);nextPage="typprodpage";$.mobile.changePage("#typprodpage");neworders=[];updateNewOrdersGui()}function attachAndDisplayFirstRefTypes(e){$("#typprodpage").data("types_prods",e);var a=e.prods;var c=[];for(var b=0;b";if(applyExtraBtnPos!=1){k+='
  • '+W_APPLY[lang]+"
  • "}for(var f=0;f=0){b="f";h="check"}k+='
  • '+toHtml(g)+"
  • "}if(applyExtraBtnPos!=2){k+='
  • '+W_APPLY[lang]+"
  • "}k+=createHigherLine(l);return k}function bindExtrasSel(){$(".extrasel").off("click").on("click",function(m){m.stopImmediatePropagation();m.preventDefault();var a=this.id.split("_");var b=a[1];var f=a[2];if((b=="abottom")||(b=="atop")){var k=getProdEntry(f);var c=k.extras;var n=[];for(var h=0;h=0){n[n.length]={id:b,name:l}}}addProductToNewOrdersList(f,n)}else{if(w_extras.indexOf(b)>=0){w_extras.splice(w_extras.indexOf(b),1)}else{w_extras[w_extras.length]=b}var o=listOfExtras(f);$("#typeproducts-list").html(o);refreshList("#typeproducts-list");bindExtrasSel();bindHigherButtons()}})}function lastSelectedProdToStr(){return" ("+W_LAST_SELECTED[lang]+": "+lastSelectedProduct+")"}function listOfTypesProds(e){var a='
  • '+W_SELECTION[lang]+"";if(lastSelectedProduct!=""){a+=lastSelectedProdToStr()}a+="
  • ";var b=$("#typprodpage").data("types_prods");var c=getProdSizeClass();$.each(b.types,function(g,f){if(parseInt(f.ref)==e){a+='
  • '+toHtml(f.name)+"
  • "}});$.each(b.prods,function(f,g){if(parseInt(g.ref)==e){a+='
  • '+toHtml(g.name);if((g.amount!="null")&&(g.amount<11)){a+=" ("+W_ONLY[lang]+" "+g.amount+")"}a+=createProdInfoTxt(g.id);a+="
  • "}});if(e!=0){a+=createHigherLine(c)}return a}function createHigherLine(b){var a='
  • ';a+='
    ';a+='
    ';a+='
    ';a+="
    ";a+="
  • ";return a}function createProdInfoTxt(b){var a="";a+="
    ";a+="
    ";a+="
    ";return a}function createSearchProdInfoTxt(b){var a="";a+="
    ";a+="
    ";a+="
    ";return a}function createServeInfo(e,c,b){if(supplyright==0){return""}if(e==null){e="n"}if(b>0){var a=""+b+"("+c+")";if(b>=c){a+="
    "}else{a+="
    "}return a}else{return""}}function getProdEntry(e){var b=$("#typprodpage").data("types_prods");var c=0;var a=b.prods;for(c=0;c";var b=$("#typprodpage").data("types_prods");var e=getProdSizeClass();var a=false;var c=[];$.each(b.prods,function(g,h){if(parseInt(h.favorite)==1){a=true;c[c.length]={id:h.id,longname:h.longname}}});c.sort(prodcompare);$.each(c,function(g,h){f+='
  • '+toHtml(h.longname);f+=createProdInfoTxt(h.id);f+="
  • "});f+="";if(a){$("#favarea").html(f);$("#favarea").trigger("create")}else{$("#favarea").html("");$("#favarea").trigger("create")}}function bindFavEvent(){$(".fav").off("click").on("click",function(b){b.stopImmediatePropagation();b.preventDefault();favOrSearchWasClicked=true;levelOneType=0;var a=this.id.split("_")[1];selectedProdCount=getProdCount(a);handleClickOnProd(a)})}function displayTypesProds(c,b){window.scrollTo(0,0);if(c==0){fillFavArea();bindFavEvent()}else{$("#favarea").html("")}if(b==null){idOfHigherType=c;var a=listOfTypesProds(parseInt(c));extrasMenuOpen=false}else{var a=listOfExtras(parseInt(c));extrasMenuOpen=true}$("#typeproducts-list").empty().append(a).promise().done(function(){refreshList("#typeproducts-list");$(this).off("click").on("click","a",function(i){i.stopImmediatePropagation();i.preventDefault();favOrSearchWasClicked=false;$("#searchField").val("");generateSearchResults();var g=this.id;var f=g.split("_");if(f[0]=="t"){if(c==0){levelOneType=f[1];c=f[1]}displayTypesProds(f[1],null)}else{var h=f[1];selectedProdCount=getProdCount(h);handleClickOnProd(h)}});bindHigherButtons()});$(".prodinfo").off("click").on("click",function(i){i.stopImmediatePropagation();i.preventDefault();var f=this.id.split("_")[1];var h=getProdEntry(f);var g=h.price;alert(W_PRICE[lang]+": "+g+" "+currency)});$(".prodplus").off("click").on("click",function(h){h.stopImmediatePropagation();h.preventDefault();var g=this.id.split("_")[1];var f=getProdCount(g);$("#prodcount_"+g).html(f+1)});$(".prodminus").off("click").on("click",function(h){h.stopImmediatePropagation();h.preventDefault();var g=this.id.split("_")[1];var f=getProdCount(g);if(f==2){$("#prodcount_"+g).html("");selectedProdCount=1}else{if(f>2){$("#prodcount_"+g).html(f-1)}}})}function getHigherType(){var c=$("#typprodpage").data("types_prods");var b=c.types;var f=0;if(!extrasMenuOpen){for(var e=0;e0)){w_extras=[];w_allextras=a;idOfHigherType=c.ref;displayTypesProds(b,a);bindExtrasSel()}else{addProductToNewOrdersList(b,null)}}function addProductToNewOrdersList(f,e){var i=$("#typprodpage").data("table-info");var c=i[1];addProductToQueue(f,e,"NO",0);var a=getProdAudio(parseInt(f));var b=parseInt($("#typprodpage").data("ordervolume"))/10;if(a!=""){var h="customer/"+a;if(a.match(/mp3$/)){$("#audiofile").html('')}else{if(a.match(/ogg$/)){$("#audiofile").html('')}else{if(a.match(/wav$/)){$("#audiofile").html('')}}}document.getElementById("audiofile").load();document.getElementById("audiofile").volume=b;document.getElementById("audiofile").play()}else{if(b>0.5){beep()}}var g="php/contenthandler.php?module=queue&command=getJsonLongNamesOfProdsForTableNotDelivered&tableid="+c;fillNotDeliveredProductsOfATable(g);if(keeptypelevel==0){displayTypesProds(levelOneType,null)}else{if(extrasMenuOpen){displayTypesProds(idOfHigherType,null)}}allowPrintAndOrderBtn=true;refreshList("#typeproducts-list")}function beep(){var a=new Audio("data:audio/wav;base64,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qJrx4KOQjahZxWbcZgztj2c49nKmkId44S71j0c8eV9yDK6uPRzx5X18eDvjvQ6yKo9ZSS6l//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=");a.play()}function fetchTypeProdsFromServer(){doJsonAjaxAsync("GET","php/contenthandler.php?module=products&command=getAllTypesAndAvailProds",null,attachAndDisplayFirstRefTypes,true)}var waitProdTimer=null;function fillTypeProdList(b){var a=$("#typprodpage").data("types_prods");if(a!=undefined){displayTypesProds(b,null)}else{waitProdTimer=setInterval(function(){var c=$("#typprodpage").data("types_prods");if(c!=undefined){clearInterval(waitProdTimer);displayTypesProds(b,null)}},200)}}function fillTypeProdList_(a){displayTypesProds(a,null)}function createTxtAssignedProd(e){var b="";if(e.option!=""){b=" ("+toHtml(e.option)+")"}var c=e.longname;if(e.togo==1){c="To-Go: "+c}if(e.pricechanged==1){c+=" - "+e.price.replace(".",decpoint)}var a="";if(e.isready=="1"){a+=" ☞"}if(e.isCooking=="1"){a+=" ♨"}if(e.isPaid=="1"){a+=" ☑"}return toHtml(c)+b+a+"
    "+createExtraParagraph(e.extras)}function createListElOfAssignedProd(b){var a="";if("count" in b){if(b.count>1){a=b.count+"x "}}if(b.isready=="0"){return'
  • '+a+createTxtAssignedProd(b)+"
  • "}else{return'
  • '+a+createTxtAssignedProd(b)+"
  • "}}function fillAssignedProdList(b){if(b.length>0){notDeliveredProdsAvailable=true}else{notDeliveredProdsAvailable=false}$("#cancelcodefield").val("");if(cancelunpaidcode!=""){if(b.length>0){$("#cancelcodearea").show()}else{$("#cancelcodearea").hide()}}else{$("#cancelcodearea").hide()}var c=new Grouping(b,createTxtAssignedProd);c.group();var a='
  • '+W_KIT_BAR[lang]+"
  • ";a+=c.outputList(createListElOfAssignedProd);if(notDeliveredProdsAvailable){a+='
  • '+W_DEL_ALL_UNDELIVERED[lang]+"
  • "}$("#orderedprod-list-0").html(a);refreshList("#orderedprod-list-0");$("#undeliveredheader").off("click").on("click",function(f){f.stopImmediatePropagation();f.preventDefault();alert(W_UNDELIV_INFO[lang])});bindingOfAssignedProds(c);bindDelAllUndeliveredProds(b)}function bindDelAllUndeliveredProds(a){$("#delallundelivered").off("click").on("click",function(b){b.stopImmediatePropagation();b.preventDefault();areYouSure("Produkte löschen.",W_DEL_ALL_ASSIGNED_PRODS[lang],W_REMOVE[lang],function(){removeAllAssignedProds(a)})})}function removeAllAssignedProds(h){var c=true;if(cancelunpaidcode!=""){if($("#cancelcodefield").val()!=cancelunpaidcode){c=false;alert(W_WRONG_PIN[lang]);return}}for(var f=0;f
    ";$("#selectiondialog").html(a);$(".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(a){a.stopImmediatePropagation();a.preventDefault();extraClicked(parseInt(this.id.split("_")[2]))});$(".extraitemselected").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();extraClicked(parseInt(this.id.split("_")[2]))})}function extraClicked(a){if(e_extras_selection[a]){e_extras_selection[a]=false}else{e_extras_selection[a]=true}displayExtras()}function applyExtras(){var b=[];for(var e=0;e0){actcount--}}else{if(b==="actplusbtn"){actcount++}else{if(b==="actdiscount1btn"){actprice=origprice-origprice*discount1/100;var a=actprice.toFixed(2).replace(".",decpoint);$("#actpricefield").val(a);$("#actpriceinfo").html(a+" "+currency)}else{if(b==="actdiscount2btn"){actprice=origprice-origprice*discount2/100;var a=actprice.toFixed(2).replace(".",decpoint);$("#actpricefield").val(a);$("#actpriceinfo").html(a+" "+currency)}else{if(b==="actdiscount3btn"){actprice=origprice-origprice*discount3/100;var a=actprice.toFixed(2).replace(".",decpoint);$("#actpricefield").val(a);$("#actpriceinfo").html(a+" "+currency)}else{if(b==="acttogobtn"){acttogo=1-acttogo}}}}}}insertDataIntoActDialog()})}function changeAllNewOrders(){actionNewOrderConfirm(CHANGE_ALL)}function changeOneNewOrder(){actionNewOrderConfirm(CHANGE_ONE)}function delNewOrderItem(){actcount=0;actionNewOrderConfirm(CHANGE_ALL)}function actionNewOrderConfirm(h){var c=selectedEntry;if(rightchangeprice==1){var g=$("#actpricefield").val().trim();g=g.replace(",",".");if(g>999.99){alert("Maximaler Preis für das Produkt überschritten");return}if(g==""){g="NO"}else{if(!$.isNumeric(g)){alert("Es wurde ein falsches Zahlenformat angegeben");return}else{actprice=g;$("#actpricefield").val("")}}}else{g="NO"}if(h==CHANGE_ONE){var a=c.origidxs;neworders[a[0]].option=$("#actremarkfield").val();neworders[a[0]].changedPrice=g;neworders[a[0]].togo=acttogo}else{var a=c.origidxs;for(m=0;m0){var a=c.origidxs;var q=a[0];var l=neworders[q].prodid;var g=neworders[q].changedPrice;var e=neworders[q].togo;var n=neworders[q].option;var k=neworders[q].extras;for(m=0;m=0){if(selectedtableindex!=null){var b=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];a=b.id;taxtype="normal"}else{a=null}}else{tabeid=0;taxtype="togo"}}else{a=null}if(a!=null){doAjax("GET","php/contenthandler.php?module=queue&command=getJsonProductsOfTableToPay",{tableid:a},showProductsToPay,"Fehler bei der Datenübermittlung",true)}else{prodsToPayList=[];displayProdsToPayForTable();displayProdsOnReceipt()}}}function showProductsToPay(a){if(a.status!="OK"){alert("Fehler: "+a.msg);if(a.code==4){setTimeout(function(){document.location.href="index.html"},250)}}prodsToPayList=a.msg;if((a.msg.length==0)&&(returntoorder==1)){unZoomTableMap();goOrderDesk()}else{displayProdsToPayForTable();displayProdsOnReceipt()}}function displayProdsToPayForTable(){bindHostButton("#hostbutton");bindCashButton();if(prodsToPayList.length==0){$("#oben").html("Keine weiteren Artikel vorhanden.")}else{prodsToPayListGrouping=new Grouping(prodsToPayList,createHashOfPayableItem);prodsToPayListGrouping.group();var a=prodsToPayListGrouping.outputList(createPayableItemListElement);$("#oben").html(a)}$(".payable").off("click").on("click",function(c){c.stopImmediatePropagation();c.preventDefault();var h=this.id;var g=$(".payable").index(this);var f=prodsToPayListGrouping.sortedset[g];var b=aProdToPayIsClicked(f);updateAccounted(h,b,f.count);displayProdsOnReceipt()});$("#payall").off("click").on("click",function(h){h.stopImmediatePropagation();h.preventDefault();for(var b=0;b'+f.name+"";if(!b){c+="


    ";b=true}}});c+='
    '+P_CANCEL[lang]+"
    ";$("#selectiondialog").html(c);var e=600;if(paymentconfig==1){e=380}$("#selectiondialog").dialog({autoOpen:false,modal:true,height:e,buttons:{Abbrechen:function(){$(this).dialog("close")}}});$("#selectiondialog").dialog("open");bindPayment()}function bindPayment(){$(".paymentcancel").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();$("#selectiondialog").dialog("close")});$(".paymentitem").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();var b=this.id.split("_")[1];currentPaymentId=b;$("#selectiondialog").dialog("close");if((currentPaymentId==PAYMENT_HS3)||(currentPaymentId==PAYMENT_GUEST)){$("#hoteldialog").dialog({autoOpen:false,modal:true,height:400,width:500,buttons:{Abbrechen:function(){$(this).dialog("close")}}});$("#hoteldialog").dialog("open");$("#roomguesttextfield").val("");bindhotelinterface(currentPaymentId);return}else{startPayProcess(b,"","","")}})}function bindhotelinterface(a){generateGuestResult($("#roomguesttextfield").val(),false,a);$("#roomguesttextfield").off("keyup").on("keyup",function(b){generateGuestResult($("#roomguesttextfield").val(),false,a)});$("#paym_hotel").off("click").on("click",function(h){h.stopImmediatePropagation();h.preventDefault();var f=$("#hotelroomfoundguest").data("reservation");var c=$("#hotelroomfoundguest").data("guest");var b=$("#hotelroomselection").find(":selected").val();if(b!=undefined){var c=guests[b];var g="";if(currentPaymentId==PAYMENT_GUEST){c=internalguests[b];g=c.id}startPayProcess(currentPaymentId,c.reservationid,c.object+" - "+c.guest,g);$("#hoteldialog").dialog("close")}else{alert("Kein Gast ausgewählt")}})}function generateGuestResult(c){c=c.trim().toLowerCase();if(c==""){$("#hotelroomselection").html("");return}var b="";var a=false;$.each(guests,function(h,k){var e=k.object;var l=k.guest;var f=(e.toLowerCase().indexOf(c)>=0);var g=(l.toLowerCase().indexOf(c)>=0);if(f||g){if(!a){a=true;b+='"}else{b+='"}}});$("#hotelroomselection").html(b)}function updateAccounted(c,a,b){if(a===b){$("#"+c).removeClass("paystillopen");$("#"+c).removeClass("payallaccounted");$("#"+c).addClass("payallaccounted")}else{$("#"+c).removeClass("paystillopen");$("#"+c).removeClass("payallaccounted");$("#"+c).addClass("paystillopen")}if(a===0){$("#"+c+" .payitemaccounted").html("")}else{$("#"+c+" .payitemaccounted").html(a)}}function getProdAccountedEntry(c){var f=createHashOfPayableItem(c);for(var a=0;a1){f=g.count+"x ";c=g.count}}var b=false;var a=getProdAccountedEntry(g);var h="";if(a!==null){if(a.count!=0){h=a.count}if(a.count==c){b=true}}var e="";if(b){e='
    '+f+createHashOfPayableItem(g)+"
    "+h+"
    "}else{e='
    '+f+createHashOfPayableItem(g)+"
    "+h+"
    "}return e}function createOnReceiptItemListElement(c){var b="";if("count" in c){if(c.count>1){b=c.count+"x "}}var a='
    '+b+createHashOfPayableItem(c)+"
    ";return a}function getProdOfAllProdsWithHash(e){var b=prodsToPayListGrouping.sortedset;for(var a=0;a";$("#receiptpanel").html(c);calcSum();var k=$("#receiptpart").html();$("#info-page").data("receipthtml",k);displayRightButtons()}function getTableName(){if(selectedtableindex!=null){var a=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];return a.name}else{if(selectedroomindex=="-1"){return"Zum Mitnehmen"}else{return null}}}function createReceiptHeader(){var a=genCreateReceiptHeader(0,"",getTableName(),loggedinUser,currency);return a}function createReceiptFooter(b,c,a){var e=genCreateReceiptFooterNoSum(b,0,"",a);return e}function getQueueIdsDueToCountOfItem(g){var e=[];var h=g.hash;var f=g.count;for(var b=0;b=f){break}}}return e}function startPayProcess(t,o,r,l){var n=getTableName();var f=0;if(selectedroomindex!=-1){if(selectedtableindex!=null){var k=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];f=k.id}else{f=0}}var h=$("#info-page").data("usst");if($("#info-page").data("taxtype")=="togo"){h=$("#info-page").data("togotax")}checkForLogIn();var e=[];var s=prodsOnReceiptList;var q=prodsaccounted;var p=prodsOnReceiptListGrouping;for(var m=0;m";printContent(v)}}startCashProcess()}}else{alert("Fehler: "+c)}},error:function(a){alert("Sorry, there was a problem! "+a)}})}var P_DESCR=["Beschreibung","Description","Descripción"];var P_PRICE=["Preis","Price","Precio"];var P_TOTAL=["Total","Total","Total"];var P_ID=["Id:","Id:","Id:"];var P_ROOMSEL=["Raumauswahl","Room selection","Selección de espacio"];var P_PAYDESK_ACTIONS=["Kassenaktionen","Paydesk actions","Acciones de caja"];var P_BAR_INPUT=["Bareinlage","Input money","Insertar dinero"];var P_BAR_GET=["Barentnahme","Take money","Sacar dinero"];var P_BAR_SUM=["Einnahmen","Revenue","Cobro"];var P_TITLE=["Kasse","Paydesk","Caja"];var P_TABLE=["Tisch","Table","Mesa"];var P_TABLE_SEL=["Tischauswahl","Select table","Qué mesa?"];var P_NOT_PAID=["Ausstehend für ","Not paid for ","Impagado para "];var P_ALL=["Alles","All","Todo"];var P_CONTENT_RECEIPT=["Inhalt Kassenbon","Content of receipt","Contenido del tique"];var P_ONLY_PAY=["Nur Zahlung","Only pay","Solo pagar"];var P_PAY_PRINT=["Bondruck","Pay+Print","Pagar+Imprimir"];var P_CHANGE_CALC=["Wechselgeldrechner:","Change Calculator:","Calculadora de Cambio:"];var P_CHOOSE_PAYWAY=["Auswahl der Zahlungsart:","Selection of method of payment:","Selección del modo de pago:"];var P_CANCEL=["Abbrechen","Cancel","Cancelar"];var P_CASHTAKEOUT=["Barentnahme aus der Kasse","Cash take-out","Sacar dinero"];var P_CASHTAKIN=["Bareinlage in die Kasse","Cash insert","Insertar dinero"];var P_AMOUNT=["Betrag:","Amount:","Valor:"];var P_OVERVIEW=["Übersicht Kellnerkasse","Overview waiter purse","Resumen cartera de bolsillo"];var P_PUT_IN=["Einlegen","Insert","Insertar"];var P_TAKE_OUT=["Entnehmen","Take out","Sacar"];var P_OVERV_DETAILS=["Diese Übersicht enthält die Bar-Bewirtungseinnahme durch den Kellner seit der letzten Tageslosung sowie als weiteren Wert den Kassenstand unter Berücksichtigung der eigenen Eingaben und Entnahmen.","This overview contains the cash 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 al contado por cobro para el camarero, y también el dinero incluido con acciones de insertar y sacar."];var P_CASH_SUM=["Bewirtungseinnahmen:","Cash by payment:","Cobro:"];var P_INCLUDE_OWN=["inkl. eigener Kassen-Eingaben/Entnahmen:","incl. own cash insert/take-outs:","incl. tomas y entradas proprias:"];var P_NO_ELEM=["Keine Rechnungselemente","No items selected","Ningún producto selecionado"];var 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ún elemento seleccionado para pagar."];var P_CASHACTION_OK=["Kassenaktion abgeschlossen.","Action completed.","Acción terminado."];var P_NAV=["Navigation","Navigation","Navigación"];var P_ORDER_ACTION=["-> Bestellansicht","-> Order view","-> Vista de Orden"];var P_TO_PAY=["Zu zahlen: ","To pay: ","Pagar total: "];var P_PAY_RETURN=["Zurück: ","Return: ","Torna: "];var P_CALC_PAYBACK=["Berechne","Calculate","Calcular"];var P_HAS_PAID=["Bezahlt: ","Paid: ","Pagado: "];var P_TOGO=["Außer-Haus-Verkauf","Sale with Tax No 2","Venta IVA 2"];var P_TIP=["nur Trinkg.: ","Only tip: ","Solo prop.: "];var P_TOTAL_INCL_TIP=["Zielbetrag:","Target pay:","Quiere pagar:"];var CALC_TIP_TXT=["Angabe extra Trinkg.","Do Tip separate","Propina individual"];var CALC_TOTAL_TXT=["Angabe inkl.Trinkg.","Do Tip incl.","Propina incl."];var P_GUESTS=["Gäste","Guests","Habitaciones"];var showHostTemplate=false;var guests=[];var internalguests=[];var hotelinterface=0;var PAYMENT_HS3=7;var PAYMENT_GUEST=8;var currentPaymentId=7;function getGeneralConfigItems(){doAjax("GET","php/contenthandler.php?module=admin&command=getGeneralConfigItems",null,insertGeneralConfigItems,"Fehler Konfigurationsdaten")}function getPayments(a){doAjax("GET","php/contenthandler.php?module=admin&command=getPayments",null,a,"Fehler Zahlungswege")}function insertGeneralConfigItems(b){if(b.status=="OK"){var a=b.msg;decpoint=a.decpoint;$("#info-page").data("decpoint",a.decpoint);currency=a.currency;var e=a.tax;var c=e.replace(".",decpoint);$("#info-page").data("usstGerVal",c);$("#info-page").data("usst",e);e=a.togotax;c=e.replace(".",decpoint);$("#info-page").data("togoTaxGerVal",c);$("#info-page").data("togotax",e);$("#info-page").data("companyinfo",a.companyinfo);$("#info-page").data("payPrintType",a.payprinttype);$("#info-page").data("currency",a.currency);$("#info-page").data("billlanguage",a.billlanguage);$("#info-page").data("userlanguage",a.userlanguage);receiptfontsize=parseInt(a.receiptfontsize);$("#receiptpart").css("font-size",receiptfontsize+"px");paymentconfig=a.paymentconfig;$("#curtopay2").html(" "+a.currency);workflowconfig=a.workflowconfig;digigopaysetready=a.digigopaysetready;setLanguage(a.userlanguage)}else{$("#contentpart").hide();setTimeout(function(){document.location.href="index.html"},250)}}function addEntryOrIncreaseCount(a,f){var c=0;var g=false;var e=f.prodid+"-"+f.extras.join("_")+f.price+"-"+f.pricelevelname+"#"+f.tax+"_"+f.togo;for(c=0;cID:"+e+"";g+=' ";g+=""+c+"";g+=" ";if(l!=""){g+="Gast: "+toHtml(l)+"";g+=" "}g+=""+P_NO[b]+""+P_DESCR[b]+""+P_PRICE[b]+""+P_TOTAL[b]+"";return g}function genCreateReceiptFooterNoSum(c,e,b,a){return genCreateReceiptFooter(c,e,b,"","","",a)}function genCreateReceiptFooter(a,f,b,k,e,m,n){var c='style="border: solid black 0px;padding: 3px;text-align:right;vertical-align:bottom;"';var p='style="text-align:center;vertical-align:bottom;"';var h=" ";var o=h;o+=""+P_MWST[f]+"% "+P_MWST[f]+""+P_NETTO[f]+""+P_BRUTTO[f]+"";for(var l=0;l"+k+'"+e+'"+m+""}o+=h;o+="   "+P_SUM[f]+'"+m+"";o+=h;o+="
     
    ";o+=toHtml(b).replace(/(?:\r\n|\r|\n)/g,"
    ");o+="
    ";return o}function generateOneProdLine(k,g,i,a,n,f){var b='style="border: solid black 0px;padding: 3px;text-align:right;vertical-align:bottom;"';var h='style="border: solid black 0px;padding: 3px;text-align:center;vertical-align:bottom;"';var c=(parseFloat(i)).toFixed(2).replace(".",n);if(a!="A"){g+=" ("+a+")"}if(f==1){g="To-Go: "+g}var m=k*i;var l="";var e='style="white-space: nowrap;overflow: hidden;text-overflow:ellipsis;width: 60%;"';l+="'+k+""+g;l=l+""+c;l+=""+m.toFixed(2).replace(".",n)+"";return l}function generateProdPartByDbContent(f,e){var c=0;tablecontent="";for(c=0;c=0);var m=(p.toLowerCase().indexOf(g)>=0);if(l||m){i++;h=toHtml(k+" - "+p);if(!c){c=true;f+='"}else{f+='"}}});if(i===1){$("#hotelroomfoundguest").html(h);$("#hotelroomselection").html(f)}else{$("#hotelroomselection").html(f)}if(b){$("#hotelroomselection").selectmenu("refresh")}};