var sDate = new Array();
var mName = new Array("January","February","March","April","May","June","July","August","September","October","November","December")
var wName = new Array("Su","Mo","Tu","We","Th","Fr","Sa")
var cFontName = "Arial, Helvetica, sans-serif;"
var KW_color = new Array("#ffffff","#ffcccc","#999999","#ffffff","#ccffcc","#cccccc","#000000","#000000")
function m_class(m,d,y) { 
	this.month=m;this.day=d;this.year=y;this.output=this.month+"/"+this.day+"/"+this.year;
	var kd=new Date();this.special=checkDates(this.month,this.day,this.year)
	this.today=((kd.getMonth()+1)==this.month && kd.getDate()==this.day && kd.getFullYear()==this.year)
}



function checkDates(m1,d1,y1) {
	var rStr=false;for(var i=0;i<sDate.length;i++) {var tDate=sDate[i].split(",");
		if (tDate[2]=="*" || tDate[2]==y1) {if (tDate[1]==d1 && tDate[0]==m1)	rStr=true;
		}}return rStr;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function KW_doCalendar(obj,m,y) {
	var d=new Date();
	d.setDate(1);
	if (!m && m!=0)
	 m=d.getMonth();d.setMonth(m);	

	if (!y) 
	 y=d.getFullYear();

	d.setFullYear(y);
	dy=d.getDay();
	dP=new Date();
	dP.setMonth(m);
	dP.setDate(0);
	pStart=dP.getDate()-dy+1;
	dStr=new Array();

	for (i=pStart;i<dP.getDate()+1;i++) {
		tMonth=(m==0)?"12":m;
		tYear=(m==0)?y-1:y;
		dStr[dStr.length]=new m_class(tMonth,i,tYear);
	}

	EOM=false;

	for (i=1;!EOM;i++){
		d.setDate(i);
		if (m!=d.getMonth())
			EOM=true;
		else { 
			dStr[dStr.length]=new m_class((Number(m)+1),i,y);
		}
	}
	
	cnt=1;

	for (i=d.getDay();i<7;i++) {
		tMonth=(m==11)?"1":Number(m)+2;
		tYear=(m==11)?Number(y)+1:y;
		dStr[dStr.length]=new m_class(tMonth,cnt,tYear); 
		cnt++;
	}

	pM=(m==0)?11:m-1;
	pY=(m==0)?y-1:y;
	nM=(m==11)?0:Number(m)+1;
	nY=(m==11)?Number(y)+1:y;
	wStr="<html><head><style type=\"text/css\"><!--td {  font-family: "+cFontName+" font-size: 12px; }\n.tblHdr { font-weight: bold; color: "+KW_color[0]+"; background-color: "+KW_color[6]+" }\n.subTbl{ color: "+KW_color[0]+"; background-color: #666666;  text-align: center}-->\n</style>\n<title>"+mName[m]+", "+y+"</title>\n</head>\n<body  topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\" leftmargin=\"0\" onLoad=\"window.focus()\">\n<table width=\"100%\" border=\"0\" cellspacing=\"0\">\n<tr>\n<td bgcolor=\""+KW_color[6]+"\">\n<table width=\"100%\" border=0>\n"
	wStr+="<tr>\n<td align=center bgcolor=\""+KW_color[6]+"\" class=\"tblHdr\" colspan=\"4\"><a href=\"javascript:window.opener.KW_doCalendar('"+obj+"','"+pM+"','"+pY+"');\" class=\"tblHdr\">&laquo</a>&nbsp;&nbsp;"+mName[m]+"&nbsp;&nbsp;<a href=\"javascript:window.opener.KW_doCalendar('"+obj+"','"+nM+"','"+nY+"');\"  class=\"tblHdr\">&raquo</a></td>\n<td colspan=3 align=center class=\"tblHdr\"><a href=\"javascript:window.opener.KW_doCalendar('"+obj+"','"+m+"','"+(y-1)+"');\" class=\"tblHdr\">&laquo</a>&nbsp;&nbsp;"+y+"&nbsp;&nbsp;<a href=\"javascript:window.opener.KW_doCalendar('"+obj+"','"+m+"','"+(Number(y)+1)+"');\"  class=\"tblHdr\">&raquo</a></td>\n</tr>\n"
	wStr+="<tr>\n<td class=\"subTbl\">"+wName[0]+"</td><td class=\"subTbl\">"+wName[1]+"</td><td class=\"subTbl\">"+wName[2]+"</td><td class=\"subTbl\">"+wName[3]+"</td><td class=\"subTbl\">"+wName[4]+"</td><td class=\"subTbl\">"+wName[5]+"</td><td class=\"subTbl\">"+wName[6]+"</td>\n</tr>\n"
	for (x=0;x<parseInt(dStr.length/7);x++) {
	wStr+="<tr>\n";	for (y=0;y<7;y++) { bC=(y==0||y==6)?KW_color[2]:KW_color[3];

	if ((Number(m)+1)!=dStr[x*7+y].month)
	 bC=KW_color[5];
	if (dStr[x*7+y].special)
	 bC=KW_color[4];
	if (dStr[x*7+y].today)
	 bC=KW_color[1];
	wStr+="<td align=\"center\" bgcolor="+bC+"><a href=\"javascript:window.opener.MM_findObj('"+obj+"',window.opener.document).value='"+dStr[x*7+y].output+"'; window.close();\" >"+dStr[x*7+y].day+"</a></td>\n";
		}
	wStr+="</tr>\n";}

	wStr+="<tr><td colspan=7></td></tr></table></td></tr></table></body></html>";
	var w = parseInt(screen.width/2-75);
	var h=parseInt(screen.height/2-75);
	var look='width=170,height=155,left='+w+',top='+h;
	popwin=window.open('','calendar',look);
	popwin.document.open();
	popwin.document.write(wStr);
	popwin.document.close();
}
