$(document).ready(function() { changeSelectIntoInput('input#chiffre', 'select#select_chiffre'); // advanced search changeSelectIntoInput('input#therapeut', 'select#advanced_search_selection.therapeut'); changeSelectIntoInput('input#chiffre', 'select#advanced_search_selection.chiffre'); changeSelectIntoInput('input#end', 'input#end_datepicker_alt'); changeSelectIntoInput('input#room', 'select#advanced_search_selection.room'); changeSelectIntoInput('input#settlement', 'select#advanced_search_selection.settlement'); var entryDate = $('input#f_date_of_entry'); if(entryDate.length) { entryDate.val('2024-05-05'); entryDate.css('display', 'none'); $("label[for='f_date_of_entry']").css('display', 'none'); } var info = $('textarea#f_information'); if(info.length) { info.css('display', 'none'); $("label[for='f_information']").css('display', 'none'); } if($('.idIsset').length) { } else { setTimeout( function() { editHandling(); }, 500); } //deaktivate Date deaktivateDateButtons('.shutdown_start_date button', '.advanced_search.start_date', '.advanced_search.start_hour', '.start span.dateselector input', 'select#start_seconds option', '.shutdown_start_date', '.activate_start_date'); deaktivateDateButtons('.shutdown_end_date button', '.advanced_search.end_date', '.advanced_search.end_hour', '.end span.dateselector input', 'select#end_seconds option', '.shutdown_end_date', '.activate_end_date'); //activate Date activateDateButtons('.activate_start_date button', '.advanced_search.start_date', '.advanced_search.start_hour', '.start span.dateselector input', 'select#start_seconds option', '.activate_start_date', '.shutdown_start_date'); activateDateButtons('.activate_end_date button', '.advanced_search.end_date', '.advanced_search.end_hour', '.end span.dateselector input', 'select#end_seconds option', '.activate_end_date', '.shutdown_end_date'); $('table#advanced_search_table').DataTable(); if($('#meeting_table.sort').length) { $.fn.dataTable.moment('dddd d MMMM YYYY'); $('#meeting_table.sort').DataTable(); } }); function changeSelectIntoInput($input, $select) { var input = $($input); var select = $($select); select.on('change', function() { if($(this).val() != '-') { input.val($(this).val()); } else { input.val(''); } }); } function editHandling() { var year = $('.times input.year'); // Vorhandene Buchungen Datum Inhalt (Y-MM-DD) var sec = $('.times input.sec'); // Vorhandene Buchungen Stunden in Sekunden var chooseYear = $('span.dateselector input#start_datepicker_alt'); // Anfang Datum Inhalt (DD.MM.Y) var chooseSec = $('select#start_seconds'); // Anfang Stunden in Sekunden var i = 1; while(i <= year.length) { var currentYear = $('.times input.year.' + i); var currentSec = $('.times input.sec.' + i); if((currentYear.val() == chooseYear.val()) && (currentSec.val() == chooseSec.val()+1)) { // On change handler (datepicker and year select) $('select#start_seconds').on('change', function() { onChangeEvents(); }); $('#start_datepicker').datepicker('option', 'onSelect', function() { datePickerHandler(); }); // Error event if start and change handler is wrong errorEvent('Sie können nicht zwei Räume zur selben Zeit buchen! Bitte ändern Sie entweder die Zeit oder das Datum.' + 'currentYear val: ' + currentYear.val() + 'choosenYear val: ' + chooseYear.val() + 'currentSec val: ' + currentSec.val() + 'choosenSec val: ' + chooseSec.val()); break; } else { $('select#start_seconds').on('change', function() { onChangeEvents(); }); $('#start_datepicker').datepicker('option', 'onSelect', function() { datePickerHandler(); }); } i++; } function datePickerHandler() { // moment().unix -> moment.min.js var todayTimestamp = moment().format('DD.MM.Y'); var startDatePicker = moment($('#start_datepicker_alt').val()).unix(); var endDatePicker = moment($('#end_datepicker_alt').val()).unix(); var startDatePickerVal = moment.unix(startDatePicker).format('Y-MM-DD'); var startDatePickerFormat = moment.unix(startDatePicker).format('DD.MM.Y'); if(endDatePicker < startDatePicker) { $('#end_datepicker_alt').val(startDatePickerVal); $('#end_datepicker').val(startDatePickerFormat) } onChangeEvents(); } function onChangeEvents() { var inputDay = moment($('#start_datepicker_alt').val()).format('DD'); var inputMonth = moment($('#start_datepicker_alt').val()).format('MM'); var inputYear = moment($('#start_datepicker_alt').val()).format('Y'); var todayDay = moment().format('DD'); var todayMonth = moment().format('MM'); var todayYear = moment().format('Y'); //inputDay=parseInt(inputDay); // hier wird geprüft, ob das Datum und die Zeit (in sek) nicht gleich dem einer bestehenden Raumbuchung ist. if(inputDay >= todayDay) { if(inputMonth >= todayMonth) { if(inputYear >= todayYear) { if(currentYear.val() != chooseYear.val() || currentSec.val() != chooseSec.val()) { $('#edit_entry_submit_save input').css('border', ''); $('#edit_entry_submit_save input').css('color', ''); if($('#edit_entry_submit_save input.offline').length) { $('#edit_entry_submit_save input').removeClass('offline'); $('input.submit').removeAttr('disabled'); $('form#main').unbind(); } } else { errorEvent('Das Datum und die Anfangszeit des Termins ist Identisch mit einem bestehenden Termin des gleichen Nutzers!'); } } else { errorEvent('das Jahr passt nicht'); } } else { errorEvent('der Monat passt nicht'); } } else { errorEvent('der Tag passt nicht'); } } function errorEvent(message) { // Bei dem ersten Fehler wieder rausspringen ( break; ) // Wenns von anfang an nicht passt -> kein speichern möglich. $('#edit_entry_submit_save input').css('border', '1px solid red'); $('#edit_entry_submit_save input').css('color', 'red'); $('#edit_entry_submit_save input').addClass('offline'); alert(message); if($('#edit_entry_submit_save input.offline').length) { $('form#main').submit(function(event) { event.preventDefault(); }); } else { $('input.submit.default_action').removeAttr('disabled'); $('form#main').unbind(); } } } function deaktivateDateButtons($shutdownButton, $shutdownCssDate, $shutdownCssHour, $disableDate, $disableSeconds, $shutdownHasClass, $shutdownAddClass) { $($shutdownButton).on('click', function() { $($shutdownCssDate).css('display', 'none'); $($shutdownCssHour).css('display', 'none'); $($disableDate).prop('disabled', true); $($disableSeconds).prop('disabled', true); $($shutdownHasClass).removeClass('active'); $($shutdownAddClass).addClass('active'); }); } function activateDateButtons($activateButton, $activateCssDate, $activateCssHour, $enableDate, $enableSeconds, $activateHasClass, $activateAddClass) { $($activateButton).on('click', function() { $($activateCssDate).css('display', 'block'); $($activateCssHour).css('display', 'block'); $($enableDate).prop('disabled', false); $($enableSeconds).prop('disabled', false); $($activateHasClass).removeClass('active'); $($activateAddClass).addClass('active'); }); } var supportsDatalist = function supportsDatalist() { return ('list' in document.createElement('input')) && ('options' in document.createElement('datalist')) && (window.HTMLDataListElement !== undefined); }; var oldInitGeneral = init; init = function(args) { oldInitGeneral.apply(this, [args]); var logonForm = document.getElementById('logon'); if (logonForm && logonForm.NewUserName) { logonForm.NewUserName.focus(); } if (!lteIE6) { $('').attr({ type: 'hidden', name: 'datatable', value: '1' }).appendTo('#header_search'); $('#user_list_link').each(function() { var href = $(this).attr('href'); href += (href.indexOf('?') < 0) ? '?' : '&'; href += 'datatable=1'; $(this).attr('href', href); }); } $('form input.default_action').each(function() { var defaultSubmitButton = $(this); $(this).parents('form').find('input').keypress(function(event) { if (event.which == 13) // the Enter key { defaultSubmitButton.click(); return false; } else { return true; } }); }); if (supportsDatalist() || lteIE6) { if (navigator.userAgent.toLowerCase().indexOf('opera') >= 0) { $('datalist').prev().attr('autocomplete', 'on'); } } else { $('datalist').each(function() { var datalist = $(this); var options = []; datalist.parent().find('option').each(function() { var option = {}; option.label = $(this).text(); option.value = $(this).val(); options.push(option); }); var minLength = 0; var breaks = [25,250,2500]; var nOptions = options.length; var i=0; while ((i= breaks[i])) { i++; minLength++; } var formInput = datalist.prev(); formInput.empty().autocomplete({ source: options, minLength: minLength }); if (minLength === 0) { formInput.focus(function() { $(this).autocomplete('search', ''); }); } }); } };