1254 lines
44 KiB
HTML
1254 lines
44 KiB
HTML
<html>
|
|
<head>
|
|
<title>Ansicht Reservierung</title>
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
|
<meta name="author" content="Stefan Pichel">
|
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.8">
|
|
<link rel="stylesheet" type="text/css" href="css/osdatepicker.css?v=2.0.8">
|
|
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
|
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
|
|
|
|
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/css" />
|
|
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
|
|
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
|
<script src="elements/tablemap.js"></script>
|
|
<script src="elements/reservation.js?v=2.0.8"></script>
|
|
<script src="elements/osdatepicker.js?v=2.0.8"></script>
|
|
|
|
<script src="utilities.js?v=2.0.8"></script>
|
|
|
|
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
|
|
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui.min.js"></script>
|
|
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui-i18n.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<style>
|
|
|
|
@media print
|
|
{
|
|
#thefooter,#theheader,#modulemenu,#newresbox,#printsummary,#timeperiodsliderform,#viewdatepart,#blockarea {display: none;}
|
|
}
|
|
|
|
.schbtn,.schtablebtn {
|
|
font-size: 9px;
|
|
width: 170px;
|
|
height: 65px;
|
|
word-wrap: break-word !important;
|
|
white-space: normal !important;
|
|
background:Red;
|
|
}
|
|
|
|
.timeschbtn {
|
|
font-size: 15px;
|
|
width: 100px;
|
|
height: 45px;
|
|
}
|
|
|
|
.ui-select .ui-btn {
|
|
width:200px;
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
<script>
|
|
var RES_TITLE = ["Reservierung","Reservation","Reserva"];
|
|
var RES_NEW = ["Neue Reservierung","New Reservation","Reserva nueva"];
|
|
var RES_STARTTIME = ["Start-Uhrzeit","Start time","Hora de Empieza"];
|
|
var RES_NO_PERSONS = ["Anzahl Gäste","Number of persons","Personas"];
|
|
var RES_HOUR = ["Stunde","Hour","Hora"];
|
|
var RES_MIN = ["Minute","Minute","Minuto"];
|
|
var RES_DURATION = ["Dauer","Duration","Quanto tiempo"];
|
|
var RES_DURATION_HOURS = ["Stunden","Hours","Horas"];
|
|
var RES_DURATION_MINS = ["Minuten","Minutes","Minutos"];
|
|
var RES_GUEST_INFO_HEADER = ["Gästeinformation","Guest information","Información sobre huespedes"];
|
|
var RES_NAME = ["Name","Name","Nombre"];
|
|
var RES_EMAIL = ["E-Mail","Email","Email"];
|
|
var RES_TEL = ["Telefon","Phone","Telefono"];
|
|
var RES_REMARK = ["Notiz","Remark","Comentario"];
|
|
var RES_NO_NAME = ["Name wurde nicht angegeben!","Name field not filled!","Falta el nombre!"];
|
|
var RES_NO_PERSONS = ["Anzahl Personen wurde nicht eingetragen","Number of persons not specified","Falta numero de personas"];
|
|
var RES_INVALID_NUMBER_OF_PERSONS = ["Invalide Angabe der Personenanzahl","Invalid number of guests","Número de huespedes invalido"];
|
|
var RES_APPLY = ["Anwenden","Apply","Aplicar"];
|
|
var RES_CANCEL = ["Abbrechen","Cancel","Cancelar"];
|
|
var RES_CHANGE_TITLE = ["Reservierung ändern","Change Reservation","Modificar Reserva"];
|
|
var RES_LASTCREATOR = ["Letzte Änderung von","Last change by","Ultima modificación de"];
|
|
var RES_LASTUPDATE = ["Zuletzt geändert","Last changed","Ultimo cambio"];
|
|
var RES_TIME = ["Uhrzeit","Time","Hora"];
|
|
var RES_RES = ["Reservierungen","Reservations","Reservaciones"];
|
|
var RES_TIME_PERIOD = ["Zeitraum","Time frame","Periodo del tiempo"];
|
|
var RES_NORES = ["Keine Reservierungen an diesem Tag","No reservations at the selected day","No hay ningúna reserva"];
|
|
var RES_DEL = ["Löschen","Delete","Borrar"];
|
|
var RES_EMAIL_IMPOSSIBLE = ["(Eine Email-Reservierungsbestätigung ist erst nach Konfiguration des Emailsystems möglich.)",
|
|
"(ending of an email confirmation requires the setup of the email system.)",
|
|
"(Enviar una confirmación por email requiere la configuración del sistema de email.)"];
|
|
var RES_NOT_SEND = ["Nicht senden","Do not send","No enviar"];
|
|
var RES_SEND_EMAIL = ["Senden","Send","Enviar"];
|
|
var RES_TO = ["An","To","A"];
|
|
var RES_CUS_LABEL = ["Kunden aus Datenbank auswählen","Choose customer from data base","Elegir cliente del base de datos"];
|
|
var RES_CUSTOMERS = ["Kunden","Customers","Clientes"];
|
|
var RES_NO_CUS_FOUND = ["Kein Kunde gefunden","No customer found","Ningún cliente en base de datos"];
|
|
var RES_HINT_CUS_CHOOSE = ["Oder manuell eingeben:","or type in manually:","o insertar por teclado:"];
|
|
var RES_TABLESPEC = ["Tischangabe","Table","Mesa"];
|
|
var RES_ROOM = ["Raum","Room","Habitación"];
|
|
var RES_TABLE = ["Tisch","Table","Mesa"];
|
|
var RES_HTMLREPORT = ["Übersicht","Overview","Lista en html"];
|
|
var RES_CREATED_OK = ["Reservierung angelegt","Reservation created","Reservación creado"];
|
|
var RES_BLOCK_DAY = ["Weitere Buchungen verbieten","Stop further bookings","Evitar más reservaciones"];
|
|
var RES_RELEASE_DAY = ["Buchungen wieder erlauben","Allow reservartions again","Permitir más reservaciones"];
|
|
var RES_BLOCK_AREA_TXT = ["Tag blocken oder entsperren","Block or release day","Derecho de hacer reservaciones"];
|
|
var RES_CAUTION_DAY_BLOCKED = ["Der Tag wurde für weitere Reservierungen gesperrt","This day was blocked for further reservations","Este día ha sido bloqueado para más reservaciones"];
|
|
|
|
var lang = (-1);
|
|
var reservationnote = "";
|
|
var reservationitem = "";
|
|
var companyinfo = "";
|
|
var emailIsPossible = false;
|
|
var emailTemplate = "";
|
|
var filteredCustomers = [];
|
|
var tableoverview = [];
|
|
var resofselecteddate = [];
|
|
var viewdate = null;
|
|
var chgviewdate = null;
|
|
|
|
function setLanguage(language) {
|
|
lang = language;
|
|
|
|
$("#restitletxt").html(RES_TITLE[lang]);
|
|
$("#newtxt").html(RES_NEW[lang]);
|
|
$("#newresboxtxt").html(RES_NEW[lang]);
|
|
$("#starttimetxt").html(RES_STARTTIME[lang]);
|
|
$("#datehourtxt").html(RES_HOUR[lang]);
|
|
$("#datemintxt").html(RES_MIN[lang]);
|
|
$("#guestheadertxt").html(RES_GUEST_INFO_HEADER[lang]);
|
|
$("#personstxt").html(RES_NO_PERSONS[lang]);
|
|
$("#durationheadertxt").html(RES_DURATION[lang]);
|
|
$("#durationhourtxt").html(RES_DURATION_HOURS[lang]);
|
|
$("#durationmintxt").html(RES_DURATION_MINS[lang]);
|
|
$("#nametxt").html(RES_NAME[lang]);
|
|
$("#customertxt").html(RES_CUS_LABEL[lang]);
|
|
$("#emailtxt").html(RES_EMAIL[lang]);
|
|
$("#teltxt").html(RES_TEL[lang]);
|
|
$("#remarktxt").html(RES_REMARK[lang]);
|
|
|
|
$("#cdurationheadertxt").html(RES_DURATION[lang]);
|
|
$("#cdurationhourtxt").html(RES_DURATION_HOURS[lang]);
|
|
$("#cdurationmintxt").html(RES_DURATION_MINS[lang]);
|
|
$("#cguestheadertxt").html(RES_GUEST_INFO_HEADER[lang]);
|
|
$("#cnewresboxtxt").html(RES_CHANGE_TITLE[lang]);
|
|
$("#reschangetitletxt").html(RES_CHANGE_TITLE[lang]);
|
|
$("#cstarttimetxt").html(RES_STARTTIME[lang]);
|
|
$("#cstarttimehourtxt").html(RES_HOUR[lang]);
|
|
$("#cpersonstxt").html(RES_NO_PERSONS[lang]);
|
|
$("#cdurationtxt").html(RES_DURATION_HOURS[lang]);
|
|
$("#cnametxt").html(RES_NAME[lang]);
|
|
$("#cemailtxt").html(RES_EMAIL[lang]);
|
|
$("#cteltxt").html(RES_TEL[lang]);
|
|
$("#cremarktxt").html(RES_REMARK[lang]);
|
|
$("#tablespecheadertxt").html(RES_TABLESPEC[lang]);
|
|
$("#ctablespecheadertxt").html(RES_TABLESPEC[lang]);
|
|
$("#canceltxt").html(RES_CANCEL[lang]);
|
|
$("#changedlgbtn").html(RES_APPLY[lang]);
|
|
$("#clastcreatortxt").html(RES_LASTCREATOR[lang]);
|
|
$("#clastchangetxt").html(RES_LASTUPDATE[lang]);
|
|
$("#deldlgbtn").html(RES_DEL[lang]);
|
|
|
|
$("#cancelemailbtntxt").html(RES_NOT_SEND[lang]);
|
|
$("#sendemailtxtbtn").html(RES_SEND_EMAIL[lang]);
|
|
$("#sendemailtotxt").html(RES_TO[lang]);
|
|
|
|
$("#reshintchoosecustomer").html(RES_HINT_CUS_CHOOSE[lang]);
|
|
$("#resbytimesofdaytxt").html(RES_RES[lang]);
|
|
$("#blockdaybtn").html(RES_BLOCK_DAY[lang]);
|
|
$("#releasedaybtn").html(RES_RELEASE_DAY[lang]);
|
|
$("#blockareaheadertxt").html(RES_BLOCK_AREA_TXT[lang]);
|
|
|
|
$(".timeperiodslider").html(RES_TIME_PERIOD[lang]);
|
|
|
|
getBlockedDays();
|
|
}
|
|
|
|
function initDatePickers(blockedDays) {
|
|
var date = new Date();
|
|
viewdate = new OsDatePicker();
|
|
viewdate.init("#viewdate","#viewdatemonth",lang,date.getDate(),date.getMonth(),date.getFullYear(),handleViewDateChange,blockedDays);
|
|
|
|
chgviewdate = new OsDatePicker();
|
|
chgviewdate.init("#chgviewdate","#chgviewdatemonth",lang,date.getDate(),date.getMonth(),date.getFullYear(),null,blockedDays);
|
|
|
|
$("#newresbox").show();
|
|
var blockStatusOfToday = viewdate.isTodayBlockedWithRemark();
|
|
doVisibilityOfBlockAreas(blockStatusOfToday.blocked,blockStatusOfToday.remark);
|
|
}
|
|
|
|
function getGeneralConfigItems() {
|
|
doAjax("GET", "php/contenthandler.php?module=admin&command=getGeneralConfigItems", null, insertGenConfigStartRest, "Fehler Konfigurationsdaten");
|
|
}
|
|
|
|
function insertGenConfigStartRest(configResult) {
|
|
if (configResult.status == "OK") {
|
|
var values = configResult.msg;
|
|
reservationnote = values.reservationnote;
|
|
reservationitem = values.reservationitem;
|
|
companyinfo = values.companyinfo;
|
|
setLanguage(values.userlanguage);
|
|
if (values.email != "") {
|
|
emailIsPossible = true;
|
|
$("#emailinfo").html();
|
|
} else {
|
|
$("#emailinfo").html(RES_EMAIL_IMPOSSIBLE[lang]);
|
|
}
|
|
emailTemplate = values.reservationnote;
|
|
} else {
|
|
setTimeout(function(){document.location.href = "index.html";},250); // not logged in
|
|
$("#fullcontent").hide();
|
|
}
|
|
}
|
|
|
|
function doVisibilityOfBlockAreas(isBlocked,blockRemark) {
|
|
if (isBlocked) {
|
|
$("#newresbox").hide();
|
|
$("#cautionarea").show();
|
|
var infoTxt = RES_CAUTION_DAY_BLOCKED[lang];
|
|
if ((blockRemark != null) && (blockRemark != "")) {
|
|
infoTxt += ": <b>" + blockRemark + "</b>";
|
|
} else {
|
|
infoTxt += "!";
|
|
}
|
|
$("#cautioninfo").html(infoTxt);
|
|
$("#blockpart").hide();
|
|
$("#releasepart").show();
|
|
} else {
|
|
$("#newresbox").show();
|
|
$("#cautionarea").hide();
|
|
$("#blockpart").show();
|
|
$("#releasepart").hide();
|
|
}
|
|
}
|
|
|
|
function handleViewDateChange(theNewDate,isBlocked,blockRemark) {
|
|
$("#res-page").data("date",theNewDate);
|
|
displayTodaySchedule(theNewDate);
|
|
doVisibilityOfBlockAreas(isBlocked,blockRemark);
|
|
}
|
|
|
|
function displayTodaySchedule(date) {
|
|
|
|
var data = {
|
|
day: date.getDate(),
|
|
month: (date.getMonth() + 1),
|
|
year: date.getFullYear()
|
|
};
|
|
|
|
getReservationsOfDate(data);
|
|
}
|
|
|
|
function displaySpecificDateSchedule() {
|
|
var urlsuffix = location.search;
|
|
if (urlsuffix.indexOf('date=') >= 0) {
|
|
var datestamp = '';
|
|
var urlParts = urlsuffix.split(/&|\?/);
|
|
for (var i=0;i<urlParts.length;i++) {
|
|
var aPart = urlParts[i];
|
|
if (aPart.indexOf('date=') == 0) {
|
|
var parts = aPart.split("=");
|
|
datestamp = parts[1];
|
|
}
|
|
}
|
|
var dateParts = datestamp.split("-");
|
|
var year = parseInt(dateParts[0]);
|
|
var month = parseInt(dateParts[1]);
|
|
var day = parseInt(dateParts[2]);
|
|
var data = {
|
|
day: day,
|
|
month: month,
|
|
year: year
|
|
};
|
|
getBlockedDays();
|
|
viewdate.setDate(new Date(year,month-1,day));
|
|
getReservationsOfDate(data);
|
|
} else {
|
|
displayTodaySchedule(new Date());
|
|
}
|
|
}
|
|
|
|
function getReservationsOfDate(dateObj) {
|
|
doAjax("GET","php/contenthandler.php?module=reservation&command=getReservations",dateObj,insertReservations,"Reservierungsinfos");
|
|
}
|
|
|
|
function getDateFromViewDatePicker() {
|
|
var date = viewdate.getDate();
|
|
var data = {
|
|
day: date.getDate(),
|
|
month: date.getMonth() + 1,
|
|
year: date.getFullYear()
|
|
};
|
|
return data;
|
|
}
|
|
|
|
function getBlockedDays() {
|
|
doAjax("POST","php/contenthandler.php?module=reservation&command=getfutureblocks",null,handleGetBlockedDays,"GetBlockedDays",false);
|
|
}
|
|
|
|
function handleGetBlockedDays(answer) {
|
|
if (answer.status == "OK") {
|
|
initDatePickers(answer.msg);
|
|
} else {
|
|
alert("Fehler: " + answer.msg);
|
|
}
|
|
}
|
|
|
|
function bindBlockDayBtn() {
|
|
$("#blockdaybtn").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
var data = getDateFromViewDatePicker();
|
|
data["remark"] = $("#blockremark").val();
|
|
viewdate.blockDayInHashmap(data.day,data.month-1,data.year,data["remark"]);
|
|
chgviewdate.blockDayInHashmap(data.day,data.month-1,data.year,data["remark"]);
|
|
doVisibilityOfBlockAreas(true,data["remark"]);
|
|
doAjax("POST","php/contenthandler.php?module=reservation&command=blockday",data,handleBlock,"Block Reservierung",true);
|
|
});
|
|
|
|
$("#releasedaybtn").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
var data = getDateFromViewDatePicker();
|
|
viewdate.releaseDayInHashmap(data.day,data.month-1,data.year);
|
|
chgviewdate.releaseDayInHashmap(data.day,data.month-1,data.year);
|
|
doVisibilityOfBlockAreas(false,"");
|
|
doAjax("POST","php/contenthandler.php?module=reservation&command=releaseday",data,handleBlock,"Freigabe Reservierung",true);
|
|
});
|
|
}
|
|
|
|
function handleBlock(answer) {
|
|
if (answer.status != "OK") {
|
|
alert("Fehler: " + answer.msg);
|
|
} else {
|
|
$("#blockremark").val("");
|
|
}
|
|
}
|
|
|
|
function bindNewReservationBtn() {
|
|
$("#newbtn").off("click").on("click", function (e) {
|
|
var date = viewdate.getDate();
|
|
|
|
var startTimeHour = $("#timefieldse").val();
|
|
var startTimeMin = $("#timefieldmin").val();
|
|
var name = ($("#guestname").val()).trim();
|
|
var email = ($("#email").val()).trim();
|
|
var durationhours = $("#durationse").val();
|
|
var durationmins = $("#durationmin").val();
|
|
var persons = $("#noofguestse").val();
|
|
var phone = $("#telno").val();
|
|
var remark = $("#remark").val();
|
|
|
|
var roomkeys = Object.keys(tableoverview);
|
|
var roomid = -1;
|
|
var tableid = -1;
|
|
if (roomkeys.length == 0) {
|
|
tableid = -1;
|
|
} else if (roomkeys.length == 1) {
|
|
roomid = roomkeys[0];
|
|
tableid = $("#tableselect").val();
|
|
} else {
|
|
roomid = $("#roomselect").val();
|
|
tableid = -1;
|
|
if (roomid >= 0) {
|
|
tableid = $("#tableselect").val();
|
|
}
|
|
}
|
|
|
|
if (name.length == 0) {
|
|
alert(RES_NO_NAME[lang]);
|
|
} else if (persons == "") {
|
|
alert(RES_NO_PERSONS[lang]);
|
|
} else if (!isInt(persons)) {
|
|
alert(RES_INVALID_NUMBER_OF_PERSONS[lang]);
|
|
} else {
|
|
var data = {
|
|
day: date.getDate(),
|
|
month: (date.getMonth() + 1),
|
|
year: date.getFullYear(),
|
|
starthour: startTimeHour,
|
|
startmin: startTimeMin,
|
|
name: name,
|
|
email: email,
|
|
durationhours: durationhours,
|
|
durationmins: durationmins,
|
|
persons: persons,
|
|
phone: phone,
|
|
remark: remark,
|
|
tableid: tableid
|
|
};
|
|
|
|
var emailtext = emailTemplate;
|
|
emailtext = emailtext.replace(/DATUM/g,date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear());
|
|
emailtext = emailtext.replace(/ANZAHL/g,persons);
|
|
emailtext = emailtext.replace(/ZEIT/g,startTimeHour + ":" + startTimeMin);
|
|
emailtext = emailtext.replace(/BETRIEBSINFO/g,companyinfo);
|
|
$("#emailfield").val(emailtext);
|
|
$("#emailtofield").val(email);
|
|
|
|
doAjax("POST","php/contenthandler.php?module=reservation&command=createReservation",data,handleCreateNewReservation,"Reservierung");
|
|
}
|
|
});
|
|
}
|
|
|
|
function handleCreateNewReservation(answer) {
|
|
if (answer.status != "OK") {
|
|
alert("Fehler: " + answer.msg);
|
|
return;
|
|
} else {
|
|
var emailToField = $("#emailtofield").val();
|
|
if ((emailToField != "") && emailIsPossible) {
|
|
$.mobile.changePage("#sentemail-page");
|
|
} else {
|
|
resetFields();
|
|
alert(RES_CREATED_OK[lang]);
|
|
}
|
|
|
|
$("#cancelemailsentbtn").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
resetFields();
|
|
$.mobile.changePage("#res-page");
|
|
});
|
|
|
|
$("#sendemailbtn").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
resetFields();
|
|
var data = {
|
|
to: $("#emailtofield").val(),
|
|
msg: $("#emailfield").val()
|
|
};
|
|
doAjax("POST","php/contenthandler.php?module=reservation&command=emailConfirmReservation",data,handleEmailSendResult,"Emailbestätigung");
|
|
});
|
|
|
|
displayTodaySchedule($("#res-page").data("date"));
|
|
}
|
|
}
|
|
|
|
function handleEmailSendResult(result) {
|
|
if (result == "OK") {
|
|
resetFields();
|
|
$.mobile.changePage("#res-page");
|
|
} else {
|
|
alert("Fehler: Email konnte nicht versandt werden.");
|
|
}
|
|
}
|
|
|
|
function resetFields() {
|
|
$("#guestname").val("");
|
|
$("#email").val("");
|
|
$("#timefieldmin").val(0);
|
|
$("#timefieldmin").selectmenu().selectmenu('refresh', true);
|
|
$("#durationse").val(2);
|
|
$("#durationse").selectmenu().selectmenu('refresh', true);
|
|
$("#noofguestse").val("");
|
|
$("#durationmin").val(0);
|
|
$("#durationmin").selectmenu().selectmenu('refresh', true);
|
|
|
|
$("#telno").val("");
|
|
$("#remark").val("");
|
|
|
|
$("#newresbox").trigger("create");
|
|
}
|
|
|
|
function handleChangedReservation(answer) {
|
|
if (answer.status != "OK") {
|
|
alert("Fehler " + ": " + answer.msg);
|
|
return;
|
|
} else {
|
|
setTimeout(function(){document.location.href = "reservation.html";},500);
|
|
}
|
|
}
|
|
|
|
function getTableName(roomid,tableid) {
|
|
var tablename = "";
|
|
if ((tableid >= 0) && (roomid >= 0)) {
|
|
var abbr = tableoverview[roomid].roomabbreviation;
|
|
if (abbr != "") {
|
|
tablename = abbr + "-";
|
|
}
|
|
var tables = tableoverview[roomid].tables;
|
|
for (var i=0;i<tables.length;i++) {
|
|
var aTable = tables[i];
|
|
if (aTable.id == tableid) {
|
|
tablename += aTable.tablename;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return tablename;
|
|
}
|
|
|
|
function updateTableOfReservationsByTables(reservations) {
|
|
var date = new Date();
|
|
if (viewdate != null) {
|
|
date = viewdate.getDate();
|
|
}
|
|
var dateAsText = date.getDate() + "." + (date.getMonth() +1 ) + "." + date.getFullYear();
|
|
$("#dateofreservations").html(dateAsText);
|
|
var restable = new ReservationsTable();
|
|
|
|
var startDisplayHour = $("#range-starthour").val();
|
|
var endDisplayHour = $("#range-endhour").val();
|
|
|
|
var tableHtml = restable.layoutTable(startDisplayHour,endDisplayHour,reservations,reservationitem);
|
|
$("#restablearea").html(tableHtml);
|
|
|
|
}
|
|
function getResWithId(id) {
|
|
for (var i=0;i<resofselecteddate.length;i++) {
|
|
var allReservationsOfATable = resofselecteddate[i].reservations;
|
|
for (var j=0;j<allReservationsOfATable.length;j++) {
|
|
var aRes = allReservationsOfATable[j];
|
|
if (aRes.id == id) {
|
|
return aRes;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function insertReservations(answer) {
|
|
if (answer.status != "OK") {
|
|
alert("Fehler " + answer.code + ": " + answer.msg);
|
|
return;
|
|
} else {
|
|
tableoverview = answer.tableoverview;
|
|
fillRoomList("tablespecinforoomarea","roomselect","tablespecinfotablearea","tableselect",null,null);
|
|
//var res = answer.msg.bytimes;
|
|
//$("#res-page").data("res",res);
|
|
var resbytables = answer.msg.bytables;
|
|
resofselecteddate = resbytables;
|
|
$("#res-page").data("resbytables",resbytables);
|
|
|
|
updateTableOfReservationsByTables(resbytables);
|
|
bindTimeRangeSliders();
|
|
bindPrintBtn();
|
|
bindClickResItem();
|
|
bindCustomerField();
|
|
}
|
|
}
|
|
|
|
function bindPrintBtn() {
|
|
$("#printsummary").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
window.print();
|
|
});
|
|
}
|
|
function bindTimeRangeSliders() {
|
|
$("#range-starthour").off("slidestop").on("slidestop", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
displayTodaySchedule($("#res-page").data("date"));
|
|
});
|
|
$("#range-endhour").off("slidestop").on("slidestop", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
displayTodaySchedule($("#res-page").data("date"));
|
|
});
|
|
}
|
|
|
|
function bindCustomerField() {
|
|
$("#customer").off("keyup").on("keyup", function (e) {
|
|
startCusSearch();
|
|
});
|
|
}
|
|
|
|
function startCusSearch() {
|
|
var cusdata = { search: $("#customer").val().trim() }
|
|
doAjax("POST","php/contenthandler.php?module=customers&command=getCustomersForReserv",cusdata, handleGetCustomerResult, "Kundenabfrage unmöglich",true);
|
|
}
|
|
|
|
function handleGetCustomerResult(answer) {
|
|
if (answer.status != "OK") {
|
|
alert("Error: " + answer.msg);
|
|
return;
|
|
}
|
|
|
|
filteredCustomers = answer.msg;
|
|
|
|
var txt = '<ul data-role="listview" id="cuslist" data-divider-theme="a" data-inset="true">';
|
|
txt += '<li data-role="list-divider" data-theme="b" data-role="heading">' + RES_CUSTOMERS[lang] + '</li>';
|
|
|
|
if (filteredCustomers.length === 0) {
|
|
txt += '<li id="nocusentry" data-theme="d" data-icon=""><a href="#">' + RES_NO_CUS_FOUND[lang] + '</a></li>';
|
|
} else {
|
|
for (var i=0;i<filteredCustomers.length;i++) {
|
|
var aCus = filteredCustomers[i];
|
|
txt += '<li id="cus_' + aCus.id + '" data-theme="f" data-icon="" class="cuslistelem"><a href="#">' + toHtml(aCus.summary) + '</a></li>';
|
|
}
|
|
}
|
|
txt += '</ul>';
|
|
|
|
$("#customerlist").html(txt);
|
|
$("#customerlist").trigger("create");
|
|
|
|
bindCusElem();
|
|
}
|
|
|
|
function bindCusElem() {
|
|
$(".cuslistelem").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
|
|
var cusid = this.id.split("_")[1];
|
|
for (var i=0;i<filteredCustomers.length;i++) {
|
|
var aCus = filteredCustomers[i];
|
|
if (aCus.id == cusid) {
|
|
$("#guestname").val(aCus.name);
|
|
$("#email").val(aCus.email);
|
|
$("#telno").val(aCus.phone);
|
|
|
|
$("#customer").val("");
|
|
$("#customerlist").html('');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function bindCancelButtn() {
|
|
$("#cancelbtn").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
var date = viewdate.getDate();
|
|
var day = date.getDate();
|
|
var month = date.getMonth() + 1;
|
|
var year = date.getFullYear();
|
|
var dateStr = year + "-" + month + "-" + day;
|
|
|
|
setTimeout(function(){document.location.href = "reservation.html?v=2.0.8&date=" + dateStr;},500);
|
|
});
|
|
}
|
|
|
|
function openEditPageForRes(res) {
|
|
$("#changeres-page").data("id",res.id);
|
|
|
|
var day = res.day;
|
|
var month = parseInt(res.month)-1;
|
|
var year = res.year;
|
|
var startHour = res.starthour;
|
|
var startMin = res.startmin;
|
|
var durationhours = res.durationhours;
|
|
var durationmins = res.durationmins;
|
|
var name = res.guest;
|
|
var email = res.email;
|
|
var noOfGuests = res.persons;
|
|
var phone = res.phone;
|
|
var remark = res.remark;
|
|
var roomid = res.roomid;
|
|
var tableid = res.tableid;
|
|
if (tableid < 0) {
|
|
roomid = -1;
|
|
}
|
|
|
|
var changeDate = new Date(year, month, day, 0,0,0,0);
|
|
chgviewdate.setDate(changeDate);
|
|
|
|
$("#ctimefieldse").val(startHour);
|
|
$("#ctimefieldmin").val(startMin);
|
|
$("#cnoofguestse").val(noOfGuests);
|
|
$("#cdurationse").val(durationhours);
|
|
$("#cdurationmin").val(durationmins);
|
|
$("#cguestname").val(name);
|
|
$("#cemail").val(email);
|
|
$("#ctelno").val(phone);
|
|
$("#cremark").val(remark);
|
|
fillRoomList("ctablespecinforoomarea","croomselect","ctablespecinfotablearea","ctableselect",roomid,tableid);
|
|
|
|
$("#clastcreator").html("<i>" + toHtml(res.creator) + "</i>");
|
|
$("#clastchanged").html("<i>" + toHtml(res.creationdate) + "</i>");
|
|
|
|
bindDlgChangeBtn();
|
|
bindDlgDelBtn();
|
|
$.mobile.changePage("#changeres-page");
|
|
}
|
|
|
|
function bindClickResItem() {
|
|
$(".resitem").off("click").on("click", function (e) {
|
|
var resid = ((this.id).split("_"))[1];
|
|
openEditPageForRes(getResWithId(resid));
|
|
});
|
|
}
|
|
function bindHtmlReportButton() {
|
|
$("#htmlreportbtn").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
var date = viewdate.getDate();
|
|
var getParam = "day=" + date.getDate() + "&month=" + (date.getMonth() + 1) + "&year=" + date.getFullYear();
|
|
window.open("php/contenthandler.php?module=reservation&command=reservationsAsHtml&" + getParam,'_blank');
|
|
});
|
|
}
|
|
function bindChangeResByTableButton() {
|
|
$(".schtablebtn").off("click").on("click", function (e) {
|
|
var resid = ((this.id).split("_"))[1];
|
|
var allRes = $("#res-page").data("resbytables");
|
|
var theRes = null;
|
|
for (var i=0;i<allRes.length;i++) {
|
|
var tableReservations = allRes[i].reservations;
|
|
for (var j=0;j<tableReservations.length;j++) {
|
|
var aRes = tableReservations[j];
|
|
if (aRes.id == resid) {
|
|
theRes = aRes;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (theRes != null) {
|
|
openEditPageForRes(theRes);
|
|
}
|
|
});
|
|
}
|
|
|
|
function bindDlgChangeBtn() {
|
|
$("#changebtn").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
var startHour = $("#ctimefieldse").val();
|
|
var startMin = $("#ctimefieldmin").val();
|
|
var persons = $("#cnoofguestse").val();
|
|
var durationHours = $("#cdurationse").val();
|
|
var durationMins = $("#cdurationmin").val();
|
|
var guestname = $("#cguestname").val();
|
|
var email = $("#cemail").val();
|
|
var phone = $("#ctelno").val();
|
|
var remark = $("#cremark").val();
|
|
|
|
var roomkeys = Object.keys(tableoverview);
|
|
var roomid = -1;
|
|
var tableid = -1;
|
|
if (roomkeys.length == 0) {
|
|
tableid = -1;
|
|
} else if (roomkeys.length == 1) {
|
|
roomid = roomkeys[0];
|
|
tableid = $("#ctableselect").val();
|
|
} else {
|
|
roomid = $("#croomselect").val();
|
|
tableid = -1;
|
|
if (roomid >= 0) {
|
|
tableid = $("#ctableselect").val();
|
|
}
|
|
}
|
|
var date = chgviewdate.getDate();
|
|
|
|
var id = $("#changeres-page").data("id");
|
|
|
|
var data = {
|
|
id: id,
|
|
day: date.getDate(),
|
|
month: (date.getMonth() + 1),
|
|
year: date.getFullYear(),
|
|
starthour: startHour,
|
|
startmin: startMin,
|
|
name: guestname,
|
|
email: email,
|
|
durationhours: durationHours,
|
|
durationmins: durationMins,
|
|
persons: persons,
|
|
phone: phone,
|
|
remark: remark,
|
|
tableid: tableid
|
|
};
|
|
|
|
doAjax("POST","php/contenthandler.php?module=reservation&command=changeReservation",data,handleChangedReservation,"Reservierung");
|
|
});
|
|
}
|
|
|
|
|
|
function bindDlgDelBtn() {
|
|
$("#delbtn").off("click").on("click", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
|
|
var id = $("#changeres-page").data("id");
|
|
|
|
doAjax("POST","php/contenthandler.php?module=reservation&command=delReservation",{ id: id },handleChangedReservation,"Reservierung");
|
|
});
|
|
}
|
|
|
|
$(document).on("pageinit", "#res-page", function () {
|
|
initializeMainMenu("#modulemenu");
|
|
hideMenu();
|
|
$.ajaxSetup({ cache: false });
|
|
$("#res-page").data("date",new Date());
|
|
getGeneralConfigItems();
|
|
|
|
displaySpecificDateSchedule();
|
|
bindNewReservationBtn();
|
|
bindBlockDayBtn();
|
|
|
|
bindClickResItem();
|
|
bindCancelButtn();
|
|
|
|
var currentHour = String(new Date().getHours());
|
|
$("#timefieldse").val(currentHour);
|
|
$("#timefieldse").selectmenu().selectmenu('refresh', true);
|
|
$("#timefieldmin").val(0);
|
|
$("#timefieldmin").selectmenu().selectmenu('refresh', true);
|
|
$("#durationse").val(2);
|
|
$("#durationse").selectmenu().selectmenu('refresh', true);
|
|
$("#durationmin").val(0);
|
|
$("#durationmin").selectmenu().selectmenu('refresh', true);
|
|
|
|
$("#customer").val("");
|
|
$("#noofguestse").val("");
|
|
$("#guestname").val("");
|
|
$("#email").val("");
|
|
$("#telno").val("");
|
|
$("#remark").val("");
|
|
$("#blockremark").val("");
|
|
});
|
|
|
|
$(document).on("pagebeforeshow", "#changeres-page", function () {
|
|
if (lang < 0) {
|
|
setTimeout(function(){document.location.href = "reservation.html?";},500);
|
|
} else {
|
|
$("#ctimefieldse").selectmenu().selectmenu('refresh', true);
|
|
$("#ctimefieldmin").selectmenu().selectmenu('refresh', true);
|
|
$("#cdurationse").selectmenu().selectmenu('refresh', true);
|
|
$("#cdurationmin").selectmenu().selectmenu('refresh', true);
|
|
}
|
|
});
|
|
|
|
|
|
function fillRoomList(roomsectionid,roomselectid,tablesectionid,tableselectid,selectedRoomid,selectedTableid) {
|
|
var roomkeys = Object.keys(tableoverview);
|
|
if (roomkeys.length > 1) {
|
|
var txt = '<label for="' + roomselectid + '">' + RES_ROOM[lang] + ':</label>';
|
|
txt += "<SELECT id='" + roomselectid + "'>";
|
|
txt += "<option value='-1'>-</option>";
|
|
|
|
for (var i=0;i<roomkeys.length ;i++) {
|
|
var aRoomKey = roomkeys[i];
|
|
var aRoom = tableoverview[aRoomKey];
|
|
var selected = "";
|
|
if (aRoom.roomid == selectedRoomid) {
|
|
selected = " selected";
|
|
}
|
|
txt += "<option value='" + aRoom.roomid + "' " + selected + ">" + toHtml(aRoom.roomname) + "</option>";
|
|
}
|
|
txt += "</SELECT>";
|
|
$("#" + roomsectionid).html(txt);
|
|
$("#" + roomsectionid).trigger("create");
|
|
fillTableList(roomselectid,tablesectionid,tableselectid,selectedTableid);
|
|
bindRoomSelect(roomsectionid,roomselectid,tablesectionid,tableselectid,selectedTableid);
|
|
} else {
|
|
fillTableList(roomselectid,tablesectionid,tableselectid,selectedTableid);
|
|
}
|
|
}
|
|
|
|
function fillTableList(roomsectionid,tablesectionid,tableselectid,selectedTableid) {
|
|
var roomkeys = Object.keys(tableoverview);
|
|
var allowNoTableToSelect = false;
|
|
var roomid = null;
|
|
|
|
if (roomkeys.length == 0) {
|
|
return;
|
|
} else if (roomkeys.length == 1) {
|
|
allowNoTableToSelect = true;
|
|
roomid = roomkeys[0]
|
|
} else {
|
|
roomid = $("#" + roomsectionid).val();
|
|
}
|
|
|
|
var txt = "";
|
|
if (roomid >= 0) {
|
|
var tables = tableoverview[roomid]["tables"];
|
|
txt += '<label for="' + tableselectid + '">' + RES_TABLE[lang] + ':</label>';
|
|
txt += "<SELECT id='" + tableselectid + "'>";
|
|
if (allowNoTableToSelect) {
|
|
txt += "<option value='-1'>-</option>";
|
|
}
|
|
for (var i=0;i<tables.length;i++) {
|
|
var aTable = tables[i];
|
|
var selected = "";
|
|
if (aTable.id == selectedTableid) {
|
|
selected = " selected";
|
|
}
|
|
txt += "<option value='" + aTable.id + "' " + selected + ">" + toHtml(aTable.tablename) + "</option>";
|
|
}
|
|
txt += "</SELECT>";
|
|
}
|
|
$("#" + tablesectionid).html(txt);
|
|
$("#" + tablesectionid).trigger("create");
|
|
}
|
|
|
|
function bindRoomSelect(roomsectionid,roomselectid,tablesectionid,tableselectid,selectedTableid) {
|
|
$("#" + roomsectionid).off("change").on("change", function (e) {
|
|
e.stopImmediatePropagation();
|
|
e.preventDefault();
|
|
var selectedRoomid = $("#" + roomselectid).val();
|
|
selectedTableid = null;
|
|
fillRoomList(roomsectionid,roomselectid,tablesectionid,tableselectid,selectedRoomid,selectedTableid);
|
|
});
|
|
}
|
|
|
|
</script>
|
|
<div data-role="page" id="res-page" data-theme="c">
|
|
<div data-role="panel" id="modulepanel" data-position="right" data-display="overlay">
|
|
<ul data-role="listview" id="modulemenu" data-divider-theme="a" data-inset="true">
|
|
<li data-role="list-divider" data-theme="b" >Hauptmenü</li>
|
|
</ul>
|
|
</div><!-- /panel -->
|
|
<div data-role="header" data-theme="b" data-position="fixed" id="theheader" style="background-color:black;">
|
|
<h1><span id="restitletxt">Reservierung</span> <img src="img/connection.png" class="connectionstatus" style="display:none;" /> <img src="img/printerstatus.png" class="printerstatus" style="display:none;" /> <img src="img/tsestatus.png" class="tsestatus" style="display:none;" /> <img src="img/tasksstatus.png" class="tasksstatus" style="display:none;" /></h1>
|
|
<div data-type="horizontal" style="top:0px;position:absolute;float:right;z-index:10;display:inline;" align="right" class="ui-btn-right">
|
|
<a href="#" data-role="button" data-icon="arrow-d" data-ajax="false" id="menuswitch"><span id="modulstxt2">Hauptmenü</span></a>
|
|
</div>
|
|
</div>
|
|
<div data-role="content" id="fullcontent">
|
|
|
|
<div id="viewdatepart" data-role="fieldcontain" style="height:50px;" >
|
|
<input data-role="date" data-inline="true" type="text" id="viewdate" data-theme="d">
|
|
<div id="viewdatemonth" class="daypicker" >
|
|
Month Overlay
|
|
</div>
|
|
</div>
|
|
|
|
<div id="newresbox" data-role="collapsible" data-theme="c" data-content-theme="c" data-collapsed="true" style="display:none;">
|
|
<h3><span id="newresboxtxt">Neue Reservierung</span></h3>
|
|
|
|
<form>
|
|
<span id="starttimetxt" class="headerformat">Start-Uhrzeit</span>:
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="timefieldse"><span id=datehourtxt>Stunde</span>: </label>
|
|
<select name="timefieldse" id="timefieldse" data-theme="a">
|
|
<option value="0">0</option>
|
|
<option value="1">1</option>
|
|
<option value="2">2</option>
|
|
<option value="3">3</option>
|
|
<option value="4">4</option>
|
|
<option value="5">5</option>
|
|
<option value="6">6</option>
|
|
<option value="7">7</option>
|
|
<option value="8">8</option>
|
|
<option value="9">9</option>
|
|
<option value="10">10</option>
|
|
<option value="11">11</option>
|
|
<option value="12">12</option>
|
|
<option value="13">13</option>
|
|
<option value="14">14</option>
|
|
<option value="15">15</option>
|
|
<option value="16">16</option>
|
|
<option value="17">17</option>
|
|
<option value="18">18</option>
|
|
<option value="19">19</option>
|
|
<option value="20">20</option>
|
|
<option value="21">21</option>
|
|
<option value="22">22</option>
|
|
<option value="23">23</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="timefieldmin"><span id=datemintxt>Minute</span>: </label>
|
|
<select name="timefieldmin" id="timefieldmin" data-theme="a">
|
|
<option value="0">0</option>
|
|
<option value="15">15</option>
|
|
<option value="30">30</option>
|
|
<option value="45">45</option>
|
|
</select>
|
|
</div>
|
|
|
|
<span id="durationheadertxt" class="headerformat">Dauer</span>:
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="durationse"><span id="durationhourtxt">Stunden</span>: </label>
|
|
<select name="durationse" id="durationse" data-theme="a" >
|
|
<option value="0">0</option>
|
|
<option value="1">1</option>
|
|
<option value="2" selected>2</option>
|
|
<option value="3">3</option>
|
|
<option value="4">4</option>
|
|
<option value="5">5</option>
|
|
<option value="6">6</option>
|
|
<option value="7">7</option>
|
|
<option value="8">8</option>
|
|
<option value="9">9</option>
|
|
<option value="10">10</option>
|
|
<option value="11">11</option>
|
|
<option value="12">12</option>
|
|
</select>
|
|
</div> <!-- fieldcontain for duration hour -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="durationmin"><span id="durationmintxt">Minuten</span>: </label>
|
|
<select name="durationmin" id="durationmin" data-theme="a" >
|
|
<option value="0" selected>0</option>
|
|
<option value="15">15</option>
|
|
<option value="30">30</option>
|
|
<option value="45">45</option>
|
|
</select>
|
|
|
|
</div> <!-- fieldcontain for duration min -->
|
|
|
|
<span id="guestheadertxt" class="headerformat">Gästeinformation</span>:
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="noofguestse"><span id="personstxt">Anzahl Gäste</span>: </label>
|
|
<input data-wrapper-class="shortfield" type="text" name="noofguestse" id="noofguestse" class="whiteinput" />
|
|
</div> <!-- fieldcontain for number of guests -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="customer" style="width: 100%;"><span id="customertxt">Kunde</span>: </label>
|
|
<input type="text" id="customer" class="reservationinputfield whiteinput" value="" data-mini="true" placeholder="Name / Telefon"/>
|
|
</div> <!-- fieldcontain name -->
|
|
<div id="customerlist"></div>
|
|
|
|
<p id="reshintchoosecustomer">Oder manuell eingeben:
|
|
|
|
<p><div data-role="fieldcontain">
|
|
<label for="guestname" style="width: 100%;"><span id="nametxt">Name</span>: </label>
|
|
<input type="text" id="guestname" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
|
</div> <!-- fieldcontain name -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="email" style="width: 100%;"><span id="emailtxt">Email</span>: </label>
|
|
<input type="text" id="email" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
|
</div> <!-- fieldcontain name -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="telno" style="width: 100%;"><span id="teltxt">Telefon</span>: </label>
|
|
<input type="text" id="telno" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
|
</div> <!-- fieldcontain name -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="remark" style="width: 100%;"><span id="remarktxt">Notiz</span>: </label>
|
|
<input type="text" id="remark" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
|
</div> <!-- fieldcontain name -->
|
|
|
|
<div id="tableinfo" data-role="collapsible" data-theme="c" data-content-theme="e" data-collapsed="true">
|
|
<h3><span id="tablespecheadertxt">Tischang.</span></h3>
|
|
<div id="tablespecinforoomarea"></div>
|
|
<div id="tablespecinfotablearea"></div>
|
|
</div>
|
|
|
|
<a href="#" data-role="button" data-theme="f" id="newbtn"><span id="newtxt">Neu</span></a>
|
|
</form>
|
|
|
|
<div id=emailinfo style="text-align:center;"></div>
|
|
</div> <!-- newresbox -->
|
|
<div id="cautionarea" style="display:none;">
|
|
<img src="img/caution.png" style="height:50px;" /> <span id="cautioninfo">Achtung</span>
|
|
</div>
|
|
<br>
|
|
|
|
<div id="resoverview" data-role="collapsible" data-theme="c" data-content-theme="c" data-collapsed="false">
|
|
<h3><span id="resbytimesofdaytxt">Reservierungen</span> <span id="dateofreservations">Datum</span></h3>
|
|
<div id="restablearea"></div>
|
|
|
|
<div id="timeperiodsliderform">
|
|
<p><form>
|
|
<div data-role="rangeslider">
|
|
<label for="range-starthour"><span class="timeperiodslider">Zeitr.</span>:</label>
|
|
<input name="range-starthour" id="range-starthour" min="0" max="23" value="9" type="range">
|
|
<label for="range-endhour"><span class="timeperiodslider">Zeitr.</span>:</label>
|
|
<input name="range-endhour" id="range-endhour" min="1" max="24" value="18" type="range">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
|
|
<p /><button type="submit" data-theme="f" data-icon="check" id="printsummary">Drucken</button>
|
|
</div>
|
|
|
|
<div id="blockarea" data-role="collapsible" data-theme="c" data-content-theme="c" data-collapsed="true">
|
|
<h3><span id="blockareaheadertxt">Blocken</h3>
|
|
<div id="blockpart">
|
|
<input id="blockremark" type="text" placeholder="Bemerkung für Blocken" class="whiteinput" />
|
|
<p><button id="blockdaybtn" data-theme="b" ><span id="blockdaybtntxt">Block</span></button>
|
|
</div>
|
|
<div id="releasepart">
|
|
<button id="releasedaybtn" data-theme="f" ><span id="releasedaybtntxt">Freigabe</span></button>
|
|
</div>
|
|
</div>
|
|
|
|
</div> <!-- resbytimes -->
|
|
|
|
</div>
|
|
|
|
<div data-role="footer" data-theme="b" id="thefooterr" style="background-color:black;">
|
|
<div class="ui-grid-a">
|
|
<div class="ui-block-a userinfo" id="loggedinuser"></div>
|
|
<div class="ui-block-b grid_right" id="versioninfo"></div>
|
|
</div><!-- /grid-a -->
|
|
</div> <!-- footer -->
|
|
|
|
|
|
<div data-role="page" id="sentemail-page"> <!-- second page -->
|
|
<div data-role="header" data-theme="b" data-position="fixed" id="ctheheader">
|
|
<h1><span id="emailtitletxt">Emailbestätigung</span></h1>
|
|
</div>
|
|
<div data-role="content">
|
|
<form>
|
|
<div data-role="fieldcontain">
|
|
<label for="emailfield">Email:</label>
|
|
<textarea cols="40" rows="8" name="emailfield" id="emailfield" style="background-color: white; color:black;"></textarea>
|
|
</div>
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="emailtofield"><span id="sendemailtotxt">An</span>:</label>
|
|
<input type="text" id="emailtofield" style="background-color: white; color:black;" value="" data-mini="true" disabled />
|
|
</div>
|
|
<p />
|
|
<fieldset class="ui-grid-a" id="changecancelarea">
|
|
<div class="ui-block-a"><button type="submit" data-theme="d" class="cancelButton" data-icon="back" id="cancelemailsentbtn"><span id="cancelemailbtntxt">Nicht senden</span></button></div>
|
|
<div class="ui-block-b"><button type="submit" data-theme="f" class="applyButton" data-icon="check" id="sendemailbtn"><span id="sendemailtxtbtn">Senden</span></button></div>
|
|
</fieldset>
|
|
</form>
|
|
</div> <!-- content -->
|
|
</div> <!-- page for email sending -->
|
|
|
|
<div data-role="page" id="changeres-page"> <!-- second page -->
|
|
<div data-role="header" data-theme="b" data-position="fixed" id="ctheheader">
|
|
<h1><span id="reschangetitletxt">Reservierung ändern</span></h1>
|
|
</div>
|
|
<div data-role="content">
|
|
|
|
<div id="cnewresbox" data-role="collapsible" data-theme="c" data-content-theme="c" data-collapsed="false">
|
|
<h3><span id="cnewresboxtxt">Reservierung ändern</span></h3>
|
|
|
|
<form>
|
|
<div data-role="fieldcontain">
|
|
<p><span id="clastcreatortxt">Letzte Änderung von</span>: <span id="clastcreator"></span></p>
|
|
<p><span id="clastchangetxt">zuletzt geändert</span>: <span id="clastchanged"></span></p>
|
|
|
|
<div id="chgviewdatepart" data-role="fieldcontain" style="height:50px;" >
|
|
<input data-role="date" data-inline="true" type="text" id="chgviewdate" data-theme="d">
|
|
<div id="chgviewdatemonth" class="daypicker" >
|
|
Month Overlay
|
|
</div>
|
|
</div>
|
|
|
|
<span id="cstarttimetxt" class="headerformat">Start-Uhrzeit</span>:
|
|
|
|
<label for="ctimefieldse" ><span id="cstarttimehourtxt">Start-Uhrzeit</span>: </label>
|
|
<select name="ctimefieldse" id="ctimefieldse" data-theme="a" >
|
|
<option value="0">0</option>
|
|
<option value="1">1</option>
|
|
<option value="2">2</option>
|
|
<option value="3">3</option>
|
|
<option value="4">4</option>
|
|
<option value="5">5</option>
|
|
<option value="6">6</option>
|
|
<option value="7">7</option>
|
|
<option value="8">8</option>
|
|
<option value="9">9</option>
|
|
<option value="10">10</option>
|
|
<option value="11">11</option>
|
|
<option value="12">12</option>
|
|
<option value="13">13</option>
|
|
<option value="14">14</option>
|
|
<option value="15">15</option>
|
|
<option value="16">16</option>
|
|
<option value="17">17</option>
|
|
<option value="18">18</option>
|
|
<option value="19">19</option>
|
|
<option value="20">20</option>
|
|
<option value="21">21</option>
|
|
<option value="22">22</option>
|
|
<option value="23">23</option>
|
|
</select>
|
|
</div> <!-- fieldcontain for start time -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="ctimefieldmin"><span id=cdatemintxt>Minute</span>: </label>
|
|
<select name="ctimefieldmin" id="ctimefieldmin" data-theme="a">
|
|
<option value="0">0</option>
|
|
<option value="15">15</option>
|
|
<option value="30">30</option>
|
|
<option value="45">45</option>
|
|
</select>
|
|
</div>
|
|
|
|
<span id="cdurationheadertxt" class="headerformat">Dauer</span>:
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="cdurationse"><span id="cdurationhourtxt">Stunden</span>: </label>
|
|
<select name="cdurationse" id="cdurationse" data-theme="a" >
|
|
<option value="0">0</option>
|
|
<option value="1">1</option>
|
|
<option value="2" selected>2</option>
|
|
<option value="3">3</option>
|
|
<option value="4">4</option>
|
|
<option value="5">5</option>
|
|
<option value="6">6</option>
|
|
<option value="7">7</option>
|
|
<option value="8">8</option>
|
|
<option value="9">9</option>
|
|
<option value="10">10</option>
|
|
<option value="11">11</option>
|
|
<option value="12">12</option>
|
|
</select>
|
|
</div> <!-- fieldcontain for duration hour -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="cdurationmin"><span id="cdurationmintxt">Minuten</span>: </label>
|
|
<select name="cdurationmin" id="cdurationmin" data-theme="a" >
|
|
<option value="0" selected>0</option>
|
|
<option value="15">15</option>
|
|
<option value="30">30</option>
|
|
<option value="45">45</option>
|
|
</select>
|
|
|
|
</div> <!-- fieldcontain for duration min -->
|
|
|
|
<span id="guestheadertxt" class="headerformat">Gästeinformation</span>:
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="cnoofguestse"><span id="cpersonstxt">Anzahl Gäste</span>: </label>
|
|
<input data-wrapper-class="shortfield" type="text" name="cnoofguestse" id="cnoofguestse" class="whiteinput" />
|
|
</div> <!-- fieldcontain for number of guests -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="cguestname" class="select" style="width: 200px;"><span id="cnametxt">Name</span>: </label>
|
|
<input type="text" id="cguestname" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
|
</div> <!-- fieldcontain cguestname -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="cemail" class="select" style="width: 200px;"><span id="cemailtxt">Name</span>: </label>
|
|
<input type="text" id="cemail" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
|
</div> <!-- fieldcontain cemail -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="ctelno" class="select" style="width: 200px;"><span id="cteltxt">Telefon</span>: </label>
|
|
<input type="text" id="ctelno" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
|
</div> <!-- fieldcontain ctelno -->
|
|
|
|
<div data-role="fieldcontain">
|
|
<label for="cremark" class="select" style="width: 200px;"><span id="cremarktxt">Notiz</span>: </label>
|
|
<input type="text" id="cremark" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
|
</div> <!-- fieldcontain cremark -->
|
|
|
|
<div id="ctableinfo" data-role="collapsible" data-theme="c" data-content-theme="e" data-collapsed="true">
|
|
<h3><span id="ctablespecheadertxt">Tischang.</span></h3>
|
|
<div id="ctablespecinforoomarea"></div>
|
|
<div id="ctablespecinfotablearea"></div>
|
|
</div>
|
|
|
|
<p />
|
|
<fieldset class="ui-grid-b" id="changecancelarea">
|
|
<div class="ui-block-a"><button type="submit" data-theme="d" class="cancelButton" data-icon="back" id="cancelbtn"><span id="canceltxt">Abbruch</span></button></div>
|
|
<div class="ui-block-b"><button type="submit" data-theme="f" class="applyButton" data-icon="check" id="changebtn"><span id="changedlgbtn">Ändern</span></button></div>
|
|
<div class="ui-block-c"><button type="submit" data-theme="b" class="applyButton" data-icon="delete" id="delbtn"><span id="deldlgbtn">Löschen</span></button></div>
|
|
</fieldset>
|
|
|
|
</form>
|
|
</div> <!-- newresbox -->
|
|
<br>
|
|
</div>
|
|
</div> <!-- second page -->
|
|
|
|
</body>
|
|
</html> |