var ie, ns, ns6, fShow, fDisable, docW, dd_, x, y, dd_out, rightX, leftX, topY, downY; var flag = false; var is_loaded=true; var timerID=null; var dd_number=10; var dd_names; var dd_names = new Array(); var initialize_called = false; function js_initialize() { if (initialize_called) return 0; initialize_called = true; // check for browser version if (document.all) {ns=0;ie=1;ns6=0;fShow="visible";fDisable="hidden";}//IE else if (document.getElementById){ns=0;ie=0;ns6=1;fShow="visible";fDisable="hidden";}//NS6 else if (document.layers) {ns=1;ie=0;ns6=0;fShow="show";fDisable="hide";}//NS4 if (ns){ document.onmouseup=hide_all; window.captureEvents(Event.MOUSEMOVE); window.onmousemove=check_if_open; } else { self.document.onclick = hide_all; document.body.onmousemove=check_if_open; } } function layer_on(name,caller_obj){ hide_all(); if (ie){ document.all[name].style.visibility = fShow; } if (ns){ offset=caller_obj.left; docW = 0; document.layers[name].left = docW + offset - 8; document.layers[name].visibility =fShow; } if (ns6) { offset=caller_obj.style.top docW = 0; var dim = document.getElementById(name).style.left= docW + offset - 6; document.getElementById(name).style.visibility = fShow; } } function check_if_open(e){ if (ie) { var x = window.event.clientX; var y = window.event.clientY; } else{ var x = e.pageX; var y = e.pageY; } if (y < 110 || y>260) hide_all(); } function hide_all(){ for (i=0;i < dd_names.length;i++) if ((! ( dd_names[i].match(/js_layer/))) ) layer_off(dd_names[i]); } function layer_off(name) { if (ns) document.layers[name].visibility = fDisable; else if (ie) document.all[name].style.visibility = fDisable; else if (ns6) { document.getElementById(name).style.visibility = fDisable; } return false; } //----------------------------------------------------------------------- //function is called onchange of date-inputfields function checkSearchDates (date1name, date2name) { date1 = formatDateString(document.getElementById(date1name).value); date2 = formatDateString(document.getElementById(date2name).value); if (date1 != document.getElementById(date1name).value) { document.getElementById(date1name).value = date1; } if (date2 != document.getElementById(date2name).value) { document.getElementById(date2name).value = date2; } var statusMessage = ""; if ( !isDate(date1) ) { statusMessage = "Das Start-Datum ihrer Suche ist ungültig."; } else if ( !isDate(date2) ) { statusMessage = "Das End-Datum ihrer Suche ist ungültig."; } else if ( !isDateSpan(date1,date2) ) { statusMessage = "Die angegebene Zeitspanne ist ungueltig."; } if (statusMessage == "") { return true; } else { alert(statusMessage); return false; } } //----------------------------------------------------------------------- //formats a given String into dd.mm.yyyy and returns it function formatDateString(dateString) { //get current date to amend date if needed var today = new Date(); //see if each part of the dateString is formatted correctly and change it //when needed var datePart = dateString.split("."); var dayDate = checkDay(datePart[0], today); var monthDate = checkMonth(datePart[1], today); var yearDate = checkYear(datePart[2], today); //return datestring return dayDate + "." + monthDate + "." + yearDate; } //----------------------------------------------------------------------- //returns datePart correctly formatted function checkDay (datePart, today) { var dayDate = today.getDate(); if ((datePart) && (datePart != "") && ((datePart.length == 1) || (datePart.length == 2)) && (datePart > 0) && (datePart < 32)) { if (datePart.length == 1) { datePart = "0" + datePart; } return datePart; } else { return dayDate; } } //----------------------------------------------------------------------- //returns datePart correctly formatted function checkMonth (datePart, today) { var monthDate = today.getMonth(); if ((datePart) && (datePart != "") && ((datePart.length == 1) || (datePart.length == 2)) && (datePart > 0) && (datePart < 13)) { if (datePart.length == 1) { datePart = "0" + datePart; } return datePart; } else { return monthDate + 1; } } //----------------------------------------------------------------------- //returns year correctly function removeYearBug (year) { if (year < 1000) { year += 1900; } return year; } //----------------------------------------------------------------------- //returns datePart correctly formatted function checkYear (datePart, today) { var yearDate = today.getYear(); yearDate = removeYearBug(yearDate); var yearString = yearDate.toString(); if ((datePart) && (datePart != "") && ((datePart.length == 2) || (datePart.length == 4)) ) { if (datePart.length == 2) { datePart = yearString.substr(0,2) + datePart; } return datePart; } else { return yearDate; } } //----------------------------------------------------------------------- //examine if given string (dd.mm.yyyy) is also logically a date //returns true on success function isDate (dateString) { var datePart = dateString.split("."); var dayDate = datePart[0] - 0; var monthDate = datePart[1] - 1; var yearDate = datePart[2] - 0; var testDate = new Date(yearDate,monthDate,dayDate); if ((removeYearBug(testDate.getYear()) == yearDate) && (testDate.getMonth() == monthDate) && (testDate.getDate() == dayDate)) { return true; } else { return false; } } //----------------------------------------------------------------------- //examine if given strings (dd.mm.yyyy) define correctly a datespan //returns true on success function isDateSpan (date1String, date2String) { var date1Part = date1String.split("."); var date2Part = date2String.split("."); var startDate = new Date(date1Part[2] - 0, date1Part[1] - 1, date1Part[0] - 0); var endDate = new Date(date2Part[2] - 0, date2Part[1] - 1, date2Part[0] - 0); if (startDate <= endDate) { return true; } else { return false; } }