';
ryears.innerHTML = str;
}
function rfill_rmonths() {
str = '';
for (var m = 1; m <= 12; m++) {
str += '
' + (m < 10 ? '0' + m : m) + '
';
}
rmonths.innerHTML = str;
}
function rfill_rdates() {
var y = parseInt(ryear.innerHTML);
var m = parseInt(rmonth.innerHTML.replace(/^0(\d)/, '$1'));
var first_day_of_month = new Date(y, m - 1, 1); //当月第一天
var date_b = new Date(y, m - 1, 1);
var w = date_b.getDay();
date_b.setDate(1 - w); //计算应该开始的日期
var last_day_of_month = new Date(y, m, 0); //当月最后一天
var date_e = new Date(y, m, 0);
w = date_e.getDay();
date_e.setDate(date_e.getDate() + 6 - w); //计算应该结束的日期
str = "";
for (var d = date_b; d.getTime() <= date_e.getTime(); d.setDate(d.getDate() + 1)) {
var color, m_add;
if (d.getTime() < first_day_of_month.getTime()) {
color = '#999999';
m_add = '-1';
}
else if (d.getTime() > last_day_of_month.getTime()) {
color = '#999999';
m_add = '1';
}
else {
color = '#000000';
m_add = '0';
}
if (d.getDate() == rnow.getDate() && d.getMonth() == rnow.getMonth() && d.getFullYear() == rnow.getFullYear()) {
color = '#FF9900';
}
var font_weight = '';
if (d.getDate() == robj_date.getDate() && m_add == '0') {
font_weight = ' font-weight:bold;';
}
str += '
' + d.getDate() + '
';
}
rdates.innerHTML = str;
}
function rfill_rhours() {
str = '';
for (var h = 0; h < 24; h++) {
str += '
' + (h < 10 ? '0' + h : h) + '
';
}
rhours.innerHTML = str;
}
function rfill_rminutes() {
str = '';
for (var m = 0; m < 60; m += 5) {
str += '
' + (m < 10 ? '0' + m : m) + '
';
}
rminutes.innerHTML = str;
}
function rfill_rseconds() {
str = '';
for (var s = 0; s < 60; s += 5) {
str += '
' + (s < 10 ? '0' + s : s) + '
';
}
rseconds.innerHTML = str;
}
function rselect_years(span_year) {
if (ryears.style.display == "none") {
var left_top = rget_offset_left_top(span_year);
ryears.style.left = (left_top[0] - parseInt(div_rcalendar.style.left) - 5) + "px";
ryears.style.top = (left_top[1] - parseInt(div_rcalendar.style.top) + span_year.offsetHeight) + "px";
if (rc_browser.name == "Opera") {
ryears.style.left = (parseInt(ryears.style.left) - 1) + "px";
ryears.style.top = (parseInt(ryears.style.top) - 1) + "px";
}
ryears.style.display = "";
rhours.style.display = "none";
rminutes.style.display = "none";
rseconds.style.display = "none";
}
else {
ryears.style.display = "none";
}
}
function rselect_months(span_month) {
if (rmonths.style.display == "none") {
var left_top = rget_offset_left_top(span_month);
rmonths.style.left = (left_top[0] - parseInt(div_rcalendar.style.left) - 6) + "px";
rmonths.style.top = (left_top[1] - parseInt(div_rcalendar.style.top) + span_month.offsetHeight) + "px";
if (rc_browser.name == "Opera") {
rmonths.style.left = (parseInt(rmonths.style.left) - 1) + "px";
rmonths.style.top = (parseInt(rmonths.style.top) - 1) + "px";
}
rmonths.style.display = "";
rhours.style.display = "none";
rminutes.style.display = "none";
rseconds.style.display = "none";
}
else {
rmonths.style.display = "none";
}
}
function rselect_hours(span_hour) {
if (rhours.style.display == "none") {
var left_top = rget_offset_left_top(span_hour);
rhours.style.left = (left_top[0] - parseInt(div_rcalendar.style.left)) + "px";
rhours.style.top = (left_top[1] - parseInt(div_rcalendar.style.top) - 109) + "px";
if (rc_browser.name == "Opera") {
rhours.style.left = (parseInt(rhours.style.left) - 1) + "px";
rhours.style.top = (parseInt(rhours.style.top) - 1) + "px";
}
rhours.style.display = "";
ryears.style.display = "none";
rmonths.style.display = "none";
rminutes.style.display = "none";
rseconds.style.display = "none";
}
else {
rhours.style.display = "none";
}
}
function rselect_minutes(span_minute) {
if (rminutes.style.display == "none") {
var left_top = rget_offset_left_top(span_minute);
rminutes.style.left = (left_top[0] - parseInt(div_rcalendar.style.left)) + "px";
rminutes.style.top = (left_top[1] - parseInt(div_rcalendar.style.top) - 55) + "px";
if (rc_browser.name == "Opera") {
rminutes.style.left = (parseInt(rminutes.style.left) - 1) + "px";
rminutes.style.top = (parseInt(rminutes.style.top) - 1) + "px";
}
rminutes.style.display = "";
ryears.style.display = "none";
rmonths.style.display = "none";
rhours.style.display = "none";
rseconds.style.display = "none";
}
else {
rminutes.style.display = "none";
}
}
function rselect_seconds(span_second) {
if (rseconds.style.display == "none") {
var left_top = rget_offset_left_top(span_second);
rseconds.style.left = (left_top[0] - parseInt(div_rcalendar.style.left)) + "px";
rseconds.style.top = (left_top[1] - parseInt(div_rcalendar.style.top) - 55) + "px";
if (rc_browser.name == "Opera") {
rseconds.style.left = (parseInt(rseconds.style.left) - 1) + "px";
rseconds.style.top = (parseInt(rseconds.style.top) - 1) + "px";
}
rseconds.style.display = "";
ryears.style.display = "none";
rmonths.style.display = "none";
rhours.style.display = "none";
rminutes.style.display = "none";
}
else {
rseconds.style.display = "none";
}
}
function rget_offset_left_top(obj) {
var l = 0, t = 0;
do {
l += obj.offsetLeft;
t += obj.offsetTop;
} while (obj = obj.offsetParent);
return new Array(l, t);
}
function rcalendar_close() {
ryears.style.display = "none";
rmonths.style.display = "none";
rhours.style.display = "none";
rminutes.style.display = "none";
rseconds.style.display = "none";
div_rcalendar.style.display = "none";
}
function rset_year(y) {
ryear.innerHTML = y;
rfill_rdates();
ryears.style.display = "none";
}
function rset_month(m) {
rmonth.innerHTML = m;
rfill_rdates();
rmonths.style.display = "none";
}
function rset_hour(h) {
rhour.innerHTML = h;
rhours.style.display = "none";
}
function rset_minute(m) {
rminute.innerHTML = m;
rminutes.style.display = "none";
}
function rset_second(s) {
rsecond.innerHTML = s;
rseconds.style.display = "none";
}
function rset_date(d, m_add) {
rset_datetime(d, m_add);
}
function rokclick() {
var d = 1;
for (var k = 0; k < rdates.childNodes.length; k++) {
if (rdates.childNodes[k].style.fontWeight == "bold" || rdates.childNodes[k].style.fontWeight == 700) {
d = parseInt(rdates.childNodes[k].innerHTML.replace(/^0(\d)/, '$1'));
break;
}
}
rset_datetime(d, 0);
}
function rset_datetime(d, m_add) {
var y = parseInt(ryear.innerHTML);
var m = parseInt(rmonth.innerHTML.replace(/^0(\d)/, '$1')) - 1 + m_add;
var h = parseInt(rhour.innerHTML.replace(/^0(\d)/, '$1'));
var i = parseInt(rminute.innerHTML.replace(/^0(\d)/, '$1'));
var s = parseInt(rsecond.innerHTML.replace(/^0(\d)/, '$1'));
var date = new Date(y, m, d, h, i, s);
m = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
d = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
i = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
if (rmode == "full")
rtext_date.value = date.getFullYear() + "-" + m + "-" + d + " " + h + ":" + i + ":" + s;
else
rtext_date.value = date.getFullYear() + "-" + m + "-" + d;
rcalendar_close();
if (rcalendar_function != null && rcalendar_function != "") {
rcalendar_function(date);
}
}