/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /* Neu implementierte Funktion um die unterschiedlich unterstützten Date-Formate abzubilden * * @param inst Datepicker - instance of current Datepicker * @param dates Wert im Input-Field * @param settings Settings Werte des Datepickers */ $.datepicker._parseDateHelper = function(inst, dates, settings){ var date = null; if (dates){ if (dates.indexOf(".") > -1){ if (dates.length === 6){ //dd.mm. date = $.datepicker.parseDate("dd.mm.", dates, settings); } else { //dd.mm.yy und dd.mm.yyyy date = $.datepicker.parseDate("dd.mm.yy", dates, settings); } } else { if (dates.length === 4){ //ddmm date = $.datepicker.parseDate("ddmm", dates, settings); } else { //ddmmyy und ddmmyyyy date = $.datepicker.parseDate("ddmmyy", dates, settings); } } } return date; } /* Ersetzen der Standard-JQuery Funktion für den Abgleich zwischen Input-Boxen und dem Date-Picker * Dies soll es ermöglichen, die unterstützten date-formate auch mittels Date Picker nutzen zu können * * @param inst Datepicker - instance of current Datepicker * @param noDefault boolean - true if no default date is to be used */ $.datepicker._setDateFromField = function(inst, noDefault) { if (inst.input.val() === inst.lastVal) { return; } var dateFormat = this._get(inst, "dateFormat"), dates = inst.lastVal = inst.input ? inst.input.val() : null, defaultDate = this._getDefaultDate(inst), date = defaultDate, settings = this._getFormatConfig(inst); try { //Ersetzen der Standard-Funktion durch eine eigene Implementierung // date = this.parseDate(dateFormat, dates, settings) || defaultDate; date = this._parseDateHelper(inst, dates, settings) || defaultDate; } catch (event) { dates = (noDefault ? "" : dates); } inst.selectedDay = date.getDate(); inst.drawMonth = inst.selectedMonth = date.getMonth(); inst.drawYear = inst.selectedYear = date.getFullYear(); inst.currentDay = (dates ? date.getDate() : 0); inst.currentMonth = (dates ? date.getMonth() : 0); inst.currentYear = (dates ? date.getFullYear() : 0); this._adjustInstDate(inst); }; $.datepicker._doKeyUp = function(event) { var date, inst = $.datepicker._getInst(event.target); if (inst.input.val() !== inst.lastVal) { try { //Ersetzen der Standard-Funktion durch eine eigene Implementierung //date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"), // (inst.input ? inst.input.val() : null), // $.datepicker._getFormatConfig(inst)); date = $.datepicker._parseDateHelper($.datepicker._get(inst, "dateFormat"), (inst.input ? inst.input.val() : null), $.datepicker._getFormatConfig(inst)); if (date) { // only if valid $.datepicker._setDateFromField(inst); $.datepicker._updateAlternate(inst); $.datepicker._updateDatepicker(inst); } } catch (err) { } } return true; };