暂无描述

rcalendar.js 23KB

    /* 瑞意日期选择框 rcalendar 2.0 create by rain, Nov 7, 2008 update by rain, Nov 14, 2008 copyright @ rainic.com example: <input type="text" onclick="rcalendar(this)"> <input type="text" onclick="rcalendar(this, 'full', alert)"> */ var div_rcalendar; var ryears; var rmonths; var rdates; var rhours; var rminutes; var rseconds; var ryear; var rmonth; var rhour; var rminute; var rsecond; var robj_date; //根据文本域的值建立的Date对象 var rnow; var rc_browser; var rtext_date; var rmode; var rcalendar_function; function rcalendar(text, mode, retfunction) { //文本域对象, 模式(dateonly,full), 选择日期后的事件函数(函数是新时间的Date对象) rc_browser = new function () { var matchs; if (matchs = navigator.userAgent.match(/MSIE (\d+(?:\.\d+){0,})/)) { this.name = "MSIE"; this.version = matchs[1]; } else if (matchs = navigator.userAgent.match(/Firefox\/(\d+(?:\.\d+){0,})/)) { this.name = "Firefox"; this.version = matchs[1]; } else if (matchs = navigator.userAgent.match(/Version\/(\d+(?:\.\d+){0,}) Safari/)) { this.name = "Safari"; this.version = matchs[1]; } else if (matchs = navigator.userAgent.match(/Opera\/(\d+(?:\.\d+){0,})/)) { this.name = "Opera"; this.version = matchs[1]; } else if (matchs = navigator.userAgent.match(/Chrome\/(\d+(?:\.\d+){0,})/)) { this.name = "Chrome"; this.version = matchs[1]; } else { this.name = "unknown"; this.version = "unknown"; } return this; }; rnow = new Date(); rtext_date = text; rmode = mode; rcalendar_function = retfunction; try { //获取文本域中的日期 var ymdhis = rtext_date.value.split(/[^\d]+/); ymdhis[0] = parseInt(ymdhis[0]); ymdhis[1] = parseInt(ymdhis[1].replace(/^0(\d)/, '$1')); ymdhis[2] = parseInt(ymdhis[2].replace(/^0(\d)/, '$1')); ymdhis[3] = (ymdhis[3] == null || ymdhis[3] == "") ? 0 : parseInt(ymdhis[3].replace(/^0(\d)/, '$1')); ymdhis[4] = (ymdhis[4] == null || ymdhis[4] == "") ? 0 : parseInt(ymdhis[4].replace(/^0(\d)/, '$1')); ymdhis[5] = (ymdhis[5] == null || ymdhis[5] == "") ? 0 : parseInt(ymdhis[5].replace(/^0(\d)/, '$1')); robj_date = new Date(ymdhis[0], ymdhis[1] - 1, ymdhis[2], ymdhis[3], ymdhis[4], ymdhis[5]); if (isNaN(robj_date.getTime())) { robj_date = new Date(rnow.getTime()); } } catch (e) { robj_date = new Date(rnow.getTime()); } if (!div_rcalendar) { //如果不存在,则初始化创建它 //设置颜色选择框的样式 BEGIN var css = ""; if (document.compatMode == "BackCompat" && navigator.userAgent.indexOf("MSIE") != -1) { css += "#rcalendar {width:200px; height:200px; background:#FFFFFF; font-size:12px; font-family:宋体; border:1px solid #999999; padding:4px; overflow:hidden;}"; css += "#rcalendar_ym {width:190px; height:14px; overflow:hidden; margin-bottom:4px;}"; css += "#rcalendar_y {width:50px; float:left; font-weight:bold; color:#777777; padding-left:2px;}"; css += "#rcalendar_m {width:50px; float:left; font-weight:bold; color:#777777;}"; css += "#rweeks {width:190px; height:20px; overflow:hidden;}"; css += "#rdates {width:190px; height:120px; overflow:hidden;}"; css += ".rweek {width:27px; height:20px; padding:4px 0px 4px 0px; float:left; text-align:center; background:#CCCCCC; color:#FFFFFF; overflow:hidden;}"; css += ".rdate {width:27px; height:20px; padding:4px 0px 4px 0px; float:left; text-align:center; overflow:hidden; cursor:pointer;}"; css += "#ryears {background:#B0B0B0; border:1px solid #999999; border-top:0px; color:#FFFFFF; text-align:center;}"; css += ".ryear {padding:4px 4px 4px 4px; height:20px; width:36px; overflow:hidden; cursor:pointer; font-weight:bold;}"; css += "#ryear_add {padding:0px; height:12px; width:36px; overflow:hidden; cursor:pointer;}"; css += "#rmonths {background:#B0B0B0; border:1px solid #999999; border-top:0px; color:#FFFFFF; font-weight:bold; text-align:center; width:80px; height:81px; overflow:hidden;}"; css += ".rmonth {padding:4px 4px 4px 4px; width:26px; height:20px; overflow:hidden; float:left; cursor:pointer;}"; css += "#rtime {width:90px; height:13px; float:left; overflow:hidden;}"; css += "#rhour {padding:0px 7px 0px 7px; background:#E9E9E9; cursor:pointer;}"; css += "#rminute {padding:0px 7px 0px 7px; background:#E9E9E9; cursor:pointer;}"; css += "#rsecond {padding:0px 7px 0px 7px; background:#E9E9E9; cursor:pointer;}"; css += "#rbtns {width:90px; margin-left:10px; height:13px; float:right; text-align:right; overflow:hidden;}"; css += "#rhours {width:104px; height:108px; overflow:hidden;}"; css += ".rhour {padding:3px 7px 3px 7px; background:#B0B0B0; color:#FFFFFF; height:18px; overflow:hidden; float:left; cursor:pointer;}"; css += "#rminutes {width:104px; height:54px; overflow:hidden;}"; css += ".rminute {padding:3px 7px 3px 7px; background:#B0B0B0; color:#FFFFFF; height:18px; overflow:hidden; float:left; cursor:pointer;}"; css += "#rseconds {width:104px; height:54px; overflow:hidden;}"; css += ".rsecond {padding:3px 7px 3px 7px; background:#B0B0B0; color:#FFFFFF; height:18px; overflow:hidden; float:left; cursor:pointer;}"; css += "#rainic {width:190px; height:11px; padding:0px 3px 0px 3px; overflow:hidden; text-align:right; background:#E0E0E0; margin-top:4px;}"; css += "#rainic a, #rainic a:visited, #rainic a:hover {font-size:9px;font-family:Arial; color:#FFFFFF; text-decoration:none;}"; } else {//173 17 190 css += "#rcalendar {width:190px; height:190px; background:#FFFFFF; font-size:12px; font-family:宋体; border:1px solid #999999; padding:4px; overflow:hidden;}"; css += "#rcalendar_ym {width:190px; height:14px; overflow:hidden; margin-bottom:4px;}"; css += "#rcalendar_y {width:48px; float:left; font-weight:bold; color:#777777; padding-left:2px;}"; css += "#rcalendar_m {width:50px; float:left; font-weight:bold; color:#777777;}"; css += "#rweeks {width:190px; height:20px; overflow:hidden;}"; css += "#rdates {width:190px; height:120px; overflow:hidden;}"; css += ".rweek {width:27px; height:12px; padding:4px 0px 4px 0px; float:left; text-align:center; background:#CCCCCC; color:#FFFFFF; overflow:hidden;}"; css += ".rdate {width:27px; height:12px; padding:4px 0px 4px 0px; float:left; text-align:center; overflow:hidden; cursor:pointer;}"; css += "#ryears {background:#B0B0B0; border:1px solid #999999; border-top:0px; color:#FFFFFF; text-align:center;}"; css += ".ryear {padding:4px 4px 4px 4px; height:12px; width:28px; overflow:hidden; cursor:pointer; font-weight:bold;}"; css += "#ryear_add {padding:0px; height:12px; width:36px; overflow:hidden; cursor:pointer;}"; css += "#rmonths {background:#B0B0B0; border:1px solid #999999; border-top:0px; color:#FFFFFF; font-weight:bold; text-align:center; width:78px; height:80px; overflow:hidden;}"; css += ".rmonth {padding:4px 4px 4px 4px; width:18px; height:12px; overflow:hidden; float:left; cursor:pointer;}"; css += "#rtime {width:90px; height:13px; float:left; overflow:hidden;}"; css += "#rhour {padding:0px 7px 0px 7px; background:#E9E9E9; cursor:pointer;}"; css += "#rminute {padding:0px 7px 0px 7px; background:#E9E9E9; cursor:pointer;}"; css += "#rsecond {padding:0px 7px 0px 7px; background:#E9E9E9; cursor:pointer;}"; css += "#rbtns {width:90px; margin-left:10px; height:13px; float:right; text-align:right; overflow:hidden;}"; css += "#rhours {width:104px; height:108px; overflow:hidden;}"; css += ".rhour {padding:3px 7px 3px 7px; background:#B0B0B0; color:#FFFFFF; height:12px; overflow:hidden; float:left; cursor:pointer;}"; css += "#rminutes {width:104px; height:54px; overflow:hidden;}"; css += ".rminute {padding:3px 7px 3px 7px; background:#B0B0B0; color:#FFFFFF; height:12px; overflow:hidden; float:left; cursor:pointer;}"; css += "#rseconds {width:104px; height:54px; overflow:hidden;}"; css += ".rsecond {padding:3px 7px 3px 7px; background:#B0B0B0; color:#FFFFFF; height:12px; overflow:hidden; float:left; cursor:pointer;}"; css += "#rainic {width:184px; height:11px; padding:0px 3px 0px 3px; overflow:hidden; text-align:right; background:#E0E0E0; margin-top:4px;}"; css += "#rainic a, #rainic a:visited, #rainic a:hover {font-size:9px;font-family:Arial; color:#FFFFFF; text-decoration:none;}"; } try { //IE下可行 var style = document.createStyleSheet(); style.cssText = css; } catch (e) { //Firefox,Opera,Safari,Chrome下可行 var style = document.createElement("style"); style.type = "text/css"; style.textContent = css; document.getElementsByTagName("HEAD").item(0).appendChild(style); } //设置颜色选择框的样式 END div_rcalendar = document.createElement("div"); div_rcalendar.setAttribute("id", "rcalendar"); div_rcalendar.style.position = "absolute"; div_rcalendar.style.zIndex = 2008; div_rcalendar.style.background = "#FFFFFF"; div_rcalendar.style.display = "none"; var str = ""; str += '<div id="rcalendar_ym">'; str += ' <div id="rcalendar_y">'; str += ' <span id="ryear" style="cursor:pointer" onmouseover="this.style.background=\'#66FF66\';" onmouseout="this.style.background=\'\';" onclick="rselect_years(this)"></span>年'; str += ' </div>'; str += ' <div id="rcalendar_m">'; str += ' <span id="rmonth" style="cursor:pointer" onmouseover="this.style.background=\'#66FF66\';" onmouseout="this.style.background=\'\';" onclick="rselect_months(this)"></span>月'; str += ' </div>'; str += ' <div style="width:90px; float:left; text-align:right;">'; str += ' <span style="cursor:pointer;" onclick="rcalendar_close()">×</span>'; str += ' </div>'; str += '</div>'; str += '<div id="rweeks">'; str += ' <div class="rweek">日</div>'; str += ' <div class="rweek">一</div>'; str += ' <div class="rweek">二</div>'; str += ' <div class="rweek">三</div>'; str += ' <div class="rweek">四</div>'; str += ' <div class="rweek">五</div>'; str += ' <div class="rweek">六</div>'; str += '</div>'; str += '<div id="rdates"></div>'; str += '<div style="width:190px; height:13px; margin-top:4px; overflow:hidden;">'; str += ' <div id="rtime">'; str += ' <span id="rhour" onmouseover="this.style.background=\'#66FF66\';" onmouseout="this.style.background=\'#E9E9E9\';" onclick="rselect_hours(this)"></span>:<span id="rminute" onmouseover="this.style.background=\'#66FF66\';" onmouseout="this.style.background=\'#E9E9E9\';" onclick="rselect_minutes(this)"></span>:<span id="rsecond" onmouseover="this.style.background=\'#66FF66\';" onmouseout="this.style.background=\'#E9E9E9\';" onclick="rselect_seconds(this)"></span>'; str += ' </div>'; str += ' <div id="rbtns">'; str += ' <span style="padding:0px 6px 0px 6px; color:#666666; cursor:pointer;" onmouseover="this.style.background=\'#66FF66\';" onmouseout="this.style.background=\'\';" onclick="rokclick()">确定</span><span style="padding:0px 6px 0px 6px; color:#666666; cursor:pointer;" onmouseover="this.style.background=\'#66FF66\';" onmouseout="this.style.background=\'\';" onclick="rtext_date.value=\'\';rcalendar_close();">清空</span>'; str += ' </div>'; str += '</div>'; str += '<div id="rainic"><a href="http://www.rainic.com" target="_blank">RAINIC.COM</a></div>'; div_rcalendar.innerHTML = str; ryears = document.createElement("div"); ryears.setAttribute("id", "ryears"); ryears.style.position = "absolute"; ryears.style.display = "none"; rmonths = document.createElement("div"); rmonths.setAttribute("id", "rmonths"); rmonths.style.position = "absolute"; rmonths.style.display = "none"; rfill_rmonths(); rhours = document.createElement("div"); rhours.setAttribute("id", "rhours"); rhours.style.position = "absolute"; rhours.style.display = "none"; rfill_rhours(); rminutes = document.createElement("div"); rminutes.setAttribute("id", "rminutes"); rminutes.style.position = "absolute"; rminutes.style.display = "none"; rfill_rminutes(); rseconds = document.createElement("div"); rseconds.setAttribute("id", "rseconds"); rseconds.style.position = "absolute"; rseconds.style.display = "none"; rfill_rseconds(); document.body.appendChild(div_rcalendar); div_rcalendar.appendChild(ryears); div_rcalendar.appendChild(rmonths); rdates = document.getElementById("rdates"); div_rcalendar.appendChild(rhours); div_rcalendar.appendChild(rminutes); div_rcalendar.appendChild(rseconds); ryear = document.getElementById("ryear"); rmonth = document.getElementById("rmonth"); rhour = document.getElementById("rhour"); rminute = document.getElementById("rminute"); rsecond = document.getElementById("rsecond"); } if (div_rcalendar.style.display == "") rcalendar_close(); if (rmode == "full") document.getElementById("rtime").style.visibility = "visible"; else document.getElementById("rtime").style.visibility = "hidden"; //填写年和月 ryear.innerHTML = robj_date.getFullYear(); rmonth.innerHTML = robj_date.getMonth() + 1 < 10 ? '0' + (robj_date.getMonth() + 1) : robj_date.getMonth() + 1; rhour.innerHTML = robj_date.getHours() < 10 ? '0' + robj_date.getHours() : robj_date.getHours(); rminute.innerHTML = robj_date.getMinutes() < 10 ? '0' + robj_date.getMinutes() : robj_date.getMinutes(); rsecond.innerHTML = robj_date.getSeconds() < 10 ? '0' + robj_date.getSeconds() : robj_date.getSeconds(); rfill_ryears(); rfill_rdates(); //输出日期表 //定位并显示rcalendar var left_top = rget_offset_left_top(rtext_date); div_rcalendar.style.left = left_top[0] + "px"; div_rcalendar.style.top = (left_top[1] + rtext_date.offsetHeight + 1) + "px"; div_rcalendar.style.display = ""; } function rfill_ryears(year) { year = year ? year : robj_date.getFullYear(); str = ''; for (var y = year - 2; y <= year + 2; y++) { str += '<div class="ryear" onmouseover="this.style.background=\'#FFFFFF\';this.style.color=\'#666666\';" onmouseout="this.style.background=\'#B0B0B0\';this.style.color=\'#FFFFFF\';" onclick="rset_year(this.innerHTML)">' + y + '</div>'; } str += '<div id="ryear_add">'; str += ' <span onmouseover="this.style.background=\'#FFFFFF\';this.style.color=\'#666666\';" onmouseout="this.style.background=\'#B0B0B0\';this.style.color=\'#FFFFFF\';" onclick="rfill_ryears(' + (year - 5) + ')">&nbsp;-&nbsp;</span>'; str += '<span onmouseover="this.style.background=\'#FFFFFF\';this.style.color=\'#666666\';" onmouseout="this.style.background=\'#B0B0B0\';this.style.color=\'#FFFFFF\';" onclick="rfill_ryears(' + (year + 5) + ')">&nbsp;+&nbsp;</span>'; str += '</div>'; ryears.innerHTML = str; } function rfill_rmonths() { str = ''; for (var m = 1; m <= 12; m++) { str += '<div class="rmonth" onmouseover="this.style.background=\'#FFFFFF\';this.style.color=\'#666666\';" onmouseout="this.style.background=\'#B0B0B0\';this.style.color=\'#FFFFFF\';" onclick="rset_month(this.innerHTML)">' + (m < 10 ? '0' + m : m) + '</div>'; } 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 += '<div class="rdate" style="color:' + color + ';' + font_weight + '" onmouseover="this.style.background=\'#66FF66\';" onmouseout="this.style.background=\'#FFFFFF\';" onclick="rset_date(this.innerHTML, ' + m_add + ')">' + d.getDate() + '</div>'; } rdates.innerHTML = str; } function rfill_rhours() { str = ''; for (var h = 0; h < 24; h++) { str += '<div class="rhour" onmouseover="this.style.background=\'#E9E9E9\';this.style.color=\'#000000\';" onmouseout="this.style.background=\'#B0B0B0\';this.style.color=\'#FFFFFF\';" onclick="rset_hour(this.innerHTML)">' + (h < 10 ? '0' + h : h) + '</div>'; } rhours.innerHTML = str; } function rfill_rminutes() { str = ''; for (var m = 0; m < 60; m += 5) { str += '<div class="rminute" onmouseover="this.style.background=\'#E9E9E9\';this.style.color=\'#000000\';" onmouseout="this.style.background=\'#B0B0B0\';this.style.color=\'#FFFFFF\';" onclick="rset_minute(this.innerHTML)">' + (m < 10 ? '0' + m : m) + '</div>'; } rminutes.innerHTML = str; } function rfill_rseconds() { str = ''; for (var s = 0; s < 60; s += 5) { str += '<div class="rsecond" onmouseover="this.style.background=\'#E9E9E9\';this.style.color=\'#000000\';" onmouseout="this.style.background=\'#B0B0B0\';this.style.color=\'#FFFFFF\';" onclick="rset_second(this.innerHTML)">' + (s < 10 ? '0' + s : s) + '</div>'; } 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); } }