function setDate() {
    this.inDate      = '00/00/0000'; //dateField.value;

    // Today
    var now   = new Date();
    var day   = now.getDate();
    var month = now.getMonth();
    var year  = now.getYear();
    if (year < 900){
      if (year > 50) {
          year += 1900;
      }
      else {
          year += 2000;
      }
    }

    // Date
    if (inDate.indexOf('/')) {

        var inDay = inDate.substring(0,inDate.indexOf("/"));
            if (inDay.substring(0,1) == "0" && inDay.length > 1)
                inDay = inDay.substring(1,inDay.length);
            inDay = parseInt(inDay);
        var inMonth   = inDate.substring(inDate.indexOf("/") + 1, inDate.lastIndexOf("/"));
            if (inMonth.substring(0,1) == "0" && inMonth.length > 1)
                inMonth = inMonth.substring(1,inMonth.length);
            inMonth = parseInt(inMonth);
        var inYear  = inDate.substring(inDate.lastIndexOf("/") + 1, inDate.length);
            inYear = parseInt(inYear);

        if (inDay) {
            day = inDay;
        }
        if (inMonth) {
            month = inMonth-1;
        }
        if (inYear) {
            year = inYear;
        }
    }
    this.focusDay                           = day;
    document.calControl.month.selectedIndex = month;
    document.calControl.year.selectedIndex = year-2000;
    //document.calControl.year.value          = year;
    displayCalendar(day, month, year);
}

function setToday() {
    // Today's day
    var now   = new Date();
    var day   = now.getDate();
    var month = now.getMonth();
    var year  = now.getYear();
    if (year < 900){
      if (year > 50) {
          year += 1900;
      }
      else {
          year += 2000;
      }
    }
    this.focusDay                           = day;
    document.calControl.month.selectedIndex = month;
    document.calControl.year.selectedIndex  = year-2000
    displayCalendar(day, month, year);
}


function isFourDigitYear(year) {
    if (year.length != 4) {
        alert ("Sorry, the year must be four-digits in length.");
        document.calControl.year.select();
        document.calControl.year.focus();
    }
    else {
        return true;
    }
}


function selectDate() {
    var year  = document.calControl.year[document.calControl.year.selectedIndex].value;
    if (isFourDigitYear(year)) {
        var day   = 0;
        var month = document.calControl.month.selectedIndex;
        displayCalendar(day, month, year);
        //displayCalendar(month, day, year);
    }
}


function setPreviousYear() {
    var year  = document.calControl.year.value;
    if (isFourDigitYear(year)) {
        var day   = 0;
        var month = document.calControl.month.selectedIndex;
        year--;
        document.calControl.year.value = year;
        displayCalendar(day, month, year);
        //displayCalendar(month, day, year);
    }
}


function setPreviousMonth() {
    var year  = document.calControl.year.value;
    if (isFourDigitYear(year)) {
        var day   = 0;
        var month = document.calControl.month.selectedIndex;
        if (month == 0) {
            month = 11;
            if (year > 1000) {
                year--;
                document.calControl.year.value = year;
            }
        }
        else {
            month--;
        }
        document.calControl.month.selectedIndex = month;
        displayCalendar(day, month, year);
        //displayCalendar(month, day, year);
    }
}


function setNextMonth() {
    var year  = document.calControl.year.value;
    if (isFourDigitYear(year)) {
        var day   = 0;
        var month = document.calControl.month.selectedIndex;
        if (month == 11) {
            month = 0;
            year++;
            document.calControl.year.value = year;
        }
        else {
            month++;
        }
        document.calControl.month.selectedIndex = month;
        displayCalendar(day, month, year);
        //displayCalendar(month, day, year);
    }
}


function setNextYear() {
    var year  = document.calControl.year.value;
    if (isFourDigitYear(year)) {
        var day   = 0;
        var month = document.calControl.month.selectedIndex;
        year++;
        document.calControl.year.value = year;
        displayCalendar(day, month, year);
        //displayCalendar(month, day, year);
    }
}


function displayCalendar(day, month, year) {       

    day     = parseInt(day);
    month   = parseInt(month);
    year    = parseInt(year);
    var i   = 0;
    var now = new Date();

    if (day == 0) {
        var nowDay = now.getDate();
    }
    else {
        var nowDay = day;
    }
    var days         = getDaysInMonth(month+1,year);
    var firstOfMonth = new Date (year, month, 1);
    var startingPos  = firstOfMonth.getDay();
    days += startingPos;
    for (i = 0; i < startingPos; i++) {
        if (ns4) {
        	eval('document.layers["but'+i+'"].document.className = "";');
        	eval('document.layers["but'+i+'"].document.write("   ");')
        } else if (ie4) {
        	eval('document.all["but'+i+'"].className = "";');
        	eval('document.all["but'+i+'"].innerHTML = "   ";')
        } else if (dom) {
        	eval('document.getElementById("but'+i+'").className = "";');
        	eval('document.getElementById("but'+i+'").innerHTML = "   ";')
        }
    }
    for (i = startingPos; i < days; i++)  
    {
        if (ns4) {
        		myDoc = eval('document.layers["but'+i+'"]');
        		myDoc.document.open();
        		myDoc.document.write('\''+eval(i-startingPos+1)+'\'');
        		myDoc.document.close();
        	}
        else if (ie4)	eval('document.all["but'+i+'"].innerHTML = '+ eval(i-startingPos+1) + ';')
        else if (dom) 	eval('document.getElementById("but'+i+'").innerHTML = '+ eval(i-startingPos+1) + ';')
        if ((nowDay==i-startingPos+1)&&(now.getMonth()==document.calControl.month.selectedIndex)&&(now.getYear()-2000==document.calControl.year.selectedIndex)) {
        	if (ns4)	eval('document.layers["but'+i+'"].document.className = "calendarday_actual";');
        	else if (ie4)	eval('document.all["but'+i+'"].className = "calendarday_actual";');
        	else if (dom)	eval('document.getElementById("but'+i+'").className = "calendarday_actual";');
        } else {
		if (ns4)	eval('document.layers["but'+i+'"].document.className = "";');
        	else if (ie4)	eval('document.all["but'+i+'"].className = "";');
        	else if (dom)	eval('document.getElementById("but'+i+'").className = "";');
        }
    }

    for (i=days; i<42; i++)  {
        if (ns4) {
        	eval('document.layers["but'+i+'"].document.className = "";');
        	eval('document.layers["but'+i+'"].document.write("   ");')
        } else if (ie4) {
        	eval('document.all["but'+i+'"].className = "";');
        	eval('document.all["but'+i+'"].innerHTML = "   ";')
        } else if (dom) {
        	eval('document.getElementById("but'+i+'").className = "";');
        	eval('document.getElementById("but'+i+'").innerHTML = "   ";')
        }
    }
}


// Check how many days in month
function getDaysInMonth(month,year)  {
    var days;
    if (month==1 || month==3 || month==5 || month==7 || month==8 ||
        month==10 || month==12)  days=31;
    else if (month==4 || month==6 || month==9 || month==11) days=30;
    else if (month==2)  {
        if (isLeapYear(year)) {
            days=29;
        }
        else {
            days=28;
        }
    }
    return (days);
}


// Year verification
function isLeapYear (Year) {
    if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
        return (true);
    }
    else {
        return (false);
    }
}


// return value
function returnDate(inDay)
{
    var day   = inDay;
    var month = (document.calControl.month.selectedIndex)+1;
    var year  = document.calControl.year.value;

    if ((""+month).length == 1)
    {
        month="0"+month;
    }
    if ((""+day).length == 1)
    {
        day="0"+day;
    }
    if (day != "   ") {
        //dateField.value = year + "/" + month + "/" + day;
        //dateField.value = month + "/" + day + "/" + year;
        //dateField.value = day + "/" + month + "/" + year;
        //document.getElementById("calTxt").innerHTML = day + " " + document.calControl.month[document.calControl.month.selectedIndex].text + " " + document.calControl.year.value
        //document.getElementById('to_move').style.visibility='hidden';
    }
}
