diff --git a/gastsystem/index.php b/gastsystem/index.php index e7fcda3..5129aea 100644 --- a/gastsystem/index.php +++ b/gastsystem/index.php @@ -9,8 +9,8 @@ - - + + @@ -105,7 +105,7 @@
  OrderSprinter
-
1.5.13  
+
1.5.14  
diff --git a/gastsystem/install.php b/gastsystem/install.php index 97e4c0c..f23232b 100644 --- a/gastsystem/install.php +++ b/gastsystem/install.php @@ -90,10 +90,10 @@ if (isset($_POST['code'])) { } else { echo ""; echo "Installation Gastsystem"; - echo ''; + echo ''; echo ""; echo "
"; - echo "Installation OrderSprinter-Gastsystem 1.5.13

"; + echo "Installation OrderSprinter-Gastsystem 1.5.14

"; echo "
"; echo "
"; echo "
"; diff --git a/printserver/OrderSprinterPrintserver.exe b/printserver/OrderSprinterPrintserver.exe index dbbb689..a678359 100644 Binary files a/printserver/OrderSprinterPrintserver.exe and b/printserver/OrderSprinterPrintserver.exe differ diff --git a/spider/install/installer.php b/spider/install/installer.php index fb26586..fd4dcb7 100644 --- a/spider/install/installer.php +++ b/spider/install/installer.php @@ -85,7 +85,7 @@ class Installer { } Database::dropTables($pdo); Database::createEmptyTables($pdo, $prefix); - Database::setVersion($pdo,$prefix,"1.5.13"); + Database::setVersion($pdo,$prefix,"1.5.14"); Database::setAccessPassword($pdo,$prefix,$adminpass); Database::setRefreshRate($pdo,$prefix,"5"); // default: 5 times per hour return array("status" => "OK","msg" => "Installation successful"); diff --git a/webapp/OrderSprinterPrintserver.exe b/webapp/OrderSprinterPrintserver.exe index dbbb689..a678359 100644 Binary files a/webapp/OrderSprinterPrintserver.exe and b/webapp/OrderSprinterPrintserver.exe differ diff --git a/webapp/bar.html b/webapp/bar.html index b2d7739..858a17a 100644 --- a/webapp/bar.html +++ b/webapp/bar.html @@ -5,7 +5,7 @@ - + @@ -13,8 +13,8 @@ - - + + @@ -51,6 +51,9 @@ var CALC_NONE=0;var CALC_TOTAL=1;var CALC_TIP=2;var lang=0;var receiptfontsize=1
+ diff --git a/webapp/php/3rdparty/orderstyle/orderstyle-darksoul.css b/webapp/php/3rdparty/orderstyle/orderstyle-darksoul.css new file mode 100644 index 0000000..ae95d9e --- /dev/null +++ b/webapp/php/3rdparty/orderstyle/orderstyle-darksoul.css @@ -0,0 +1,1238 @@ +/*! +* jQuery Mobile 1.4.5 +* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC +* http://jquerymobile.com +* +* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors +* Released under the MIT license. +* http://jquery.org/license +* +*/ + + +/* Globals */ +/* Font +-----------------------------------------------------------------------------------------------------------*/ +html { + font-size: 100%; +} +body, +input, +select, +textarea, +button, +.ui-btn { + font-size: 1em; + line-height: 1.3; + font-family: sans-serif /*{global-font-family}*/; +} +legend, +.ui-input-text input, +.ui-input-search input { + color: inherit; + text-shadow: inherit; +} +/* Form labels (overrides font-weight bold in bars, and mini font-size) */ +.ui-mobile label, +div.ui-controlgroup-label { + font-weight: normal; + font-size: 16px; +} +/* Separators +-----------------------------------------------------------------------------------------------------------*/ +/* Field contain separator (< 28em) */ +.ui-field-contain { + border-bottom-color: #828282; + border-bottom-color: rgba(0,0,0,.15); + border-bottom-width: 1px; + border-bottom-style: solid; +} +/* Table opt-in classes: strokes between each row, and alternating row stripes */ +/* Classes table-stroke and table-stripe are deprecated in 1.4. */ +.table-stroke thead th, +.table-stripe thead th, +.table-stripe tbody tr:last-child { + border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ + border-bottom: 1px solid rgba(0,0,0,.1); +} +.table-stroke tbody th, +.table-stroke tbody td { + border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ + border-bottom: 1px solid rgba(0,0,0,.05); +} +.table-stripe.table-stroke tbody tr:last-child th, +.table-stripe.table-stroke tbody tr:last-child td { + border-bottom: 0; +} +.table-stripe tbody tr:nth-child(odd) td, +.table-stripe tbody tr:nth-child(odd) th { + background-color: #eeeeee; /* non-RGBA fallback */ + background-color: rgba(0,0,0,.04); +} +/* Buttons +-----------------------------------------------------------------------------------------------------------*/ +.ui-btn, +label.ui-btn { + font-weight: bold; + border-width: 1px; + border-style: solid; +} +.ui-btn { + text-decoration: none !important; +} +.ui-btn-active { + cursor: pointer; +} +/* Corner rounding +-----------------------------------------------------------------------------------------------------------*/ +/* Class ui-btn-corner-all deprecated in 1.4 */ +.ui-corner-all { + -webkit-border-radius: .6em /*{global-radii-blocks}*/; + border-radius: .6em /*{global-radii-blocks}*/; +} +/* Buttons */ +.ui-btn-corner-all, +.ui-btn.ui-corner-all, +/* Slider track */ +.ui-slider-track.ui-corner-all, +/* Flipswitch */ +.ui-flipswitch.ui-corner-all, +/* Count bubble */ +.ui-li-count { + -webkit-border-radius: .3125em /*{global-radii-buttons}*/; + border-radius: .3125em /*{global-radii-buttons}*/; +} +/* Icon-only buttons */ +.ui-btn-icon-notext.ui-btn-corner-all, +.ui-btn-icon-notext.ui-corner-all { + -webkit-border-radius: 1em; + border-radius: 1em; +} +/* Radius clip workaround for cleaning up corner trapping */ +.ui-btn-corner-all, +.ui-corner-all { + -webkit-background-clip: padding; + background-clip: padding-box; +} +/* Popup arrow */ +.ui-popup.ui-corner-all > .ui-popup-arrow-guide { + left: .6em /*{global-radii-blocks}*/; + right: .6em /*{global-radii-blocks}*/; + top: .6em /*{global-radii-blocks}*/; + bottom: .6em /*{global-radii-blocks}*/; +} +/* Shadow +-----------------------------------------------------------------------------------------------------------*/ +.ui-shadow { + -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; + -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; + box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; +} +.ui-shadow-inset { + -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; + -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; + box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; +} +.ui-overlay-shadow { + -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); + -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); + box-shadow: 0 0 12px rgba(0,0,0,.6); +} +/* Icons +-----------------------------------------------------------------------------------------------------------*/ +.ui-btn-icon-left:after, +.ui-btn-icon-right:after, +.ui-btn-icon-top:after, +.ui-btn-icon-bottom:after, +.ui-btn-icon-notext:after { + background-color: #666666 /*{global-icon-color}*/; + background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; + background-position: center center; + background-repeat: no-repeat; + -webkit-border-radius: 1em; + border-radius: 1em; +} +/* Alt icons */ +.ui-alt-icon.ui-btn:after, +.ui-alt-icon .ui-btn:after, +html .ui-alt-icon.ui-checkbox-off:after, +html .ui-alt-icon.ui-radio-off:after, +html .ui-alt-icon .ui-checkbox-off:after, +html .ui-alt-icon .ui-radio-off:after { + background-color: #666666 /*{global-icon-color}*/; + background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; +} +/* No disc */ +.ui-nodisc-icon.ui-btn:after, +.ui-nodisc-icon .ui-btn:after { + background-color: transparent; +} +/* Icon shadow */ +.ui-shadow-icon.ui-btn:after, +.ui-shadow-icon .ui-btn:after { + -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; + -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; + box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; +} +/* Checkbox and radio */ +.ui-btn.ui-checkbox-off:after, +.ui-btn.ui-checkbox-on:after, +.ui-btn.ui-radio-off:after, +.ui-btn.ui-radio-on:after { + display: block; + width: 18px; + height: 18px; + margin: -9px 2px 0 2px; +} +.ui-checkbox-off:after, +.ui-btn.ui-radio-off:after { + filter: Alpha(Opacity=30); + opacity: .3; +} +.ui-btn.ui-checkbox-off:after, +.ui-btn.ui-checkbox-on:after { + -webkit-border-radius: .1875em; + border-radius: .1875em; +} +.ui-btn.ui-checkbox-off:after { + background-color: #666; + background-color: rgba(0,0,0,.3); +} +.ui-radio .ui-btn.ui-radio-on:after { + background-image: none; + background-color: #fff; + width: 8px; + height: 8px; + border-width: 5px; + border-style: solid; +} +.ui-alt-icon.ui-btn.ui-radio-on:after, +.ui-alt-icon .ui-btn.ui-radio-on:after { + background-color: #000; +} +/* Loader */ +.ui-icon-loading { + background: url("images/ajax-loader.gif"); + background-size: 2.875em 2.875em; +} +/* Swatches */ +/* A +-----------------------------------------------------------------------------------------------------------*/ +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-a, +.ui-page-theme-a .ui-bar-inherit, +html .ui-bar-a .ui-bar-inherit, +html .ui-body-a .ui-bar-inherit, +html body .ui-group-theme-a .ui-bar-inherit { + background-color: #100f0f /*{a-bar-background-color}*/; + border-color: #dddddd /*{a-bar-border}*/; + color: #ffffff /*{a-bar-color}*/; + text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eeeeee /*{a-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-a { + border-width: 1px; + border-style: solid; +} +/* Page and overlay */ +.ui-overlay-a, +.ui-page-theme-a, +.ui-page-theme-a .ui-panel-wrapper { + background-color: #252525 /*{a-page-background-color}*/; + border-color: #ffe6e9 /*{a-page-border}*/; + color: #ffffff /*{a-page-color}*/; + text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; +} +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-a, +.ui-page-theme-a .ui-body-inherit, +html .ui-bar-a .ui-body-inherit, +html .ui-body-a .ui-body-inherit, +html body .ui-group-theme-a .ui-body-inherit, +html .ui-panel-page-container-a { + background-color: #ffffff /*{a-body-background-color}*/; + border-color: #dddddd /*{a-body-border}*/; + color: #333333 /*{a-body-color}*/; + text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; +} +.ui-body-a { + border-width: 1px; + border-style: solid; +} +/* Links */ +.ui-page-theme-a a, +html .ui-bar-a a, +html .ui-body-a a, +html body .ui-group-theme-a a { + color: #3388cc /*{a-link-color}*/; + font-weight: bold; +} +.ui-page-theme-a a:visited, +html .ui-bar-a a:visited, +html .ui-body-a a:visited, +html body .ui-group-theme-a a:visited { + color: #3388cc /*{a-link-visited}*/; +} +.ui-page-theme-a a:hover, +html .ui-bar-a a:hover, +html .ui-body-a a:hover, +html body .ui-group-theme-a a:hover { + color: #005599 /*{a-link-hover}*/; +} +.ui-page-theme-a a:active, +html .ui-bar-a a:active, +html .ui-body-a a:active, +html body .ui-group-theme-a a:active { + color: #005599 /*{a-link-active}*/; +} +/* Button up */ +.ui-page-theme-a .ui-btn, +html .ui-bar-a .ui-btn, +html .ui-body-a .ui-btn, +html body .ui-group-theme-a .ui-btn, +html head + body .ui-btn.ui-btn-a, +/* Button visited */ +.ui-page-theme-a .ui-btn:visited, +html .ui-bar-a .ui-btn:visited, +html .ui-body-a .ui-btn:visited, +html body .ui-group-theme-a .ui-btn:visited, +html head + body .ui-btn.ui-btn-a:visited { + background-color: #f6f6f6 /*{a-bup-background-color}*/; + border-color: #dddddd /*{a-bup-border}*/; + color: #333333 /*{a-bup-color}*/; + text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-a .ui-btn:hover, +html .ui-bar-a .ui-btn:hover, +html .ui-body-a .ui-btn:hover, +html body .ui-group-theme-a .ui-btn:hover, +html head + body .ui-btn.ui-btn-a:hover { + background-color: #ededed /*{a-bhover-background-color}*/; + border-color: #dddddd /*{a-bhover-border}*/; + color: #333333 /*{a-bhover-color}*/; + text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-a .ui-btn:active, +html .ui-bar-a .ui-btn:active, +html .ui-body-a .ui-btn:active, +html body .ui-group-theme-a .ui-btn:active, +html head + body .ui-btn.ui-btn-a:active { + background-color: #e8e8e8 /*{a-bdown-background-color}*/; + border-color: #dddddd /*{a-bdown-border}*/; + color: #333333 /*{a-bdown-color}*/; + text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; +} +/* Active button */ +.ui-page-theme-a .ui-btn.ui-btn-active, +html .ui-bar-a .ui-btn.ui-btn-active, +html .ui-body-a .ui-btn.ui-btn-active, +html body .ui-group-theme-a .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-a.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-a .ui-checkbox-on:after, +html .ui-bar-a .ui-checkbox-on:after, +html .ui-body-a .ui-checkbox-on:after, +html body .ui-group-theme-a .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-a:after, +/* Active flipswitch background */ +.ui-page-theme-a .ui-flipswitch-active, +html .ui-bar-a .ui-flipswitch-active, +html .ui-body-a .ui-flipswitch-active, +html body .ui-group-theme-a .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-a .ui-slider-track .ui-btn-active, +html .ui-bar-a .ui-slider-track .ui-btn-active, +html .ui-body-a .ui-slider-track .ui-btn-active, +html body .ui-group-theme-a .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-a .ui-btn-active { + background-color: #3388cc /*{a-active-background-color}*/; + border-color: #1c4a70 /*{a-active-border}*/; + color: #ffffff /*{a-active-color}*/; + text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-a .ui-radio-on:after, +html .ui-bar-a .ui-radio-on:after, +html .ui-body-a .ui-radio-on:after, +html body .ui-group-theme-a .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-a:after { + border-color: #3388cc /*{a-active-background-color}*/; +} +/* Focus */ +.ui-page-theme-a .ui-btn:focus, +html .ui-bar-a .ui-btn:focus, +html .ui-body-a .ui-btn:focus, +html body .ui-group-theme-a .ui-btn:focus, +html head + body .ui-btn.ui-btn-a:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-a .ui-focus, +html .ui-bar-a .ui-focus, +html .ui-body-a .ui-focus, +html body .ui-group-theme-a .ui-focus, +html head + body .ui-btn-a.ui-focus, +html head + body .ui-body-a.ui-focus { + -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; + -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; + box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; +} +/* B +-----------------------------------------------------------------------------------------------------------*/ +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-b, +.ui-page-theme-b .ui-bar-inherit, +html .ui-bar-b .ui-bar-inherit, +html .ui-body-b .ui-bar-inherit, +html body .ui-group-theme-b .ui-bar-inherit { + background-color: #000000 /*{b-bar-background-color}*/; + border-color: #545454 /*{b-bar-border}*/; + color: #ffffff /*{b-bar-color}*/; + text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111111 /*{b-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-b { + border-width: 1px; + border-style: solid; +} +/* Page and overlay */ +.ui-overlay-b, +.ui-page-theme-b, +.ui-page-theme-b .ui-panel-wrapper { + background-color: #252525 /*{b-page-background-color}*/; + border-color: #454545 /*{b-page-border}*/; + color: #ffffff /*{b-page-color}*/; + text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111111 /*{b-page-shadow-color}*/; +} +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-b, +.ui-page-theme-b .ui-body-inherit, +html .ui-bar-b .ui-body-inherit, +html .ui-body-b .ui-body-inherit, +html body .ui-group-theme-b .ui-body-inherit, +html .ui-panel-page-container-b { + background-color: #333333 /*{b-body-background-color}*/; + border-color: #000000 /*{b-body-border}*/; + color: #ffffff /*{b-body-color}*/; + text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111111 /*{b-body-shadow-color}*/; +} +.ui-body-b { + border-width: 1px; + border-style: solid; +} +/* Links */ +.ui-page-theme-b a, +html .ui-bar-b a, +html .ui-body-b a, +html body .ui-group-theme-b a { + color: #22aadd /*{b-link-color}*/; + font-weight: bold; +} +.ui-page-theme-b a:visited, +html .ui-bar-b a:visited, +html .ui-body-b a:visited, +html body .ui-group-theme-b a:visited { + color: #22aadd /*{b-link-visited}*/; +} +.ui-page-theme-b a:hover, +html .ui-bar-b a:hover, +html .ui-body-b a:hover, +html body .ui-group-theme-b a:hover { + color: #0088bb /*{b-link-hover}*/; +} +.ui-page-theme-b a:active, +html .ui-bar-b a:active, +html .ui-body-b a:active, +html body .ui-group-theme-b a:active { + color: #0088bb /*{b-link-active}*/; +} +/* Button up */ +.ui-page-theme-b .ui-btn, +html .ui-bar-b .ui-btn, +html .ui-body-b .ui-btn, +html body .ui-group-theme-b .ui-btn, +html head + body .ui-btn.ui-btn-b, +/* Button visited */ +.ui-page-theme-b .ui-btn:visited, +html .ui-bar-b .ui-btn:visited, +html .ui-body-b .ui-btn:visited, +html body .ui-group-theme-b .ui-btn:visited, +html head + body .ui-btn.ui-btn-b:visited { + background-color: #333333 /*{b-bup-background-color}*/; + border-color: #000000 /*{b-bup-border}*/; + color: #ffffff /*{b-bup-color}*/; + text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111111 /*{b-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-b .ui-btn:hover, +html .ui-bar-b .ui-btn:hover, +html .ui-body-b .ui-btn:hover, +html body .ui-group-theme-b .ui-btn:hover, +html head + body .ui-btn.ui-btn-b:hover { + background-color: #373737 /*{b-bhover-background-color}*/; + border-color: #1f1f1f /*{b-bhover-border}*/; + color: #ffffff /*{b-bhover-color}*/; + text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111111 /*{b-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-b .ui-btn:active, +html .ui-bar-b .ui-btn:active, +html .ui-body-b .ui-btn:active, +html body .ui-group-theme-b .ui-btn:active, +html head + body .ui-btn.ui-btn-b:active { + background-color: #404040 /*{b-bdown-background-color}*/; + border-color: #1f1f1f /*{b-bdown-border}*/; + color: #ffffff /*{b-bdown-color}*/; + text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111111 /*{b-bdown-shadow-color}*/; +} +/* Active button */ +.ui-page-theme-b .ui-btn.ui-btn-active, +html .ui-bar-b .ui-btn.ui-btn-active, +html .ui-body-b .ui-btn.ui-btn-active, +html body .ui-group-theme-b .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-b.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-b .ui-checkbox-on:after, +html .ui-bar-b .ui-checkbox-on:after, +html .ui-body-b .ui-checkbox-on:after, +html body .ui-group-theme-b .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-b:after, +/* Active flipswitch background */ +.ui-page-theme-b .ui-flipswitch-active, +html .ui-bar-b .ui-flipswitch-active, +html .ui-body-b .ui-flipswitch-active, +html body .ui-group-theme-b .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-b .ui-slider-track .ui-btn-active, +html .ui-bar-b .ui-slider-track .ui-btn-active, +html .ui-body-b .ui-slider-track .ui-btn-active, +html body .ui-group-theme-b .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-b .ui-btn-active { + background-color: #22aadd /*{b-active-background-color}*/; + border-color: #125d79 /*{b-active-border}*/; + color: #ffffff /*{b-active-color}*/; + text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-b .ui-radio-on:after, +html .ui-bar-b .ui-radio-on:after, +html .ui-body-b .ui-radio-on:after, +html body .ui-group-theme-b .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-b:after { + border-color: #22aadd /*{b-active-background-color}*/; +} +/* Focus */ +.ui-page-theme-b .ui-btn:focus, +html .ui-bar-b .ui-btn:focus, +html .ui-body-b .ui-btn:focus, +html body .ui-group-theme-b .ui-btn:focus, +html head + body .ui-btn.ui-btn-b:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-b .ui-focus, +html .ui-bar-b .ui-focus, +html .ui-body-b .ui-focus, +html body .ui-group-theme-b .ui-focus, +html head + body .ui-btn-b.ui-focus, +html head + body .ui-body-b.ui-focus { + -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; + -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; + box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; +} + + +/* C +-----------------------------------------------------------------------------------------------------------*/ +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-c, +.ui-page-theme-c .ui-bar-inherit, +html .ui-bar-c .ui-bar-inherit, +html .ui-body-c .ui-bar-inherit, +html body .ui-group-theme-c .ui-bar-inherit { + background-color: #364b1b /*{c-bar-background-color}*/; + border-color: #5d753e /*{c-bar-border}*/; + color: #f0f0f0 /*{c-bar-color}*/; + text-shadow: 0 /*{c-bar-shadow-x}*/ 1px /*{c-bar-shadow-y}*/ 0 /*{c-bar-shadow-radius}*/ #eeeeee /*{c-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-c { + border-width: 1px; + border-style: solid; +} +/* Page and overlay */ +.ui-overlay-c, +.ui-page-theme-c, +.ui-page-theme-c .ui-panel-wrapper { + background-color: #252525 /*{c-page-background-color}*/; + border-color: #bbbbbb /*{c-page-border}*/; + color: #ffffff /*{c-page-color}*/; + text-shadow: 0 /*{c-page-shadow-x}*/ 1px /*{c-page-shadow-y}*/ 0 /*{c-page-shadow-radius}*/ #f3f3f3 /*{c-page-shadow-color}*/; +} +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-c, +.ui-page-theme-c .ui-body-inherit, +html .ui-bar-c .ui-body-inherit, +html .ui-body-c .ui-body-inherit, +html body .ui-group-theme-c .ui-body-inherit, +html .ui-panel-page-container-c { + background-color: #1c1b0d /*{c-body-background-color}*/; + border-color: #8b8535 /*{c-body-border}*/; + color: #f2eded /*{c-body-color}*/; + text-shadow: 0 /*{c-body-shadow-x}*/ 0px /*{c-body-shadow-y}*/ 0 /*{c-body-shadow-radius}*/ #eeeeee /*{c-body-shadow-color}*/; +} +.ui-body-c { + border-width: 1px; + border-style: solid; +} +/* Links */ +.ui-page-theme-c a, +html .ui-bar-c a, +html .ui-body-c a, +html body .ui-group-theme-c a { + color: #2792e7 /*{c-link-color}*/; + font-weight: bold; +} +.ui-page-theme-c a:visited, +html .ui-bar-c a:visited, +html .ui-body-c a:visited, +html body .ui-group-theme-c a:visited { + color: #3388cc /*{c-link-visited}*/; +} +.ui-page-theme-c a:hover, +html .ui-bar-c a:hover, +html .ui-body-c a:hover, +html body .ui-group-theme-c a:hover { + color: #005599 /*{c-link-hover}*/; +} +.ui-page-theme-c a:active, +html .ui-bar-c a:active, +html .ui-body-c a:active, +html body .ui-group-theme-c a:active { + color: #005599 /*{c-link-active}*/; +} +/* Button up */ +.ui-page-theme-c .ui-btn, +html .ui-bar-c .ui-btn, +html .ui-body-c .ui-btn, +html body .ui-group-theme-c .ui-btn, +html head + body .ui-btn.ui-btn-c, +/* Button visited */ +.ui-page-theme-c .ui-btn:visited, +html .ui-bar-c .ui-btn:visited, +html .ui-body-c .ui-btn:visited, +html body .ui-group-theme-c .ui-btn:visited, +html head + body .ui-btn.ui-btn-c:visited { + background-color: #1d1d11 /*{c-bup-background-color}*/; + border-color: #8b8535 /*{c-bup-border}*/; + color: #f5f4f4 /*{c-bup-color}*/; + text-shadow: 0 /*{c-bup-shadow-x}*/ 0px /*{c-bup-shadow-y}*/ 0 /*{c-bup-shadow-radius}*/ #eeeeee /*{c-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-c .ui-btn:hover, +html .ui-bar-c .ui-btn:hover, +html .ui-body-c .ui-btn:hover, +html body .ui-group-theme-c .ui-btn:hover, +html head + body .ui-btn.ui-btn-c:hover { + background-color: #b2b210 /*{c-bhover-background-color}*/; + border-color: #8c8c3d /*{c-bhover-border}*/; + color: #000000 /*{c-bhover-color}*/; + text-shadow: 0 /*{c-bhover-shadow-x}*/ 1px /*{c-bhover-shadow-y}*/ 0 /*{c-bhover-shadow-radius}*/ #eeeeee /*{c-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-c .ui-btn:active, +html .ui-bar-c .ui-btn:active, +html .ui-body-c .ui-btn:active, +html body .ui-group-theme-c .ui-btn:active, +html head + body .ui-btn.ui-btn-c:active { + background-color: #FFFF70 /*{c-bdown-background-color}*/; + border-color: #8c8c3d /*{c-bdown-border}*/; + color: #000000 /*{c-bdown-color}*/; + text-shadow: 0 /*{c-bdown-shadow-x}*/ 1px /*{c-bdown-shadow-y}*/ 0 /*{c-bdown-shadow-radius}*/ #eeeeee /*{c-bdown-shadow-color}*/; +} +/* Active button */ +.ui-page-theme-c .ui-btn.ui-btn-active, +html .ui-bar-c .ui-btn.ui-btn-active, +html .ui-body-c .ui-btn.ui-btn-active, +html body .ui-group-theme-c .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-c.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-c .ui-checkbox-on:after, +html .ui-bar-c .ui-checkbox-on:after, +html .ui-body-c .ui-checkbox-on:after, +html body .ui-group-theme-c .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-c:after, +/* Active flipswitch background */ +.ui-page-theme-c .ui-flipswitch-active, +html .ui-bar-c .ui-flipswitch-active, +html .ui-body-c .ui-flipswitch-active, +html body .ui-group-theme-c .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-c.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-c .ui-slider-track .ui-btn-active, +html .ui-bar-c .ui-slider-track .ui-btn-active, +html .ui-body-c .ui-slider-track .ui-btn-active, +html body .ui-group-theme-c .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-c .ui-btn-active { + background-color: #3388cc /*{c-active-background-color}*/; + border-color: #1c4a70 /*{c-active-border}*/; + color: #ffffff /*{c-active-color}*/; + text-shadow: 0 /*{c-active-shadow-x}*/ 1px /*{c-active-shadow-y}*/ 0 /*{c-active-shadow-radius}*/ #005599 /*{c-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-c .ui-radio-on:after, +html .ui-bar-c .ui-radio-on:after, +html .ui-body-c .ui-radio-on:after, +html body .ui-group-theme-c .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-c:after { + border-color: #3388cc /*{c-active-background-color}*/; +} +/* Focus */ +.ui-page-theme-c .ui-btn:focus, +html .ui-bar-c .ui-btn:focus, +html .ui-body-c .ui-btn:focus, +html body .ui-group-theme-c .ui-btn:focus, +html head + body .ui-btn.ui-btn-c:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-c .ui-focus, +html .ui-bar-c .ui-focus, +html .ui-body-c .ui-focus, +html body .ui-group-theme-c .ui-focus, +html head + body .ui-btn-c.ui-focus, +html head + body .ui-body-c.ui-focus { + -webkit-box-shadow: 0 0 12px #3388cc /*{c-active-background-color}*/; + -moz-box-shadow: 0 0 12px #3388cc /*{c-active-background-color}*/; + box-shadow: 0 0 12px #3388cc /*{c-active-background-color}*/; +} + + +/* D +-----------------------------------------------------------------------------------------------------------*/ +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-d, +.ui-page-theme-d .ui-bar-inherit, +html .ui-bar-d .ui-bar-inherit, +html .ui-body-d .ui-bar-inherit, +html body .ui-group-theme-d .ui-bar-inherit { + background-color: #784507 /*{d-bar-background-color}*/; + border-color: #e00b0b /*{d-bar-border}*/; + color: #f0efef /*{d-bar-color}*/; + text-shadow: 0 /*{d-bar-shadow-x}*/ 1px /*{d-bar-shadow-y}*/ 0 /*{d-bar-shadow-radius}*/ #eeeeee /*{d-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-d { + border-width: 1px; + border-style: solid; +} +/* Page and overlay */ +.ui-overlay-d, +.ui-page-theme-d, +.ui-page-theme-d .ui-panel-wrapper { + background-color: #252525 /*{d-page-background-color}*/; + border-color: #bbbbbb /*{d-page-border}*/; + color: #ffffff /*{d-page-color}*/; + text-shadow: 0 /*{d-page-shadow-x}*/ 1px /*{d-page-shadow-y}*/ 0 /*{d-page-shadow-radius}*/ #f3f3f3 /*{d-page-shadow-color}*/; +} +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-d, +.ui-page-theme-d .ui-body-inherit, +html .ui-bar-d .ui-body-inherit, +html .ui-body-d .ui-body-inherit, +html body .ui-group-theme-d .ui-body-inherit, +html .ui-panel-page-container-d { + background-color: #040301 /*{d-body-background-color}*/; + border-color: #e00b0b /*{d-body-border}*/; + color: #f8f7f7 /*{d-body-color}*/; + text-shadow: 0 /*{d-body-shadow-x}*/ 0px /*{d-body-shadow-y}*/ 0 /*{d-body-shadow-radius}*/ #eeeeee /*{d-body-shadow-color}*/; +} +.ui-body-d { + border-width: 1px; + border-style: solid; +} +/* Links */ +.ui-page-theme-d a, +html .ui-bar-d a, +html .ui-body-d a, +html body .ui-group-theme-d a { + color: #3388cc /*{d-link-color}*/; + font-weight: bold; +} +.ui-page-theme-d a:visited, +html .ui-bar-d a:visited, +html .ui-body-d a:visited, +html body .ui-group-theme-d a:visited { + color: #3388cc /*{d-link-visited}*/; +} +.ui-page-theme-d a:hover, +html .ui-bar-d a:hover, +html .ui-body-d a:hover, +html body .ui-group-theme-d a:hover { + color: #005599 /*{d-link-hover}*/; +} +.ui-page-theme-d a:active, +html .ui-bar-d a:active, +html .ui-body-d a:active, +html body .ui-group-theme-d a:active { + color: #005599 /*{d-link-active}*/; +} +/* Button up */ +.ui-page-theme-d .ui-btn, +html .ui-bar-d .ui-btn, +html .ui-body-d .ui-btn, +html body .ui-group-theme-d .ui-btn, +html head + body .ui-btn.ui-btn-d, +/* Button visited */ +.ui-page-theme-d .ui-btn:visited, +html .ui-bar-d .ui-btn:visited, +html .ui-body-d .ui-btn:visited, +html body .ui-group-theme-d .ui-btn:visited, +html head + body .ui-btn.ui-btn-d:visited { + background-color: #040301 /*{d-bup-background-color}*/; + border-color: #e00b0b /*{d-bup-border}*/; + color: #f5f5f5 /*{d-bup-color}*/; + text-shadow: 0 /*{d-bup-shadow-x}*/ 0px /*{d-bup-shadow-y}*/ 0 /*{d-bup-shadow-radius}*/ #eeeeee /*{d-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-d .ui-btn:hover, +html .ui-bar-d .ui-btn:hover, +html .ui-body-d .ui-btn:hover, +html body .ui-group-theme-d .ui-btn:hover, +html head + body .ui-btn.ui-btn-d:hover { + background-color: #FFecaf /*{d-bhover-background-color}*/; + border-color: #8c8160 /*{d-bhover-border}*/; + color: #000000 /*{d-bhover-color}*/; + text-shadow: 0 /*{d-bhover-shadow-x}*/ 1px /*{d-bhover-shadow-y}*/ 0 /*{d-bhover-shadow-radius}*/ #eeeeee /*{d-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-d .ui-btn:active, +html .ui-bar-d .ui-btn:active, +html .ui-body-d .ui-btn:active, +html body .ui-group-theme-d .ui-btn:active, +html head + body .ui-btn.ui-btn-d:active { + background-color: #FFecaf /*{d-bdown-background-color}*/; + border-color: #8c8160 /*{d-bdown-border}*/; + color: #000000 /*{d-bdown-color}*/; + text-shadow: 0 /*{d-bdown-shadow-x}*/ 1px /*{d-bdown-shadow-y}*/ 0 /*{d-bdown-shadow-radius}*/ #eeeeee /*{d-bdown-shadow-color}*/; +} +/* Active button */ +.ui-page-theme-d .ui-btn.ui-btn-active, +html .ui-bar-d .ui-btn.ui-btn-active, +html .ui-body-d .ui-btn.ui-btn-active, +html body .ui-group-theme-d .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-d.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-d .ui-checkbox-on:after, +html .ui-bar-d .ui-checkbox-on:after, +html .ui-body-d .ui-checkbox-on:after, +html body .ui-group-theme-d .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-d:after, +/* Active flipswitch background */ +.ui-page-theme-d .ui-flipswitch-active, +html .ui-bar-d .ui-flipswitch-active, +html .ui-body-d .ui-flipswitch-active, +html body .ui-group-theme-d .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-d.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-d .ui-slider-track .ui-btn-active, +html .ui-bar-d .ui-slider-track .ui-btn-active, +html .ui-body-d .ui-slider-track .ui-btn-active, +html body .ui-group-theme-d .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-d .ui-btn-active { + background-color: #3388cc /*{d-active-background-color}*/; + border-color: #1c4a70 /*{d-active-border}*/; + color: #ffffff /*{d-active-color}*/; + text-shadow: 0 /*{d-active-shadow-x}*/ 1px /*{d-active-shadow-y}*/ 0 /*{d-active-shadow-radius}*/ #005599 /*{d-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-d .ui-radio-on:after, +html .ui-bar-d .ui-radio-on:after, +html .ui-body-d .ui-radio-on:after, +html body .ui-group-theme-d .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-d:after { + border-color: #3388cc /*{d-active-background-color}*/; +} +/* Focus */ +.ui-page-theme-d .ui-btn:focus, +html .ui-bar-d .ui-btn:focus, +html .ui-body-d .ui-btn:focus, +html body .ui-group-theme-d .ui-btn:focus, +html head + body .ui-btn.ui-btn-d:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-d .ui-focus, +html .ui-bar-d .ui-focus, +html .ui-body-d .ui-focus, +html body .ui-group-theme-d .ui-focus, +html head + body .ui-btn-d.ui-focus, +html head + body .ui-body-d.ui-focus { + -webkit-box-shadow: 0 0 12px #3388cc /*{d-active-background-color}*/; + -moz-box-shadow: 0 0 12px #3388cc /*{d-active-background-color}*/; + box-shadow: 0 0 12px #3388cc /*{d-active-background-color}*/; +} + + +/* E +-----------------------------------------------------------------------------------------------------------*/ +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-e, +.ui-page-theme-e .ui-bar-inherit, +html .ui-bar-e .ui-bar-inherit, +html .ui-body-e .ui-bar-inherit, +html body .ui-group-theme-e .ui-bar-inherit { + background-color: #054e7f /*{e-bar-background-color}*/; + border-color: #21618c /*{e-bar-border}*/; + color: #f5f5f5 /*{e-bar-color}*/; + text-shadow: 0 /*{e-bar-shadow-x}*/ 0px /*{e-bar-shadow-y}*/ 0 /*{e-bar-shadow-radius}*/ #eeeeee /*{e-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-e { + border-width: 1px; + border-style: solid; +} +/* Page and overlay */ +.ui-overlay-e, +.ui-page-theme-e, +.ui-page-theme-e .ui-panel-wrapper { + background-color: #252525 /*{e-page-background-color}*/; + border-color: #bbbbbb /*{e-page-border}*/; + color: #ffffff /*{e-page-color}*/; + text-shadow: 0 /*{e-page-shadow-x}*/ 1px /*{e-page-shadow-y}*/ 0 /*{e-page-shadow-radius}*/ #f3f3f3 /*{e-page-shadow-color}*/; +} +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-e, +.ui-page-theme-e .ui-body-inherit, +html .ui-bar-e .ui-body-inherit, +html .ui-body-e .ui-body-inherit, +html body .ui-group-theme-e .ui-body-inherit, +html .ui-panel-page-container-e { + background-color: #010f0f /*{e-body-background-color}*/; + border-color: #5f8181 /*{e-body-border}*/; + color: #f0efef /*{e-body-color}*/; + text-shadow: 0 /*{e-body-shadow-x}*/ 0px /*{e-body-shadow-y}*/ 0 /*{e-body-shadow-radius}*/ #eeeeee /*{e-body-shadow-color}*/; +} +.ui-body-e { + border-width: 1px; + border-style: solid; +} +/* Links */ +.ui-page-theme-e a, +html .ui-bar-e a, +html .ui-body-e a, +html body .ui-group-theme-e a { + color: #c6e3fa /*{e-link-color}*/; + font-weight: bold; +} +.ui-page-theme-e a:visited, +html .ui-bar-e a:visited, +html .ui-body-e a:visited, +html body .ui-group-theme-e a:visited { + color: #3388cc /*{e-link-visited}*/; +} +.ui-page-theme-e a:hover, +html .ui-bar-e a:hover, +html .ui-body-e a:hover, +html body .ui-group-theme-e a:hover { + color: #005599 /*{e-link-hover}*/; +} +.ui-page-theme-e a:active, +html .ui-bar-e a:active, +html .ui-body-e a:active, +html body .ui-group-theme-e a:active { + color: #005599 /*{e-link-active}*/; +} +/* Button up */ +.ui-page-theme-e .ui-btn, +html .ui-bar-e .ui-btn, +html .ui-body-e .ui-btn, +html body .ui-group-theme-e .ui-btn, +html head + body .ui-btn.ui-btn-e, +/* Button visited */ +.ui-page-theme-e .ui-btn:visited, +html .ui-bar-e .ui-btn:visited, +html .ui-body-e .ui-btn:visited, +html body .ui-group-theme-e .ui-btn:visited, +html head + body .ui-btn.ui-btn-e:visited { + background-color: #010f0f /*{e-bup-background-color}*/; + border-color: #5f8181 /*{e-bup-border}*/; + color: #f3f2f2 /*{e-bup-color}*/; + text-shadow: 0 /*{e-bup-shadow-x}*/ 0px /*{e-bup-shadow-y}*/ 0 /*{e-bup-shadow-radius}*/ #eeeeee /*{e-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-e .ui-btn:hover, +html .ui-bar-e .ui-btn:hover, +html .ui-body-e .ui-btn:hover, +html body .ui-group-theme-e .ui-btn:hover, +html head + body .ui-btn.ui-btn-e:hover { + background-color: #c6FFFF /*{e-bhover-background-color}*/; + border-color: #6c8c8c /*{e-bhover-border}*/; + color: #000000 /*{e-bhover-color}*/; + text-shadow: 0 /*{e-bhover-shadow-x}*/ 1px /*{e-bhover-shadow-y}*/ 0 /*{e-bhover-shadow-radius}*/ #eeeeee /*{e-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-e .ui-btn:active, +html .ui-bar-e .ui-btn:active, +html .ui-body-e .ui-btn:active, +html body .ui-group-theme-e .ui-btn:active, +html head + body .ui-btn.ui-btn-e:active { + background-color: #c6FFFF /*{e-bdown-background-color}*/; + border-color: #6c8c8c /*{e-bdown-border}*/; + color: #000000 /*{e-bdown-color}*/; + text-shadow: 0 /*{e-bdown-shadow-x}*/ 1px /*{e-bdown-shadow-y}*/ 0 /*{e-bdown-shadow-radius}*/ #eeeeee /*{e-bdown-shadow-color}*/; +} +/* Active button */ +.ui-page-theme-e .ui-btn.ui-btn-active, +html .ui-bar-e .ui-btn.ui-btn-active, +html .ui-body-e .ui-btn.ui-btn-active, +html body .ui-group-theme-e .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-e.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-e .ui-checkbox-on:after, +html .ui-bar-e .ui-checkbox-on:after, +html .ui-body-e .ui-checkbox-on:after, +html body .ui-group-theme-e .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-e:after, +/* Active flipswitch background */ +.ui-page-theme-e .ui-flipswitch-active, +html .ui-bar-e .ui-flipswitch-active, +html .ui-body-e .ui-flipswitch-active, +html body .ui-group-theme-e .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-e.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-e .ui-slider-track .ui-btn-active, +html .ui-bar-e .ui-slider-track .ui-btn-active, +html .ui-body-e .ui-slider-track .ui-btn-active, +html body .ui-group-theme-e .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-e .ui-btn-active { + background-color: #3388cc /*{e-active-background-color}*/; + border-color: #1c4a70 /*{e-active-border}*/; + color: #ffffff /*{e-active-color}*/; + text-shadow: 0 /*{e-active-shadow-x}*/ 1px /*{e-active-shadow-y}*/ 0 /*{e-active-shadow-radius}*/ #005599 /*{e-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-e .ui-radio-on:after, +html .ui-bar-e .ui-radio-on:after, +html .ui-body-e .ui-radio-on:after, +html body .ui-group-theme-e .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-e:after { + border-color: #3388cc /*{e-active-background-color}*/; +} +/* Focus */ +.ui-page-theme-e .ui-btn:focus, +html .ui-bar-e .ui-btn:focus, +html .ui-body-e .ui-btn:focus, +html body .ui-group-theme-e .ui-btn:focus, +html head + body .ui-btn.ui-btn-e:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-e .ui-focus, +html .ui-bar-e .ui-focus, +html .ui-body-e .ui-focus, +html body .ui-group-theme-e .ui-focus, +html head + body .ui-btn-e.ui-focus, +html head + body .ui-body-e.ui-focus { + -webkit-box-shadow: 0 0 12px #3388cc /*{e-active-background-color}*/; + -moz-box-shadow: 0 0 12px #3388cc /*{e-active-background-color}*/; + box-shadow: 0 0 12px #3388cc /*{e-active-background-color}*/; +} + + +/* F +-----------------------------------------------------------------------------------------------------------*/ +/* Bar: Toolbars, dividers, slider track */ +.ui-bar-f, +.ui-page-theme-f .ui-bar-inherit, +html .ui-bar-f .ui-bar-inherit, +html .ui-body-f .ui-bar-inherit, +html body .ui-group-theme-f .ui-bar-inherit { + background-color: #538c08 /*{f-bar-background-color}*/; + border-color: #f5f4f4 /*{f-bar-border}*/; + color: #ffffff /*{f-bar-color}*/; + text-shadow: 0 /*{f-bar-shadow-x}*/ 1px /*{f-bar-shadow-y}*/ 0 /*{f-bar-shadow-radius}*/ #444444 /*{f-bar-shadow-color}*/; + font-weight: bold; +} +.ui-bar-f { + border-width: 1px; + border-style: solid; +} +/* Page and overlay */ +.ui-overlay-f, +.ui-page-theme-f, +.ui-page-theme-f .ui-panel-wrapper { + background-color: #252525 /*{f-page-background-color}*/; + border-color: #bbbbbb /*{f-page-border}*/; + color: #ffffff /*{f-page-color}*/; + text-shadow: 0 /*{f-page-shadow-x}*/ 1px /*{f-page-shadow-y}*/ 0 /*{f-page-shadow-radius}*/ #f3f3f3 /*{f-page-shadow-color}*/; +} +/* Body: Read-only lists, text inputs, collapsible content */ +.ui-body-f, +.ui-page-theme-f .ui-body-inherit, +html .ui-bar-f .ui-body-inherit, +html .ui-body-f .ui-body-inherit, +html body .ui-group-theme-f .ui-body-inherit, +html .ui-panel-page-container-f { + background-color: #38570f /*{f-body-background-color}*/; + border-color: #f6f4f4 /*{f-body-border}*/; + color: #f3f2f2 /*{f-body-color}*/; + text-shadow: 0 /*{f-body-shadow-x}*/ 1px /*{f-body-shadow-y}*/ 0 /*{f-body-shadow-radius}*/ #eeeeee /*{f-body-shadow-color}*/; +} +.ui-body-f { + border-width: 1px; + border-style: solid; +} +/* Links */ +.ui-page-theme-f a, +html .ui-bar-f a, +html .ui-body-f a, +html body .ui-group-theme-f a { + color: #3388cc /*{f-link-color}*/; + font-weight: bold; +} +.ui-page-theme-f a:visited, +html .ui-bar-f a:visited, +html .ui-body-f a:visited, +html body .ui-group-theme-f a:visited { + color: #3388cc /*{f-link-visited}*/; +} +.ui-page-theme-f a:hover, +html .ui-bar-f a:hover, +html .ui-body-f a:hover, +html body .ui-group-theme-f a:hover { + color: #005599 /*{f-link-hover}*/; +} +.ui-page-theme-f a:active, +html .ui-bar-f a:active, +html .ui-body-f a:active, +html body .ui-group-theme-f a:active { + color: #005599 /*{f-link-active}*/; +} +/* Button up */ +.ui-page-theme-f .ui-btn, +html .ui-bar-f .ui-btn, +html .ui-body-f .ui-btn, +html body .ui-group-theme-f .ui-btn, +html head + body .ui-btn.ui-btn-f, +/* Button visited */ +.ui-page-theme-f .ui-btn:visited, +html .ui-bar-f .ui-btn:visited, +html .ui-body-f .ui-btn:visited, +html body .ui-group-theme-f .ui-btn:visited, +html head + body .ui-btn.ui-btn-f:visited { + background-color: #38570f /*{f-bup-background-color}*/; + border-color: #f3f2f2 /*{f-bup-border}*/; + color: #f3f2f2 /*{f-bup-color}*/; + text-shadow: 0 /*{f-bup-shadow-x}*/ 1px /*{f-bup-shadow-y}*/ 0 /*{f-bup-shadow-radius}*/ #eeeeee /*{f-bup-shadow-color}*/; +} +/* Button hover */ +.ui-page-theme-f .ui-btn:hover, +html .ui-bar-f .ui-btn:hover, +html .ui-body-f .ui-btn:hover, +html body .ui-group-theme-f .ui-btn:hover, +html head + body .ui-btn.ui-btn-f:hover { + background-color: #d7FF8b /*{f-bhover-background-color}*/; + border-color: #768c4c /*{f-bhover-border}*/; + color: #000000 /*{f-bhover-color}*/; + text-shadow: 0 /*{f-bhover-shadow-x}*/ 1px /*{f-bhover-shadow-y}*/ 0 /*{f-bhover-shadow-radius}*/ #eeeeee /*{f-bhover-shadow-color}*/; +} +/* Button down */ +.ui-page-theme-f .ui-btn:active, +html .ui-bar-f .ui-btn:active, +html .ui-body-f .ui-btn:active, +html body .ui-group-theme-f .ui-btn:active, +html head + body .ui-btn.ui-btn-f:active { + background-color: #d7FF8b /*{f-bdown-background-color}*/; + border-color: #768c4c /*{f-bdown-border}*/; + color: #000000 /*{f-bdown-color}*/; + text-shadow: 0 /*{f-bdown-shadow-x}*/ 1px /*{f-bdown-shadow-y}*/ 0 /*{f-bdown-shadow-radius}*/ #eeeeee /*{f-bdown-shadow-color}*/; +} +/* Active button */ +.ui-page-theme-f .ui-btn.ui-btn-active, +html .ui-bar-f .ui-btn.ui-btn-active, +html .ui-body-f .ui-btn.ui-btn-active, +html body .ui-group-theme-f .ui-btn.ui-btn-active, +html head + body .ui-btn.ui-btn-f.ui-btn-active, +/* Active checkbox icon */ +.ui-page-theme-f .ui-checkbox-on:after, +html .ui-bar-f .ui-checkbox-on:after, +html .ui-body-f .ui-checkbox-on:after, +html body .ui-group-theme-f .ui-checkbox-on:after, +.ui-btn.ui-checkbox-on.ui-btn-f:after, +/* Active flipswitch background */ +.ui-page-theme-f .ui-flipswitch-active, +html .ui-bar-f .ui-flipswitch-active, +html .ui-body-f .ui-flipswitch-active, +html body .ui-group-theme-f .ui-flipswitch-active, +html body .ui-flipswitch.ui-bar-f.ui-flipswitch-active, +/* Active slider track */ +.ui-page-theme-f .ui-slider-track .ui-btn-active, +html .ui-bar-f .ui-slider-track .ui-btn-active, +html .ui-body-f .ui-slider-track .ui-btn-active, +html body .ui-group-theme-f .ui-slider-track .ui-btn-active, +html body div.ui-slider-track.ui-body-f .ui-btn-active { + background-color: #3388cc /*{f-active-background-color}*/; + border-color: #1c4a70 /*{f-active-border}*/; + color: #ffffff /*{f-active-color}*/; + text-shadow: 0 /*{f-active-shadow-x}*/ 1px /*{f-active-shadow-y}*/ 0 /*{f-active-shadow-radius}*/ #005599 /*{f-active-shadow-color}*/; +} +/* Active radio button icon */ +.ui-page-theme-f .ui-radio-on:after, +html .ui-bar-f .ui-radio-on:after, +html .ui-body-f .ui-radio-on:after, +html body .ui-group-theme-f .ui-radio-on:after, +.ui-btn.ui-radio-on.ui-btn-f:after { + border-color: #3388cc /*{f-active-background-color}*/; +} +/* Focus */ +.ui-page-theme-f .ui-btn:focus, +html .ui-bar-f .ui-btn:focus, +html .ui-body-f .ui-btn:focus, +html body .ui-group-theme-f .ui-btn:focus, +html head + body .ui-btn.ui-btn-f:focus, +/* Focus buttons and text inputs with div wrap */ +.ui-page-theme-f .ui-focus, +html .ui-bar-f .ui-focus, +html .ui-body-f .ui-focus, +html body .ui-group-theme-f .ui-focus, +html head + body .ui-btn-f.ui-focus, +html head + body .ui-body-f.ui-focus { + -webkit-box-shadow: 0 0 12px #3388cc /*{f-active-background-color}*/; + -moz-box-shadow: 0 0 12px #3388cc /*{f-active-background-color}*/; + box-shadow: 0 0 12px #3388cc /*{f-active-background-color}*/; +} + + +/* Structure */ +/* Disabled +-----------------------------------------------------------------------------------------------------------*/ +/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ +.ui-disabled, +.ui-state-disabled, +button[disabled], +.ui-select .ui-btn.ui-state-disabled { + filter: Alpha(Opacity=30); + opacity: .3; + cursor: default !important; + pointer-events: none; +} +/* Focus state outline +-----------------------------------------------------------------------------------------------------------*/ +.ui-btn:focus, +.ui-btn.ui-focus { + outline: 0; +} +/* Unset box-shadow in browsers that don't do it right */ +.ui-noboxshadow .ui-shadow, +.ui-noboxshadow .ui-shadow-inset, +.ui-noboxshadow .ui-overlay-shadow, +.ui-noboxshadow .ui-shadow-icon.ui-btn:after, +.ui-noboxshadow .ui-shadow-icon .ui-btn:after, +.ui-noboxshadow .ui-focus, +.ui-noboxshadow .ui-btn:focus, +.ui-noboxshadow input:focus, +.ui-noboxshadow .ui-panel { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} +.ui-noboxshadow .ui-btn:focus, +.ui-noboxshadow .ui-focus { + outline-width: 1px; + outline-style: auto; +} diff --git a/webapp/php/3rdparty/orderstyle/orderstyle-darksoul.min.css b/webapp/php/3rdparty/orderstyle/orderstyle-darksoul.min.css new file mode 100644 index 0000000..44d12a3 --- /dev/null +++ b/webapp/php/3rdparty/orderstyle/orderstyle-darksoul.min.css @@ -0,0 +1,217 @@ +/*! +* jQuery Mobile 1.4.5 +* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC +* http://jquerymobile.com +* +* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors +* Released under the MIT license. +* http://jquery.org/license +* +*/ + + +/* Globals */ +/* Font +-----------------------------------------------------------------------------------------------------------*/ +html { + font-size: 100%; +} +body, +input, +select, +textarea, +button, +.ui-btn { + font-size: 1em; + line-height: 1.3; + font-family: sans-serif /*{global-font-family}*/; +} +legend, +.ui-input-text input, +.ui-input-search input { + color: inherit; + text-shadow: inherit; +} +/* Form labels (overrides font-weight bold in bars, and mini font-size) */ +.ui-mobile label, +div.ui-controlgroup-label { + font-weight: normal; + font-size: 16px; +} +/* Separators +-----------------------------------------------------------------------------------------------------------*/ +/* Field contain separator (< 28em) */ +.ui-field-contain { + border-bottom-color: #828282; + border-bottom-color: rgba(0,0,0,.15); + border-bottom-width: 1px; + border-bottom-style: solid; +} +/* Table opt-in classes: strokes between each row, and alternating row stripes */ +/* Classes table-stroke and table-stripe are deprecated in 1.4. */ +.table-stroke thead th, +.table-stripe thead th, +.table-stripe tbody tr:last-child { + border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ + border-bottom: 1px solid rgba(0,0,0,.1); +} +.table-stroke tbody th, +.table-stroke tbody td { + border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ + border-bottom: 1px solid rgba(0,0,0,.05); +} +.table-stripe.table-stroke tbody tr:last-child th, +.table-stripe.table-stroke tbody tr:last-child td { + border-bottom: 0; +} +.table-stripe tbody tr:nth-child(odd) td, +.table-stripe tbody tr:nth-child(odd) th { + background-color: #eeeeee; /* non-RGBA fallback */ + background-color: rgba(0,0,0,.04); +} +/* Buttons +-----------------------------------------------------------------------------------------------------------*/ +.ui-btn, +label.ui-btn { + font-weight: bold; + border-width: 1px; + border-style: solid; +} +.ui-btn { + text-decoration: none !important; +} +.ui-btn-active { + cursor: pointer; +} +/* Corner rounding +-----------------------------------------------------------------------------------------------------------*/ +/* Class ui-btn-corner-all deprecated in 1.4 */ +.ui-corner-all { + -webkit-border-radius: .6em /*{global-radii-blocks}*/; + border-radius: .6em /*{global-radii-blocks}*/; +} +/* Buttons */ +.ui-btn-corner-all, +.ui-btn.ui-corner-all, +/* Slider track */ +.ui-slider-track.ui-corner-all, +/* Flipswitch */ +.ui-flipswitch.ui-corner-all, +/* Count bubble */ +.ui-li-count { + -webkit-border-radius: .3125em /*{global-radii-buttons}*/; + border-radius: .3125em /*{global-radii-buttons}*/; +} +/* Icon-only buttons */ +.ui-btn-icon-notext.ui-btn-corner-all, +.ui-btn-icon-notext.ui-corner-all { + -webkit-border-radius: 1em; + border-radius: 1em; +} +/* Radius clip workaround for cleaning up corner trapping */ +.ui-btn-corner-all, +.ui-corner-all { + -webkit-background-clip: padding; + background-clip: padding-box; +} +/* Popup arrow */ +.ui-popup.ui-corner-all > .ui-popup-arrow-guide { + left: .6em /*{global-radii-blocks}*/; + right: .6em /*{global-radii-blocks}*/; + top: .6em /*{global-radii-blocks}*/; + bottom: .6em /*{global-radii-blocks}*/; +} +/* Shadow +-----------------------------------------------------------------------------------------------------------*/ +.ui-shadow { + -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; + -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; + box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; +} +.ui-shadow-inset { + -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; + -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; + box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,0.2) /*{global-box-shadow-color}*/; +} +.ui-overlay-shadow { + -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); + -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); + box-shadow: 0 0 12px rgba(0,0,0,.6); +} +/* Icons +-----------------------------------------------------------------------------------------------------------*/ +.ui-btn-icon-left:after, +.ui-btn-icon-right:after, +.ui-btn-icon-top:after, +.ui-btn-icon-bottom:after, +.ui-btn-icon-notext:after { + background-color: #666666 /*{global-icon-color}*/; + background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; + background-position: center center; + background-repeat: no-repeat; + -webkit-border-radius: 1em; + border-radius: 1em; +} +/* Alt icons */ +.ui-alt-icon.ui-btn:after, +.ui-alt-icon .ui-btn:after, +html .ui-alt-icon.ui-checkbox-off:after, +html .ui-alt-icon.ui-radio-off:after, +html .ui-alt-icon .ui-checkbox-off:after, +html .ui-alt-icon .ui-radio-off:after { + background-color: #666666 /*{global-icon-color}*/; + background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; +} +/* No disc */ +.ui-nodisc-icon.ui-btn:after, +.ui-nodisc-icon .ui-btn:after { + background-color: transparent; +} +/* Icon shadow */ +.ui-shadow-icon.ui-btn:after, +.ui-shadow-icon .ui-btn:after { + -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; + -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; + box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; +} +/* Checkbox and radio */ +.ui-btn.ui-checkbox-off:after, +.ui-btn.ui-checkbox-on:after, +.ui-btn.ui-radio-off:after, +.ui-btn.ui-radio-on:after { + display: block; + width: 18px; + height: 18px; + margin: -9px 2px 0 2px; +} +.ui-checkbox-off:after, +.ui-btn.ui-radio-off:after { + filter: Alpha(Opacity=30); + opacity: .3; +} +.ui-btn.ui-checkbox-off:after, +.ui-btn.ui-checkbox-on:after { + -webkit-border-radius: .1875em; + border-radius: .1875em; +} +.ui-btn.ui-checkbox-off:after { + background-color: #666; + background-color: rgba(0,0,0,.3); +} +.ui-radio .ui-btn.ui-radio-on:after { + background-image: none; + background-color: #fff; + width: 8px; + height: 8px; + border-width: 5px; + border-style: solid; +} +.ui-alt-icon.ui-btn.ui-radio-on:after, +.ui-alt-icon .ui-btn.ui-radio-on:after { + background-color: #000; +} +/* Loader */ +.ui-icon-loading { + background: url("images/ajax-loader.gif"); + background-size: 2.875em 2.875em; +}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#100f0f ;border-color:#dddddd ;color:#ffffff ;text-shadow:0 1px 0 #eeeeee ;font-weight:bold;}.ui-bar-a{border-width:1px;border-style:solid;}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#252525 ;border-color:#ffe6e9 ;color:#ffffff ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#ffffff ;border-color:#dddddd ;color:#333333 ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-body-a{border-width:1px;border-style:solid;}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#3388cc ;font-weight:bold;}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{ color:#3388cc ;}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#005599 ;}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#005599 ;}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head + body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head + body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6 ;border-color:#dddddd ;color:#333333 ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head + body .ui-btn.ui-btn-a:hover{background-color:#ededed ;border-color:#dddddd ;color:#333333 ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head + body .ui-btn.ui-btn-a:active{background-color:#e8e8e8 ;border-color:#dddddd ;color:#333333 ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#3388cc ;border-color:#1c4a70 ;color:#ffffff ;text-shadow:0 1px 0 #005599 ;}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#3388cc ;}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head + body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head + body .ui-btn-a.ui-focus,html head + body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#000000 ;border-color:#545454 ;color:#ffffff ;text-shadow:0 1px 0 #111111 ;font-weight:bold;}.ui-bar-b{border-width:1px;border-style:solid;}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525 ;border-color:#454545 ;color:#ffffff ;text-shadow:0 1px 0 #111111 ;}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#333333 ;border-color:#000000 ;color:#ffffff ;text-shadow:0 1px 0 #111111 ;}.ui-body-b{border-width:1px;border-style:solid;}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#22aadd ;font-weight:bold;}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{ color:#22aadd ;}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#0088bb ;}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#0088bb ;}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head + body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head + body .ui-btn.ui-btn-b:visited{background-color:#333333 ;border-color:#000000 ;color:#ffffff ;text-shadow:0 1px 0 #111111 ;}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head + body .ui-btn.ui-btn-b:hover{background-color:#373737 ;border-color:#1f1f1f ;color:#ffffff ;text-shadow:0 1px 0 #111111 ;}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head + body .ui-btn.ui-btn-b:active{background-color:#404040 ;border-color:#1f1f1f ;color:#ffffff ;text-shadow:0 1px 0 #111111 ;}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#22aadd ;border-color:#125d79 ;color:#ffffff ;text-shadow:0 1px 0 #0088bb ;}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#22aadd ;}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head + body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head + body .ui-btn-b.ui-focus,html head + body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #22aadd ;-moz-box-shadow:0 0 12px #22aadd ;box-shadow:0 0 12px #22aadd ;}.ui-bar-c,.ui-page-theme-c .ui-bar-inherit,html .ui-bar-c .ui-bar-inherit,html .ui-body-c .ui-bar-inherit,html body .ui-group-theme-c .ui-bar-inherit{background-color:#364b1b ;border-color:#5d753e ;color:#f0f0f0 ;text-shadow:0 1px 0 #eeeeee ;font-weight:bold;}.ui-bar-c{border-width:1px;border-style:solid;}.ui-overlay-c,.ui-page-theme-c,.ui-page-theme-c .ui-panel-wrapper{background-color:#252525 ;border-color:#bbbbbb ;color:#ffffff ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-body-c,.ui-page-theme-c .ui-body-inherit,html .ui-bar-c .ui-body-inherit,html .ui-body-c .ui-body-inherit,html body .ui-group-theme-c .ui-body-inherit,html .ui-panel-page-container-c{background-color:#1c1b0d ;border-color:#8b8535 ;color:#f2eded ;text-shadow:0 0px 0 #eeeeee ;}.ui-body-c{border-width:1px;border-style:solid;}.ui-page-theme-c a,html .ui-bar-c a,html .ui-body-c a,html body .ui-group-theme-c a{color:#2792e7 ;font-weight:bold;}.ui-page-theme-c a:visited,html .ui-bar-c a:visited,html .ui-body-c a:visited,html body .ui-group-theme-c a:visited{ color:#3388cc ;}.ui-page-theme-c a:hover,html .ui-bar-c a:hover,html .ui-body-c a:hover,html body .ui-group-theme-c a:hover{color:#005599 ;}.ui-page-theme-c a:active,html .ui-bar-c a:active,html .ui-body-c a:active,html body .ui-group-theme-c a:active{color:#005599 ;}.ui-page-theme-c .ui-btn,html .ui-bar-c .ui-btn,html .ui-body-c .ui-btn,html body .ui-group-theme-c .ui-btn,html head + body .ui-btn.ui-btn-c,.ui-page-theme-c .ui-btn:visited,html .ui-bar-c .ui-btn:visited,html .ui-body-c .ui-btn:visited,html body .ui-group-theme-c .ui-btn:visited,html head + body .ui-btn.ui-btn-c:visited{background-color:#1d1d11 ;border-color:#8b8535 ;color:#f5f4f4 ;text-shadow:0 0px 0 #eeeeee ;}.ui-page-theme-c .ui-btn:hover,html .ui-bar-c .ui-btn:hover,html .ui-body-c .ui-btn:hover,html body .ui-group-theme-c .ui-btn:hover,html head + body .ui-btn.ui-btn-c:hover{background-color:#b2b210 ;border-color:#8c8c3d ;color:#000000 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-c .ui-btn:active,html .ui-bar-c .ui-btn:active,html .ui-body-c .ui-btn:active,html body .ui-group-theme-c .ui-btn:active,html head + body .ui-btn.ui-btn-c:active{background-color:#FFFF70 ;border-color:#8c8c3d ;color:#000000 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-c .ui-btn.ui-btn-active,html .ui-bar-c .ui-btn.ui-btn-active,html .ui-body-c .ui-btn.ui-btn-active,html body .ui-group-theme-c .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-c.ui-btn-active,.ui-page-theme-c .ui-checkbox-on:after,html .ui-bar-c .ui-checkbox-on:after,html .ui-body-c .ui-checkbox-on:after,html body .ui-group-theme-c .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-c:after,.ui-page-theme-c .ui-flipswitch-active,html .ui-bar-c .ui-flipswitch-active,html .ui-body-c .ui-flipswitch-active,html body .ui-group-theme-c .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-c.ui-flipswitch-active,.ui-page-theme-c .ui-slider-track .ui-btn-active,html .ui-bar-c .ui-slider-track .ui-btn-active,html .ui-body-c .ui-slider-track .ui-btn-active,html body .ui-group-theme-c .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-c .ui-btn-active{background-color:#3388cc ;border-color:#1c4a70 ;color:#ffffff ;text-shadow:0 1px 0 #005599 ;}.ui-page-theme-c .ui-radio-on:after,html .ui-bar-c .ui-radio-on:after,html .ui-body-c .ui-radio-on:after,html body .ui-group-theme-c .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-c:after{border-color:#3388cc ;}.ui-page-theme-c .ui-btn:focus,html .ui-bar-c .ui-btn:focus,html .ui-body-c .ui-btn:focus,html body .ui-group-theme-c .ui-btn:focus,html head + body .ui-btn.ui-btn-c:focus,.ui-page-theme-c .ui-focus,html .ui-bar-c .ui-focus,html .ui-body-c .ui-focus,html body .ui-group-theme-c .ui-focus,html head + body .ui-btn-c.ui-focus,html head + body .ui-body-c.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-bar-d,.ui-page-theme-d .ui-bar-inherit,html .ui-bar-d .ui-bar-inherit,html .ui-body-d .ui-bar-inherit,html body .ui-group-theme-d .ui-bar-inherit{background-color:#784507 ;border-color:#e00b0b ;color:#f0efef ;text-shadow:0 1px 0 #eeeeee ;font-weight:bold;}.ui-bar-d{border-width:1px;border-style:solid;}.ui-overlay-d,.ui-page-theme-d,.ui-page-theme-d .ui-panel-wrapper{background-color:#252525 ;border-color:#bbbbbb ;color:#ffffff ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-body-d,.ui-page-theme-d .ui-body-inherit,html .ui-bar-d .ui-body-inherit,html .ui-body-d .ui-body-inherit,html body .ui-group-theme-d .ui-body-inherit,html .ui-panel-page-container-d{background-color:#040301 ;border-color:#e00b0b ;color:#f8f7f7 ;text-shadow:0 0px 0 #eeeeee ;}.ui-body-d{border-width:1px;border-style:solid;}.ui-page-theme-d a,html .ui-bar-d a,html .ui-body-d a,html body .ui-group-theme-d a{color:#3388cc ;font-weight:bold;}.ui-page-theme-d a:visited,html .ui-bar-d a:visited,html .ui-body-d a:visited,html body .ui-group-theme-d a:visited{ color:#3388cc ;}.ui-page-theme-d a:hover,html .ui-bar-d a:hover,html .ui-body-d a:hover,html body .ui-group-theme-d a:hover{color:#005599 ;}.ui-page-theme-d a:active,html .ui-bar-d a:active,html .ui-body-d a:active,html body .ui-group-theme-d a:active{color:#005599 ;}.ui-page-theme-d .ui-btn,html .ui-bar-d .ui-btn,html .ui-body-d .ui-btn,html body .ui-group-theme-d .ui-btn,html head + body .ui-btn.ui-btn-d,.ui-page-theme-d .ui-btn:visited,html .ui-bar-d .ui-btn:visited,html .ui-body-d .ui-btn:visited,html body .ui-group-theme-d .ui-btn:visited,html head + body .ui-btn.ui-btn-d:visited{background-color:#040301 ;border-color:#e00b0b ;color:#f5f5f5 ;text-shadow:0 0px 0 #eeeeee ;}.ui-page-theme-d .ui-btn:hover,html .ui-bar-d .ui-btn:hover,html .ui-body-d .ui-btn:hover,html body .ui-group-theme-d .ui-btn:hover,html head + body .ui-btn.ui-btn-d:hover{background-color:#FFecaf ;border-color:#8c8160 ;color:#000000 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-d .ui-btn:active,html .ui-bar-d .ui-btn:active,html .ui-body-d .ui-btn:active,html body .ui-group-theme-d .ui-btn:active,html head + body .ui-btn.ui-btn-d:active{background-color:#FFecaf ;border-color:#8c8160 ;color:#000000 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-d .ui-btn.ui-btn-active,html .ui-bar-d .ui-btn.ui-btn-active,html .ui-body-d .ui-btn.ui-btn-active,html body .ui-group-theme-d .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-d.ui-btn-active,.ui-page-theme-d .ui-checkbox-on:after,html .ui-bar-d .ui-checkbox-on:after,html .ui-body-d .ui-checkbox-on:after,html body .ui-group-theme-d .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-d:after,.ui-page-theme-d .ui-flipswitch-active,html .ui-bar-d .ui-flipswitch-active,html .ui-body-d .ui-flipswitch-active,html body .ui-group-theme-d .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-d.ui-flipswitch-active,.ui-page-theme-d .ui-slider-track .ui-btn-active,html .ui-bar-d .ui-slider-track .ui-btn-active,html .ui-body-d .ui-slider-track .ui-btn-active,html body .ui-group-theme-d .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-d .ui-btn-active{background-color:#3388cc ;border-color:#1c4a70 ;color:#ffffff ;text-shadow:0 1px 0 #005599 ;}.ui-page-theme-d .ui-radio-on:after,html .ui-bar-d .ui-radio-on:after,html .ui-body-d .ui-radio-on:after,html body .ui-group-theme-d .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-d:after{border-color:#3388cc ;}.ui-page-theme-d .ui-btn:focus,html .ui-bar-d .ui-btn:focus,html .ui-body-d .ui-btn:focus,html body .ui-group-theme-d .ui-btn:focus,html head + body .ui-btn.ui-btn-d:focus,.ui-page-theme-d .ui-focus,html .ui-bar-d .ui-focus,html .ui-body-d .ui-focus,html body .ui-group-theme-d .ui-focus,html head + body .ui-btn-d.ui-focus,html head + body .ui-body-d.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-bar-e,.ui-page-theme-e .ui-bar-inherit,html .ui-bar-e .ui-bar-inherit,html .ui-body-e .ui-bar-inherit,html body .ui-group-theme-e .ui-bar-inherit{background-color:#054e7f ;border-color:#21618c ;color:#f5f5f5 ;text-shadow:0 0px 0 #eeeeee ;font-weight:bold;}.ui-bar-e{border-width:1px;border-style:solid;}.ui-overlay-e,.ui-page-theme-e,.ui-page-theme-e .ui-panel-wrapper{background-color:#252525 ;border-color:#bbbbbb ;color:#ffffff ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-body-e,.ui-page-theme-e .ui-body-inherit,html .ui-bar-e .ui-body-inherit,html .ui-body-e .ui-body-inherit,html body .ui-group-theme-e .ui-body-inherit,html .ui-panel-page-container-e{background-color:#010f0f ;border-color:#5f8181 ;color:#f0efef ;text-shadow:0 0px 0 #eeeeee ;}.ui-body-e{border-width:1px;border-style:solid;}.ui-page-theme-e a,html .ui-bar-e a,html .ui-body-e a,html body .ui-group-theme-e a{color:#c6e3fa ;font-weight:bold;}.ui-page-theme-e a:visited,html .ui-bar-e a:visited,html .ui-body-e a:visited,html body .ui-group-theme-e a:visited{ color:#3388cc ;}.ui-page-theme-e a:hover,html .ui-bar-e a:hover,html .ui-body-e a:hover,html body .ui-group-theme-e a:hover{color:#005599 ;}.ui-page-theme-e a:active,html .ui-bar-e a:active,html .ui-body-e a:active,html body .ui-group-theme-e a:active{color:#005599 ;}.ui-page-theme-e .ui-btn,html .ui-bar-e .ui-btn,html .ui-body-e .ui-btn,html body .ui-group-theme-e .ui-btn,html head + body .ui-btn.ui-btn-e,.ui-page-theme-e .ui-btn:visited,html .ui-bar-e .ui-btn:visited,html .ui-body-e .ui-btn:visited,html body .ui-group-theme-e .ui-btn:visited,html head + body .ui-btn.ui-btn-e:visited{background-color:#010f0f ;border-color:#5f8181 ;color:#f3f2f2 ;text-shadow:0 0px 0 #eeeeee ;}.ui-page-theme-e .ui-btn:hover,html .ui-bar-e .ui-btn:hover,html .ui-body-e .ui-btn:hover,html body .ui-group-theme-e .ui-btn:hover,html head + body .ui-btn.ui-btn-e:hover{background-color:#c6FFFF ;border-color:#6c8c8c ;color:#000000 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-e .ui-btn:active,html .ui-bar-e .ui-btn:active,html .ui-body-e .ui-btn:active,html body .ui-group-theme-e .ui-btn:active,html head + body .ui-btn.ui-btn-e:active{background-color:#c6FFFF ;border-color:#6c8c8c ;color:#000000 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-e .ui-btn.ui-btn-active,html .ui-bar-e .ui-btn.ui-btn-active,html .ui-body-e .ui-btn.ui-btn-active,html body .ui-group-theme-e .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-e.ui-btn-active,.ui-page-theme-e .ui-checkbox-on:after,html .ui-bar-e .ui-checkbox-on:after,html .ui-body-e .ui-checkbox-on:after,html body .ui-group-theme-e .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-e:after,.ui-page-theme-e .ui-flipswitch-active,html .ui-bar-e .ui-flipswitch-active,html .ui-body-e .ui-flipswitch-active,html body .ui-group-theme-e .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-e.ui-flipswitch-active,.ui-page-theme-e .ui-slider-track .ui-btn-active,html .ui-bar-e .ui-slider-track .ui-btn-active,html .ui-body-e .ui-slider-track .ui-btn-active,html body .ui-group-theme-e .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-e .ui-btn-active{background-color:#3388cc ;border-color:#1c4a70 ;color:#ffffff ;text-shadow:0 1px 0 #005599 ;}.ui-page-theme-e .ui-radio-on:after,html .ui-bar-e .ui-radio-on:after,html .ui-body-e .ui-radio-on:after,html body .ui-group-theme-e .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-e:after{border-color:#3388cc ;}.ui-page-theme-e .ui-btn:focus,html .ui-bar-e .ui-btn:focus,html .ui-body-e .ui-btn:focus,html body .ui-group-theme-e .ui-btn:focus,html head + body .ui-btn.ui-btn-e:focus,.ui-page-theme-e .ui-focus,html .ui-bar-e .ui-focus,html .ui-body-e .ui-focus,html body .ui-group-theme-e .ui-focus,html head + body .ui-btn-e.ui-focus,html head + body .ui-body-e.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-bar-f,.ui-page-theme-f .ui-bar-inherit,html .ui-bar-f .ui-bar-inherit,html .ui-body-f .ui-bar-inherit,html body .ui-group-theme-f .ui-bar-inherit{background-color:#538c08 ;border-color:#f5f4f4 ;color:#ffffff ;text-shadow:0 1px 0 #444444 ;font-weight:bold;}.ui-bar-f{border-width:1px;border-style:solid;}.ui-overlay-f,.ui-page-theme-f,.ui-page-theme-f .ui-panel-wrapper{background-color:#252525 ;border-color:#bbbbbb ;color:#ffffff ;text-shadow:0 1px 0 #f3f3f3 ;}.ui-body-f,.ui-page-theme-f .ui-body-inherit,html .ui-bar-f .ui-body-inherit,html .ui-body-f .ui-body-inherit,html body .ui-group-theme-f .ui-body-inherit,html .ui-panel-page-container-f{background-color:#38570f ;border-color:#f6f4f4 ;color:#f3f2f2 ;text-shadow:0 1px 0 #eeeeee ;}.ui-body-f{border-width:1px;border-style:solid;}.ui-page-theme-f a,html .ui-bar-f a,html .ui-body-f a,html body .ui-group-theme-f a{color:#3388cc ;font-weight:bold;}.ui-page-theme-f a:visited,html .ui-bar-f a:visited,html .ui-body-f a:visited,html body .ui-group-theme-f a:visited{ color:#3388cc ;}.ui-page-theme-f a:hover,html .ui-bar-f a:hover,html .ui-body-f a:hover,html body .ui-group-theme-f a:hover{color:#005599 ;}.ui-page-theme-f a:active,html .ui-bar-f a:active,html .ui-body-f a:active,html body .ui-group-theme-f a:active{color:#005599 ;}.ui-page-theme-f .ui-btn,html .ui-bar-f .ui-btn,html .ui-body-f .ui-btn,html body .ui-group-theme-f .ui-btn,html head + body .ui-btn.ui-btn-f,.ui-page-theme-f .ui-btn:visited,html .ui-bar-f .ui-btn:visited,html .ui-body-f .ui-btn:visited,html body .ui-group-theme-f .ui-btn:visited,html head + body .ui-btn.ui-btn-f:visited{background-color:#38570f ;border-color:#f3f2f2 ;color:#f3f2f2 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-f .ui-btn:hover,html .ui-bar-f .ui-btn:hover,html .ui-body-f .ui-btn:hover,html body .ui-group-theme-f .ui-btn:hover,html head + body .ui-btn.ui-btn-f:hover{background-color:#d7FF8b ;border-color:#768c4c ;color:#000000 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-f .ui-btn:active,html .ui-bar-f .ui-btn:active,html .ui-body-f .ui-btn:active,html body .ui-group-theme-f .ui-btn:active,html head + body .ui-btn.ui-btn-f:active{background-color:#d7FF8b ;border-color:#768c4c ;color:#000000 ;text-shadow:0 1px 0 #eeeeee ;}.ui-page-theme-f .ui-btn.ui-btn-active,html .ui-bar-f .ui-btn.ui-btn-active,html .ui-body-f .ui-btn.ui-btn-active,html body .ui-group-theme-f .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-f.ui-btn-active,.ui-page-theme-f .ui-checkbox-on:after,html .ui-bar-f .ui-checkbox-on:after,html .ui-body-f .ui-checkbox-on:after,html body .ui-group-theme-f .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-f:after,.ui-page-theme-f .ui-flipswitch-active,html .ui-bar-f .ui-flipswitch-active,html .ui-body-f .ui-flipswitch-active,html body .ui-group-theme-f .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-f.ui-flipswitch-active,.ui-page-theme-f .ui-slider-track .ui-btn-active,html .ui-bar-f .ui-slider-track .ui-btn-active,html .ui-body-f .ui-slider-track .ui-btn-active,html body .ui-group-theme-f .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-f .ui-btn-active{background-color:#3388cc ;border-color:#1c4a70 ;color:#ffffff ;text-shadow:0 1px 0 #005599 ;}.ui-page-theme-f .ui-radio-on:after,html .ui-bar-f .ui-radio-on:after,html .ui-body-f .ui-radio-on:after,html body .ui-group-theme-f .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-f:after{border-color:#3388cc ;}.ui-page-theme-f .ui-btn:focus,html .ui-bar-f .ui-btn:focus,html .ui-body-f .ui-btn:focus,html body .ui-group-theme-f .ui-btn:focus,html head + body .ui-btn.ui-btn-f:focus,.ui-page-theme-f .ui-focus,html .ui-bar-f .ui-focus,html .ui-body-f .ui-focus,html body .ui-group-theme-f .ui-focus,html head + body .ui-btn-f.ui-focus,html head + body .ui-body-f.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default !important;pointer-events:none;}.ui-btn:focus,.ui-btn.ui-focus{outline:0;}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important;}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto;} \ No newline at end of file diff --git a/webapp/php/admin.php b/webapp/php/admin.php index d36d75d..a27d15a 100644 --- a/webapp/php/admin.php +++ b/webapp/php/admin.php @@ -857,9 +857,13 @@ class Admin { if ($mobileTheme == 1) { $cssFile = "orderstyle-pale.min.css"; $cssAppend = ".opentable { color:black;} .timeline { color:black;}"; + $cssAppend .= "#tmpdirtxt,#tmpdirhint,#closingcreationtxt,#urlpath { color:black;}"; + $cssAppend .= ".groundplan input[type=text] {color:black;}"; } else if ($mobileTheme == 2) { $cssFile = "orderstyle-darksoul.min.css"; $cssAppend = ".opentable { color:white;} .timeline { color:black;}"; + $cssAppend .= "#tmpdirtxt,#tmpdirhint,#closingcreationtxt,#urlpath { color:black;}"; + $cssAppend .= ".groundplan input[type=text] {color:black;}"; } $file = "3rdparty/orderstyle/$cssFile"; @@ -1025,7 +1029,7 @@ class Admin { return; } - $configItems = join(",",array("'decpoint'","'version'","'cancelunpaidcode'","'tax'","'togotax'","'taxaustrianormal'","'taxaustriaerm1'","'taxaustriaerm2'","'taxaustriaspecial'","'currency'","'workflowconfig'","'prominentsearch'","'discount1'","'discount2'","'discount3'","'discountname1'","'discountname2'","'discountname3'","'waitergopayprint'","'cashenabled'","'returntoorder'","'restaurantmode'","'startprodsearch'","'priceinlist'","'showdaycode'","'dailycode'","'showtogo'")); + $configItems = join(",",array("'decpoint'","'version'","'cancelunpaidcode'","'tax'","'togotax'","'taxaustrianormal'","'taxaustriaerm1'","'taxaustriaerm2'","'taxaustriaspecial'","'currency'","'workflowconfig'","'prominentsearch'","'discount1'","'discount2'","'discount3'","'discountname1'","'discountname2'","'discountname3'","'waitergopayprint'","'cashenabled'","'returntoorder'","'restaurantmode'","'startprodsearch'","'priceinlist'","'showdaycode'","'dailycode'","'showtogo'","'restaurantmode'","'billprintjobs'")); $sql = "select name,setting FROM %config% WHERE name in ($configItems)"; $stmt = $pdo->prepare(DbUtils::substTableAlias($sql)); $stmt->execute(); @@ -1169,6 +1173,7 @@ class Admin { array("defaultview",0,false), array("dblog",1,false), array("printpickups",0,false), + array("billprintjobs",2,false), array("printextras",0,false), array("forceprint",0,false), array("priceinlist",0,false), @@ -1397,7 +1402,7 @@ class Admin { $view = "preferences.html"; } - echo json_encode($view . "?v=1.5.13"); + echo json_encode($view . "?v=1.5.14"); } } @@ -1613,31 +1618,31 @@ 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.5.13"); } + if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.5.14"); } } else { - if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.5.13"); } + if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.5.14"); } } - if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.5.13"); } - if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.5.13"); } - if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.5.13"); } + if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.5.14"); } + if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.5.14"); } + if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.5.14"); } if ($_SESSION['modus'] == 0) { - if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.5.13"); } + if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.5.14"); } } - if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.5.13"); } - if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.5.13"); } - if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.5.13"); } - if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.5.13"); } - if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=1.5.13"); } - if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.5.13"); } - if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.5.13"); } - if ($_SESSION['right_pickups']) { $mainMenu[] = array("name" => $pickupstxt[$lang], "link" => "pickups.html?v=1.5.13"); } - if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=1.5.13"); } - if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.5.13"); } - $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.5.13"); - if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=1.5.13"); } + if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.5.14"); } + if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.5.14"); } + if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.5.14"); } + if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.5.14"); } + if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=1.5.14"); } + if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.5.14"); } + if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.5.14"); } + if ($_SESSION['right_pickups']) { $mainMenu[] = array("name" => $pickupstxt[$lang], "link" => "pickups.html?v=1.5.14"); } + if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=1.5.14"); } + if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.5.14"); } + $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.5.14"); + if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=1.5.14"); } - $mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=1.5.13"); - $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.5.13"); + $mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=1.5.14"); + $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.5.14"); } $mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php"); @@ -2194,6 +2199,7 @@ class Admin { "defaultview" => array("dbcol" => "defaultview", "checknum" => 0), "dblog" => array("dbcol" => "dblog","checknum" => 0), "printpickups" => array("dbcol" => "printpickups","checknum" => 0), + "billprintjobs" => array("dbcol" => "billprintjobs","checknum" => 0), "printextras" => array("dbcol" => "printextras","checknum" => 0), "forceprint" => array("dbcol" => "forceprint","checknum" => 0), "priceinlist" => array("dbcol" => "priceinlist","checknum" => 0), diff --git a/webapp/php/bill.php b/webapp/php/bill.php index d57190f..2901d43 100644 --- a/webapp/php/bill.php +++ b/webapp/php/bill.php @@ -482,7 +482,7 @@ class Bill { $money = '0.00'; } CommonUtils::log($pdo, "QUEUE", "Calc bill signature for cash money '$money' at billtime '$currentTime'"); - $signature = $commonUtils->calcSignatureForBill($pdo,$currentTime, $money, $money, 0.0, $userId); + $signature = CommonUtils::calcSignatureForBill($currentTime, $money, $money, $userId); $sql = "INSERT INTO `%bill%` (`id` , `billdate`,`brutto`,`netto`,`tax`,`tableid`, `status`, `paymentid`,`userid`,`ref`,`reason`,`signature`) VALUES ( ?, ? , ?,?,?, ?, 'c', ?,?,?,?,?)"; $stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql)); @@ -688,7 +688,7 @@ class Bill { session_start(); } $userid = $_SESSION['userid']; - $signature = $commonUtils->calcSignatureForBill($pdo,$currentTime, '0.00', '0.00', '0.00', $userid); + $signature = CommonUtils::calcSignatureForBill($currentTime, '0.00', '0.00', $userid); $sql = "INSERT INTO `%bill%` (`id` , `billdate`,`brutto`,`netto`,`prevbrutto`,`prevnetto`,`tableid`,`paymentid`,`userid`,`ref`,`tax`,`host`,`reservationid`,`guestinfo`,`intguestid`,`signature`,`reason`) VALUES (?,?,?,?,?,?,?,?,?,NULL,NULL,?,?,?,?,?,?)"; CommonUtils::execSql($pdo, $sql, array($nextbillid,$currentTime,'0.00', '0.00',$newprevbrutto,$newprevnetto,$tableid,1,$userid,0,null,null,null,$signature,'STARTBELEG')); @@ -772,7 +772,7 @@ class Bill { $tableid = 0; } - $signature = $commonUtils->calcSignatureForBill($pdo,$currentTime, $brutto, $netto, '0.00', $userid); + $signature = CommonUtils::calcSignatureForBill($currentTime, $brutto, $netto, $userid); $billInsertSql = "INSERT INTO `%bill%` (`id` , `billdate`,`brutto`,`netto`,`tableid`,`paymentid`,`userid`,`ref`,`tax`,`host`,`reservationid`,`guestinfo`,`intguestid`,`intguestpaid`,`signature`) VALUES (?,?,?,?,?,?,?,NULL,NULL,?,?,?,?,?,?)"; $stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($billInsertSql)); @@ -926,7 +926,7 @@ class Bill { $stornonettoval = 0.0 - floatval($netto); $commonUtils = new CommonUtils(); - $signature = $commonUtils->calcSignatureForBill($pdo,$currentTime, $stornval, $stornonettoval, $tax, $userIdOfStornoUser); + $signature = CommonUtils::calcSignatureForBill($currentTime, $stornval, $stornonettoval, $userIdOfStornoUser); $sql = "INSERT INTO `%bill%` (`id` , `billdate`,`brutto`,`netto`,`tax`,`tableid`, `status`, `paymentid`,`userid`,`ref`,`host`,`reservationid`,`guestinfo`,`signature`) VALUES (?,?,?,?,?,?, 's', ?,?,?,?,?,?,?)"; $stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql)); @@ -1183,7 +1183,7 @@ class Bill { $host = ($zeile['host'] == 1 ? "x" : "-"); $reason = $zeile['reason']; - if (!$commonUtils->verifyBillByValues(null,$billdate, $brutto_orig, $netto_orig, $tax_orig, $userid, $signature,$dbstatus)) { + if (!CommonUtils::verifyBillByValues(null,$billdate, $brutto_orig, $netto_orig, $userid, $signature,$dbstatus)) { echo "Inconsistent Data Base Content!\n"; return; } diff --git a/webapp/php/closing.php b/webapp/php/closing.php index 3691184..1060118 100644 --- a/webapp/php/closing.php +++ b/webapp/php/closing.php @@ -222,9 +222,7 @@ $prevClosingDate = ""; // sign the date $pricesumstr = number_format($pricesum, 2, ".", ''); $data = "I($newClosingId)-S($prevClosingDate)-E($closingTime)-D($billsToTake)-S($pricesumstr)"; -$pkeyid = $utils->getPrivkey($pdo); -openssl_sign($data, $signature, $pkeyid); -openssl_free_key($pkeyid); +$signature = md5($data); // now add values to closing table to prepare for electronic signature $sql = "UPDATE %closing% SET billcount=?, billsum=?,signature=? WHERE id=?"; @@ -612,9 +610,11 @@ $startDate = $previousClosingDate; $billsumstr = number_format($billsum, 2, ".", ''); $data = "I($closingid)-S($startDate)-E($closingdate)-D($billcount)-S($billsumstr)"; -$pubkeyid = $commonUtils->getCert($pdo); -$ok = openssl_verify($data, $signature, $pubkeyid); -openssl_free_key($pubkeyid); +$md5ofData = md5($data); +$ok = 1; +if ($signature != $md5ofData) { +$ok = 0; +} if (($ok == 0) || ($billcount <> $foundBillCount)) { // something went wrong! $this->returnErrorInconsDB($doCsvExport, $onlyresultreturn); @@ -737,6 +737,27 @@ public function getClosingSummary($closingid,$pdo,$fromWeb,$fl=0) { return $this->getClosingSummaryCore($closingid, $pdo, $fromWeb, true,$fl); } +public static function signAllClosings($pdo) { +$sql = "select id,closingdate,billcount,billsum,remark,signature from %closing%"; +$r = CommonUtils::fetchSqlAll($pdo, $sql); +$sql = "UPDATE %closing% SET signature=? WHERE id=?"; +foreach ($r as $c) { +$closingid = $c["id"]; +$previousClosingDate = self::getDateOfPreviousClosing($pdo,$closingid); +if (is_null($previousClosingDate)) { +$startDate = ""; +} else { +$startDate = $previousClosingDate; +} +$billsumstr = number_format($c["billsum"], 2, ".", ''); +$billcount = $c["billcount"]; +$closingdate = $c["closingdate"]; +$data = "I($closingid)-S($startDate)-E($closingdate)-D($billcount)-S($billsumstr)"; +$md5ofdata = md5($data); +CommonUtils::execSql($pdo, $sql, array($md5ofdata,$closingid)); +} +} + public static function checkForClosingConsistency($pdo,$closingid) { $sql = "select id,closingdate,billcount,billsum,remark,signature from %closing% where id=?"; $stmt = $pdo->prepare(DbUtils::substTableAlias($sql)); @@ -754,10 +775,11 @@ $billsumstr = number_format($closingpart->billsum, 2, ".", ''); $billcount = $closingpart->billcount; $closingdate = $closingpart->closingdate; $data = "I($closingid)-S($startDate)-E($closingdate)-D($billcount)-S($billsumstr)"; -$commonUtils = new CommonUtils(); -$pubkeyid = $commonUtils->getCert($pdo); -$ok = openssl_verify($data, $closingpart->signature, $pubkeyid); -openssl_free_key($pubkeyid); +$md5ofdata = md5($data); +$ok = 1; +if (($closingpart->signature) != $md5ofdata) { +$ok = 0; +} return $ok; } diff --git a/webapp/php/commonutils.php b/webapp/php/commonutils.php index 5108634..3a342df 100644 --- a/webapp/php/commonutils.php +++ b/webapp/php/commonutils.php @@ -39,15 +39,16 @@ class CommonUtils { $row =$stmt->fetchObject(); $lastBillid = intval($row->value); $lastBillInc = $lastBillid+1; - $signature = base64_decode($row->signature); + $signature = $row->signature; if ($lastBillInc != $nextIdToUse) { return false; } else { - // test for correct signature - $pubkeyid = $this->getCert($pdo); - $ok = openssl_verify("B($lastBillid)", $signature, $pubkeyid); - openssl_free_key($pubkeyid); + $check = md5("B($lastBillid)"); + $ok = 1; + if ($check != $signature) { + $ok = 0; + } if ($ok == 0) { return false; @@ -72,16 +73,7 @@ class CommonUtils { } } } - - function getPrivkey($pdo) { - $privkey = $this->getKeyFromWorkTable($pdo, "privkey"); - return(openssl_get_privatekey($privkey)); // private key - } - - function getCert($pdo) { - $pubKey = $this->getKeyFromWorkTable($pdo, "cert"); - return(openssl_get_publickey($pubKey)); - } + function getKeyFromWorkTable($pdo,$key) { $sql = "SELECT signature FROM %work% WHERE item=?"; @@ -91,16 +83,25 @@ class CommonUtils { return($row->signature); } + public static function setMd5OfLastBillidInWorkTable($pdo) { + $sql = "SELECT value FROM %work% where item=?"; + $r = self::fetchSqlAll($pdo, $sql, array("lastbillid")); + if (count($r) > 0) { + $maxid = $r[0]["value"]; + $signature = md5("B($maxid)"); + $sql = "UPDATE %work% SET signature=? WHERE item=?"; + self::execSql($pdo, $sql, array($signature,"lastbillid")); + } + } + function setLastBillIdInWorkTable($pdo,$lastBillId) { if (is_null($pdo)) { $pdo = $this->dbutils->openDbAndReturnPdo(); } - $pkeyid = $this->getPrivkey($pdo); - openssl_sign("B($lastBillId)", $signature, $pkeyid); - openssl_free_key($pkeyid); + + $signature = md5("B($lastBillId)"); $sql = "UPDATE %work% SET value=?, signature=? WHERE item=?"; $stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql)); - $signature = base64_encode($signature); $stmt->execute(array($lastBillId,$signature,"lastbillid")); } @@ -122,10 +123,10 @@ class CommonUtils { $signature = $row->signature; $status = $row->status; - return($this->verifyBillByValues($pdo,$billdate, $brutto, $netto, $tax, $userid, $signature, $status)); + return(self::verifyBillByValues($pdo,$billdate, $brutto, $netto, $userid, $signature, $status)); } - function verifyBillByValues($pdo,$billdate,$brutto,$netto,$tax,$userid,$signature,$status) { + public static function verifyBillByValues($pdo,$billdate,$brutto,$netto,$userid,$signature,$status) { if (($status == "c") && ($brutto == 0.00)) { // workaround - the signature for cash inserts of vaue 0.00 are sometimes incorrect @@ -136,38 +137,41 @@ class CommonUtils { return false; } if (is_null($pdo)) { - $pdo = $this->dbutils->openDbAndReturnPdo(); + $pdo = DbUtils::openDbAndReturnPdoStatic(); } $brutto = number_format($brutto, 2, ".", ''); $netto = number_format($netto, 2, ".", ''); - $tax = number_format($tax, 2, ".", ''); - $data = "D($billdate)B($brutto)N($netto)T($tax)U($userid)"; - $pubkeyid = $this->getCert($pdo); - $ok = openssl_verify($data, $signature, $pubkeyid); - openssl_free_key($pubkeyid); - - if ($ok == 0) { + $data = "D($billdate)B($brutto)N($netto)T(0)U($userid)"; + $md5OfData = md5($data); + if ($signature != $md5OfData) { return false; } else { return true; } } + + public static function calcSignaturesForAllBills($pdo) { + $sql = "SELECT id,billdate,brutto,netto,userid FROM %bill%"; + $r = CommonUtils::fetchSqlAll($pdo, $sql); + $sql = "UPDATE %bill% SET signature=? WHERE id=?"; + foreach($r as $b) { + $bruttostr = number_format($b["brutto"], 2, ".", ''); + $nettostr = number_format($b["netto"], 2, ".", ''); + $theTime = $b["billdate"]; + $userid = $b["userid"]; + $data = md5("D($theTime)B($bruttostr)N($nettostr)T(0)U($userid)"); + CommonUtils::execSql($pdo, $sql, array($data,$b["id"])); + } + } - function calcSignatureForBill($pdo,$theTime,$brutto,$netto,$tax,$userid) { + public static function calcSignatureForBill($theTime,$brutto,$netto,$userid) { // now calculate the signature for the bill entry $bruttostr = number_format($brutto, 2, ".", ''); $nettostr = number_format($netto, 2, ".", ''); - if (is_null($tax)) { - $taxstr = "0.00"; - } else { - $taxstr = number_format($tax, 2, ".", ''); - } - $data = "D($theTime)B($bruttostr)N($nettostr)T($taxstr)U($userid)"; - $pkeyid = $this->getPrivkey($pdo); - openssl_sign($data, $signature, $pkeyid); - openssl_free_key($pkeyid); + $data = "D($theTime)B($bruttostr)N($nettostr)T(0)U($userid)"; + $signature = md5($data); return $signature; } diff --git a/webapp/php/config.php b/webapp/php/config.php old mode 100755 new mode 100644 diff --git a/webapp/php/customers.php b/webapp/php/customers.php index d164af9..03bd417 100644 --- a/webapp/php/customers.php +++ b/webapp/php/customers.php @@ -853,7 +853,7 @@ class Customers { $txt = ""; $txt .= "" . self::$CUS_OVERVIEW[$lang] . ""; $txt .= ''; - $txt .= ''; + $txt .= ''; $txt .= ""; return $txt; } diff --git a/webapp/php/debug.php b/webapp/php/debug.php index 5c2170e..317e0ae 100644 --- a/webapp/php/debug.php +++ b/webapp/php/debug.php @@ -27,7 +27,7 @@ if (isset($_POST["cmd"])) { if (strlen($status) > 150) { $status = substr($status, 0,149); } - $version = "1.5.13"; + $version = "1.5.14"; $arr = array("cmd" => $cmd,"fct" => $fct, "xhr" => $xhr,"errormsg" => $errormsg,"status" => $status,"version" => $version,"phpversion" => $phpversion); } else { diff --git a/webapp/php/feedback.php b/webapp/php/feedback.php index 90e7851..2648847 100644 --- a/webapp/php/feedback.php +++ b/webapp/php/feedback.php @@ -117,7 +117,7 @@ class Feedback { $rights .= $this->getdbinfo(); } $server = $_SERVER['HTTP_USER_AGENT']; - $msg = "Rolle:$role\nEmail:$email\nTel.:$tel\nRechte:$rights\nServer:$server\n\nVersion:$version\n\nNachricht:\n$content"; + $msg = "\nEmail:$email\nTel.:$tel\nNachricht:$content\nRolle:$role\nRechte:$rights\nServer:$server\n\nVersion:$version\n"; $pdo = DbUtils::openDbAndReturnPdoStatic(); $version = CommonUtils::getConfigValue($pdo, 'version', 'no-version'); diff --git a/webapp/php/queuecontent.php b/webapp/php/queuecontent.php index 18db9c9..2269a8e 100644 --- a/webapp/php/queuecontent.php +++ b/webapp/php/queuecontent.php @@ -1512,7 +1512,7 @@ class QueueContent { function getJsonProductsOfTableToPay($tableid) { $pdo = DbUtils::openDbAndReturnPdoStatic(); - $sql = "SELECT %queue%.id as id,longname,%queue%.price as price,%queue%.tax,%prodtype%.kind as kind,%pricelevel%.name as pricelevelname,%products%.id as prodid,%queue%.togo as togo, ordertime,IFNULL(prodimageid,0) as prodimageid + $sql = "SELECT %queue%.id as id,longname,%queue%.price as price,%queue%.tax,%prodtype%.kind as kind,%pricelevel%.name as pricelevelname,%products%.id as prodid,%queue%.togo as togo, ordertime,IFNULL(prodimageid,0) as prodimageid,IFNULL(printjobid,0) as printjobid FROM %queue% INNER JOIN %products% ON %queue%.productid = %products%.id INNER JOIN %pricelevel% ON %queue%.pricelevel = %pricelevel%.id @@ -1536,11 +1536,12 @@ class QueueContent { $togo = $zeile["togo"]; $queueid = $zeile['id']; $prodimageid = $zeile['prodimageid']; + $printjobid = $zeile["printjobid"]; $extras = $this->getExtrasOfQueueItem($pdo,$queueid); $prodId = $zeile['prodid']; - $prodsToPay[] = array("id" => $queueid, "prodid" => $prodId, "longname" => $longName, "pricelevelname" => $thePriceLevelName, "price" => $thePrice, "tax" => $theTax, "togo" => $togo, "prodimageid" => $prodimageid, "extras" => $extras); + $prodsToPay[] = array("id" => $queueid, "prodid" => $prodId, "longname" => $longName, "pricelevelname" => $thePriceLevelName, "price" => $thePrice, "tax" => $theTax, "togo" => $togo, "prodimageid" => $prodimageid, "printjobid" => $printjobid, "extras" => $extras); } echo json_encode(array("status" => "OK", "msg" => $prodsToPay)); } @@ -1969,7 +1970,7 @@ class QueueContent { $brutto = $row->brutto; $netto = $row->netto; - $signature = $this->commonUtils->calcSignatureForBill($pdo,$currentTime, $brutto, $netto, '0.00', $userid); + $signature = CommonUtils::calcSignatureForBill($currentTime, $brutto, $netto, $userid); $billInsertSql = "INSERT INTO `%bill%` (`id` , `billdate`,`brutto`,`netto`,`prevbrutto`,`prevnetto`,`tableid`,`paymentid`,`userid`,`ref`,`tax`,`host`,`reservationid`,`guestinfo`,`intguestid`,`printextras`,`signature`) VALUES (?,?,?,?,?,?,?,?,?,NULL,NULL,?,?,?,?,?,?)"; $stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($billInsertSql)); diff --git a/webapp/php/reports.php b/webapp/php/reports.php index be78d23..f521d8b 100644 --- a/webapp/php/reports.php +++ b/webapp/php/reports.php @@ -165,7 +165,7 @@ class Reports { $retArrayLastMonth = $this->iterateForDays($pdo, $allDates['monthAndYearOfLastMonth'],intval($allDates['lastDayOfLastMonth']),true); // products in the last 30 days: - $retArrayProds = $this->sumSortedByProducts($pdo, $allDates['lastMonthComplete'], $allDates['currentTimeStr']); + $retArrayProds = $this->sumSortedByProducts($pdo, $allDates['last30days'][0], $allDates['currentTimeStr']); $retRatings = $this->getRatings($pdo,$allDates['last30days'],$allDates['lastMonthComplete'], $allDates['currentTimeStr']); diff --git a/webapp/php/utilities/basedb.php b/webapp/php/utilities/basedb.php index c5fd7f4..98e3532 100644 --- a/webapp/php/utilities/basedb.php +++ b/webapp/php/utilities/basedb.php @@ -847,14 +847,6 @@ class Basedb { $stmt = $pdo->prepare(DbUtils::substTableAlias($sql)); $stmt->execute(); } - function getPrivkey($pdo) { - $sql = "SELECT signature FROM %work% WHERE item=?"; - $stmt = $pdo->prepare(DbUtils::substTableAlias($sql)); - $stmt->execute(array("privkey")); - $row = $stmt->fetchObject(); - $privkey = $row->signature; - return(openssl_get_privatekey($privkey)); - } function signLastBillid($pdo) { $sql = "SELECT MAX(id) as maxbillid FROM %bill%"; @@ -866,11 +858,9 @@ class Basedb { } else { $lastBillId = 0; } - $pkeyid = $this->getPrivkey($pdo); + $lastBillId = intval($lastBillId); - openssl_sign("B($lastBillId)", $signature, $pkeyid); - openssl_free_key($pkeyid); - $signature = base64_encode($signature); + $signature = md5("B($lastBillId)"); $sql = "SELECT id FROM %work% WHERE item=?"; $stmt = $pdo->prepare(DbUtils::substTableAlias($sql)); diff --git a/webapp/php/utilities/pdfexport.php b/webapp/php/utilities/pdfexport.php index 25cd5e9..581fdec 100644 --- a/webapp/php/utilities/pdfexport.php +++ b/webapp/php/utilities/pdfexport.php @@ -180,14 +180,9 @@ class PdfExport extends FPDF { $ref = ($zeile['ref'] == null ? "" : $zeile['ref']); $userid = $zeile['userid']; - $username = $zeile['username']; - $closingid = $zeile['closingid']; - $closingdate = $zeile['closingdate']; - $remark = '"' . addslashes($zeile['remark']) . '"'; - $paymentname = '"' . addslashes($zeile['payway']) . '"'; $host = ($zeile['host'] == 1 ? "x" : "-"); - if (!$commonUtils->verifyBillByValues(null,$billdate, $brutto_orig, $netto_orig, $tax_orig, $userid, $signature, $dbstatus)) { + if (!CommonUtils::verifyBillByValues(null,$billdate, $brutto_orig, $netto_orig, $userid, $signature, $dbstatus)) { echo "Database is inconsistent! Bill $billid "; if ($zeile['status'] == "c") { echo '- a cash operation ("Bareinlage/Barauslage"). '; diff --git a/webapp/php/utilities/version.php b/webapp/php/utilities/version.php index 9d7d9cd..1f5e109 100644 --- a/webapp/php/utilities/version.php +++ b/webapp/php/utilities/version.php @@ -1081,6 +1081,26 @@ class Version { } } + public static function upd_1513_1514($pdo, $prefix, $dbname) { + try { + $sql = "UPDATE %work% SET signature=? WHERE item=?"; + self::execSqlWithParam($pdo, $sql, array("","privkey")); + self::execSqlWithParam($pdo, $sql, array("","cert")); + self::execSqlWithParam($pdo, $sql, array("","lastbillid")); + self::execSql($pdo, "ALTER TABLE %work% MODIFY signature VARCHAR(50) NULL"); + CommonUtils::setMd5OfLastBillidInWorkTable($pdo); + self::execSql($pdo, "ALTER TABLE %bill% MODIFY signature VARCHAR(50) NULL"); + CommonUtils::calcSignaturesForAllBills($pdo); + self::execSql($pdo, "ALTER TABLE %closing% MODIFY signature VARCHAR(50) NULL"); + Closing::signAllClosings($pdo); + + self::insertOrUpdateConfigItem($pdo, 'billprintjobs', '2'); + return array(true); + } catch (PDOException $e) { + return array(false,$e); + } + } + public static $updateOrder = array( "1.3.0" => array("upd_1300_1301","1.3.1"), "1.3.1" => array("upd_1301_1302","1.3.2"), @@ -1141,7 +1161,8 @@ class Version { "1.5.9" => array("upd_1509_1510","1.5.10"), "1.5.10" => array("upd_1510_1511","1.5.11"), "1.5.11" => array("upd_1511_1512","1.5.12"), - "1.5.12" => array("upd_1512_1513","1.5.13") + "1.5.12" => array("upd_1512_1513","1.5.13"), + "1.5.13" => array("upd_1513_1514","1.5.14") ); // RE;* also for install process no check is required diff --git a/webapp/pickups.html b/webapp/pickups.html index 2ddd972..4843308 100644 --- a/webapp/pickups.html +++ b/webapp/pickups.html @@ -5,7 +5,7 @@ - + @@ -13,7 +13,7 @@ - + diff --git a/webapp/preferences.html b/webapp/preferences.html index 07d0811..3bb53aa 100644 --- a/webapp/preferences.html +++ b/webapp/preferences.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/products.html b/webapp/products.html index cef93d3..c607559 100644 --- a/webapp/products.html +++ b/webapp/products.html @@ -7,7 +7,7 @@ - + diff --git a/webapp/rating.html b/webapp/rating.html index 466225a..3b06db9 100644 --- a/webapp/rating.html +++ b/webapp/rating.html @@ -7,7 +7,7 @@ - + diff --git a/webapp/reports.html b/webapp/reports.html index 53e5f31..fc14993 100644 --- a/webapp/reports.html +++ b/webapp/reports.html @@ -7,7 +7,7 @@ - + diff --git a/webapp/reservation.html b/webapp/reservation.html index aea89ea..ce6df11 100644 --- a/webapp/reservation.html +++ b/webapp/reservation.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/supplydesk.html b/webapp/supplydesk.html index fed8ee1..c2715aa 100644 --- a/webapp/supplydesk.html +++ b/webapp/supplydesk.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/tasks.html b/webapp/tasks.html index d1ff9d2..c5cfa71 100644 --- a/webapp/tasks.html +++ b/webapp/tasks.html @@ -5,7 +5,7 @@ - + @@ -13,7 +13,7 @@ - + diff --git a/webapp/timetracking.html b/webapp/timetracking.html index b87a888..7b627c0 100644 --- a/webapp/timetracking.html +++ b/webapp/timetracking.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/waiter.html b/webapp/waiter.html index 143b487..d716139 100644 --- a/webapp/waiter.html +++ b/webapp/waiter.html @@ -4,8 +4,8 @@ - - + + @@ -33,7 +33,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_NUMBER=["Anzahl","Number","Número"];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 W_NO_VALID_PRICE=["Keine gültige Preiseingabe","No valid price","Precio no valido"];var W_NO_REORDER_VAR_PRICE=["Produkt mit variablem Preis kann nicht auf diese Weise nachbestellt werden.","Produkt with variable price cannot be reordered this way.","Producto con un precio variable no se puede reordenado asi."];var W_INVALID_NO_ENTERING=["Fehler bei der Eingabe","Input contains errors","Número invalido"];var w_INVALID_NO_RANGE=["Ungültiger Zahlenbereich (1-1000)","Invalid number range (1-1000)","Número no es entre 1 y 1000"];var W_DAYCODETXT=["Tageslosung","Day code","Código del día"];var W_RECORDS_HEADER=["Tischprotokoll","Records of table","Historia de la mesa"];var W_RECORDS_INIT=["Tischprotokoll (Anklicken zum Öffnen)","Records of table (click to open)","Historia de la mesa (click para abrir)"];var W_RECORD_ACTION=[["Bestellung","Ordering","Ordenar"],["Rechnung","Bill","Pagar"],["Produktstorno","Discard product","Descartar producto"],["Rechnungsstorno","Discard bill","Descartar pago"],["Rechnungs- und Produktstorno","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"]];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(c){lang=c;$("#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]);$(".daycodetxt").html(W_DAYCODETXT[lang]);var k="";if(prominentsearch==0){k+='
'}else{k+='
'}k+="
";var a='
';if(prominentsearch==0){$("#searchposition-normal").html(k)}else{$("#searchposition-prominent").html(k)}var g=a;var f="";if((workflowconfig==WORKFLOW_DIGI_WORK)||(workflowconfig==WORKFLOW_DIGI)||(workflowconfig==WORKFLOW_WORK_SEND)){f=" osbigbtn ";if(preferfixbtns==1){f=" ossmallbtn fixedsendorderbtn "}g+=''+W_SEND_ORDERS[lang]+""}if((workflowconfig==WORKFLOW_DIGI_WORK)||(workflowconfig==WORKFLOW_WORK)||(workflowconfig==WORKFLOW_WORK_SEND)){f=" osbigbtn ";if(preferfixbtns==1){f=" ossmallbtn fixedworkprintbtn "}g+=''+W_WORK_TICKET[lang]+""}if(cashenabled==1){f=" osbigbtn ";if(preferfixbtns==1){f=" ossmallbtn fixedgopaydeskbtn "}g+=''+W_TO_PAYDESK[lang]+""}g+='';$("#commandbuttons").html(g);if(preferfixbtns==1){$("#waiterui").addClass("fixedwaiterui")}$("#waiterui").trigger("create");var i="
"+W_NUMBER[lang]+':
';var b='
';$("#actremark").html(i+b);if(rightchangeprice==1){var e='';$("#actchangepricesection").html(e);var h='
';h+=getDiscountButton("discount1","a",discount1,discountname1);h+=getDiscountButton("discount2","b",discount2,discountname2);h+=getDiscountButton("discount3","c",discount3,discountname3);h+="
";$("#actdiscount").html(h)}$("#actionneworderconfirm_all").html(W_ACT_CHANGE_ALL[lang]);$("#actionneworderconfirm_one").html(W_ACT_CHANGE_ONE[lang]);$("#actionnewordercancel").html(W_CANCEL[lang]);$("#select-comment").off("change").on("change",function(m){var l=$("#select-comment").find(":selected").val();$("#optionfield").val(l)});$("#act-select-comment").off("change").on("change",function(m){var l=$("#act-select-comment").find(":selected").val();$("#act-optionfield").val(l)});$("#discard_new_orders_no").off("click").on("click",function(l){l.stopImmediatePropagation();l.preventDefault();parent.history.back()});$("#discard_priceenter").off("click").on("click",function(l){l.stopImmediatePropagation();l.preventDefault();$("#enterpricedlg").dialog("close")});$("#discard_numberenter").off("click").on("click",function(l){l.stopImmediatePropagation();l.preventDefault();$("#enternumberdlg").dialog("close")});$("#discard_new_orders_yes").off("click").on("click",function(l){l.stopImmediatePropagation();l.preventDefault();neworders=[];gotoOtherPage($("#discardnewordersdlg").data("link"))});$("#prodbackbtn").off("click").on("click",function(l){if(neworders.length!=0){l.stopImmediatePropagation();l.preventDefault();hideMenuProd();$("#discardnewordersdlg").data("link","back_table");$.mobile.changePage("#discardnewordersdlg")}else{parent.history.back()}});$("#searchField").off("keyup").on("keyup",function(l){generateSearchResults()})}function getDiscountButton(f,e,c,a){var b='";if(a.trim()!=""){b='"}return b}function generateSearchResults(){var i=$("#searchField").val().trim().toLowerCase();if(i.length";var h=$("#typprodpage").data("types_prods_sorted");var a=false;var g=null;for(var f=0;f=0){g=e.prodimageid;if(g!=0){a=true;break}}}$.each(h,function(n,o){var m=o.longname;if(m.toLowerCase().indexOf(i)>=0){c+='
  • ';if(a&&(preferimgmobile==1)){var l="php/contenthandler.php?module=products&command=getprodimage&prodid="+o.id+"&size=l";c+=''}c+=toHtml(m);c+=createSearchProdInfoTxt(o.id);c+="
  • "}});c+="";$("#searchResult").html(c);$("#searchResult").trigger("create");$(".srinfo").off("click").on("click",function(o){o.stopImmediatePropagation();o.preventDefault();var l=this.id.split("_")[1];var n=getProdEntry(l);var m=n.price;alert(W_PRICE[lang]+": "+m+" "+currency)});$(".srplus").off("click").on("click",function(n){n.stopImmediatePropagation();n.preventDefault();var m=this.id.split("_")[1];var l=getSearchProdCount(m);$("#srprodcount_"+m).html(l+1)});$(".srminus").off("click").on("click",function(n){n.stopImmediatePropagation();n.preventDefault();var m=this.id.split("_")[1];var l=getSearchProdCount(m);if(l==2){$("#srprodcount_"+m).html("");selectedProdCount=1}else{if(l>2){$("#srprodcount_"+m).html(l-1)}}});$(".srprodcount").off("click").on("click",function(m){m.stopImmediatePropagation();m.preventDefault();var l=this.id.split("_")[1];$("#enternumberdlg").data("prodid",l);enternumberdlgshown=true;$("#enternumberfield").val("");$.mobile.changePage("#enternumberdlg");var n=$(this).parent().attr("id");bindEnterSearchNumberNumbers(n)});$(".searchresult").off("click").on("click",function(m){m.stopImmediatePropagation();m.preventDefault();var l=this.id.split("_")[1];handleClickOnSearchResult(l)})}}function handleClickOnSearchResult(a){favOrSearchWasClicked=true;selectedProdCount=getSearchProdCount(a);clearSearchAndGoToHigherTypeIfExtrasOpen();levelOneType=0;handleClickOnProd(a)}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 intervalCheckConnection(b){checkConnection();var a=setInterval(function(){checkConnection()},b*1000)}function checkConnection(){var a=new Image();a.onerror=function(){$(".connectionstatus").show()};a.onload=function(){$(".connectionstatus").hide()};a.src="img/gray.png?t="+(+new Date)}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 calcTotalPriceOfProdAndExtras(b,e){var a=parseFloat(b);if(e!=null){for(var c=0;c";var m=groupedNewOrders.count.length;for(g=0;g1){l=""+h.toString()+"x "+l}var f=groupedNewOrders.prodids[g];if(k!=""){k="

    "+toHtml(k)+"

    "}var c=groupedNewOrders.changedPrices[g];var b=groupedNewOrders.togos[g];var o="";var e=groupedNewOrders.extras[g];if((e!=null)&&(e!="")){o=""+e+""}if(c!="NO"){c=c.replace(".",decpoint);if(b!=0){n+='
  • '+l+k+o+" ("+c+" - To-Go)
  • "}else{n+='
  • '+l+k+o+" ("+c+")
  • "}}else{if(b!=0){n+='
  • '+l+k+o+" - To-Go
  • "}else{n+='
  • '+l+k+o+"
  • "}}}$("#neworders").html(n);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);$("#act-numberfield").val(a.count);$("#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)){if(tablesAfterSend==1){$.mobile.changePage("#tables-page")}else{reloadPage()}}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(f,b,g){var a=getProdProperties(f);if((a.unit!=0)&&(a.unit!="null")){alert(W_NO_REORDER_VAR_PRICE[lang]);return}var e=[];for(var c=0;c'+k.name+""});if(showtogo==1){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]+""}k+="";$("#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"){if(showtogo==1){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){m+='
  • '+W_APPLY[lang]+"
  • "}for(var f=0;f=0){b="f";l="check"}m+='
  • '+toHtml(k)+"
  • "}if(requestPriceInExtras!=false){m+='
  • '}if(applyExtraBtnPos!=2){m+='
  • '+W_APPLY[lang]+"
  • "}m+=createHigherLine(n);return m}function bindExtrasSel(){$(".extrasel").off("click").on("click",function(n){n.stopImmediatePropagation();n.preventDefault();var a=this.id.split("_");var b=a[1];var f=a[2];if((b=="abottom")||(b=="atop")){var l=getProdEntry(f);var c=l.extras;var o=[];for(var h=0;h=0){o[o.length]={id:b,name:m,price:g.price}}}if(requestPriceInExtras){var k=$("#enterpriceextrasfield").val();k=k.trim();k=k.replace(decpoint,".");if((k!="")&&($.isNumeric(k))){requestPriceInExtras=false;presetPriceInExtras="";addProductToNewOrdersList(f,o,k)}else{alert(W_NO_VALID_PRICE[lang])}}else{addProductToNewOrdersList(f,o)}}else{if(w_extras.indexOf(b)>=0){w_extras.splice(w_extras.indexOf(b),1)}else{w_extras[w_extras.length]=b}if(requestPriceInExtras!==false){presetPriceInExtras=$("#enterpriceextrasfield").val()}var p=listOfExtras(f);$("#typeproducts-list").html(p);refreshList("#typeproducts-list");bindExtrasSel();bindHigherButtons()}})}function lastSelectedProdToStr(){return" ("+W_LAST_SELECTED[lang]+": "+lastSelectedProduct+")"}function listOfTypesProds(g){var a='
  • '+W_SELECTION[lang]+"";if(lastSelectedProduct!=""){a+=lastSelectedProdToStr()}a+="
  • ";var b=$("#typprodpage").data("types_prods");var f=getProdSizeClass();$.each(b.types,function(l,k){if(parseInt(k.ref)==g){a+='
  • '+toHtml(k.name)+"
  • "}});var i=false;if(preferimgmobile==1){var e=null;for(var c=0;c';if(i&&(preferimgmobile==1)){var k="php/contenthandler.php?module=products&command=getprodimage&prodid="+m.id+"&size=l";a+=''}a+=toHtml(m.name);if((m.amount!="null")&&(m.amount<11)){a+=" ("+W_ONLY[lang]+" "+m.amount+")"}a+=createProdInfoTxt(m.id);a+=""}});if(g!=0){a+=createHigherLine(f)}return a}function createHigherLine(e){var f="f";if(preferfixbtns==1){f="a"}var a='
  • ';a+='
    ';var c="";var b="";if(preferfixbtns==1){c="fixedtypetopimg";b="fixedtypehigherimg"}a+='
    ';a+='
    ';a+="
    ";a+="
  • ";return a}function createProdEntryWithTextPrice(a,e,f){var c=getProdEntry(a);if(c!=null){var b=c.price.replace(".",decpoint);return"
    "+b+"
    "}return""}function createProdInfoTxt(b){var a="";if(priceinlist==0){a+="
    "}else{a+=createProdEntryWithTextPrice(b,"prodtextinfo","pinfo")}if(showplusminus==1){a+="
    ";a+="
    "}return a}function createSearchProdInfoTxt(b){var a="";if(priceinlist==0){a+="
    "}else{a+=createProdEntryWithTextPrice(b,"srtextinfo","srinfo")}if(showplusminus==1){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){if(preferfixbtns!=1){window.scrollTo(0,0)}if(c==0){fillFavArea();bindFavEvent()}else{$("#favarea").html("")}var a=null;if(b==null){idOfHigherType=c;a=listOfTypesProds(parseInt(c));extrasMenuOpen=false}else{a=listOfExtras(parseInt(c));extrasMenuOpen=true}$("#typeproducts-list").empty().append(a).promise().done(function(){refreshList("#typeproducts-list");$(this).off("click").on("click","a",function(f){f.stopImmediatePropagation();f.preventDefault();productInListClicked(this.id,c)});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)}}});$(".prodcount").off("click").on("click",function(g){g.stopImmediatePropagation();g.preventDefault();var f=this.id.split("_")[1];$("#enternumberdlg").data("prodid",f);enternumberdlgshown=true;$("#enternumberfield").val("");$.mobile.changePage("#enternumberdlg");var h=$(this).parent().attr("id");bindEnterNumberNumbers(h,c)})}function productInListClicked(b,e){favOrSearchWasClicked=false;$("#searchField").val("");generateSearchResults();var a=b.split("_");if(a[0]=="t"){if(e==0){levelOneType=a[1];e=a[1]}displayTypesProds(a[1],null)}else{var c=a[1];selectedProdCount=getProdCount(c);$("#prodcount_"+c).html("");handleClickOnProd(c)}}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;if(c.unit==1){requestPriceInExtras=true;presetPriceInExtras=""}else{requestPriceInExtras=false}displayTypesProds(b,a);bindExtrasSel()}else{if(c.unit==1){hideMenuProd();enterpricedlgshown=true;$("#enterpricedlg").data("prodid",b);$("#enterpricefield").val("");$.mobile.changePage("#enterpricedlg");bindEnterPriceNumbers()}else{addProductToNewOrdersList(b,null)}}}function bindEnterPriceNumbers(){$(".numfield td").off("click").on("click",function(b){b.stopImmediatePropagation();b.preventDefault();var f=$(this).html();var a=$(this).attr("class");if(a!="keyboardapply"){var c=String($("#enterpricefield").val());$("#enterpricefield").val(c+f)}});$("#apply_priceenter").off("click").on("click",function(c){c.stopImmediatePropagation();c.preventDefault();var a=$("#enterpricedlg").data("prodid");var b=$("#enterpricefield").val();b=b.trim();b=b.replace(decpoint,".");if((b!="")&&($.isNumeric(b))){$("#enterpricedlg").dialog("close");addProductToNewOrdersList(a,null,b)}else{alert(W_NO_VALID_PRICE[lang])}})}function bindPartNumberEntry(){$(".numfield td").off("click").on("click",function(f){f.stopImmediatePropagation();f.preventDefault();var g=$(this).html();var c=$(this).attr("class");if(c!="keyboardapply"){var a=String($("#enternumberfield").val());if(c=="dellastkey"){var h=a.length;if(h>0){var b=a.substring(0,h-1);$("#enternumberfield").val(b)}}else{$("#enternumberfield").val(a+g)}}})}function bindEnterNumberNumbers(b,a){bindPartNumberEntry();$("#apply_numberenter").off("click").on("click",function(g){g.stopImmediatePropagation();g.preventDefault();var f=$("#enternumberdlg").data("prodid");var c=$("#enternumberfield").val().trim();if(c==""){c=1}if($.isNumeric(c)){if((c<1)||(c>1000)){alert(w_INVALID_NO_RANGE[lang])}else{if(c>1){$("#enternumberdlg").dialog("close");$("#prodcount_"+f).html(c);productInListClicked(b,a)}else{$("#enternumberdlg").dialog("close");$("#prodcount_"+f).html("");productInListClicked(b,a)}}}else{alert(W_INVALID_NO_ENTERING[lang])}})}function bindEnterSearchNumberNumbers(a){bindPartNumberEntry();$("#apply_numberenter").off("click").on("click",function(f){f.stopImmediatePropagation();f.preventDefault();var c=$("#enternumberdlg").data("prodid");var b=$("#enternumberfield").val().trim();if(b==""){b=1}if($.isNumeric(b)){if((b<1)||(b>1000)){alert(w_INVALID_NO_RANGE[lang])}else{if(b>1){$("#enternumberdlg").dialog("close");$("#srprodcount_"+c).html(b);handleClickOnSearchResult(c)}else{$("#enternumberdlg").dialog("close");$("#srprodcount_"+c).html("");handleClickOnSearchResult(c)}}}else{alert(W_INVALID_NO_ENTERING[lang])}})}function addProductToNewOrdersList(b,c,f){var g=$("#typprodpage").data("table-info");var a=g[1];addProductToQueue(b,c,"NO",0,f);var h=getProdAudio(parseInt(b));var e=parseInt($("#typprodpage").data("ordervolume"))/10;if(h!=""){var k="customer/"+h;if(h.match(/mp3$/)){$("#audiofile").html('')}else{if(h.match(/ogg$/)){$("#audiofile").html('')}else{if(h.match(/wav$/)){$("#audiofile").html('')}}}document.getElementById("audiofile").load();document.getElementById("audiofile").volume=e;document.getElementById("audiofile").play()}else{if(e>0.5){beep()}}var i="php/contenthandler.php?module=queue&command=getJsonLongNamesOfProdsForTableNotDelivered&tableid="+a;fillNotDeliveredProductsOfATable(i);if((keeptypelevel==0)||(favOrSearchWasClicked)){displayTypesProds(levelOneType,null)}else{if(extrasMenuOpen){displayTypesProds(idOfHigherType,null)}}allowPrintAndOrderBtn=true;refreshList("#typeproducts-list")}function beep(){var a=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=");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);$("#cancelcodeform").off("submit").on("submit",function(f){f.stopImmediatePropagation();f.preventDefault()})}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
    -
      +
        diff --git a/webapp/waiterdesktop.php b/webapp/waiterdesktop.php index b556994..76bc55f 100644 --- a/webapp/waiterdesktop.php +++ b/webapp/waiterdesktop.php @@ -27,7 +27,7 @@ +function sendNewOrders(b){var a=getTableid();if(neworders.length!=0){var c={tableid:a,prods:neworders,print:(b?1:0),payprinttype:"s"};doAjax("POST","php/contenthandler.php?module=queue&command=addProductListToQueue",c,handleSentNewOrders,"Fehler bei Produktversand",false)}else{alert("Es sind keine Produkte ausgewählt worden.")}}function handleSentNewOrders(a){if(a.status!="OK"){alert("Es ist ein Fehler beim Versenden der Bestellung aufgetreten")}else{neworders=[];$("#search").val("");refreshGui()}}function refreshGui(){requestRoomInformation();clearProductsSelection();requestProdInformation();requestOrderedInformation();displayPanels();allowPrintAndOrderBtn=true}function getTableid(){if(selectedroomindex!==null){if(selectedroomindex<0){return 0}else{if(selectedtableindex!==null){var a=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];return a.id}else{return 0}}}}function enableSendButton(){}function disableSendButton(){}function moveItems(){$("#selectiondialog").dialog({autoOpen:false,modal:true,height:400,buttons:{Abbrechen:function(){$(this).dialog("close")}}});var a=getRoomsForDialog();$("#selectiondialog").html(a);$("#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(c){c.stopImmediatePropagation();c.preventDefault();var b=parseInt(this.id.split("_")[1]);var a=getTablesForDialog(b);$("#selectiondialog").dialog("open");$("#selectiondialog").html(a);bindMoveItemsTable(b)})}function bindRightButtons(){$("#sendNewOrders").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();if(allowPrintAndOrderBtn){allowPrintAndOrderBtn=false;unZoomTableMap();updateChangeTableBtnIfTableIsSelected();sendNewOrders(false)}});$("#paydeskbtn").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();if(allowPrintAndOrderBtn){allowPrintAndOrderBtn=false;unZoomTableMap();if(neworders.length>0){if(waitergopayprint==1){sendNewOrders(true)}else{sendNewOrders(false)}}goPayDesk()}});$("#workbtn").off("click").on("click",function(a){if(allowPrintAndOrderBtn){allowPrintAndOrderBtn=false;unZoomTableMap();updateChangeTableBtnIfTableIsSelected();if(neworders.length>0){sendNewOrders(true)}}});$("#goorderbtn").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();unZoomTableMap();goOrderDesk()});$("#mainmenudlg").dialog({autoOpen:false,modal:true});$("#changetablebtn").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();unZoomTableMap();moveItems()});$("#tablerecordsbtn").off("click").on("click",function(b){b.stopImmediatePropagation();b.preventDefault();var a=getTableid();doAjax("GET","php/contenthandler.php?module=queue&command=getRecords&tableid="+a,null,showRecords,true)})}function showRecords(b){if(b.status!="OK"){alert("Fehler aufgetreten: "+b.msg)}else{var a=createTableRecords(b);$("#recordsdlg").dialog({autoOpen:false,modal:true,height:570,width:600,buttons:{Abbrechen:function(){$(this).dialog("close")}}});$("#recordsdlg").dialog("open");$("#recordsdlg").html(a)}}function createTableRecords(f){var e=["Tischprotokoll","Records of table","Historia de la mesa"];var c=[["Bestellung","Ordering","Ordenar"],["Rechnung","Bill","Pagar"],["Produktstorno","Discard product","Descartar producto"],["Rechnungsstorno","Discard bill","Descartar pago"],["Rechnungs- und Produktstorno","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"]];var b=f.msg;var a="

        "+e[0]+"

        ";if(b.length==0){a+="keine Einträge";return a}a+="
          ";b.forEach(function(k,i){var m=toHtml(k.time);var n=toHtml(k.username);var l=toHtml(k.action);var g=c[l][0];a+="
        • "+m+" "+n+" - "+g+":
          ";var h=k.prods;a+="
            ";h.forEach(function(o,q){var p=toHtml(o.name);var r=toHtml(o.extras);a+="
          • "+p;if(r!=""){a+=" ("+r+")"}});a+="
          "});a+="
        ";return a}function bindMoveItemsTable(a){$(".tablechangeitem").off("click").on("click",function(c){c.stopImmediatePropagation();c.preventDefault();moveToRoomIndex=a;var b=parseInt(this.id.split("_")[1]);var f=roominfo.roomstables[a].tables[b];moveToTableId=f.id;if(selectedroomindex!="-1"){var f=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];moveFromTableId=f.id;$("#selectiondialog").dialog("close");doAjax("GET","php/contenthandler.php?module=queue&command=getProdsForTableChange",{tableId:moveFromTableId},insertProductsToChangeTableDlg,null,true)}else{$("#selectiondialog").dialog("close")}})}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);$("#moveItemdslg").dialog({autoOpen:false,modal:true,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(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()})}function doMoveItems(){$("#moveItemdslg").dialog("close");var a=[];for(var f=0;f'+g.name+"
    "}else{a+='
    '+g.name+"
    "}});var e=roominfo.takeawayprice.replace(".",decpoint)+" "+currency;if(e!=""){e='
    '+e+"
    "}if(showtogo==1){if(selectedroomindex<0){a+='
    ';a+='
    Zum Mitnehmen
    ';a+=e;a+="
    "}else{a+='
    ';a+='
    Zum Mitnehmen
    ';a+=e;a+="
    "}}$("#roompanel").html(a);$("#tablepanelcontent").html("");showRoomTableTextInfo();showTablesForRoomIndex();bindingRoom()}function getRoomsForDialog(){var b=roominfo.roomstables;var a="";$.each(b,function(e,c){a+='
    '+c.name+"
    "});return a}function bindingRoom(){$(".roomitem").off("click").on("click",function(b){b.stopImmediatePropagation();b.preventDefault();var a=parseInt(this.id.split("_")[1]);$("#changetablebtn").hide();$("#tablerecordsbtn").hide();if(panelMode=="waiter"){if(neworders.length>0){$("#unsentorderdlg").dialog({autoOpen:false,modal:true,height:400,buttons:{Nein:function(){$(this).dialog("close")},Ja:function(){$(this).dialog("close");discardChangeRoom(a)}}});$("#unsentorderdlg").dialog("open")}else{changeRoom(a);if(selectedroomindex=="-1"){$("#tablerecordsbtn").show();startProductDisplay()}}}else{changeRoom(a);goPayDesk()}})}function discardChangeRoom(a){neworders=[];groupedNewOrders=null;showNewOrders();changeRoom(a)}function changeRoom(a){clearProductsSelection();selectedtableindex=null;selectedroomindex=a;if(restaurantmode==1){showRooms()}}function showRoomTableTextInfo(){var a="Keine Auswahl";if(selectedroomindex!==null){if(selectedroomindex<0){a="Zum Mitnehmen"}else{a="Raum: "+roominfo.roomstables[selectedroomindex].name;if(selectedtableindex!==null){var b=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];a+=" - Tisch: "+b.name}}}$("#location").html(a)}function showTablesForRoomIndex(){if((selectedroomindex>=0)&&(selectedroomindex!==null)){var f=roominfo.roomstables[selectedroomindex].id;var g=shallDisplayRoom(f);if(g.show){$("#tablepanelcontent").hide();d=new Date();$("#mapimgpart").attr("src","php/tablemap.php?command=getTableMapImgAsPng&showBubbles=0&roomid="+f+"&"+d.getTime());$("#tablemapcontent").show();var c=new Tablemap(selectedroomindex,null,"");var e=roominfo.roomstables[selectedroomindex]["tables"];var a=null;if(selectedtableindex!=null){a=roominfo.roomstables[selectedroomindex].tables[selectedtableindex].id}var b=c.createOverlay("#mapimgpart",g.pos,W_TO_PAY[lang],decpoint,currency,e,ostablebtnsize,a);$("#tableoverlay").html(b);c.bindingForOverlaySelection(handleClickInTablemap.bind(this),f,e,switchZoomView)}else{showTablesListForRoomIndex()}}else{showTablesListForRoomIndex()}}function switchZoomView(){if(tableMapIsZoomed){$(".main").show();$("#roompanel").show();tableMapIsZoomed=false}else{$(".main").hide();$("#roompanel").hide();tableMapIsZoomed=true}}function unZoomTableMap(){tableMapIsZoomed=true;switchZoomView()}function handleClickInTablemap(b){selectedtableindex=null;var c=roominfo.roomstables[selectedroomindex].tables;for(var a=0;a=0)&&(selectedroomindex!==null)){var c=roominfo.roomstables[selectedroomindex].tables;var a="";$.each(c,function(f,g){if((selectedtableindex!=null)&&(c[selectedtableindex].id==g.id)){a+='
    '}else{a+='
    '}a+='
    '+g.name+"
    ";var h=g.pricesum;if(h!=0){var e=h.replace(".",decpoint)+" "+currency;a+='
    '+e+"
    "}a+="
    "});$("#tablepanelcontent").html(a)}else{$("#tablepanelcontent").html("")}$("#tablepanelcontent").show();bindingTable()}function getTablesForDialog(b){var c=roominfo.roomstables[b].tables;var a="";$.each(c,function(e,f){a+='
    '+f.name+"
    "});return a}function updateChangeTableBtnIfTableIsSelected(){$("#tablerecordsbtn").show();if(panelMode=="waiter"){$("#changetablebtn").show()}else{$("#changetablebtn").hide()}}function bindingTable(){$(".tableitem").off("click").on("click",function(b){b.stopImmediatePropagation();b.preventDefault();var a=parseInt(this.id.split("_")[1]);if(panelMode=="waiter"){$("#tablerecordsbtn").show();$("#changetablebtn").show();if(neworders.length>0){$("#unsentorderdlg").dialog({autoOpen:false,modal:true,height:400,buttons:{Nein:function(){$(this).dialog("close")},Ja:function(){$(this).dialog("close");discardChangeTable(a)}}});$("#unsentorderdlg").dialog("open")}else{changeTable(a);startProductDisplay()}}else{changeTable(a);goPayDesk()}})}function discardChangeTable(a){neworders=[];groupedNewOrders=null;showNewOrders();changeTable(a)}function changeTable(a){selectedtableindex=a;showRoomTableTextInfo();showTablesForRoomIndex()}function startProductDisplay(){selectedtypeid=null;selectedprodid=null;clearProductsSelection();requestProdInformation();requestOrderedInformation();$("#search").val("");$("#searchpanel").show();$("#remarkpanel").show()}function clearProductsSelection(){neworders=[];groupedNewOrders=[];selectedtypeid=null;$("#groupchain").html("");$("#groupchoice").html("");$("#productspanel").html("");$("#remark").val("");$("#neworders").html("");$("#ordered").html("");$("#searchpanel").hide();$("#remarkpanel").hide()}var allOrderdItems=[];function requestOrderedInformation(){if(panelMode!="waiter"){return}var a=0;if((selectedroomindex==null)&&(selectedtableindex==null)){return}if((selectedroomindex!=null)&&(selectedroomindex!="-1")){var b=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];a=b.id}doAjax("GET","php/contenthandler.php?module=queue&command=getJsonLongNamesOfProdsForTableNotDelivered&tableid="+a,null,insertOrderedInformation,true)}function insertOrderedInformation(b){allOrderdItems=b;var c=new Grouping(b,createTxtAssignedProd);c.group();var a="";a+=c.outputList(createListElOfAssignedProd);$("#ordered").html(a);bindOrderedItem()}function createTxtAssignedProd(f,b){if(b==undefined){b=""}var c="";if(f.option!=""){c="

    "+toHtml(f.option)+""}var g="";var e=toHtml(f.longname);if(f.togo==1){g="To-Go: "}e='

    '+g+''+e+"
    ";if(f.pricechanged==1){e+=" - "+f.price.replace(".",decpoint)}var a="";if(f.isready=="1"){a+=" ☞"}if(f.isCooking=="1"){a+=" ♨"}if(f.isPaid=="1"){a+=" ☑"}return e+'
    '+c+a+createExtraParagraphForOrderedEl(f.extras)+"
    "}function createListElOfAssignedProd(e){var c="";if("count" in e){if(e.count>1){if(preferimgdesk==0){c='
    '+e.count+"x
    "}else{c='
    '+e.count+"x
    "}}}var a="";if(preferimgdesk==0){a+="
    "+c+createTxtAssignedProd(e)+"
    "}else{var b="php/contenthandler.php?module=products&command=getprodimage&prodid="+e.prodid+"&size=m";var f=""+c+createTxtAssignedProd(e,"whitebackground")+"";a+='
    "+f+"
    "}return a}function createExtraParagraphForOrderedEl(b){if((b==null)||(b=="")){return""}var e="";var c=[];for(var a=0;a"}return"

    "+c.join("
    ")}function bindOrderedItem(){$(".ordereditem-item-sent").off("click").on("click",function(g){g.stopImmediatePropagation();g.preventDefault();var b=this.id.split("_")[1];var h=allOrderdItems;for(var c=0;c=0){c[c.length]={id:h.id,name:h.name,amount:h.amount}}}}else{if(selectedtypeid!=null){var a=getType(selectedtypeid);for(var e=0;e'+c.name+"

    "}else{a+='
    '+c.name+"
    "}})}$("#groupchoice").html(a);showChain();bindType()}function bindType(){$(".groupitemchoice").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();$("#search").val("");productFilter=null;showAllProdsToChoose();selectedtypeid=parseInt(this.id.split("_")[1]);updateProductInfoDisplay()})}function showAllProdsToChoose(){var b="osprod-desk-0";if(osprodbtnsize==1){b="osprod-desk-1"}else{if(osprodbtnsize==2){b="osprod-desk-2"}}var a="";if((selectedroomindex=="-1")||(selectedtableindex!=null)){var c=getAllProds(productFilter);$.each(c,function(f,g){if(preferimgdesk==0){a+='
    '+g.name}else{var e="php/contenthandler.php?module=products&command=getprodimage&prodid="+g.id+"&size=m";var h=""+g.name+"";a+='
    "+h}if((g.amount!="null")&&(g.amount<11)){a+=" ("+W_ONLY[lang]+" "+g.amount+")"}a+="
    "})}$("#productspanel").html(a);bindProduct();bindRemark()}function createImageStyle(b){var a=" style=\"background-image: url('"+b+"'); background-size: cover; background-repeat: no-repeat; background-position: center center; \" ";return a}function getTypeChain(){var b=getType(selectedtypeid);if(b==null){return[]}var e=[b];var c=false;while(!c){var a=b.ref;if((a==null)||(a==0)){c=true;break}else{b=getType(a);e[e.length]=b}}return e}function showChain(){var a="";if((selectedroomindex=="-1")||(selectedtableindex!=null)){var e=getTypeChain();a+='
    Auswahl
    ';for(var c=e.length-1;c>=0;c--){var b=e[c];a+='
    '+b.name+"
    "}}$("#groupchain").html(a);bindChain();bindSearch()}function bindChain(){$(".groupitem").off("click").on("click",function(a){a.stopImmediatePropagation();a.preventDefault();selectedtypeid=parseInt(this.id.split("_")[1]);if(selectedtypeid=="-1"){selectedtypeid=null}updateProductInfoDisplay();$("#search").val("");productFilter=null;showAllProdsToChoose()})}function bindSearch(){$("#search").off("keyup").on("keyup",function(a){a.stopImmediatePropagation();a.preventDefault();productFilter=($("#search").val().trim().toLowerCase()).trim();if(productFilter==""){productFilter=null}showAllProdsToChoose()})}function bindProduct(){$(".productitem").off("click").on("click",function(f){f.stopImmediatePropagation();f.preventDefault();$("#search").val("");selectedprodid=parseInt(this.id.split("_")[1]);var c=$("#remark").val();var a=getProdEntry(selectedprodid);var b=a.extras;if((b!=null)&&(b.length>0)){if(a.unit==1){requestPriceInExtras=true;presetPriceInExtras=""}else{requestPriceInExtras=false}showExtras(a,c)}else{if(a.unit==1){enterpricedlgshown=true;$("#enterpricedlg").data("prodid",selectedprodid);$("#enterpricedlg").data("option",c);$("#enterpricefield").val("");$("#enterpricedlg").dialog({autoOpen:false,modal:true,height:570,width:400,buttons:{Abbrechen:function(){$(this).dialog("close")}}});$("#enterpricedlg").dialog("open");bindEnterPriceNumbers()}else{addProductToNewOrders(selectedprodid,c,null,"NO",0)}}})}function bindEnterPriceNumbers(){$(".numfield td").off("click").on("click",function(b){b.stopImmediatePropagation();b.preventDefault();var f=$(this).html();var a=$(this).attr("class");if(a=="keyboardapply"){applyPriceEnter()}else{var c=String($("#enterpricefield").val());$("#enterpricefield").val(c+f)}})}function applyPriceEnter(){var b=$("#enterpricedlg").data("prodid");var c=$("#enterpricefield").val();var a=$("#enterpricedlg").data("option");c=c.trim();c=c.replace(decpoint,".");if((c!="")&&($.isNumeric(c))){$("#enterpricedlg").dialog("close");addProductToNewOrders(b,a,null,c,0,c)}else{alert(W_NO_VALID_PRICE[lang])}}function bindRemark(){$("#remark").off("click").on("click",function(c){if(genComments!=null){if(genComments.length>0){c.stopImmediatePropagation();c.preventDefault();var a="";for(var b=0;b"+toHtml(genComments[b].comment)+""}$("#commentschoice").html(a);$("#gencommentsdlg").dialog({autoOpen:false,modal:true,height:600,buttons:{Abbrechen:function(){$(this).dialog("close")},Anwenden:function(){$(this).dialog("close");applyComment()}}});$("#gencommentsdlg").dialog("open");$("#gencommentsdlg").css("height",genComments.length*52+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(a){a.stopImmediatePropagation();a.preventDefault();$("#gencommentsdlg").dialog("close");$("#remark").val($(this).text())})}function applyComment(){$("#remark").val($("#generalcommentfield").val())}function getProdEntry(c){var a=productInformation.prods;for(var b=0;b0){b+="

    "+p.join("
    ")}else{b=""}var r=A+"-"+o+"-"+b;if(f!="NO"){r=A+"-"+o+"-"+b+f}if(l==1){r+=" - To-Go"}var k=z.joinedvals.indexOf(r);if(k>=0){z.count[k]=z.count[k]+1;idxarr=z.origidxs[k];idxarr[idxarr.length]=v;z.origidxs[k]=idxarr}else{var n=z.count.length;z.count[n]=1;z.joinedvals[n]=r;z.name[n]=A;z.price[n]=t;z.option[n]=o;z.extras[n]=b;z.prodids[n]=q;z.changedPrices[n]=f;z.togos[n]=l;z.origidxs[n]=[v]}}return z}function showNewOrders(){groupedNewOrders=group(neworders);var h="";var n=groupedNewOrders.count.length;for(var g=n-1;g>=0;g--){var m=toHtml(groupedNewOrders.name[g]);var l=groupedNewOrders.option[g];var k=groupedNewOrders.count[g];if(k>1){m=""+k.toString()+"x "+m}var f=groupedNewOrders.prodids[g];if(l!=""){l="

    "+toHtml(l)+"

    "}var c=groupedNewOrders.changedPrices[g];var b=groupedNewOrders.togos[g];var o="";var e=groupedNewOrders.extras[g];if((e!=null)&&(e!="")){o=""+e+""}var a="";if(c!="NO"){if(b!=0){a="
    ("+c.replace(".",decpoint)+" "+currency+" - To-Go)"}else{a="
    ("+c.replace(".",decpoint)+" "+currency+")"}}else{if(b!=0){a="
    (To-Go)"}}h+='
    '+m+l+o+a+"
    "}$("#neworders").html(h);$("#remark").val("");if(neworders.length>0){enableSendButton()}else{disableSendButton()}bindNewOrderItem();displayRightButtons()}var roominfo=null;var selectedroomindex=null;var selectedtableindex=null;var productInformation=null;var selectedtypeid=null;var selectedprodid=null;var neworders=[];var groupedNewOrders={count:[],joinedvals:[],name:[],prodids:[],extras:[],origidxs:[],changedPrices:[],togos:[]};var workflowconfig=0;var decpoint=".";var currency="";var rightchangeprice=0;var rightpaydesk=false;var restaurantmode=1;var supplyright=0;var preferimgdesk=0;var prominentsearch=0;var discount1=50;var discount2=20;var discount3=10;var discountname1="";var discountname2="";var discountname3="";var osroombtnsize=0;var ostablebtnsize=0;var osprodbtnsize=0;var tableMapIsZoomed=false;var waitergopayprint=0;var mainmenu=[];var version="";var loggedinUser="";var lang=0;var payments="";var hostTemplate="";var cancelunpaidcode="";var WORKFLOW_DIGI_AND_WORK=0;var WORKFLOW_DIGI=1;var WORKFLOW_WORK=2;var WORKFLOW_WORK_TRANSFER=3;var productFilter=null;var prodsToMove=[];var allselected=0;var moveFromTableId=null;var moveToRoomIndex=null;var moveToTableId=null;var panelMode="waiter";var cashenabled=1;var returntoorder=1;var genComments=null;var allowPrintAndOrderBtn=false;var showtogo=1;var enterpricedlgshown=false;var requestPriceInExtras=false;var presetPriceInExtras="";var dailycode="";var W_SELALL=["Alles auswählen","Select all","Elegir todo"];var W_UNSELALL=["Alles abwählen","Unselect all","No elegir nada"];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_ONLY=["noch","only","sólo"];var W_TO_PAY=["offen","to pay","a pagar"];var P_CASHACTION_OK=["Kassenaktion abgeschlossen.","Action completed.","Acción terminado."];var W_NO_VALID_PRICE=["Keine gültige Preiseingabe","No valid price","Precio no valido"];var W_NO_REORDER_VAR_PRICE=["Produkt mit variablem Preis kann nicht auf diese Weise nachbestellt werden.","Produkt with variable price cannot be reordered this way.","Producto con un precio variable no se puede reordenado asi."];function setLanguage(a){}$(document).ready(function(){selectedroomindex=null;productFilter=null;doAjax("GET","php/contenthandler.php?module=admin&command=getWaiterSettings",null,insertWaiterConfig,"Fehler Konfigurationsdaten",true);doAjax("GET","php/contenthandler.php?module=admin&command=getJsonMenuItemsAndVersion",null,saveMenuInfo,null,true);getGeneralConfigItems();getTableMapPreferences();intervalGetItemsToPayAndRoomInfo(10);getMenuInBackground(60);getPayments(savePayments);getHostTemplate();intervalCheckConnection(2);intervalGetPrinterStatus(5);intervalGetGeneralCommentsAndTablePref(10);intervalGetWaiterMessage(20);intervalFetchDaycode(10);if(restaurantmode==0){changeRoom(-1);startProductDisplay()}});function savePayments(a){payments=a.payments;hotelinterface=a.hotelinterface;guests=a.guests;internalguests=a.internalguests}function intervalGetItemsToPayAndRoomInfo(b){var a=setInterval(function(){getAndShowPayItems();requestRoomInformation();requestOrderedInformation()},b*1000)}function intervalGetGeneralCommentsAndTablePref(b){doAjax("GET","php/contenthandler.php?module=products&command=getAllGeneralComments",null,fillGenCommentsList,null,true);var a=setInterval(function(){doAjax("GET","php/contenthandler.php?module=products&command=getAllGeneralComments",null,fillGenCommentsList,null,true);getTableMapPreferences()},b*1000)}function intervalGetWaiterMessage(b){doAjax("GET","php/contenthandler.php?module=admin&command=getWaiterMessage",null,fillWaiterMessage,null,true);var a=setInterval(function(){doAjax("GET","php/contenthandler.php?module=admin&command=getWaiterMessage",null,fillWaiterMessage,null,true)},b*1000)}function intervalFetchDaycode(b){var a=setInterval(function(){doAjax("GET","php/contenthandler.php?module=admin&command=getDailycode",null,updateDailycode,true)},b*1000)}function updateDailycode(a){if(a.status=="OK"){dailycode=a.msg;$(".daycodefield").html(toHtml(dailycode))}}function getMenuInBackground(b){var a=setInterval(function(){requestProdInformation()},b*1000)}function insertWaiterConfig(c){var a=c.isUserLoggedIn;if(a!=1){setTimeout(function(){document.location.href="index.html"},250)}else{var b=c.config;workflowconfig=b.workflowconfig;decpoint=b.decpoint;currency=b.currency;rightchangeprice=c.rightchangeprice;supplyright=c.supplyright;preferimgdesk=c.preferimgdesk;prominentsearch=b.prominentsearch;waitergopayprint=b.waitergopayprint;discount1=b.discount1;discount2=b.discount2;discount3=b.discount3;discountname1=b.discountname1;discountname2=b.discountname2;discountname3=b.discountname3;cashenabled=b.cashenabled;rightpaydesk=c.rightpaydesk;restaurantmode=b.restaurantmode;returntoorder=b.returntoorder;showtogo=b.showtogo;billprintjobs=b.billprintjobs;if((b.cancelunpaidcode!=null)&&(b.cancelunpaidcode!="")){cancelunpaidcode=b.cancelunpaidcode}else{cancelunpaidcode=""}osroombtnsize=c.buttonsizes.roombtnsize;ostablebtnsize=c.buttonsizes.tablebtnsize;osprodbtnsize=c.buttonsizes.prodbtnsize;dailycode=b.dailycode;if(b.showdaycode==1){$(".daycodeareamobile").show();$(".daycodefield").html(toHtml(dailycode))}else{$(".daycodeareamobile").hide()}initializeOrderView()}}function fillGenCommentsList(a){if(a.status!="OK"){alert("Fehler "+a.code+": "+a.msg);return}genComments=a.msg}function fillWaiterMessage(a){if(a.status=="OK"){var b=a.msg.trim();if(b!=""){$("#waitermessagearea").html("Nachricht: "+toHtml(b));$("#waitermessagearea").show()}else{$("#waitermessagearea").html("");$("#waitermessagearea").hide()}}}function initializeOrderView(){panelMode="waiter";initGui();clearProductsSelection();requestRoomInformation();requestProdInformation();bindMainMenuButton();bindRightButtons();if(restaurantmode==0){$("#tablepanel").hide()}}function getHostTemplate(){$.ajax({url:"customer/bon-bewirtungsvorlage.html",async:false,success:function(a){hostTemplate=a},error:function(a){},cache:false})}function saveMenuInfo(a){if(a.loggedin==1){loggedinUser=a.user;$("#loggedinuser").html(" "+loggedinUser);$("#versioninfo").html(a.version);version=a.version;$.each(a.menu,function(e,c){var b=c.name;var f=c.link;mainmenu[mainmenu.length]={name:b,link:f}});$("#mainmenubtn").show()}else{$("#mainmenubtn").hide()}}function bindMainMenuButton(){$("#selectiondialog").dialog({autoOpen:false,modal:true,height:400,buttons:{Anwenden:function(){$(this).dialog("close");applyExtras()}}});$("#unsentorderdlg").dialog({autoOpen:false,modal:true,height:400,buttons:{Nein:function(){$(this).dialog("close")},Ja:function(){$(this).dialog("close")}}});$("#actmenudlg").dialog({autoOpen:false,modal:true,height:400});$("#mainmenudlg").dialog({autoOpen:false,modal:true,height:400,width:200,position:{my:"right top",at:"right top",of:"body"},buttons:{Abbrechen:function(){$(this).dialog("close")}}});$("#ordereditemdlg").dialog({autoOpen:false,modal:true,height:400,width:200});$("#moveItemdslg").dialog({autoOpen:false,modal:true,height:400,width:200});$("#mainmenubtn").off("click").on("click",function(f){f.stopImmediatePropagation();f.preventDefault();var b="
    ";$("#mainmenudlg").html(b);var a=280+mainmenu.length*40;$("#mainmenudlg").dialog({autoOpen:false,modal:true,height:a,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(i){i.stopImmediatePropagation();i.preventDefault();var h=parseInt(this.id.split("_")[1]);var g=mainmenu[h].link;$("#mainmenudlg").dialog("close");setTimeout(function(){document.location.href=g},250)})})}function goOrderDesk(){panelMode="waiter";initGui();clearProductsSelection();requestProdInformation();requestOrderedInformation()}function goPayDesk(){panelMode="paydesk";initGui();startCashProcess()}function initGui(){displayPanels();displayRightButtons()}function displayPanels(){if(panelMode==="waiter"){$("#panelmodetxt").html("Bestellung");$("#groupchain").show();$("#groupchoice").show();$("#searchpanel").show();$("#productspanel").show();$("#remarkpanel").show();$("#ordered").show();$("oben").html("");$("#oben").hide();$("#unten").html("");$("#unten").hide();$("#receiptpanel").hide();$("#paybuttonpanel").hide();$("#billprintjobspanel").hide();$("#receiptpanel").hide()}else{$("#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();$("#receiptpanel").show();$("#paybuttonpanel").show();$("#receiptpanel").show()}}function displayRightButtons(){$("#changetablebtn").hide();$("#tablerecordsbtn").hide();if(panelMode==="waiter"){if((rightpaydesk==1)&&(cashenabled==1)){$("#paydeskbtn").show()}$("#hostbutton").hide();$("#cashbutton").hide();$("#paydeskcash").hide();$("#paydeskprint").hide();$("#goorderbtn").hide();if(neworders.length>0){if((workflowconfig==WORKFLOW_DIGI_AND_WORK)||(workflowconfig==WORKFLOW_WORK)||(workflowconfig==WORKFLOW_WORK_TRANSFER)){$("#workbtn").show()}if((workflowconfig==WORKFLOW_DIGI_AND_WORK)||(workflowconfig==WORKFLOW_DIGI)||(workflowconfig==WORKFLOW_WORK_TRANSFER)){$("#sendNewOrders").show()}}if((selectedtableindex!=null)&&(neworders.length==0)){$("#changetablebtn").show();$("#tablerecordsbtn").show()}}else{$("#paydeskbtn").hide();if((restaurantmode==1)&&(showhostprint==1)){$("#hostbutton").show()}$("#cashbutton").show();if(prodsaccounted.length>0){if(forceprint==0){$("#paydeskcash").show()}$("#paydeskprint").show();$("#goorderbtn").show()}else{$("#paydeskcash").hide();$("#paydeskprint").hide()}$("#workbtn").hide();$("#sendNewOrders").hide()}}var e_extras=[];var e_extras_selection=[];var e_prod=null;var e_option=null;function showExtras(a,c){e_prod=a;e_option=c;e_extras=a.extras;e_extras_selection=[];for(var b=0;b'}for(var e=0;e"+toHtml(c)+""}else{a+="
  • "+toHtml(c)+"
  • "}}a+="
    ";$("#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(requestPriceInExtras!==false){presetPriceInExtras=$("#enterpriceextrasfield").val()}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;e=0)&&(a<=1000)){actcount=a}}insertDataIntoActDialog()});$(".actbtn").off("click").on("click",function(c){c.stopImmediatePropagation();c.preventDefault();var b=this.id;if(b==="actminusbtn"){if(actcount>0){actcount--}$("#actnumberentryfield").val(actcount)}else{if(b==="actplusbtn"){actcount++;$("#actnumberentryfield").val(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{g=roundtodigits(g,2).toString();actprice=g;$("#actpricefield").val("")}}}else{var o=getProdEntry(c.prodid);if(o.unit==1){var g=$("#actpricefield").val().trim();g=g.replace(",",".")}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 r=a[0];var l=neworders[r].prodid;var g=neworders[r].changedPrice;var e=neworders[r].togo;var n=neworders[r].option;var k=neworders[r].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}showItemsPerPrintJob=false;if((billprintjobs==1)||((billprintjobs==2)&&(a==0))){showItemsPerPrintJob=true;$("#billprintjobspanel").show()}else{$("#billprintjobspanel").hide()}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;fillProdByPrintJobsList(prodsToPayList);if((a.msg.length==0)&&(returntoorder==1)){unZoomTableMap();goOrderDesk()}else{displayProdsToPayForTable();displayProdsOnReceipt()}}function putItemInSortedListToReceipt(b){for(var e=0;e";c+="


    ";for(var b=0;b'+a+"
    "}if((f==3)&&(showpayment3==1)){c+='
    '+a+"
    "}if((f==4)&&(showpayment4==1)){c+='
    '+a+"
    "}if((f==5)&&(showpayment5==1)){c+='
    '+a+"
    "}if((f==6)&&(showpayment6==1)){c+='
    '+a+"
    "}if((f==7)&&(showpayment7==1)){c+='
    '+a+"
    "}if((f==8)&&(showpayment8==1)){c+='
    '+a+"
    "}}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 payWithoutPaymentDlg(){startPayProcess(1,"","","")}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).removeClass("payitemnormborder");$("#"+c).addClass("payallaccounted");$("#"+c).addClass("payitemoffborder")}else{$("#"+c).removeClass("paystillopen");$("#"+c).removeClass("payallaccounted");$("#"+c).removeClass("payitemoffborder");$("#"+c).addClass("paystillopen");$("#"+c).addClass("payitemnormborder")}if(a===0){$("#"+c+" .payitemaccounted").html("")}else{$("#"+c+" .payitemaccounted").html(a)}}function getProdAccountedEntry(c){var f=createHashOfPayableItem(c);for(var a=0;a1){f=e.count+"x ";h=e.count}}var a=false;var g=getProdAccountedEntry(e);var i="";if(g!==null){if(g.count!=0){i=g.count}if(g.count==h){a=true}}var l="";if(a){if(preferimgdesk==0){l='
    '+f+createHashOfPayableItemWithoutTax(e)+"
    "+i+"
    "}else{var m="php/contenthandler.php?module=products&command=getprodimage&prodid="+e.prodid+"&size=m";var b=" style=\"background-image: url('"+m+"'); background-size: cover; background-repeat: no-repeat; background-position: center center; \" ";var c=""+f+createHashOfPayableItemWithoutTax(e)+"";l='
    "+c+"
    "+i+"
    "}}else{if(preferimgdesk==0){l='
    '+f+createHashOfPayableItemWithoutTax(e)+"
    "+i+"
    "}else{var m="php/contenthandler.php?module=products&command=getprodimage&prodid="+e.prodid+"&size=m";var k=" style=\"background-image: url('"+m+"'); background-size: cover; background-repeat: no-repeat; background-position: center center; \" ";var n=""+f+createHashOfPayableItemWithoutTax(e)+"";l='
    "+n+"
    "+i+"
    "}}return l}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(n,l,m,g){var k=getTableName();var b=0;if(selectedroomindex!=-1){if(selectedtableindex!=null){var f=roominfo.roomstables[selectedroomindex].tables[selectedtableindex];b=f.id}else{b=0}}var e=$("#info-page").data("usst");if($("#info-page").data("taxtype")=="togo"){e=$("#info-page").data("togotax")}checkForLogIn();var a=[];for(var h=0;h";printContent(s)}}startCashProcess()}}else{alert("Fehler: "+q)}},error:function(i){alert("Sorry, there was a problem! "+i)}})}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_OPS=["Operationen","Operations","Operaciones"];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 zeigt die Einnahmen durch den Kellner pro Zahlungsweg seit der letzten Tageslosung sowie als weiteren Wert den Kassenstand unter Berücksichtigung 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én el dinero incluido con acciones de insertar y sacar."];var P_CASH_SUM=["Bewirtungseinnahmen (ohne Ein-/Auslagen):","Cash by payment (without inserts/take-outs):","Cobro (sin tomas/entradas):"];var P_INCLUDE_OWN=["Barbestand inkl. eigener Kassen-Eingaben/Entnahmen:","Cash incl. own cash insert/take-outs:","Cash 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 P_OF_WORK_RECEIPT=[" von Arbeitsbon ","of work receipt "," del ticket de trabajo "];var showHostTemplate=false;var guests=[];var internalguests=[];var hotelinterface=0;var PAYMENT_HS3=7;var PAYMENT_GUEST=8;var currentPaymentId=7;var showpayments=1;var showpayment2=1;var showpayment3=1;var showpayment4=1;var showpayment5=1;var showpayment6=1;var showpayment7=1;var showpayment8=1;var forceprint=0;var showhostprint=1;var billprintjobs=0;var prodsByPrintjob=[];var currentSelectedIsTogo=false;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;showpayments=a.showpayments;showpayment2=a.showpayment2;showpayment3=a.showpayment3;showpayment4=a.showpayment4;showpayment5=a.showpayment5;showpayment6=a.showpayment6;showpayment7=a.showpayment7;showpayment8=a.showpayment8;forceprint=a.forceprint;$("#curtopay2").html(" "+a.currency);workflowconfig=a.workflowconfig;digigopaysetready=a.digigopaysetready;showhostprint=a.showhostprint;restaurantmode=a.restaurantmode;billprintjobs=a.billprintjobs;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,o,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(".",o);if(a!="A"){g+=" ("+a+")"}if(f==1){g="To-Go: "+g}var n=k*i;var m="";var e='style="white-space: nowrap;overflow: hidden;text-overflow:ellipsis;width: 60%;"';var l=n.toFixed(2).replace(".",o);if(k==0){k="";c="";l=""}m+="'+k+""+g;m=m+""+c;m+=""+l+"";return m}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")}}function generateCashOverviewOfUser(e){var a="";for(var b=0;b"+(parseFloat(c.value).toFixed(2)).replace(".",decpoint)+"
    "}return a}function fillProdByPrintJobsList(g){prodsByPrintjob=[];var a=g.length;for(var b=0;b