var dtpFolder = 'dtp/';
var dtpToday = new Date();
var dtpDayName = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
var dtpMonthName = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
//var dtpMonthName = new Array('\u4e00\u6708','\u4e8c\u6708','\u4e09\u6708','\u5341\u6708','\u4e94\u6708','\u516d\u6708','\u4e03\u6708','\u516b\u6708','\u4e5d\u6708','\u5341\u6708','\u5341\u4e00\u6708','\u5341\u4e8c\u6708');
var dtpMonthDay = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var dtpMonthList = new Array('01','02','03','04','05','06','07','08','09','10','11','12');
var dtpDateList = new Array('01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31');
var dtpHourList = new Array('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23')
var dtpMinuteList = new Array('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59')
var dtpBoxYear,dtpBoxMonth,dtpBoxDay,dtpBoxHour,dtpBoxMinute,dtpBoxType = 0;
var dtpYear,dtpMonth,dtpHour,dtpMinute,dtpTextbox;

function dtpAbsPos(el){
	for (var lx=0,ly=0;el!=null;lx+=el.offsetLeft,ly+=el.offsetTop,el=el.offsetParent);
	return {x:lx,y:ly}
}
function dtpGetElement(n){
	return document.getElementById(n);
}
function dtpGetIframe(n){
	return window.frames[n];
}
function dtpClose(){
	dtpGetElement('dtpLayer').style.visibility = 'hidden';
}
function dtpSetDate(date){
	var out = dtpYear +'-'+ dtpMonthList[dtpMonth] +'-'+ dtpDateList[date-1];
	dtpGetElement(dtpTextbox).value = out;
	dtpClose();
}
function dtpClearDate(el){
	dtpClose();
	dtpGetElement(el).value = '';
}
function dtpDate(el, fmat){
	dtpTextbox = el;
	dtpInitTextbox(fmat);
	var obj = dtpGetElement(el);
	var pos = dtpAbsPos(obj);
	var calendar = dtpCalendar();
	var layer = dtpGetElement('dtpLayer');
	var width = document.body.clientWidth;
	var height = document.body.clientHeight;
	var left = pos.x;
	var top = pos.y + 20;
	
	if((left + 205) > width){
		left = width - 210;
	}

	layer.style.width = 205;
	layer.style.left = left;
	layer.style.top = top;
	layer.style.visibility = 'visible';
	layer.style.border = '1px solid #a0a0a0';
	
	var ifr = dtpGetIframe('dtpLayer');
	ifr.document.open('text/html', 'replace');
	ifr.document.write('<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="stylesheet" type="text/css" href="'+ dtpFolder +'default.css" /><script type="text/javascript" src="'+ dtpFolder +'selector.js"></script>'+
						  '</head><body><div id="dtpDropMenu" style="visibility:hidden; position:absolute;"></div><table cellspacing="3" cellpadding="1" bgcolor="#0000aa" width="100%"><tr>'+
						  '<td class="dtpCaption" onMouseOver="dtpSpanOver(this, \'dtpImgToPre\', \'left2.gif\')" onMouseOut="dtpSpanOut(this, \'dtpImgToPre\', \'left1.gif\')" onClick="dtpSetPreMonth()"><img id="dtpImgToPre" src="'+ dtpFolder +'left1.gif" hspace="2" align="absmiddle"></td>'+
						  '<td class="dtpCaption" onMouseOver="dtpSpanOver(this, \'dtpImgToNext\', \'right2.gif\')" onMouseOut="dtpSpanOut(this, \'dtpImgToNext\', \'right1.gif\')" onClick="dtpSetNextMonth()"><img id="dtpImgToNext" src="'+ dtpFolder +'right1.gif" hspace="2" align="absmiddle"></td>'+
						  '<td class="dtpCaption" onMouseOver="dtpSpanOver(this, \'dtpImgMonth\',\'drop2.gif\')" onMouseOut="dtpSpanOut(this, \'dtpImgMonth\',\'drop1.gif\')" onClick="dtpMonth(this)"><span id="dtpTxtMonth">'+ dtpMonthName[dtpMonth] +'</span> <img id="dtpImgMonth" src="'+ dtpFolder +'drop1.gif" border="0" align="absmiddle"></td>'+
						  '<td class="dtpCaption" onMouseOver="dtpSpanOver(this, \'dtpImgYear\',\'drop2.gif\')" onMouseOut="dtpSpanOut(this, \'dtpImgYear\',\'drop1.gif\')" onClick="dtpYear(this)"><span id="dtpTxtYear">'+ dtpYear +'</span> <img id="dtpImgYear" src="'+ dtpFolder +'drop1.gif" border="0" align="absmiddle"></td>'+
						  '<td align="right" width="100%"><a href="javascript:void(0)" onClick="parent.dtpClose()"><img id="dtpImgToPre" src="'+ dtpFolder +'close.gif" border="0" align="absmiddle"></a></td>'+
						  '</tr></table><div id="dtpCalendar">'+ calendar +'</div></body></html>');
	ifr.document.close();
}
function dtpInitTextbox(fmat){
	var text = dtpGetElement(dtpTextbox).value;
	var reg1 = /^\d{4}-\d{2}-\d{2}$/g;		// yyyy-MM-dd
	var reg2 = /^\d{2}\/\d{2}\/\d{2}$/g;	// yy/mm/dd	
	var reg3 = /^\d{2}\/\d{2}\/\d{4}$/g;	// mm/dd/yyyy
	var reg4 = /^\d{2,4}\u5e74\d{1,2}\u6708\d{1,2}\u65e5$/g;	// yyyy年MM月dd日
	if(reg1.test(text) == true){
		dtpBoxType = 1;
	}else if(reg2.test(text) == true){
		dtpBoxType = 2;
	}else if(reg3.test(text) == true){
		dtpBoxType = 3;
	}else if(reg4.test(text) == true){
		dtpBoxType = 4;
	}else{
		dtpBoxType = 0;
	}
	
	if(dtpBoxType == 1){
		var date = text.split('-');
		dtpBoxYear = date[0];
		dtpBoxMonth = date[1]-1;
		dtpBoxDay = date[2];
	}else if(dtpBoxType == 2){
		var date = text.split('/');
		dtpBoxYear = date[0];
		dtpBoxMonth = date[1]-1;
		dtpBoxDay = date[2];
	}else{
		dtpBoxYear = dtpToday.getFullYear();
		dtpBoxMonth = dtpToday.getMonth();
		dtpBoxDay = dtpToday.getDate();
	}
	dtpYear = dtpBoxYear;
	dtpMonth = dtpBoxMonth;
}
function dtpSetDateHeight(line){
	var height = 148;
	if(line == 0){
		height = 28;
	}else if(line == 6){
		height = 168;
	}
	dtpGetElement('dtpLayer').style.height = height;
}

function dtpCalendar(){
	var _html = '<table border="0" cellpadding="2" cellspacing="0" style="font-size:12px;"><tr>';
	for(i=0; i<dtpDayName.length; i++){
		_html += '<td align="center" width="24"><b>'+ dtpDayName[i] +'</b></td>';
	}
	_html += '</tr><tr>';

	var objDate = new Date(dtpYear, dtpMonth, 1);
	var StartDay = objDate.getDay();
	for(i=0; i<StartDay; i++){
		_html += '<td align="center"></td>';
	}
	dtpMonthDay[1] = (dtpYear % 4 == 0) ? 29 : 28;
	var Lines = 1;
	var SelectCss = '';
	var MonthDay = dtpMonthDay[dtpMonth];
	
	for(i=1; i<=MonthDay; i++){
		var TdCss = 'text-decoration:none;color:#000000;';
		var TrMod = (i+StartDay-1) % 7;
		if(dtpBoxYear == dtpYear && dtpMonth == dtpMonth && dtpBoxDay == i){
			TdCss += 'border:1px solid #CCCCCC;';
		}
		if(dtpToday.getFullYear() == dtpYear && dtpToday.getMonth() == dtpMonth && dtpToday.getDate() == i){
			TdCss += 'color:red; font-weight:bold; ';
		}
		else if(TrMod == 0 || TrMod == 6){
			TdCss += 'color:#666666;';
		}
		
		_html += '<td align="center" height="20"><a href="javascript:dtpSetDate('+ i +')" style="'+ TdCss +'">&nbsp;'+ i +' </a></td>';
		if(TrMod == 6){
			if(i != 31) Lines ++;
			_html += '</tr><tr>';
		}
	}
	_html += '</tr></table>';
	
	dtpSetDateHeight(Lines);
	return _html;
}
document.write('<iframe id="dtpLayer" name="dtpLayer" style="visibility:hidden; position:absolute;" frameborder="0" scrolling="no"></iframe>');