
var thisyear;
var thismonth;

function DisplayMonth(str_target, str_datetime) {
	var arr_months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
	var week_days = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
	var n_weekstart = 1;
	var start_date = new Date();
	if (str_datetime == "") {
		var today=new Date();
		str_datetime = today.getMonth()+1+"/"+today.getDate()+"/"+today.getFullYear();
	}
	var dt_datetime=new Date(str_datetime);
	var y = dt_datetime.getFullYear();
	if (y < 2000){
		dt_datetime.setFullYear(y+100);
	}
	thismonth = (dt_datetime.getMonth()+1)
	thisyear=dt_datetime.getFullYear();
	thisyear=(thisyear+"").substring(2,4);
	
	var dt_prev_month = new Date(dt_datetime);
	dt_prev_month.setMonth(dt_datetime.getMonth()-1);
	var dt_next_month = new Date(dt_datetime);
	dt_next_month.setMonth(dt_datetime.getMonth()+1);

	var dt_firstday = new Date(dt_datetime);
	dt_firstday.setDate(1);
	dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
	var dt_lastday = new Date(dt_next_month);
	dt_lastday.setDate(0);
// display html header and calendar header	
	var str_buffer = new String (
"<html>\n"+
"<head>\n"+
"<title>Calendar</title>\n"+
"<LINK rel=\"stylesheet\" href=\"pcal.css\" type=\"text/css\">\n"+
"<script language=\"JavaScript\">\n"+
"function trInfo (targ,dat_Val) {\n"+
"window.opener.document.getElementById(targ).value = dat_Val;\n"+
"window.close();}\n"+
// "window.onblur=function(){self.close();};\n"+
"</script>\n"+

"</head>\n"+
"<body>\n"+
"<table class=\"pcalTbl\" cellspacing=\"0\" border=\"0\" width=\"100%\">\n"+
"<tr><td bgcolor=\"#C08000\">\n"+
"<table cellspacing=\"1\" cellpadding=\"3\" border=\"0\" width=\"100%\">\n"+
"<tr>\n	<td class=\"pcalBut\"><a href=\"javascript:window.opener.DisplayMonth('"+
str_target+"','"+date2mddyyyy(dt_prev_month)+"');\">"+
"<img src=\"buttons/B-prev.gif\" width=\"16\" height=\"16\" border=\"0\""+
" alt=\"previous month\"></a></td>\n"+
"	<td align =\"center\" class=\"pcalMo\" colspan=\"5\">"+
arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</td>\n"+
"	<td class=\"pcalBut\" align=\"right\"><a href=\"javascript:window.opener.DisplayMonth('"
+str_target+"','"+date2mddyyyy(dt_next_month)+"');\">"+
"<img src=\"buttons/B-next.gif\" width=\"16\" height=\"16\" border=\"0\""+
" alt=\"next month\"></a></td>\n</tr>\n"
);
// display calendar body
var dt_current_day = new Date(dt_firstday);
str_buffer += "<tr>\n";
for (var n=0; n<7; n++)
	str_buffer += "	<td class=\"pcalDay\">" + week_days[(n_weekstart+n)%7] + "</td>\n";
	str_buffer += "</tr>\n";
	while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
		dt_current_day.getMonth() == dt_firstday.getMonth()) {
		str_buffer += "<tr>\n";
		for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
				if (dt_current_day.getDate() == dt_datetime.getDate() &&
					dt_current_day.getMonth() == dt_datetime.getMonth())
					str_buffer += "	<td class=\"pcalCur\">";
				else if (dt_current_day.getDay() == 0)
					str_buffer += "	<td class=\"pcalSun\">";
				else
					str_buffer += "	<td class=\"pcalDate\">";

				if (dt_current_day.getMonth() == dt_datetime.getMonth())
					str_buffer += "<a onClick=\"trInfo('" +str_target+"','"+date2mmddyy(dt_current_day)+"')\">"+
					dt_current_day.getDate()+"</a></td>\n";
				else 
					str_buffer += "</td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);
		}
		str_buffer += "</tr>\n";
	}
str_buffer += "</table>\n" + "</tr>\n</td>\n</table>\n" + "</body>\n" + "</html>\n";

var a = getAnchorWindowPosition(str_target)
//var a = getPosition(document.sData.StartDate)
// Specify how many pixels to the right of the anchor the popup will appear
var winTop = a.y + 25
// Specify how many pixels to the right of the anchor the popup will appear
var winLeft = a.x
var popCalWin = window.open("", "Calendar", "width=200,height=200,status=no,resizable=yes,top=" + winTop + ",left=" + winLeft);
popCalWin.opener = self;
popCalWin.focus();
var cal_doc = popCalWin.document;
cal_doc.write (str_buffer);
cal_doc.close();
}

function date2mmddyy (dt_datetime) {
return (new String (
thismonth+"/"+dt_datetime.getDate()+"/"+thisyear));
}

function date2mddyyyy (dt_datetime) {
return (new String (
(dt_datetime.getMonth()+1)+"/"+dt_datetime.getDate()+"/"+dt_datetime.getFullYear()));
}
