Code: Alles auswählen
<SCRIPT language=JavaScript>
var doc = document.forms[0];
var today = new Date();
var weekdays = new Array('SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI',
'SAT');
var months = new Array('JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN',
'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC');
function setColors(field, d, m) {
var doc = document.forms[0];
if(bType() == "ie") {
if(field.value == d && today.getMonth() == m && today.getYear() == doc.YearField.value)
field.style.color = "crimson";
else field.style.color = "black";
}
}
function onerror(msg, url, linenum) {
alert(msg + "; " + linenum);
return true;
}
function isMac() {
var p = navigator.platform.substring(0, 3);
if(p == "Mac") return "true";
else return "false";
}
function macStyle() {
if (bType() == "nav") return false;
var p = navigator.platform.substring(0, 3);
if(p == "Mac") { document.forms[0].MonYr.style.color = "Navy"; }
}
function answer(field) {
var doc = document.forms[0];
//var opendoc = opener.document.forms[0];
var cDate = new Date();
cDate.setMonth(doc.MonthField.value);
cDate.setDate(field.value);
cDate.setYear(doc.YearField.value);
var wd = cDate.getDay();
var m = cDate.getMonth()+1;
var y = (bType() == "nav") ? cDate.getYear()+1900 : cDate.getYear();
var d = cDate.getDate();
alert(m + "/" + d + "/" + y);
//opendoc.DateField.value = m + "/" + d + "/" + y;
//self.close();
}
function setDate(index) {
var doc = document.forms[0];
doc.Status.value = index;
var fields = doc.elements;
var e = fields.length;
// setting today's date
if(index == 0) {
doc.MonthField.value = today.getMonth();
var y = parseInt(today.getYear());
doc.YearField.value = (bType() == "nav") ? (y+1900) : y;
doc.DayField.value = today.getDate();
doc.DaysInMonthField.value = getDays(today.getMonth(),
today.getYear());
doc.WeekDayField.value = weekdays[today.getDay()];
doc.MonthNameField.value = months[today.getMonth()];
doc.MonYr.value = doc.MonthNameField.value + " " + doc.YearField.value;
fillCalendar();
macStyle();
for(var h=10; h<e; h++) {
setColors(fields[h], doc.DayField.value, doc.MonthField.value);
}
return today.getMonth() + "/" + today.getDate() + "/" + today.getYear();
}
// going forward or back a month
var calDate = new Date();
calDate.setMonth(doc.MonthField.value);
calDate.setDate(doc.DayField.value);
calDate.setYear(doc.YearField.value);
var year = parseInt(calDate.getYear());
if(index == -1) {
if (calDate.getMonth() == 0) {
calDate.setMonth(11);
calDate.setYear(year-1);
year = parseInt(calDate.getYear());
doc.DaysInMonthField.value = 31;
}
else {
calDate.setMonth(calDate.getMonth() - 1);
doc.DaysInMonthField.value = getDays((calDate.getMonth()), calDate.getYear());
}
doc.MonthField.value = calDate.getMonth();
year = parseInt(calDate.getYear());
if (bType() == "nav")
doc.YearField.value = 1900 + year;
else {
var theYear = (year < 2000) ? year+1900 : year;
doc.YearField.value = theYear;
for(var h=10; h<e; h++) {
setColors(fields[h], doc.DayField.value, doc.MonthField.value);
}
}
}
else {
if (calDate.getMonth() == 11) {
calDate.setMonth(0);
if (bType() == "nav") { calDate.setYear(calDate.getYear()+1901); }
else { calDate.setYear(calDate.getYear()+1); }
doc.DaysInMonthField.value = 31;
}
else {
calDate.setMonth(calDate.getMonth() + 1);
doc.DaysInMonthField.value = getDays((calDate.getMonth()), calDate.getYear());
}
doc.MonthField.value = calDate.getMonth();
if (bType() == "nav") {
doc.YearField.value = (1900 + calDate.getYear());
}
else {
var theYear = (calDate.getYear()<2000) ? (1900+calDate.getYear()) : calDate.getYear();
doc.YearField.value = theYear;
}
}
doc.WeekDayField.value = weekdays[calDate.getDay()];
doc.MonthNameField.value = months[calDate.getMonth()];
doc.MonYr.value = doc.MonthNameField.value + " " + doc.YearField.value;
fillCalendar();
macStyle();
for(var h=10; h<e; h++) {
setColors(fields[h], doc.DayField.value, doc.MonthField.value);
}
return calDate.getMonth() + "/" + calDate.getDate()
+ "/" + calDate.getYear();
}
function fillCalendar() {
var doc = document.forms[0];
var cDate = new Date();
cDate.setMonth(doc.MonthField.value);
cDate.setDate(1);
cDate.setYear(doc.YearField.value);
var max = doc.DaysInMonthField.value;
var wd = cDate.getDay();
var fields = doc.elements;
var e = fields.length;
var startday = 0;
clearDays();
for(var k=0; k<7; k++) {
if (wd == k) { startday = k; }
}
fields[startday+11].value = 1;
if(bType() == "ie") {
fields[startday+11].style.visibility = "visible";
}
else fields[startday+11].visibility = "show";
var s = startday+12;
for (var d=s; d<e; d++) {
var v = parseInt(fields[d-1].value)+1;
if (v < (parseInt(max)+1)) {
fields[d].value = v;
if(bType() == "ie") { fields[d].style.visibility = "visible"; }
else fields[d].visibility = "show";
}
else break;
}
}
function clearDays() {
var doc = document.forms[0];
var fields = doc.elements;
var e = fields.length
for (var i=10; i<e; i++) {
if(fields[i].type == "text") {
fields[i].value = "";
if(bType() == "ie") {
fields[i].style.visibility = "hidden";
} else fields[i].visibility = "hide";
}
}
}
function getDays(m, y) {
var isLeapYear = (y % 4 == 0);
var days = 0;
if (m == 1 && isLeapYear)
{ days = 29; }
if (m == 1 && !isLeapYear)
{ days = 28; }
if (m == 0) { days = 31; }
if (m == 2) { days = 31; }
if (m == 3) { days = 30; }
if (m == 4) { days = 31; }
if (m == 5) { days = 30; }
if (m == 6) { days = 31; }
if (m == 7) { days = 31; }
if (m == { days = 30; }
if (m == 9) { days = 31; }
if (m == 10) { days = 30; }
if (m == 11) { days = 31; }
return days;
}
function bType() {
if (navigator.appName == "Netscape") return "nav";
else if (navigator.appName == "Microsoft Internet Explorer") return "ie";
else return "other";
}
function getFirstMonthDay() {
var firstDay = new Date(getYear(), getMonth(), 1);
return firstDay.getDay();
}
function getYear() {
return document.forms[0].YearField.value;
}
function getDate() {
return document.forms[0].DayField.value;
}
function nextMonth() {
var doc = document.forms[0];
var s = parseInt(doc.Status.value);
setDate(1);
doc.Status.value = (s + 1);
}
function prevMonth() {
var doc = document.forms[0];
var s = parseInt(doc.Status.value);
setDate(-1);
doc.Status.value = (s - 1);
}
</script>