var carBackground = "#FFFFFF";
var carBoardColor = "#00abe9";
var carBoardOverColor = "#0000FF";
var carTextColor = "#000000";
var carTextColorSun = "#FF0000";
var carTextColorSat = "#999999";
var carTextTitleColor = "#FFFFFF";
var carFontSize = 30;
var carCellWidth = 50;
var carCellHeight = 50;
var carArrayDay = Array("Su","Mo","Tu","We","Th","Fr","Sa");
var carArrayMonth = Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var carInp;
var carInpName = "";
var carDate = new Date();

function carlendar(inpname,month,year) {
	carInp = document.getElementById(inpname);
	carInpName = inpname;
	d = new Date();
	d.setDate(1);
	if (month == 0 || month) d.setMonth(month);
	month = d.getMonth();
	if (year) d.setYear(year);
	year = d.getYear();
	if (year < 1900) year += 1900;
	if (!document.getElementById("carArea")) {
		initial();
		document.body.innerHTML += "<div id=\"carBlack\" style=\"background-color:#000000; position:absolute;\"></div><div id=\"carArea\" style=\"background-color:" + carBackground + "; text-align:center; position:absolute; font-family:Arial; font-size:" + carFontSize + "px;\"></div>\r\n";
	}
	b = document.getElementById("carBlack");
	setAlpha(b,50);
	b.style.width = fullX + "px";
	b.style.height = fullY + "px";
	b.style.left = "0px";
	scrollY = (document.documentElement.scrollTop) ? document.documentElement.scrollTop : window.pageYOffset;
	b.style.top = scrollY + "px";
	a = document.getElementById("carArea");
	a.innerHTML = carCreate(month,year);
	a.innerHTML += "<a href=\"javascript:carToday()\">Today</a> &nbsp;&nbsp;&nbsp; <a href=\"javascript:carClose()\">Close</a>";
	w = ((carCellWidth + 1) * 7) + 1;
	a.style.left = Math.floor(halfX - w / 2) + "px";
	a.style.top = scrollY + Math.floor(halfY - w / 2) + "px";
}
function carCreate(month,year) {
	nextmonth = month + 1;
	nextyear = year;
	if (nextmonth == 12) {
		nextmonth = 0;
		nextyear++;
	}
	lastmonth = month - 1;
	lastyear = year;
	if (lastmonth < 0) {
		lastmonth = 11;
		lastyear--;
	}
	str = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"" + carBoardColor + "\">";
	str += "<tr><td class=\"carTdH\" style=\"cursor:pointer;\" onClick=\"carlendar('" + carInpName + "'," + lastmonth + "," + lastyear + ")\">&lt;</td><td colspan=\"5\" align=\"center\" style=\"color:" + carTextTitleColor + "; cursor:default;\">";
	//month list
	str += "<select style=\"font-size:" + carFontSize + "px;\" onChange=\"carlendar('" + carInpName + "',this.value," + year + ")\">\r\n";
	for (i = 0;i < 12;i++) {
		str += "<option value=\"" + i + "\"";
		if (i == month) str += " selected";
		str += ">";
		str += carArrayMonth[i];
		str += "</option>";
	}
	str += "</select>\r\n";
	//year list
	str += "<select style=\"font-size:" + carFontSize + "px;\" onChange=\"carlendar('" + carInpName + "'," + month + ",this.value)\">\r\n";
	ymin = year - 5;
	ymax = year + 5;
	for (i = ymin;i <= ymax;i++) {
		str += "<option value=\"" + i + "\"";
		if (year == i) str += " selected";
		str += ">" + i + "</option>\r\n";
	}
	str += "</select>\r\n";
	str += "</td><td class=\"carTdH\" style=\"cursor:pointer;\" onClick=\"carlendar('" + carInpName + "'," + nextmonth + "," + nextyear + ")\">&gt;</td></tr>\r\n";
	str += "<tr>\r\n";
	//head
	for (i = 0;i < carArrayDay.length;i++) {
		str += "<td class=\"carTdH\">" + carArrayDay[i] + "</td>";
	}
	str += "</tr>\r\n";
	//the days
	carDate.setDate(1);
	carDate.setMonth(month);
	carDate.setYear(year);
	nMonth = month;
	nBegin = carDate.getDay();
	nInc = 0;
	nDate = 1;
	for (row = 1;row <= 6;row++) {
		str += "<tr class=\"carTr\">\r\n";
		for (col = 1;col <= 7;col++) {
			str += "<td class=\"carTd\"";
			if (col == 1) str += " style=\"color:" + carTextColorSun + ";\"";
			else if (col == 7) str += " style=\"color:" + carTextColorSat + ";\"";
			str += " onMouseOver=\"this.style.backgroundColor = '#EEEEEE';\" onMouseOut=\"this.style.backgroundColor = '';\"";
			if (nBegin >= 0 && nInc == nBegin) {
				str += " onClick=\"chooseDate(" + nDate + "," + month + "," + year + ")\">";
				nBegin = -1;
				str += nDate;
				nDate++;
				carDate.setDate(carDate.getDate() + 1);
			}
			else if (nBegin < 0) {
				if (carDate.getMonth() == nMonth) {
					str += " onClick=\"chooseDate(" + nDate + "," + month + "," + year + ")\">";
					str += nDate;
				}
				else {
					str += ">";
				}
				carDate.setDate(carDate.getDate() + 1);
				nDate++;
			}
			else {
				str += ">";
			}
			str += "</td>";
			nInc++;
		}
		str += "</tr>\r\n";
	}
	str += "</table>\r\n";
	return str;
}
function chooseDate(d,m,y) {
	document.getElementById(carInpName).value = d + "/" + (m + 1) + "/" + y;
	carClose();
}
function carToday() {
	d = new Date();
	y = d.getYear();
	if (y < 1900) y += 1900;
	document.getElementById(carInpName).value = d.getDate() + "/" + (d.getMonth() + 1) + "/" + y;
	carClose();
}
function carClose() {
	document.getElementById("carBlack").style.left = 0 - fullX + "px";
	document.getElementById("carArea").style.left = 0 - fullX + "px";
}

var halfX;
var halfY;
var fullX;
var fullY;

function initial() {
	IE = document.all ? true : false;
	fox = new RegExp("Firefox","i");
	chrome = new RegExp("Chrome","i");
	safari = new RegExp("Safari","i");
	opera = new RegExp("Opera","i");
	if (IE) {
		fullX = document.body.clientWidth;
		fullY = document.documentElement.clientHeight;
	}
	else if (fox.test(navigator.userAgent) || chrome.test(navigator.userAgent) || safari.test(navigator.userAgent) || opera.test(navigator.userAgent)) {
		fullX = document.body.clientWidth;
		fullY = document.body.clientHeight;
		if (fox.test(navigator.userAgent)) fullY = window.innerHeight;
	}
	else {
		halfX = pageXOffset / 2 - 9;
		halfY = pageYOffset / 2 - 9;
		fullX = pageXOffset;
		fullY = pageYOffset;
	}
	halfX = Math.floor(fullX / 2);
	halfY = Math.floor(fullY / 2);
}
function setAlpha(obj,per) {
	inone = per / 100;
	if (inone >= 1) inone = 0.99;
	obj.style.opacity = inone;
	obj.style.MozOpacity = inone;
	obj.style.KhtmlOpacity = per / 100;
	obj.style.filter = "alpha(opacity=" + per + ")";
}
str = "<style type=\"text/css\">\r\n";
str += ".carTd {\r\n";
str += "font-size:" + carFontSize + "px;\r\n";
str += "color:" + carTextColor + ";\r\n";
str += "width:" + carCellWidth + "px;\r\n";
str += "height:" + carCellHeight + "px;\r\n";
str += "cursor:default;\r\n";
str += "text-align:center;\r\n";
str += "}\r\n";
str += ".carTdH {\r\n";
str += "font-size:" + carFontSize + "px;\r\n";
str += "font-weight:bold;\r\n";
str += "color:" + carTextTitleColor + ";\r\n";
str += "width:" + carCellWidth + "px;\r\n";
str += "height:" + carCellHeight + "px;\r\n";
str += "text-align:center;\r\n";
str += "}\r\n";
str += ".carTr {\r\n";
str += "background-color:" + carBackground + ";\r\n";
str += "}\r\n";
str += "</style>\r\n";
document.write(str);