function ShowCalendar(datefield) {
	window.dateField = document.forms['dateForm'].elements[datefield]
	calendar = window.open("jsp/calendar.jsp", "calendar", "width=300,height=270,left=50,top=50,scrollbars=no,resizable=no,status=no")
}


function setDate() {
	this.dateField = opener.dateField
	this.inDate = dateField.value

	// SET DAY MONTH AND YEAR TO TODAY'S DATE
	var now   = new Date()
	var day   = now.getDate()
	var month = now.getMonth()
	var year  = now.getYear()

	// ADJUST THE YEAR 
	if (year < 2000) year += 1900

	// IF THERE WAS A DATE IN THE FIELD THEN PARSE THAT DATE
	
   if (inDate.length == 10) {
		var inDay   = inDate.substring(0,2)
		if (inDay.substring(0,1) == "0" && inDay.length > 1)
			inDay= inDay.substring(1,inDay.length)
		inDay= parseInt(inDay)
		var inMonth = inDate.substring(3, 5)
		if (inMonth .substring(0,1) == "0" && inMonth .length > 1)
			inMonth = inMonth.substring(1,inMonth .length)
		inMonth = parseInt(inMonth)
		var inYear  = parseInt(inDate.substring(6, inDate.length))

		if (inDay) day = inDay
		if (inMonth) month = inMonth-1
		if (inYear) year = inYear
	}
	this.focusDay = day
	document.calControl.month.selectedIndex = month
	document.calControl.year.value = year
	displayCalendar(day, month, year)
}

function setToday() {
	// SET DAY MONTH AND YEAR TO TODAY'S DATE
	var now   = new Date()
	var day   = now.getDate()
	var month = now.getMonth()
	var year  = now.getYear()

	// ADJUST THE YEAR 
	if (year < 2000) year += 1900

	this.focusDay = day
	document.calControl.month.selectedIndex = month
	document.calControl.year.value = year
	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.value
	if (isFourDigitYear(year)) {
		var day   = 0
		var month = document.calControl.month.selectedIndex
		displayCalendar(day, month, 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)
	}
}

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)
	}
}

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)
	}
}

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)
	}
}

function displayCalendar(day, month, year) {       
	day = parseInt(day)
	month = parseInt(month)
	year = parseInt(year)
	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

	// MAKE BEGINNING NON-DATE BUTTONS BLANK
	for (i = 0; i < startingPos; i++) {
		document.calButtons.elements[i].value = "    "
	}

 
	// SET VALUES FOR DAYS OF THE MONTH
	for (i = startingPos; i < days; i++){
		if (i-startingPos+1 < 10){
  	     document.calButtons.elements[i].value = "0"+(i-startingPos+1)
	    }
    	else{
	     document.calButtons.elements[i].value = i-startingPos+1
		}
		document.calButtons.elements[i].onClick = "returnDate"
	}

	// MAKE REMAINING NON-DATE BUTTONS BLANK
	for (i = days; i < 42; i++)  {
		document.calButtons.elements[i].value = "    "
	}

	// GIVE FOCUS TO THE CORRECT DAY 
	document.calButtons.elements[focusDay+startingPos-1].focus()
}

// GET NUMBER OF DAYS IN MONTH
function getDaysInMonth(month,year)  {
	if (month == 4 || month == 6 || month == 9 || month == 11) return 30
	else if (month==2) {
		// CHECK TO SEE IF YEAR IS A LEAP YEAR
		if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
			return 29
		} else {
			return 28
		}
	}
	return 31
}

// SET FORM FIELD VALUE TO THE DATE SELECTED
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 = month + "/" + day + "/" + year
				dateField.value = day + "/" + month + "/" + year
				window.close()
		}
}

