/** * File name:	dateinput.js * * Descriptons: function write date select * * Author:	Franky Lau 24-May-2000	#REF-00043 * * Modification History: *	David Lau	2001/4/18 *		non-reset of day and mon */function makedatetime(formname, index){	thisform = document.forms[formname];	if (thisform && thisform.elements[index+"datetime"]){		thisform.elements[index+"datetime"].value = thisform.elements[index+"_year"].value + "-"													+ thisform.elements[index+"_mon"].value + "-"													+ thisform.elements[index+"_day"].value													+ (thisform.elements[index+"_hr"] ? " "													   + thisform.elements[index+"_hr"].value + ":"													   + thisform.elements[index+"_min"].value + ":00" : "");	}	// add	return (new Date(thisform.elements[index+"_year"].value, (parseInt(thisform.elements[index+"_mon"].value) - 1), thisform.elements[index+"_day"].value		, (thisform.elements[index+"_hr"] ? thisform.elements[index+"_hr"].value : 0 ), (thisform.elements[index+"_min"] ? thisform.elements[index+"_min"].value : 0), 0));}function getdatestr(formname, index, separator) {	thisform = document.forms[formname];	if (separator==null) {		separator = '/'; // default separator;	}	var y = thisform.elements[index+'_year'];	var m = thisform.elements[index+'_mon'];	var d = thisform.elements[index+'_day'];	var str = '';	if (y) {		var yval = parseInt(y.options[y.selectedIndex].value);		str += yval;	}	if (m) {		var mval = parseInt(m.options[m.selectedIndex].value);		str += (str.length==0 ? '' : separator) + (mval<10 ? '0'+mval : mval);	}	if (d) {		var dval = parseInt(d.options[d.selectedIndex].value);		str += (str.length==0 ? '' : separator) + (dval<10 ? '0'+dval : dval);	}	return str;}function gettimestr(formname, index, separator) {	thisform = document.forms[formname];	if (separator==null) {		separator = '/'; // default separator;	}	var h = thisform.elements[index+'_hr'];	var m = thisform.elements[index+'_min'];	var s = thisform.elements[index+'_sec'];	var str = '';	if (h) {		var hval = parseInt(h.options[h.selectedIndex].value);		str += (str.length==0 ? '' : separator) + (hval<10 ? '0'+hval : hval);	}	if (m) {		var mval = parseInt(m.options[m.selectedIndex].value);		str += (str.length==0 ? '' : separator) + (mval<10 ? '0'+mval : mval);	}	if (s) {		var sval = parseInt(s.options[s.selectedIndex].value);		str += (str.length==0 ? '' : separator) + (sval<10 ? '0'+sval : sval);	}	return str;}function getdatestr(formname, index, separator) {	thisform = document.forms[formname];	if (separator==null) {		separator = '/'; // default separator;	}	var y = thisform.elements[index+'_year'];	var m = thisform.elements[index+'_mon'];	var d = thisform.elements[index+'_day'];	var str = '';	if (y) {		var yval = parseInt(y.options[y.selectedIndex].value);		str += yval;	}	if (m) {		var mval = parseInt(m.options[m.selectedIndex].value);		str += (str.length==0 ? '' : separator) + (mval<10 ? '0'+mval : mval);	}	if (d) {		var dval = parseInt(d.options[d.selectedIndex].value);		str += (str.length==0 ? '' : separator) + (dval<10 ? '0'+dval : dval);	}	return str;}function writedate(thisform, index, yr, mon, day, format, onChangeFunctionCallJS){	if (onChangeFunctionCallJS == undefined || onChangeFunctionCallJS == null)		onChangeFunctionCallJS = '';		if (!format || format == '')		format = 'Y-M-D';	var daystr = "";	yr = parseInt(yr, 10);	mon = parseInt(mon, 10);	day = parseInt(day, 10);	if (day != 0){		var date1 = new Date(yr, mon, 1);		var date2 = new Date(yr, mon + 1, 1);		dateend = (date2 - date1)/(1000 * 60 * 60 * 24);		daystr = "&nbsp;<select name=\""+index+"_day\" onchange=\""+onChangeFunctionCallJS+"\">\n";		// day		for (var i=1; i <= dateend; i++){			var tmp_day;			if (i < 10){				tmp_day = "0" + i;			} else {				tmp_day = i;			}			daystr += "<option value="+i+"> " +tmp_day+"\n";		}		daystr += "</select>";	}		if (mon == 12)	{		yr = yr+1;		mon = 0;	}	if (mon == -1)	{		yr = yr-1;		mon = 11;	}	var monstr = "<select name=\""+index+"_mon\" onchange=\"";	if (day != 0)		monstr += "chdate('"+index+"', '"+thisform+"');";	monstr += onChangeFunctionCallJS;	monstr += "\">\n";		for (var i=1; i <= 12; i++){		var tmp_mon;		if (i < 10){			tmp_mon = "0" + i;		} else {			tmp_mon = i;		}		monstr += "<option value="+(i - 1)+"> " +tmp_mon+"\n";	}	monstr += "</select>";		var yearstr = "<select name=\""+index+"_year\" onchange=\"chdate('"+index+"', '"+thisform+"');";	yearstr += onChangeFunctionCallJS;	yearstr += "\">\n";		for (var i=-1; i < 3; i++){		var tmp_yr = yr + i;		if (i == 0){			yearstr += "<option value="+tmp_yr+" selected> " +tmp_yr+"\n";		} else {			yearstr += "<option value="+tmp_yr+" > " +tmp_yr+"\n";		}	}	yearstr += "</select>";	/*	outstr = format.replace("Y", yearstr);	outstr = outstr.replace("M", monstr);	outstr = outstr.replace("D", daystr);	*/	if (format.indexOf("YYYY") > -1) {		outstr = format.replace("YYYY", yearstr);	} else {		outstr = format.replace("Y", yearstr);	}	if (format.indexOf("MM") > -1) {		outstr = outstr.replace("MM", monstr);	} else {		outstr = outstr.replace("M", monstr);	}	if (day != 0){		if (format.indexOf("DD") > -1) {			outstr = outstr.replace("DD", daystr);		} else {			outstr = outstr.replace("D", daystr);		}	}	document.writeln(outstr);	document.forms[thisform].elements[index+"_mon"].options[mon].selected = true;	if (day != 0){		document.forms[thisform].elements[index+"_day"].options[day-1].selected = true;	}}function chdate(index, thisform){	var prev_day = document.forms[thisform].elements[index+"_day"].selectedIndex;	var sltmon = document.forms[thisform].elements[index+"_mon"].selectedIndex;	var yr_index = document.forms[thisform].elements[index+"_year"].selectedIndex;	var sltyear = document.forms[thisform].elements[index+"_year"].options[yr_index].value;	if (document.forms[thisform].elements[index+"_day"]){		while (document.forms[thisform].elements[index+"_day"].options.length != 0){			document.forms[thisform].elements[index+"_day"].options[0] = null;		}		var date1 = new Date(sltyear, sltmon, 1);		var date2 = new Date(sltyear, sltmon + 1, 1);		dateend = (date2 - date1)/(1000 * 60 * 60 * 24);		for (var i=1; i <= dateend; i++){			var tmp_day;			if (i < 10){				tmp_day = "0" + i;			} else {				tmp_day = i;			}			document.forms[thisform].elements[index+"_day"].options[i-1] = new Option(tmp_day, i);		}	}	while (document.forms[thisform].elements[index+"_year"].options.length != 0){		document.forms[thisform].elements[index+"_year"].options[0] = null;	}	for (var i=-1; i < 3; i++){		var tmp_yr = new Number(sltyear) + i;		document.forms[thisform].elements[index+"_year"].options[i+1] = new Option(tmp_yr, tmp_yr);	}	document.forms[thisform].elements[index+"_year"].selectedIndex = 1;//	select previous choosen option	document.forms[thisform].elements[index+"_mon"].selectedIndex = sltmon;	if (document.forms[thisform].elements[index+"_day"].length <= prev_day) {		document.forms[thisform].elements[index+"_day"].selectedIndex = document.forms[thisform].elements[index+"_day"].length - 1 ;	} else {		document.forms[thisform].elements[index+"_day"].selectedIndex = prev_day;	}}function writetime(thisform, index, hr, min, sec, format){	secstr = "<select name=\""+index+"_sec\">\n";	for (i=0; i < 60; i++){		if (i < 10){			temp = "0" + i;		} else {			temp = i;		}		secstr += "<option value="+i;		if (i == sec){			secstr += " selected";		}		secstr += "> " + temp +"\n";	}	secstr += "</select>";	minstr = "<select name=\""+index+"_min\">\n";	for (i=0; i < 60; i++){		if (i < 10){			temp = "0" + i;		} else {			temp = i;		}		minstr += "<option value="+i;		if (i == min){			minstr += " selected";		}		minstr += "> " + temp +"\n";	}	minstr += "</select>";	hrstr = "<select name=\""+index+"_hr\">\n";	for (i=0; i < 24; i++){		if (i < 10){			temp = "0" + i;		} else {			temp = i;		}		hrstr += "<option value="+i;		if (i == hr){			hrstr += " selected";		}		hrstr += "> " + temp +"\n";	}	hrstr += "</select>";	outstr = format;	outstr = outstr.replace("H", hrstr);	outstr = outstr.replace("M", minstr);	outstr = outstr.replace("S", secstr);	document.writeln(outstr);}//horace,20080930,添加時間比較函數function comparTime(timeA,timeB){	arrA=timeA.split(':');	arrB=timeB.split(':');	numA=Number(arrA[0])*60+Number(arrA[1]);	numB=Number(arrB[0])*60+Number(arrB[1]);	return   numA-numB;}//johnson 20081009 添加用於MYID郵件的日期選擇function dateinput(thisform, index, yr, mon, day, format){	if (!format)		format = 'Y-M-D';	var daystr = "";	yr = parseInt(yr, 10);	mon = parseInt(mon, 10);	day = parseInt(day, 10);	if (day != 0){		var date1 = new Date(yr, mon, 1);		var date2 = new Date(yr, mon + 1, 1);		dateend = (date2 - date1)/(1000 * 60 * 60 * 24);		daystr = "<td style='font-size:9px;'><select name=\""+index+"_day\">\n";		// day		for (var i=1; i <= dateend; i++){			var tmp_day;			if (i < 10){				tmp_day = "0" + i;			} else {				tmp_day = i;			}			daystr += "<option value="+i+"> " +tmp_day+"\n";		}		daystr += "</select></td>";	}	if (mon == 12)	{		yr = yr+1;		mon = 0;	}	if (mon == -1)	{		yr = yr-1;		mon = 11;	}	var monstr = "<td style='font-size:9px;'><select name=\""+index+"_mon\" ";	if (day != 0){		monstr += "onchange='chdate(\""+index+"\", \""+thisform+"\")'";	}	monstr += ">\n";	for (var i=1; i <= 12; i++){		var tmp_mon;		if (i < 10){			tmp_mon = "0" + i;		} else {			tmp_mon = i;		}		monstr += "<option value="+(i - 1)+"> " +tmp_mon+"\n";	}	monstr += "</select></td>";	var yearstr = "<td style='font-size:9px;'><select name=\""+index+"_year\" onchange='chdate(\""+index+"\", \""+thisform+"\")'>\n";	for (var i=-1; i < 3; i++){		var tmp_yr = yr + i;		if (i == 0){			yearstr += "<option value="+tmp_yr+" selected> " +tmp_yr+"\n";		} else {			yearstr += "<option value="+tmp_yr+" > " +tmp_yr+"\n";		}	}	yearstr += "</select></td>";	/*	outstr = format.replace("Y", yearstr);	outstr = outstr.replace("M", monstr);	outstr = outstr.replace("D", daystr);	*///	if (format.indexOf("YYYY") > -1) {//		outstr = format.replace("YYYY", yearstr);//	} else {//		outstr = format.replace("Y", yearstr);//	}////	if (format.indexOf("MM") > -1) {//		outstr = outstr.replace("MM", monstr);//	} else {//		outstr = outstr.replace("M", monstr);//	}//	if (day != 0){//		if (format.indexOf("DD") > -1) {//			outstr = outstr.replace("DD", daystr);//		} else {//			outstr = outstr.replace("D", daystr);//		}//	}//	document.writeln(outstr);	tstr="<td>-</td>";    document.writeln(yearstr+tstr+monstr+tstr+daystr);	document.forms[thisform].elements[index+"_mon"].options[mon].selected = true;	if (day != 0){		document.forms[thisform].elements[index+"_day"].options[day-1].selected = true;	}}