﻿    //   /**
    //    *本日历选择控件由dongdong根据前人经验完善而得。大部分代码来自meizz的日历控件。
    //    *dongdong添加了时间选择功能、select,object标签隐藏功能，还有其它小功能。
    //    *使用方法：
    //    * (1)只选择日期   <input type="text" name="date"   readOnly onClick="setDay(this);">
    //    * (2)选择日期和小时  <input type="text" name="dateh"  readOnly onClick="setDayH(this);">
    //    * (3)选择日期和小时及分钟秒 <input type="text" name="datehm" readOnly onClick="setDayHM(this);">
    //    *设置参数的方法
    //    * (1)设置日期分隔符    setDateSplit(strSplit);默认为"-"
    //    * (2)设置日期与时间之间的分隔符  setDateTimeSplit(strSplit);默认为" "
    //    * (3)设置时间分隔符    setTimeSplit(strSplit);默认为":"
    //    * (4)设置(1),(2),(3)中的分隔符  setSplit(strDateSplit,strDateTimeSplit,strTimeSplit);
    //    * (5)设置开始和结束年份    setYearPeriod(intDateBeg,intDateEnd)
    //    * (6)更改了年份加减和月份加减的显示效果
    //    * (7)增加了日期鼠标效果。
    //    *说明：
    //    * 默认返回的日期时间格式如同：2008-08-08 08:08
    //    */
    //------------------ 样式定义 ---------------------------//
    //功能按钮同样样式
    var s_dongdong_turn_base = "height:16px;font-size:9pt;color:white;border:0 solid #CCCCCC;cursor:hand;background-color:#2650A6;";
    //翻年、月等的按钮
    var s_dongdong_turn = "width:15px;" + s_dongdong_turn_base;
    //关闭、清空等按钮样式
    var s_dongdong_turn2 = "width:30px;" + s_dongdong_turn_base;
    //年选择下拉框
    var s_dongdong_select = "width:64px;display:none;";
    //月、时、分选择下拉框
    var s_dongdong_select2 = "width:46px;display:none;";
    //日期选择控件体的样式
    var s_dongdong_body = "width:150;background-color:#2650A6;display:none;z-index:9998;position:absolute;" +
     "border-left:1 solid #CCCCCC;border-top:1 solid #CCCCCC;border-right:1 solid #999999;border-bottom:1 solid #999999;";
    //显示日的td的样式
    var s_dongdong_day = "width:21px;height:20px;background-color:#D8F0FC;font-size:10pt;";
    //鼠标移开 日期背景色
    //var td_bg_out = "#D8F0FC";
    var td_bg_out = "#EFEFEF";
    //鼠标移到 日期背景色
    var td_bg_over = "#FFCC00";
    //字体样式
    var s_dongdong_font = "color:#FFCC00;font-size:9pt;cursor:hand;";
    //链接的样式
    var s_dongdong_link = "text-decoration:none;font-size:9pt;color:#2650A6;";
    //横线
    var s_dongdong_line = "border-bottom:1 solid #6699CC";
    //------------------ 变量定义 ---------------------------//
    var dongdongYearSt = 1950;//可选择的开始年份
    var dongdongYearEnd = 2099;//可选择的结束年份
    var dongdongDateNow = new Date();
    var dongdongYear = dongdongDateNow.getFullYear(); //定义年的变量的初始值
    var dongdongMonth = dongdongDateNow.getMonth()+1; //定义月的变量的初始值
    var dongdongDay = dongdongDateNow.getDate();
    var dongdongHour = 0;//dongdongDateNow.getHours();
    var dongdongMinute = 0;//dongdongDateNow.getMinutes();
    var dongdongArrDay=new Array(42);          //定义写日期的数组
    var dongdongDateSplit = "-";     //日期的分隔符号
    var dongdongDateTimeSplit = " ";    //日期与时间之间的分隔符
    var dongdongTimeSplit = ":";     //时间的分隔符号
    var dongdongOutObject;      //接收日期时间的对象
    var arrdongdongHide = new Array();//被强制隐藏的标签
    var m_bolShowHour = false;//是否显示小时
    var m_bolShowMinute = false;//是否显示分钟

    var m_aMonHead = new Array(12);         //定义阳历中每个月的最大天数
    m_aMonHead[0] = 31; m_aMonHead[1] = 28; m_aMonHead[2] = 31; m_aMonHead[3] = 30; m_aMonHead[4]  = 31; m_aMonHead[5]  = 30;
    m_aMonHead[6] = 31; m_aMonHead[7] = 31; m_aMonHead[8] = 30; m_aMonHead[9] = 31; m_aMonHead[10] = 30; m_aMonHead[11] = 31;
    // ---------------------- 用户可调用的函数 -----------------------------//
    //用户主调函数－只选择日期
    function setDay(obj){
    dongdongOutObject = obj;
    //如果标签中有值，则将日期初始化为当前值
    var strValue = dongdongTrim(dongdongOutObject.value);
    if( strValue != "" ){
     dongdongInitDate(strValue);
    }
    dongdongPopCalendar();
    }
    //用户主调函数－选择日期和小时
    function setDayH(obj){
    dongdongOutObject = obj;
    m_bolShowHour = true;
    //如果标签中有值，则将日期和小时初始化为当前值
    var strValue = dongdongTrim(dongdongOutObject.value);
    if( strValue != "" ){
     dongdongInitDate(strValue.substring(0,10));
     var hour = strValue.substring(11,13);
     //if( hour < 10 ) dongdongHour = hour.substring(1,2);
    }
    dongdongPopCalendar();
    }
    //用户主调函数－选择日期和小时及分钟
    function setDayHM(obj){
    dongdongOutObject = obj;
    m_bolShowHour = true;
    m_bolShowMinute = true;
    //如果标签中有值，则将日期和小时及分钟初始化为当前值
    var strValue = dongdongTrim(dongdongOutObject.value);
    if( strValue != "" ){
     dongdongInitDate(strValue.substring(0,10));
     var time = strValue.substring(11,16);
     var arr = time.split(dongdongTimeSplit);
     dongdongHour = arr[0];
     dongdongMinute = arr[1];
     //if( dongdongHour < 10 ) dongdongHour = dongdongHour.substring(1,2);
     //if( dongdongMinute < 10 ) dongdongMinute = dongdongMinute.substring(1,2);
    }
    dongdongPopCalendar();
    }   
    //设置开始日期和结束日期
    function  setYearPeriod(intDateBeg,intDateEnd){
    dongdongYearSt = intDateBeg;
    dongdongYearEnd = intDateEnd;
    }
    //设置日期分隔符。默认为"-"
    function setDateSplit(strDateSplit){
    dongdongDateSplit = strDateSplit;
    }
    //设置日期与时间之间的分隔符。默认为" "
    function setDateTimeSplit(strDateTimeSplit){
    dongdongDateTimeSplit = strDateTimeSplit;
    }
    //设置时间分隔符。默认为":"
    function setTimeSplit(strTimeSplit){
    dongdongTimeSplit = strTimeSplit;
    }
    //设置分隔符
    function setSplit(strDateSplit,strDateTimeSplit,strTimeSplit){
    dongdongDateSplit(strDateSplit);
    dongdongDateTimeSplit(strDateTimeSplit);
    dongdongTimeSplit(strTimeSplit);
    }
    //设置默认的日期。格式为：YYYY-MM-DD
    function setDefaultDate(strDate){
    dongdongYear = strDate.substring(0,4);
    dongdongMonth = strDate.substring(5,7);
    dongdongDay = strDate.substring(8,10);
    }
    //设置默认的时间。格式为：HH24:MI
    function setDefaultTime(strTime){
    dongdongHour = strTime.substring(0,2);
    dongdongMinute = strTime.substring(3,5);
    }
    // ---------------------- end 用户可调用的函数 -----------------------------//
    //------------------ begin 页面显示部分 ---------------------------//
    var weekName = new Array("日","一","二","三","四","五","六");
    document.write('<div id="divdongdongDate" style="'+s_dongdong_body+'" style="本日历选择控件由dongdong根据前人经验完善而成！">');
    document.write('<div align="center" id="divdongdongDateText" Author="dongdong" style="padding-top:2px;">');
    document.write('<span id="dongdongYearHead" Author="dongdong" style="'+s_dongdong_font+'" '+
    'onclick="spanYearCEvent();">&nbsp;年</span>');
    document.write('<select id="selTianYear" style="'+s_dongdong_select+'" Author="dongdong"  '+
    ' onChange="dongdongYear=this.value;dongdongSetDay(dongdongYear,dongdongMonth);document.all.dongdongYearHead.style.display=\'\';'+
    'this.style.display=\'none\';">');
    for(var i=dongdongYearSt;i <= dongdongYearEnd;i ++){
    document.writeln('<option value="' + i + '">' + i + '年</option>');
    }
    document.write('</select>');
    document.write('<span id="dongdongMonthHead" Author="dongdong" style="'+s_dongdong_font+'" '+
    'onclick="spanMonthCEvent();">&nbsp;&nbsp;月</span>');
    document.write('<select id="selTianMonth" style="'+s_dongdong_select2+'" Author="dongdong" '+
    'onChange="dongdongMonth=this.value;dongdongSetDay(dongdongYear,dongdongMonth);document.all.dongdongMonthHead.style.display=\'\';'+
    'this.style.display=\'none\';">');
    for(var i=1;i <= 9;i ++){
    document.writeln('<option value="0' + i + '">0' + i + '月</option>');
    }
    for(var i=10;i <= 12;i ++){
    document.writeln('<option value="' + i + '">' + i + '月</option>');
    }
    document.write('</select>');
    //document.write('</div>');
    //document.write('<div align="center" id="divdongdongTimeText" Author="dongdong">');
    document.write('<span id="dongdongHourHead" Author="dongdong" style="'+s_dongdong_font+'display:none;" '+
    'onclick="spanHourCEvent();">&nbsp;点</span>');
    document.write('<select id="selTianHour" style="'+s_dongdong_select2+'display:none;" Author="dongdong" '+
    ' onChange="dongdongHour=this.value;dongdongWriteHead();document.all.dongdongHourHead.style.display=\'\';' +
    'this.style.display=\'none\';">');
    for(var i=0;i <= 9;i ++){
    document.writeln('<option value="0' + i + '">0' + i + '点</option>');
    }
    for(var i=10;i <= 23;i ++){
    document.writeln('<option value="' + i + '">' + i + '点</option>');
    }
    document.write('</select>');
    document.write('<span id="dongdongMinuteHead" Author="dongdong" style="'+s_dongdong_font+'display:none;" '+
    'onclick="spanMinuteCEvent();">&nbsp;&nbsp;分</span>');
    document.write('<select id="selTianMinute" style="'+s_dongdong_select2+'display:none;" Author="dongdong" '+
    '  onChange="dongdongMinute=this.value;dongdongWriteHead();document.all.dongdongMinuteHead.style.display=\'\';'+
    'this.style.display=\'none\';">');
    for(var i=0;i <= 9;i ++){
    document.writeln('<option value="0' + i + '">0' + i + '分</option>');
    }
    for(var i=10;i <= 59;i ++){
    document.writeln('<option value="' + i + '">' + i + '分</option>');
    }
    document.write('</select>');
    document.write('</div>');
    //输出一条横线
    document.write('<div style="'+s_dongdong_line+'"></div>');
    document.write('<div align="center" id="divdongdongTurn" style="border:0;" Author="dongdong">');
    document.write('<input type="button" style="'+s_dongdong_turn+'" value="◄" title="上一年" onClick="dongdongPrevYear();">');
    document.write('<input type="button" style="'+s_dongdong_turn+'" value="年" title="请点击箭头" onClick="spanYearCEvent();">');
    document.write('<input type="button" style="'+s_dongdong_turn+'" value="►" title="下一年" onClick="dongdongNextYear();">&nbsp;');
    document.write('<input type="button" style="'+s_dongdong_turn+'" value="◄" title="上一月" onClick="dongdongPrevMonth();">');
    document.write('<input type="button" style="'+s_dongdong_turn+'" value="月" title="请点击箭头" onClick="spanMonthCEvent();">');
    document.write('<input type="button" style="'+s_dongdong_turn+'" value="►" title="下一月" onClick="dongdongNextMonth();">&nbsp;');
    document.write('<input type="button" style="'+s_dongdong_turn2+'" value="今天" title="选择今日" onClick="dongdongToday();">');
    document.write('</div>');
    //输出一条横线
    document.write('<div style="'+s_dongdong_line+'"></div>');
    document.write('<table border=0 cellspacing=0 cellpadding=0  bgcolor=white onselectstart="return false">');
    document.write(' <tr style="background-color:#2650A6;font-size:10pt;color:white;height:22px;" Author="dongdong">');
    for(var i =0;i < weekName.length;i ++){
    //输出星期
    document.write('<td width="21" align="center" Author="dongdong">' + weekName[i] + '</td>');
    }
    document.write(' </tr>');
    document.write('</table>');
    //输出天的选择
    document.write('<table border=0 cellspacing=1 cellpadding=0  bgcolor=white onselectstart="return false">');
    var n = 0;
    for (var i=0;i<5;i++) { 
    document.write (' <tr align=center id="trdongdongDay' + i + '" >');
    for (var j=0;j<7;j++){
     document.write('<td align="center" id="tddongdongDay' + n + '" '+
    'onClick="dongdongDay=this.innerText;dongdongSetValue(true);" ' 
    +'onmouseover="this.style.backgroundColor=\'' + td_bg_over + '\'" ' 
    +'onmouseout="this.style.backgroundColor=\'' + td_bg_out + '\'" '
    //+'onmouseover=function (){this.style.backgroundColor="' + td_bg_over + '";} ' 
    //+'onmouseout=function (){this.style.backgroundColor="' + td_bg_out + '";} ' 
      +' style="' + s_dongdong_day + '">&nbsp;</td>');
     n ++;
    }
    document.write (' </tr>');
    }
    document.write (' <tr align=center id="trdongdongDay5" >');
    document.write('<td align="center" id="tddongdongDay35" onClick="dongdongDay=this.innerText;dongdongSetValue(true);" ' 
    +'onmouseover="this.style.backgroundColor=\'' + td_bg_over + '\'" ' 
    +'onmouseout="this.style.backgroundColor=\'' + td_bg_out + '\'" ' 
    +' style="' + s_dongdong_day + '">&nbsp;</td>');
    document.write('<td align="center" id="tddongdongDay36" onClick="dongdongDay=this.innerText;dongdongSetValue(true);" ' 
    +'onmouseover="this.style.backgroundColor=\'' + td_bg_over + '\'" ' 
    +'onmouseout="this.style.backgroundColor=\'' + td_bg_out + '\'" ' 
    +' style="' + s_dongdong_day + '">&nbsp;</td>');
    document.write('<td align="right" colspan="5"><a href="javascript:dongdongClear();" style="' + s_dongdong_link + '">清空</a>'+
    '&nbsp;<a href="javascript:dongdongHideControl();" style="' + s_dongdong_link + '">关闭</a>' +
    '&nbsp;<a href="javascript:dongdongSetValue(true);" style="' + s_dongdong_link + '">确定</a>&nbsp;' +
    '</td>');
    document.write (' </tr>');
    document.write('</table>');
    document.write('</div>');
    //------------------ end 页面显示部分 ---------------------------//
    //------------------ 显示日期时间的span标签响应事件 ---------------------------//
    //单击年份span标签响应
    function spanYearCEvent(){
    hideElementsById(new Array("selTianYear","dongdongMonthHead"),false);
    if(m_bolShowHour) hideElementsById(new Array("dongdongHourHead"),false);
    if(m_bolShowMinute) hideElementsById(new Array("dongdongMinuteHead"),false);
    hideElementsById(new Array("dongdongYearHead","selTianMonth","selTianHour","selTianMinute"),true);
    }
    //单击月份span标签响应
    function spanMonthCEvent(){
    hideElementsById(new Array("selTianMonth","dongdongYearHead"),false);
    if(m_bolShowHour) hideElementsById(new Array("dongdongHourHead"),false);
    if(m_bolShowMinute) hideElementsById(new Array("dongdongMinuteHead"),false);
    hideElementsById(new Array("dongdongMonthHead","selTianYear","selTianHour","selTianMinute"),true);
    }
    //单击小时span标签响应
    function spanHourCEvent(){
    hideElementsById(new Array("dongdongYearHead","dongdongMonthHead"),false);
    if(m_bolShowHour) hideElementsById(new Array("selTianHour"),false);
    if(m_bolShowMinute) hideElementsById(new Array("dongdongMinuteHead"),false);
    hideElementsById(new Array("dongdongHourHead","selTianYear","selTianMonth","selTianMinute"),true);
    }
    //单击分钟span标签响应
    function spanMinuteCEvent(){
    hideElementsById(new Array("dongdongYearHead","dongdongMonthHead"),false);
    if(m_bolShowHour) hideElementsById(new Array("dongdongHourHead"),false);
    if(m_bolShowMinute) hideElementsById(new Array("selTianMinute"),false);
    hideElementsById(new Array("dongdongMinuteHead","selTianYear","selTianMonth","selTianHour"),true);
    }
    //根据标签id隐藏或显示标签
    function hideElementsById(arrId,bolHide){
    var strDisplay = "";
    if(bolHide) strDisplay = "none";
    for(var i = 0;i < arrId.length;i ++){
     var obj = document.getElementById(arrId[i]);
     obj.style.display = strDisplay;
    }
    }
    //------------------ end 显示日期时间的span标签响应事件 ---------------------------//
    //判断某年是否为闰年
    function isPinYear(year){
    var bolRet = false;
    if (0==year%4&&((year%100!=0)||(year%400==0))) {
     bolRet = true;
    }
    return bolRet;
    }
    //得到一个月的天数，闰年为29天
    function getMonthCount(year,month){
    var c=m_aMonHead[month-1];
    if((month==2)&&isPinYear(year)) c++;
    return c;
    }
    //重新设置当前的日。主要是防止在翻年、翻月时，当前日大于当月的最大日
    function setRealDayCount() {
    if( dongdongDay > getMonthCount(dongdongYear,dongdongMonth) ) {
     //如果当前的日大于当月的最大日，则取当月最大日
     dongdongDay = getMonthCount(dongdongYear,dongdongMonth);
    }
    }
    //在个位数前加零
    function addZero(value){
    if(value < 10 ){
     value = "0" + value;
    }
    return value;
    }
    //取出空格
    function dongdongTrim(str) {
    return str.replace(/(^\s*)|(\s*$)/g,"");
    }
    //为select创建一个option
    function createOption(objSelect,value,text){
    var option = document.createElement("OPTION");
    option.value = value;
    option.text = text;
    objSelect.options.add(option);
    }
    //往前翻 Year
    function dongdongPrevYear() {
    if(dongdongYear > 999 && dongdongYear <10000){dongdongYear--;}
    else{alert("年份超出范围（1000-9999）！");}
    dongdongSetDay(dongdongYear,dongdongMonth);
    //如果年份小于允许的最小年份，则创建对应的option
    if( dongdongYear < dongdongYearSt ) {
     dongdongYearSt = dongdongYear;
     createOption(document.all.selTianYear,dongdongYear,dongdongYear + "年");
    }
    checkSelect(document.all.selTianYear,dongdongYear);
    dongdongWriteHead();
    document.all.dongdongYearHead.style.display='';
    document.all.selTianYear.style.display='none';
    }
    //往后翻 Year
    function dongdongNextYear() {
    if(dongdongYear > 999 && dongdongYear <10000){dongdongYear++;}
    else{alert("年份超出范围（1000-9999）！");return;}
    dongdongSetDay(dongdongYear,dongdongMonth);
    //如果年份超过允许的最大年份，则创建对应的option
    if( dongdongYear > dongdongYearEnd ) {
     dongdongYearEnd = dongdongYear;
     createOption(document.all.selTianYear,dongdongYear,dongdongYear + "年");
    }
    checkSelect(document.all.selTianYear,dongdongYear);
    dongdongWriteHead();
    document.all.dongdongYearHead.style.display='';
    document.all.selTianYear.style.display='none';
    }
    //选择今天
    function dongdongToday() {
    dongdongYear = dongdongDateNow.getFullYear();
    dongdongMonth = dongdongDateNow.getMonth()+1;
    dongdongDay = dongdongDateNow.getDate();
    dongdongSetValue(true);
    //dongdongSetDay(dongdongYear,dongdongMonth);
    //selectObject();
    }
    //往前翻月份
    function dongdongPrevMonth() {
    if(dongdongMonth>1){dongdongMonth--}else{dongdongYear--;dongdongMonth=12;}
    dongdongSetDay(dongdongYear,dongdongMonth);
    checkSelect(document.all.selTianMonth,dongdongMonth);
    dongdongWriteHead();
    document.all.dongdongMonthHead.style.display='';
    document.all.selTianMonth.style.display='none';
    }
    //往后翻月份
    function dongdongNextMonth() {
    if(dongdongMonth==12){dongdongYear++;dongdongMonth=1}else{dongdongMonth++}
    dongdongSetDay(dongdongYear,dongdongMonth);
    checkSelect(document.all.selTianMonth,dongdongMonth);
    dongdongWriteHead();
    document.all.dongdongMonthHead.style.display='';
    document.all.selTianMonth.style.display='none';
    }
    //向span标签中写入年、月、时、分等数据
    function dongdongWriteHead(){
    document.all.dongdongYearHead.innerText = dongdongYear + "年";
    document.all.dongdongMonthHead.innerText = dongdongMonth + "月";
    if( m_bolShowHour )  document.all.dongdongHourHead.innerText = " "+dongdongHour + "点";
    if( m_bolShowMinute ) document.all.dongdongMinuteHead.innerText = dongdongMinute + "分";
    dongdongSetValue(false);//给文本框赋值，但不隐藏本控件
    }
    //设置显示天
    function dongdongSetDay(yy,mm) {
     
    setRealDayCount();//设置当月真实的日
    dongdongWriteHead();
    var strDateFont1 = "", strDateFont2 = "" //处理日期显示的风格
    for (var i = 0; i < 37; i++){dongdongArrDay[i]=""};  //将显示框的内容全部清空
    var day1 = 1;
    var firstday = new Date(yy,mm-1,1).getDay();  //某月第一天的星期几
    for (var i = firstday; day1 < getMonthCount(yy,mm)+1; i++){
     dongdongArrDay[i]=day1;day1++;
    }
    //如果用于显示日的最后一行的第一个单元格的值为空，则隐藏整行。
    //if(dongdongArrDay[35] == ""){
    // document.all.trdongdongDay5.style.display = "none";
    //} else {
    // document.all.trdongdongDay5.style.display = "";
    //}
    for (var i = 0; i < 37; i++){ 
     var da = eval("document.all.tddongdongDay"+i)     //书写新的一个月的日期星期排列
     if (dongdongArrDay[i]!="") { 
      //判断是否为周末，如果是周末，则改为红色字体
      if(i % 7 == 0 || (i+1) % 7 == 0){
      strDateFont1 = "<font color=#f0000>"
      strDateFont2 = "</font>"
      } else {
    strDateFont1 = "";
    strDateFont2 = ""
      }
      da.innerHTML = strDateFont1 + dongdongArrDay[i] + strDateFont2;
      //如果是当前选择的天，则改变颜色
      if(dongdongArrDay[i] == dongdongDay ) {
    da.style.backgroundColor = "#CCCCCC";
      } else {
    da.style.backgroundColor = td_bg_out;
      }
      da.style.cursor="hand"
     } else {
      da.innerHTML="";da.style.backgroundColor=td_bg_out;da.style.cursor="default"
     }
    }//end for
    dongdongSetValue(false);//给文本框赋值，但不隐藏本控件
    }//end function dongdongSetDay
    //根据option的值选中option
    function checkSelect(objSelect,selectValue) {
    var count = parseInt(objSelect.length);
    if( selectValue < 10 && selectValue.toString().length == 2) {
     selectValue = selectValue.substring(1,2);
    }
    for(var i = 0;i < count;i ++){
     if(objSelect.options[i].value == selectValue){
      objSelect.selectedIndex = i;
      break;
     }
    }//for
    }
    //选中年、月、时、分等下拉框
    function selectObject(){
    //如果年份小于允许的最小年份，则创建对应的option
    if( dongdongYear < dongdongYearSt ) {
     for( var i = dongdongYear;i < dongdongYearSt;i ++  ){
      createOption(document.all.selTianYear,i,i + "年");
     }
     dongdongYearSt = dongdongYear;
    }
    //如果年份超过允许的最大年份，则创建对应的option
    if( dongdongYear > dongdongYearEnd ) {
     for( var i = dongdongYearEnd+1;i <= dongdongYear;i ++  ){
      createOption(document.all.selTianYear,i,i + "年");
     }
     dongdongYearEnd = dongdongYear;
    }
    checkSelect(document.all.selTianYear,dongdongYear);
    checkSelect(document.all.selTianMonth,dongdongMonth);
    if( m_bolShowHour )  checkSelect(document.all.selTianHour,dongdongHour);
    if( m_bolShowMinute ) checkSelect(document.all.selTianMinute,dongdongMinute);
    }
    //给接受日期时间的控件赋值
    //参数bolHideControl - 是否隐藏控件
    function dongdongSetValue(bolHideControl){
    var value = "";
    if( !dongdongDay || dongdongDay == "" ){
     dongdongOutObject.value = value;
     return;
    }
    var mm = dongdongMonth;
    var day = dongdongDay;
    if( mm < 10 && mm.toString().length == 1) mm = "0" + mm;
    if( day < 10 && day.toString().length == 1) day = "0" + day;
    value = dongdongYear + dongdongDateSplit + mm + dongdongDateSplit + day;
    if( m_bolShowHour ){
     var hour = dongdongHour;
     if( hour < 10 && hour.toString().length == 1 ) hour = "0" + hour;
     value += dongdongDateTimeSplit + hour;
    }
    if( m_bolShowMinute ){
     var minute = dongdongMinute;
     if( minute < 10 && minute.toString().length == 1 ) minute = "0" + minute;
     value += dongdongTimeSplit + minute;
     value += ":00";
    }
    dongdongOutObject.value = value;
    //document.all.divdongdongDate.style.display = "none";
    if( bolHideControl ) {
     dongdongHideControl();
    }
    }
    //是否显示时间
    function showTime(){
    if( !m_bolShowHour && m_bolShowMinute){
     alert("如果要选择分钟，则必须可以选择小时！");
     return;
    }
    hideElementsById(new Array("dongdongHourHead","selTianHour","dongdongMinuteHead","selTianMinute"),true);
    if( m_bolShowHour ){
     //显示小时
     hideElementsById(new Array("dongdongHourHead"),false);
    }
    if( m_bolShowMinute ){
     //显示分钟
     hideElementsById(new Array("dongdongMinuteHead"),false);
    }
    }
    //弹出显示日历选择控件，以让用户选择
    function dongdongPopCalendar(){
    //隐藏下拉框，显示相对应的head
    hideElementsById(new Array("selTianYear","selTianMonth","selTianHour","selTianMinute"),true);
    hideElementsById(new Array("dongdongYearHead","dongdongMonthHead","dongdongHourHead","dongdongMinuteHead"),false);
    dongdongSetDay(dongdongYear,dongdongMonth);
    dongdongWriteHead();
    showTime();
    var dads  = document.all.divdongdongDate.style;
    var iX, iY;
     
    var h = 187;//document.all.divdongdongDate.offsetHeight;
    var w = 150;//document.all.divdongdongDate.offsetWidth;//首次加载时候会为0，故直接指定！
    //计算left
    if (window.event.x + w > document.body.offsetWidth - 10    )
     iX = window.event.x - w - 5 ;
    else
     iX = window.event.x + 5;  
    if (iX <0)  
     iX=0;
    //计算top
    iY = window.event.y;
    if (window.event.y + h > document.body.offsetHeight - 10   )
     iY = document.body.scrollTop + document.body.offsetHeight - h - 5 ;
    else
     iY = document.body.scrollTop +window.event.y + 5;  
    if (iY <0)  
     iY=0;
    dads.left = iX;
    dads.top = iY;
    dongdongShowControl();
    selectObject();
    }
    //隐藏日历控件(同时显示被强制隐藏的标签)
    function dongdongHideControl(){
    document.all.divdongdongDate.style.display = "none";
    dongdongShowObject();
    arrdongdongHide = new Array();//将被隐藏的标签对象清空
    }
    //显示日历控件(同时隐藏会遮挡的标签)
    function dongdongShowControl(){
    document.all.divdongdongDate.style.display = "";
    dongdongHideObject("Select");
    dongdongHideObject("OBJECT");
    }
    //根据标签名称隐藏标签。如会遮住控件的select，object
    function dongdongHideObject(strTagName) {

    x = document.all.divdongdongDate.offsetLeft;
    y = document.all.divdongdongDate.offsetTop;
    h = document.all.divdongdongDate.offsetHeight;
    w = document.all.divdongdongDate.offsetWidth;

    for (var i = 0; i < document.all.tags(strTagName).length; i++)
    {
     
     var obj = document.all.tags(strTagName)[i];
     if (! obj || ! obj.offsetParent)
      continue;
     // 获取元素对于BODY标记的相对坐标
     var objLeft   = obj.offsetLeft;
     var objTop    = obj.offsetTop;
     var objHeight = obj.offsetHeight;
     var objWidth = obj.offsetWidth;
     var objParent = obj.offsetParent;
     
     while ((objParent != null) && (objParent.tagName.toUpperCase() != "BODY")){
      objLeft  += objParent.offsetLeft;
      objTop   += objParent.offsetTop;
      objParent = objParent.offsetParent;
     }
     //alert("控件左端:" + x + "select左端" + (objLeft + objWidth) + "控件底部:" + (y+h) + "select高:" + objTop);
     
//     var bolHide = true;
//     if( obj.style.display == "none" || obj.style.visibility == "hidden" || obj.getAttribute("Author") == "dongdong" ){
//      //如果标签本身就是隐藏的，则不需要再隐藏。如果是控件中的下拉框，也不用隐藏。
//      bolHide = false;
//     }
//     if(  ( (objLeft + objWidth) > x && (y + h + 20) > objTop && (objTop+objHeight) >  y && objLeft < (x+w) ) && bolHide ){
//      //arrdongdongHide.push(obj);//记录被隐藏的标签对象
//      arrdongdongHide[arrdongdongHide.length] = obj;
//      obj.style.visibility = "hidden";
//     }
     
     
    }
    }
    //显示被隐藏的标签
    function dongdongShowObject(){
    for(var i = 0;i < arrdongdongHide.length;i ++){
     //alert(arrdongdongHide[i]);
     arrdongdongHide[i].style.visibility = "";
    }
    }
    //初始化日期。
    function dongdongInitDate(strDate){
    var arr = strDate.split(dongdongDateSplit);
    dongdongYear = arr[0];
    dongdongMonth = arr[1];
    dongdongDay = arr[2];
    }
    //清空
    function dongdongClear(){
    dongdongOutObject.value = "";
    dongdongHideControl();
    }
    //任意点击时关闭该控件
    function document.onclick(){ 
     with(window.event.srcElement){ 
    if (tagName != "INPUT" && getAttribute("Author") != "dongdong")
    dongdongHideControl();
     }
    }
    //按ESC键关闭该控件
    function document.onkeypress(){
    if( event.keyCode == 27 ){
     dongdongHideControl();
    }
}