/*  functions for pop-up date calender */

context = "<%=request.getContextPath() %>";

datelink = ""
var mn = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July',
		'August', 'September', 'October', 'November', 'December' ];

function buildCal(m, y) {
	var dim = [ 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
	var oD = new Date(y, m - 1, 1); // DD replaced line to fix date bug when
	// current day is 31st
	oD.od = oD.getDay() + 1; // DD replaced line to fix date bug when current
	// day is 31st

	var scanfortoday = (y == start.getFullYear() && m == start.getMonth() + 1) ? start.getDate(): 0 // DD added
	dim[1] = (((oD.getFullYear() % 100 != 0) && (oD.getFullYear() % 4 == 0)) || (oD	.getFullYear() % 400 == 0)) ? 29 : 28;

	var t = '<div><table class="caltable" cols="7"><tr>';
	t += '<td colspan="7" align="center">' + mn[m - 1] + ' - ' + y + '</td></tr><tr align="center">';
	for (s = 0; s < 7; s++)
		t += '<td class="calheader" width="30">' + "SMTWTFS".substr(s, 1) + '</td>';
	t += '</tr><tr>';
	for (i = 1; i <= 42; i++) {
		var x = ((i - oD.od >= 0) && (i - oD.od < dim[m - 1])) ? i - oD.od + 1 : '&nbsp;';
		if (i == 36 && x == '&nbsp;')
			break;
		if (x != '&nbsp;') {
			dd = ((x.toString()).length == 1) ? '0' + x : x
			mm = ((oD.getMonth() + 1).toString().length == 1) ? '0' + (oD.getMonth() + 1) : (oD.getMonth() + 1)
			datelink =  mm  + '/' + dd + '/' + oD.getFullYear()
			
			tmp = 'window.opener.dateobj.value=\'' + datelink + '\';window.close();'
		} else {
			tmp = ''
		}
		if (x == scanfortoday){ // DD added
			t += '<td class="today" align="center" onclick="' + tmp
					+ '"><a href="javascript:' + tmp + '">' + x + '</a></td>';
		} else if (x == "&nbsp;")
			t += '<td class="date" align="center" >&nbsp;</td>';
		else
			t += '<td class="date" align="center" onclick="' + tmp
					+ '" ><a href="javascript:' + tmp + '">' + x + '</a></td>';
		if (((i) % 7 == 0) && (i < 36))
			t += '</tr><tr align="center">';
	}
	return t += '</tr></table><br /><center><a href="javascript:window.opener.dateobj.value=\'\';window.close();">Clear Date</a></center></div>';
}

var selectedmonth;
var selectedyear;
var start;
var dateobj;
var serverdateobj = new Date();

function setdate(dateString, obj) {
	dateobj = obj;
//	serverdateobj = new Date(serverdate.substring(6),serverdate.substring(0,2) - 1,(serverdate.substring(3,5))  );
	var mn = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July',
			'August', 'September', 'October', 'November', 'December' ];
	if (dateobj && dateobj.value != "")
		start = new Date(dateobj.value.substring(6), dateobj.value.substring(0, 2)-1,(dateobj.value.substring(3, 5)));
	else
		start = serverdateobj;	//new Date(serverdate.substring(6),serverdate.substring(0,2)-1,(serverdate.substring(3,5) ) );
	selectedmonth = start.getMonth();
	selectedyear = start.getFullYear();
	t = buildCal((start.getMonth() + 1), start.getFullYear());
	openWindow(t);
}

function openWindow(text) {
	var styleStr = 'chrome,modal,centerscreen,personalbar=no,hotkeys=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width=220,height=270';
	msgWindow = window.open("", "msg", styleStr);
	var calhed = '<head><title>Select a Date</title><link rel="stylesheet" type="text/css" href="..//styles/cal_style.css" /></head>'
	var calender = '<body onunload="setTimeout(\'resetDates()\',100)"><table width="100%" border="0" cellpadding="0" cellspacing="0" ><tr><td><table width="100%"><tr><td><input name="back" type="button" class="buttoncell" id="btnchar2" value="&lt;&lt;" onclick="window.opener.prevmonth()" /></td><td align="center"><select name="year" class="Dropdown" id="size8" onchange="window.opener.changeyear(this.value)">'
	for (aa = (serverdateobj.getFullYear() - 80); aa <= (serverdateobj.getFullYear() + 20); aa++) {
		calender += (aa == selectedyear) ? '<option selected="selected" value="'
				+ aa + '">' + aa + '</option>'
				: '<option value="' + aa + '">' + aa + '</option>'
	}
	calender += '</select></td><td align="right" ><input name="forward" type="button" class="buttoncell" id="btnchar2" value="&gt;&gt;" onclick="window.opener.nextmonth();" /></td></tr></table></td></tr><tr><td id="calendertext">' + text + '</td></tr></table></body>'
	msgWindow.document.writeln(calhed + calender);
	msgWindow.document.close();

}
function resetDates() {
	if (window.opener) {
		window.opener.resetdates();
	}
}

function nextmonth() {
	selectedmonth++;
	if (selectedmonth > 11) {
		selectedmonth = 0
		selectedyear++;
		if (selectedyear > msgWindow.document.getElementById('size8').options[msgWindow.document
				.getElementById('size8').length - 1].value) {
			msgWindow.document.getElementById('size8').length++;
			msgWindow.document.getElementById('size8').options[msgWindow.document
					.getElementById('size8').length - 1].value = selectedyear;
			msgWindow.document.getElementById('size8').options[msgWindow.document
					.getElementById('size8').length - 1].text = selectedyear;
		}
		msgWindow.document.getElementById('size8').value = selectedyear
	}
	t = buildCal(selectedmonth + 1, selectedyear)
	msgWindow.document.getElementById('calendertext').innerHTML = t
}

function prevmonth() {
	if (selectedmonth == 0 && selectedyear <= 1926)
		return;
	selectedmonth--;
	if (selectedmonth < 0) {
		selectedmonth = 11
		selectedyear--;
		msgWindow.document.getElementById('size8').value = selectedyear;
	}
	t = buildCal(selectedmonth + 1, selectedyear)
	msgWindow.document.getElementById('calendertext').innerHTML = t
}

function changeyear(yearchng) {
	selectedyear = yearchng;
	t = buildCal(selectedmonth + 1, selectedyear)
	msgWindow.document.getElementById('calendertext').innerHTML = t
}

function resetdates() {
	tempdate = serverdateobj;	//new Date(serverdate.substring(6),serverdate.substring(0,2) - 1,(serverdate.substring(3,5)) );
	selectedmonth = tempdate.getMonth() + 1;
	selectedyear = tempdate.getFullYear();
}
