//Attachtes event evType to object obj to call function fc on the event function addEvent(obj, evType, fn) { if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent) { var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } function attachScript(sFileName) { var script; script = document.createElement('script'); script.type = 'text/javascript'; script.src = sFileName; document.getElementsByTagName('head')[0].appendChild(script); } function windowOnLoad() { //attachScript('jsColorOnFocus.js'); //attachScript('jsError.js'); //attachScript('jsRound.asp'); //attachScript('jsTools.js'); //attachScript('jsDate.js'); //attachScript('jsTime.js'); jsColorOnFocusInit(); } function addWindowLoadEvent(fct) { addEvent(window, 'load', fct); } addEvent(window, 'load', windowOnLoad); var ColorOfBackground = "#FFC843"; var DoColorize = true; //Set the background color (when the control gets the focus) function oninputfocus(e) { var source; source = getControlFromEvent(e); if(source!=null) if(source.style.backgroundColor == "") source.style.backgroundColor = ColorOfBackground; } //Clear the background color (when the control lost its focus) function oninputblur(e) { var source; source = getControlFromEvent(e); if(source!=null) { var orgColor; var testColor; orgColor = source.style.backgroundColor; source.style.backgroundColor = ColorOfBackground; testColor = source.style.backgroundColor; //alert(orgColor); //alert(testColor); //alert(orgColor == testColor); if(orgColor == testColor) source.style.backgroundColor = ""; else source.style.backgroundColor = orgColor; } } function attachEventToCtlLst(ctlList, checkForImage) { var ctl; for (var i = 0; (ctl = ctlList[i]); i++) { if(!checkForImage || ctl.type != 'image') { addEvent(ctl, 'focus', oninputfocus); addEvent(ctl, 'blur', oninputblur); } } } function jsColorOnFocusInit() { if(DoColorize) { attachEventToCtlLst(document.getElementsByTagName('input'), true); //attachEventToCtlLst(document.getElementsByTagName('select'), false); attachEventToCtlLst(document.getElementsByTagName('textarea'), false); } } var UsrLng = 1; var sInvalidDate=''; var sInvalidYear=''; var sInvalidMonth=''; var sInvalidTimeFormat=''; var alertInvalidHourFormat=''; function initErrTxts() { sInvalidDate = new Array('Date not valid.', 'Ungültiges Datum!')[UsrLng]; sInvalidYear = new Array('Year not valid.', 'Ungültiges Jahr!')[UsrLng]; sInvalidMonth = new Array('Month not valid.', 'Ungültiger Monat!')[UsrLng]; sInvalidTimeFormat = new Array('Time not valid!', 'Zeitformat unbekannt!')[UsrLng]; alertInvalidHourFormat = new Array('Invalid hour format', 'Stundenformat unbekannt!')[UsrLng]; } initErrTxts(); var RoundTotalFunction; function Rndn(num){ return Math.round(pureNr(num) * 100)/ 100;} function RndnSwiss(num){ return DecAusg(Math.round(pureNr(num) * 20) / 20);} RoundTotalFunction = Rndn; function FhlrMldng(elem, text){ window.alert(text); elem.select(); elem.focus(); } function ValidStd(item){ if (item.indexOf(",",0) >= 0) return false; return true;} function DecAusg(value){ value = pureNr(value); var str = "" + Math.round(value * 100); var len = str.length; if (str == "0") return ("0.00"); else { if (len == 1) ret = ("0.0" + str); else if(len == 2) ret = ("0." + str); else ret = (str.substring(0, len-2) + "." + str.substring(len-2, len)); } return ret; } function DecAusgToMax(value, decmax) { value = pureNr(value); //var str = "" + Math.round(value * Math.pow(10,decmax)); if (Number.value = 0) return "0.00"; var str = "" + (Math.round(value * Math.pow(10, decmax)) / (Math.pow(10, decmax))); var part1; var part2; var iPos = str.indexOf("."); if (iPos == -1) { iPos = str.length; str = str + ".00"; } if (iPos == -1) { part1 = str; part2 = "00"; } else { part1 = str.substring(0, iPos); part2 = str.substring(iPos + 1, str.length); } ret = "" + part1 + "." + part2; return ret; } function SetCmdDefault(field, defvalue) { field.value = defvalue; } function pureNr(str) { var val; val = new String(str); val = val.replace("'",""); val = val.replace(",","."); var ret; ret = new Number(); ret = val; return ret; } function FieldSetEnabled(fld, enbled) { if(enbled) { fld.style.disabled = false; fld.contentEditable = true; fld.style.backgroundColor = 'inherit'; } else { fld.style.disabled = true; fld.contentEditable = false; fld.style.backgroundColor = '#AAAAAA'; } } function makeHoursField(fld) { fld.value = DecAusg(fld.value); var ok = ValidStd(fld.value); if(!ok) FhlrMldng(fld, alertInvalidHourFormat); return ok; } function getControlFromEvent(e) { /* Cookie-cutter code to find the source of the event */ if (typeof e == 'undefined') var e = window.event; var source; if (typeof e.target != 'undefined') { source = e.target; } else if (typeof e.srcElement != 'undefined') { source = e.srcElement; } else { source = null; } /* End cookie-cutter code */ return source; }function CharInStringToInt(zeichen, index){ var i, zahl; if (zeichen.charCodeAt(index) < 48) return -1; if (zeichen.charCodeAt(index) > 57) return -1; for (i=0; i<10; i++){ if (zeichen.charCodeAt(index) == (48+i) ) zahl = i; } return zahl; } function ValidDate(item){ var tag1, tag2, monat1, monat2, jahr1, jahr2, jahr3, jahr4, Tag, Monat, Jahr, MaxTag; if (item.indexOf(".",0) != 2) return false; if (item.length != 10) return false; tag1 = CharInStringToInt(item,0);if (tag1 == -1) return false; tag2 = CharInStringToInt(item,1);if (tag2 == -1) return false; monat1 = CharInStringToInt(item,3);if (monat1 == -1) return false; monat2 = CharInStringToInt(item,4);if (monat2 == -1) return false; jahr1 = CharInStringToInt(item,6);if (jahr1 == -1) return false; jahr2 = CharInStringToInt(item,7);if (jahr2 == -1) return false; jahr3 = CharInStringToInt(item,8);if (jahr3 == -1) return false; jahr4 = CharInStringToInt(item,9);if (jahr4 == -1) return false; Tag = (tag1 * 10) + tag2; Monat = (monat1 * 10) + monat2; Jahr = (jahr1 * 1000) + (jahr2 * 100) + (jahr3 * 10) + jahr4; if ((Monat < 1) || (Monat > 12)) return false; if ((Monat == 1) || (Monat == 3) || (Monat == 5)|| (Monat == 7) || (Monat == 8) || (Monat == 10) || (Monat == 12)) MaxTag = 31; else if ((Monat == 4) || (Monat == 6) || (Monat == 9)|| (Monat == 11)) MaxTag = 30; else { MaxTag = 28; if (Jahr % 4 == 0){ MaxTag = 29; if (Jahr % 100 == 0){ MaxTag = 28; if (Jahr % 1000 == 0) MaxTag = 29; } } } if ((Tag < 1) || (Tag > MaxTag)) return false; if ((Jahr < 1900) || (Jahr > 2060)) return false; return true; } /***********************************************************************/ /* Eingabe von xx < 60 Ausgabe 20xx, Eingabe von xx >= 60 Ausgabe 19xx */ /***********************************************************************/ function PrfJhdt(DatumString, Laenge){ if (Laenge == 6){ if (CharInStringToInt(DatumString, 4) > 5) return "19" + DatumString.substring(4,6); else return "20" + DatumString.substring(4,6); } if (Laenge == 7){ if (CharInStringToInt(DatumString, 5) > 5) return "19" + DatumString.substring(5,7); else return "20" + DatumString.substring(5,7); } if (Laenge == 8){ if (CharInStringToInt(DatumString, 6) > 5) return "19" + DatumString.substring(6,8); else return "20" + DatumString.substring(6,8); } } function getFullYear(AktDat){ var y = AktDat.getYear(); if (y < 1000) y += 1900; return y; } /********************************************************************/ /* Eingabefeld DATUM im Format dd.mm.yyyy darstellen */ /********************************************************************/ function DisplayDate(DatumString) { var AktDat = new Date(); var AktJahr; AktJahr = getFullYear(AktDat); if ((DatumString.indexOf(".",0) != 1) && (DatumString.indexOf(".",0) != 2)) return DatumString; if (DatumString.length == 3) /* 6.6 */ if (DatumString.indexOf(".",0) == 1) DatumString = "0" + DatumString.substring(0,1) + ".0" + DatumString.substring(2,3) + "." + AktJahr; if (DatumString.length == 4) /* 06.6 oder 6.6. oder 6.06 */ if (DatumString.indexOf(".",0) == 2) DatumString = DatumString.substring(0,2) + ".0" + DatumString.substring(3,4) + "." + AktJahr; else if (DatumString.indexOf(".",2) == 3) DatumString = "0" + DatumString.substring(0,1) + ".0" + DatumString.substring(2,3) + "." + AktJahr; else if (DatumString.indexOf(".",0) == 1) DatumString = "0" + DatumString.substring(0,1) + "." + DatumString.substring(2,4) + "." + AktJahr; if (DatumString.length == 5) /* 6.06. oder 06.6. oder 06.06 */ if (DatumString.indexOf(".",0) == 1) DatumString = "0" + DatumString.substring(0,1) + "." + DatumString.substring(2,4) + "." + AktJahr; else if (DatumString.indexOf(".",3) == 4) DatumString = DatumString.substring(0,2) + ".0" + DatumString.substring(3,4) + "." + AktJahr; else if (DatumString.indexOf(".",0) == 2) DatumString = DatumString.substring(0,2) + "." + DatumString.substring(3,5) + "." + AktJahr; if (DatumString.length == 6) /* 06.06. oder 6.6.96 */ if (DatumString.indexOf(".",0) == 2) DatumString = DatumString.substring(0,2) + "." + DatumString.substring(3,5) + "." + AktJahr; else if (DatumString.indexOf(".",0) == 1) DatumString = "0" + DatumString.substring(0,1) + ".0" + DatumString.substring(2,3) + "." + PrfJhdt(DatumString, 6); if (DatumString.length == 7) /* 6.12.96 oder 12.6.96 */ if (DatumString.indexOf(".",0) == 1) DatumString = "0" + DatumString.substring(0,1) + "." + DatumString.substring(2,4) + "." + PrfJhdt(DatumString, 7); else if (DatumString.indexOf(".",0) == 2) DatumString = DatumString.substring(0,2) + ".0" + DatumString.substring(3,4) + "." + PrfJhdt(DatumString, 7); if (DatumString.length == 8) /* 12.12.96 oder 6.6.1996 */ if (DatumString.indexOf(".",0) == 2) DatumString = DatumString.substring(0,2) + "." + DatumString.substring(3,5) + "." + PrfJhdt(DatumString, 8); else if (DatumString.indexOf(".",0) == 1) DatumString = "0" + DatumString.substring(0,1) + ".0" + DatumString.substring(2,3) + "." + DatumString.substring(4,8); if (DatumString.length == 9) /* 6.12.1996 oder 12.6.1996 */ if (DatumString.indexOf(".",0) == 1) DatumString = "0" + DatumString.substring(0,1) + "." + DatumString.substring(2,4) + "." + DatumString.substring(5,9); else if (DatumString.indexOf(".",0) == 2) DatumString = DatumString.substring(0,2) + ".0" + DatumString.substring(3,4) + "." + DatumString.substring(5,9); return DatumString; } function checkYear(element){ var i, j, k, ch; var checkOK = "0123456789"; var allValid = true; var allNum = ""; var checkStr = element.value; errfound = false; for (i = 0; i < checkStr.length; i++){ ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++) if (ch == checkOK.charAt(j)) break; if (j == checkOK.length){ allValid = false; break; } allNum += ch; } if (allValid) { Result = parseInt(allNum,10); } else { Result = getCurrentYear(); allValid = true; } if (Result < 60) Result+=2000; else if (Result < 1900) Result+=1900; if ((Result < 1900) || (Result > 2060)) { Result = getCurrentYear(); allValid = true; } if (!allValid){ FhlrMldng(element, sInvalidYear); return false; } element.value = Result; return true; } function checkMonth(element){ var i, j, k, ch; var checkOK = "0123456789"; var allValid = true; var allNum = ""; var checkStr = element.value; errfound = false; //"xxx"; for (i = 0; i < checkStr.length; i++){ ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++) if (ch == checkOK.charAt(j)) break; if (j == checkOK.length){ allValid = false; break; } allNum += ch; } if (allNum == "") { allNum = 0; } Result = parseInt(allNum,10); if ((Result < 1) || (Result > 12)) { //allValid = false; Result = getCurrentMonth(); allValid = true; } element.value = Result; if (!allValid){ FhlrMldng(element, sInvalidMonth); return false; } return true; } function getCurrentYear() { var s d = new Date(); s = d.getFullYear(); return s; } function getCurrentMonth() { var s d = new Date(); s = d.getMonth() + 1; return s; } function setCurrentDate(textbox) { var d; var s; d = new Date(); s = ''; s = s + d.getDate(); s = s + '.'; s = s + (d.getMonth()+1); s = s + '.'; s = s + d.getFullYear(); textbox.value = DisplayDate(s); } function CheckDateField(textbox) { textbox.value = DisplayDate(textbox.value); errfound = false; if (!ValidDate(textbox.value)) { FhlrMldng(textbox, sInvalidDate); setCurrentDate(textbox); } return !errfound; /* true if there are no errors */ } function makeDate(fld) { fld.value = DisplayDate(fld.value); var ok = ValidDate(fld.value); if (!ok) FhlrMldng(fld, sInvalidDate); return ok; } function DateAddDay(fld, pIncrease){ if (!makeDate(fld)) { setCurrentDate(fld); } var d1 = new Date(); d1 = getDayFromString(fld.value); var d = new Date(d1.getFullYear(),d1.getMonth(),d1.getDate()+pIncrease); var day = d.getDate(); var month = d.getMonth() + 1; var year = d.getFullYear(); fld.value = day + '.' + month + '.' + year; makedate(fld); } //function jsDateInit() //{ //} //jsDateInit(); function getDayFromString(pDateString){ var d = new Date(pDateString.substr(6,4),pDateString.substr(3,2)-1,pDateString.substr(0,2)); return d; } /* datepickr - pick your date not your nose Copyright (c) 2010 */ function datepickr(id, userConfig) { var config = { fullCurrentMonth: true, dateFormat: 'F jS, Y', language: 1, weekstartoffset: 1 }, currentDate = new Date(), // shortcuts to get date info get = { current: { year: function() { return currentDate.getFullYear(); }, month: { integer: function() { return currentDate.getMonth(); }, string: function(full) { var date = currentDate.getMonth(); return monthToStr(date, full); } }, day: function() { return currentDate.getDate(); } }, month: { integer: function() { return currentMonthView; }, string: function(full) { var date = currentMonthView; return monthToStr(date, full); }, numDays: function() { // checks to see if february is a leap year otherwise return the respective # of return (get.month.integer() == 1 && !(currentYearView & 3) && (currentYearView % 1e2 || !(currentYearView % 4e2))) ? 29 : daysInMonth[get.month.integer()]; } } }, // variables used throughout the class weekdays = ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], suffix = { 1: '', 2: '', 3: '', 21: '', 22: '', 23: '', 31: '' }, daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], element, container, body, month, prevMonth, nextMonth, currentYearView = get.current.year(), currentMonthView = get.current.month.integer(), i, x, buildCache = []; function build(nodeName, attributes, content) { var element; if(!(nodeName in buildCache)) { buildCache[nodeName] = document.createElement(nodeName); } element = buildCache[nodeName].cloneNode(false); if(attributes != null) { for(var attribute in attributes) { element[attribute] = attributes[attribute]; } } if(content != null) { if(typeof(content) == 'object') { element.appendChild(content); } else { element.innerHTML = content; } } return element; } function monthToStr(date, full) { return ((full == true) ? months[date] : ((months[date].length > 3) ? months[date].substring(0, 3) : months[date])); } function formatDate(milliseconds) { var formattedDate = '', dateObj = new Date(milliseconds), format = { d: function() { var day = format.j(); return (day < 10) ? '0' + day : day; }, D: function() { return weekdays[format.w()].substring(0, 3); }, j: function() { return dateObj.getDate(); }, l: function() { return weekdays[format.w()] + 'day'; }, S: function() { return suffix[format.j()] || 'th'; }, w: function() { return dateObj.getDay(); }, F: function() { return monthToStr(format.n(), true); }, m: function() { var month = format.n() + 1; return (month < 10) ? '0' + month : month; }, M: function() { return monthToStr(format.n(), false); }, n: function() { return dateObj.getMonth(); }, Y: function() { return dateObj.getFullYear(); }, y: function() { return format.Y().substring(2, 4); } }, formatPieces = config.dateFormat.split(''); for(i = 0, x = formatPieces.length; i < x; i++) { formattedDate += format[formatPieces[i]] ? format[formatPieces[i]]() : formatPieces[i]; } return formattedDate; } function handleMonthClick() { // if we go too far into the past if(currentMonthView < 0) { currentYearView--; // start our month count at 11 (11 = december) currentMonthView = 11; } // if we go too far into the future if(currentMonthView > 11) { currentYearView++; // restart our month count (0 = january) currentMonthView = 0; } month.innerHTML = get.month.string(config.fullCurrentMonth) + ' ' + currentYearView; // rebuild the calendar while(body.hasChildNodes()){ body.removeChild(body.lastChild); } body.appendChild(buildCalendar()); bindDayLinks(); return false; } function bindMonthLinks() { prevMonth.onclick = function() { currentMonthView--; return handleMonthClick(); } nextMonth.onclick = function() { currentMonthView++; return handleMonthClick(); } } // our link binding function function bindDayLinks() { var days = body.getElementsByTagName('a'); for(i = 0, x = days.length; i < x; i++) { days[i].onclick = function () { close(); element.value = null; document.getElementById(element.id).value = formatDate(new Date(currentYearView, currentMonthView, this.innerHTML).getTime()); //trigger onchange-event on target element element.onchange(); return false; } } } function buildWeekdays() { var html = document.createDocumentFragment(); // write out the names of each week day //for(i = 0, x = weekdays.length; i < x; i++) { for(i = config.weekstartoffset, x = (config.weekstartoffset + 7); i < x; i++) { html.appendChild(build('th', {}, weekdays[i].substring(0, 2))); } return html; } function buildCalendar() { // get the first day of the month we are currently viewing var firstOfMonth = new Date(currentYearView, currentMonthView, 1).getDay(), // get the total number of days in the month we are currently viewing numDays = get.month.numDays(), // declare our day counter dayCount = 0, html = document.createDocumentFragment(), row = build('tr'); if (firstOfMonth == 0) { firstOfMonth = 7; } // print out previous month's "days" for(i = (1+config.weekstartoffset); i <= firstOfMonth; i++) { row.appendChild(build('td', {}, ' ')); dayCount++; } for(i = 1; i <= numDays; i++) { // if we have reached the end of a week, wrap to the next line if(dayCount == 7) { html.appendChild(row); row = build('tr'); dayCount = 0; } // output the text that goes inside each td // if the day is the current day, add a class of "today" //row.appendChild(build('td', { className: (i == get.current.day() && currentMonthView == get.current.month.integer() && currentYearView == get.current.year()) ? 'today' : '' }, build('a', { href: 'javascript:void(0)' }, i))); if (dayCount >= 5) { //different weekend color (--> rewrite, if monday is not first day of week row.appendChild(build('td', {className: (i == get.current.day() && currentMonthView == get.current.month.integer() && currentYearView == get.current.year()) ? 'today' : 'weekend' }, build('a', { href: 'javascript:void(0)' }, i))); } else { row.appendChild(build('td', { className: (i == get.current.day() && currentMonthView == get.current.month.integer() && currentYearView == get.current.year()) ? 'today' : '' }, build('a', { href: 'javascript:void(0)' }, i))); } dayCount++; } // if we haven't finished at the end of the week, start writing out the "days" for the next month for(i = 1; i <= (7 - dayCount); i++) { row.appendChild(build('td', {}, ' ')); } html.appendChild(row); return html; } function open() { showonlyone(container.id); document.onclick = function(e) { e = e || window.event; var target = e.target || e.srcElement; var parentNode = target.parentNode; if(target != element && parentNode != container) { while(parentNode != container) { parentNode = parentNode.parentNode; if(parentNode == null) { close(); break; } } } } bindDayLinks(); setContainerPosition(); container.style.display = 'block'; } function close() { document.onclick = null; container.style.display = 'none'; } function closeOnTab(e) { e = e || document.parentWindow.event; var pKey = e.keyCode ? e.keyCode : e.charCode; switch(pKey) { case 9: //Tab case 27 : //Esc container.style.display = 'none'; break; } } function setContainerPosition() { if (element == null) {return;} var oElement = element; if (typeof (oElement.offsetParent) != 'undefined') { for (var inputLeft = 0, inputTop = 0; oElement; oElement = oElement.offsetParent) { //alert(oElement.); inputLeft += oElement.offsetLeft; inputTop += oElement.offsetTop; } } container.style.cssText = 'display: none; position: absolute; top: ' + (inputTop + element.offsetHeight) + 'px; left: ' + inputLeft + 'px; z-index: 9999;'; //alert(container.style.cssText); } function initialise(userConfig) { //alert("init"); if(userConfig) { for(var key in userConfig) { if(config.hasOwnProperty(key)) { config[key] = userConfig[key]; } } } //Translate; switch(config.language) { case 2: //English weekdays = ['Sun', 'Mon', 'Tues', 'Wednes', 'Thurs', 'Fri', 'Satur','Sun', 'Mon', 'Tues', 'Wednes', 'Thurs', 'Fri', 'Satur']; months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; suffix = { 1: 'st', 2: 'nd', 3: 'rd', 21: 'st', 22: 'nd', 23: 'rd', 31: 'st' }; break; case 3: //French weekdays = ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']; months = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']; suffix = { 1: '', 2: '', 3: '', 21: '', 22: '', 23: '', 31: '' }; break; default: //German weekdays = ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa']; months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']; suffix = { 1: '', 2: '', 3: '', 21: '', 22: '', 23: '', 31: '' }; break; } //container = build('div', {className: 'calendar' }); container = build('div', { id: 'divcal' + id, className: 'calendar' }); setContainerPosition(); var omonths = build('div', { className: 'months' }); prevMonth = build('span', { className: 'prev-month' }, build('a', { href: '#' }, '<')); nextMonth = build('span', { className: 'next-month' }, build('a', { href: '#' }, '>')); month = build('span', { className: 'current-month' }, get.month.string(config.fullCurrentMonth) + ' ' + currentYearView); omonths.appendChild(prevMonth); omonths.appendChild(nextMonth); omonths.appendChild(month); var calendar = build('table', {}, build('thead', {}, build('tr', { className: 'weekdays' }, buildWeekdays()))); body = build('tbody', {}, buildCalendar()); calendar.appendChild(body); container.appendChild(omonths); container.appendChild(calendar); document.body.appendChild(container); bindMonthLinks(); if (element != null) { //bind target onfocus-event to datepickr-open function element.onfocus = open; //element.onclick = open; element.onkeydown = closeOnTab; } } return (function() { element = document.getElementById(id); initialise(userConfig); })(); } function showonlyone(thechosenone) { var divboxes = document.getElementsByTagName('div'); //alert('divboxes ' + divboxes.length); for (var x = 0; x 5) return false; if (item.charCodeAt(0) < 48) return false; /* < 0 */ if (item.charCodeAt(0) > 50) return false; /* > 2 */ if (item.charCodeAt(0) == 50){ /* = 2 */ if (item.charCodeAt(1) < 48) return false; /* < 0 */ if (item.charCodeAt(1) > 51) return false;} /* > 3 */ else{ if (item.charCodeAt(1) < 48) return false; /* < 0 */ if (item.charCodeAt(1) > 57) return false;} /* > 9 */ if (item.charCodeAt(2) != 58 && item.charCodeAt(2) != 46) return false; /* <> : */ if (item.charCodeAt(3) < 48) return false; /* < 0 */ if (item.charCodeAt(3) > 53) return false; /* > 5 */ if (item.charCodeAt(4) < 48) return false; /* < 0 */ if (item.charCodeAt(4) > 57) return false; /* > 9 */ return true; } function DisplayTime(ZeitString){ if(ZeitString.length==8) ZeitString = ZeitString.substring(0, 5); /*x or xx*/ sSymbol = ":"; if (ZeitString.indexOf(".",0) >= 0) sSymbol = "."; if (ZeitString.indexOf(sSymbol,0) == -1) if (ZeitString.length == 1) ZeitString = "0" + ZeitString + ":00"; else if (ZeitString.length == 2) ZeitString = ZeitString + ":00"; else if (ZeitString.length == 3) ZeitString = ZeitString.substring(0,2) + ":" + ZeitString.substring(2,3) + "0"; else if (ZeitString.length == 4) ZeitString = ZeitString.substring(0,2) + ":" + ZeitString.substring(2,4); /*: or :x or :xx*/ if (ZeitString.indexOf(sSymbol,0) == 0) if (ZeitString.length == 1) //":" ZeitString = "00:00"; else if (ZeitString.length == 2) //":x" ZeitString = "00" + ":" + ZeitString.substring(1,2) + "0"; else //":xx" ZeitString = "00" + ":" + ZeitString.substring(1,3); /*x: or x:x or x:xx*/ if (ZeitString.indexOf(sSymbol,0) == 1) if (ZeitString.length == 2) ZeitString = "0" + ZeitString.substring(0,1) + ":" + "00"; else if (ZeitString.length == 3) ZeitString = "0" + ZeitString.substring(0,1) + ":" + ZeitString.substring(2,3) + "0"; else if (ZeitString.length == 4) ZeitString = "0" + ZeitString.substring(0,1) + ":" + ZeitString.substring(2,4) ; /*xx: or xx:x or xx:xx*/ if (ZeitString.indexOf(sSymbol,0) == 2) if (ZeitString.length == 3) ZeitString = ZeitString.substring(0,2) + ":" + "00"; if (ZeitString.length == 4) ZeitString = ZeitString.substring(0,2) + ":" + ZeitString.substring(3,4) + "0"; if (ZeitString.length == 5) ZeitString = ZeitString.substring(0,2) + ":" + ZeitString.substring(3,5); return ZeitString; } function getTimeFromString(tm) { return new Date("December 17, 1995 " + tm + ":00").getTime(); } function setHoursFromTimes(fldFrom, fldUntil, fldHours) { var hours = calcHoursFromTimes(fldFrom, fldUntil); if(hours==null) return; fldHours.value = DecAusg(hours); } function calcHoursFromTimes(fldFrom, fldUntil) { if(fldFrom == null || fldUntil == null) return null; if(fldFrom.value == "" || fldUntil.value == "") return null; var amount; if(getTimeFromString(fldFrom.value) == getTimeFromString(fldUntil.value)) amount = 0; else if(getTimeFromString(fldFrom.value) < getTimeFromString(fldUntil.value)){ amount = getTimeFromString(fldUntil.value) - getTimeFromString(fldFrom.value); amount /= 3600000; } else if(getTimeFromString(fldFrom.value) > getTimeFromString(fldUntil.value)){ amount = (getTimeFromString(fldUntil.value) - getTimeFromString(fldFrom.value)); amount += 86400000; amount /= 3600000; } return Rndn(amount); } function makeTime(fld) { var ok; fld.value = DisplayTime(fld.value); ok = ValidTime(fld.value); if(!ok) FhlrMldng(fld, sInvalidTimeFormat); return ok; } function openProjectInformation(prjnr) { if(prjnr==null || prjnr == '') { alert('Kein Projekt ausgewählt!'); } else { window.open('ProjectInformation.asp?ProjektNr=' + prjnr, 'ProjectInfo', 'menubar=no, scrollbars=yes, toolbar=no, location=no, height=450, width=1150, resizable=1'); } } function openMitarbeiterInfo(mitarbeitercode, dtm) { var x=0, y=0; //default values if (document.all) { x = window.screenTop + 100; y = window.screenLeft + 100; } else //if (document.layers) { x = window.screenY + 100; y = window.screenX + 100; } if(mitarbeitercode==null || mitarbeitercode == '') { alert('Kein Mitarbeiter ausgewählt!'); } else if(dtm==null || dtm == '') { alert('Kein Datum ausgewählt!'); } else { if (document.all) { window.open('MitarbeiterInfo.asp?Dtm=' + dtm + '&MA=' + mitarbeitercode + '', 'MitarbeiterInfo', 'menubar=no, scrollbars=no, toolbar=no, height=250, top='+x+',width=350,left='+y+',resizable=1'); } else { window.open('MitarbeiterInfo.asp?Dtm=' + dtm + '&MA=' + mitarbeitercode + '', 'MitarbeiterInfo', 'menubar=no, scrollbars=no, toolbar=no, height=250,width=350, resizable=1'); // wird in Firefox mit Doppelbildschirm nicht korrekt positioniert //window.open('MitarbeiterInfo.asp?Dtm=' + dtm + '&MA=' + mitarbeitercode + '', 'MitarbeiterInfo', 'menubar=no, scrollbars=no, toolbar=no, height=250, screenX='+x+',width=350 ,screenY='+y+', resizable=1'); } //window.open('MitarbeiterInfo.asp?Dtm=' + dtm + '&MA=' + mitarbeitercode + '', 'MitarbeiterInfo', 'menubar=no, scrollbars=no, toolbar=no, height=250, top='+x+',screenX='+x+',width=350,left='+y+',screenY='+y+', resizable=1'); } }