﻿<!--下拉框开始-->
/**** Select Box ****/
var nowOpenedSelectBox = "";
var mousePosition = "";

function selectThisValue(thisId,thisIndex,thisValue,thisString) {
 var objId = thisId;
 var nowIndex = thisIndex;
 var valueString = thisString;
 var sourceObj = document.getElementById(objId);
 var nowSelectedValue = document.getElementById(objId+"SelectBoxOptionValue"+nowIndex).value;
 hideOptionLayer(objId);
 if (sourceObj) sourceObj.value = nowSelectedValue;
 settingValue(objId,valueString);
 selectBoxFocus(objId);
 if (sourceObj.onchange) sourceObj.onchange();
}

function settingValue(thisId,thisString) {
 var objId = thisId;
 var valueString = thisString;
 var selectedArea = document.getElementById(objId+"selectBoxSelectedValue");
 if (selectedArea) selectedArea.innerHTML = valueString.replace("&","&amp;");
}

function viewOptionLayer(thisId) {
 var objId = thisId;
 var optionLayer = document.getElementById(objId+"selectBoxOptionLayer");
 if (optionLayer) optionLayer.style.display = "";
 nowOpenedSelectBox = objId;
 setMousePosition("inBox");
}

function hideOptionLayer(thisId) {
 var objId = thisId;
 var optionLayer = document.getElementById(objId+"selectBoxOptionLayer");
 if (optionLayer) optionLayer.style.display = "none";
}

function setMousePosition(thisValue) {
 var positionValue = thisValue;
 mousePosition = positionValue;
}

function clickMouse() {
 if (mousePosition == "out") hideOptionLayer(nowOpenedSelectBox);
}

function selectBoxFocus(thisId) {
 var objId = thisId;
 var obj = document.getElementById(objId + "selectBoxSelectedValue");
 obj.className = "selectBoxSelectedAreaFocus";
 obj.focus();
}

function selectBoxBlur(thisId) {
 var objId = thisId;
 var obj = document.getElementById(objId + "selectBoxSelectedValue");
 obj.className = "selectBoxSelectedArea";
}

function selectBoxOptionRefresh(thisId) {
 var optionHeight = 16; 
 var optionMaxNum = 6; 
 var objId = thisId;
 var obj = document.getElementById(objId);
 var trgObj = document.getElementById(objId+"SelectBoxOptionArea");
 var newOption = "";
 
 newOption += "  <table cellpadding='0' cellspacing='0' border='0' width='100%' style='table-layout:fixed;word-break:break-all;'>";
 for (var i=0 ; i < obj.options.length ; i++) {
  var nowValue = obj.options[i].value;
  var nowText = obj.options[i].text;
  newOption += "   <tr>";
  newOption += "    <td height='" + optionHeight + "' class='selectBoxOption' onMouseOver=\"this.className='selectBoxOptionOver'\" onMouseOut=\"this.className='selectBoxOption'\" onClick=\"selectThisValue('"+ objId + "'," + i + ",'" + nowValue + "','" + nowText + "')\" style='cursor:hand;'>" + nowText + "</td>";
  newOption += "    <input type='hidden' id='"+ objId + "SelectBoxOptionValue" + i + "' value='" + nowValue + "'>";
  newOption += "   </tr>";
 }
 newOption += "  </table>";
 
 if(trgObj) {
  if (obj.options.length > optionMaxNum) trgObj.style.height = (optionHeight * optionMaxNum) + "px";
  else trgObj.style.height = (optionHeight * obj.options.length) + "px";
  trgObj.innerHTML = newOption;
  var haveSelectedValue = false;
  for (var i=0 ; i < obj.options.length ; i++) {
   if (obj.options[i].selected == true) {
    haveSelectedValue = true;
    settingValue(objId,obj.options[i].text);
   }
  }
  if (!haveSelectedValue) settingValue(objId,obj.options[0].text);
 }
}

function makeSelectBox01(thisId) {
 var downArrowSrc = "images/down.gif"; 
 var downArrowSrcWidth = 25; 
 var optionHeight = 25; 
 var optionMaxNum = 7; 
 var optionInnerLayerHeight = "";
 var objId = thisId;
 var obj = document.getElementById(objId);
 var selectBoxWidth = parseInt(obj.style.width);
 var selectBoxHeight = parseInt(obj.style.height);
 if (obj.options.length > optionMaxNum) optionInnerLayerHeight = "height:"+ (optionHeight * optionMaxNum) + "px";
 newSelect  = "<table id='" + objId + "selectBoxOptionLayer' cellpadding='0' cellspacing='0' border='0' style='position:absolute;z-index:100;display:none;' onMouseOver=\"viewOptionLayer('"+ objId + "')\" onMouseOut=\"setMousePosition('out')\">";
 newSelect += " <tr>";
 newSelect += "  <td height='" + (selectBoxHeight - 1) + "' style='cursor:hand;' onClick=\"hideOptionLayer('"+ objId + "')\"></td>";
 newSelect += " </tr>";
 newSelect += " <tr>";
 newSelect += "  <td style='border:1px solid #C4C9C0'>";
 newSelect += "  <table cellpadding='0' cellspacing='0' border='0' width='100%'>";
 newSelect += "   <tr>";
 newSelect += "    <td height='3' bgcolor='#FFFFFF'></td>";
 newSelect += "   </tr>";
 newSelect += "  </table>";
 newSelect += "  <div class='selectBoxOptionInnerLayer' style='width:" + (selectBoxWidth-2) + "px;" + optionInnerLayerHeight + "'>";
 newSelect += "  <table cellpadding='0' cellspacing='0' border='0' width='100%' style='table-layout:fixed;word-break:break-all;'>";
 for (var i=0 ; i < obj.options.length ; i++) {
  var nowValue = obj.options[i].value;
  var nowText = obj.options[i].text;
  if (typeof(obj.options[i].separator) == "undefined") {
   newSelect += "   <tr>";
   newSelect += "    <td height='" + optionHeight + "' class='selectBoxOption' onMouseOver=\"this.className='selectBoxOptionOver'\" onMouseOut=\"this.className='selectBoxOption'\" onClick=\"selectThisValue('"+ objId + "'," + i + ",'" + nowValue + "','" + nowText + "')\" style='cursor:hand;padding-left:5px;'>" + nowText + "</td>";
   newSelect += "    <input type='hidden' id='"+ objId + "SelectBoxOptionValue" + i + "' value='" + nowValue + "'>";
   newSelect += "   </tr>";
  } else {
  
  }
 }
 newSelect += "  </table>";
 newSelect += "  </div>";
 newSelect += "  <table cellpadding='0' cellspacing='0' border='0' width='100%'>";
 newSelect += "   <tr>";
 newSelect += "    <td height='4' bgcolor='#FFFFFF'></td>";
 newSelect += "   </tr>";
 newSelect += "  </table>";
 newSelect += "  </td>";
 newSelect += " </tr>";
 newSelect += "</table>";
 newSelect += "<table cellpadding='0' cellspacing='0' border='0' onClick=\"viewOptionLayer('"+ objId + "')\" style='cursor:hand; border-top:1px solid #C4C9C0;border-left:1px solid #C4C9C0;border-right:1px solid #C4C9C0;border-bottom:1px solid #C4C9C0' onMouseOut=\"setMousePosition('out')\">";
 newSelect += " <tr>";
 newSelect += "  <td bgcolor='#FFFFFF'>"; 
 newSelect += "  <table cellpadding='0' cellspacing='0' border='0'>";
 newSelect += "   <tr>";
 newSelect += "    <td><div id='" + objId + "selectBoxSelectedValue' class='selectBoxSelectedArea' style='width:" + (selectBoxWidth - downArrowSrcWidth-2) + "px;height:" + (selectBoxHeight - 2) + "px;overflow:hidden;' onBlur=\"selectBoxBlur('" + objId + "')\"></div></td>";
 newSelect += "    <td><img src='" + downArrowSrc + "' width='" + downArrowSrcWidth + "' border='0'></td>";
 newSelect += "   </tr>";
 newSelect += "  </table>";
 newSelect += "  </td>";
 newSelect += " </tr>";
 newSelect += "</table>";
 document.write(newSelect);
 
 var haveSelectedValue = false;
 for (var i=0 ; i < obj.options.length ; i++) {
  if (obj.options[i].selected == true) {
   haveSelectedValue = true;
   settingValue(objId,obj.options[i].text);
  }
 }
 if (!haveSelectedValue) settingValue(objId,obj.options[0].text);
}

document.onmousedown = clickMouse;

/**** Select Box ****/

<!--时间开始-->
function Calendar(objName)  
{  
this.style = {
borderColor         : "#909eff", //边框颜色
headerBackColor      : "#AAC9F8", //表头背景颜色
headerFontColor      : "#ffffff", //表头字体颜色
bodyBarBackColor    : "#f4f4f4", //日历标题背景色
bodyBarFontColor    : "#000000", //日历标题字体色
bodyBackColor       : "#ffffff", //日历背景色
bodyFontColor            : "#000000", //日历字体色 
bodyHolidayFontColor     : "#ff0000", //假日字体色
watermarkColor       : "#d4d4d4",  //背景水印色
moreDayColor             : "#cccccc" 
};
this.showMoreDay = false; //是否显示上月和下月的日期
this.Obj = objName;  
this.date = null;
this.mouseOffset = null;
this.dateInput = null;
this.timer = null; 
};
Calendar.prototype.toString = function()
{   
var str = this.getStyle();
str += '<div Author="alin" class="calendar" style="display:none;" onselectstart="return false" oncontextmenu="return false" id="Calendar">\n';
str += '<div Author="alin" class="cdrWatermark" id="cdrWatermark"></div><div id="cdrBody" style="position:absolute;left:0px;top:0px;z-index:2;width:140px;">';
str += this.getHeader();
str += this.getBody();   
str += '</div><div Author="alin" id="cdrMenu" style="position:absolute;left:0px;top:0px;z-index:3;display:none;"  onmouseover="' + this.Obj + '.showMenu(null);" onmouseout="' + this.Obj + '.hideMenu();"></div></div>';
return str;
};
Calendar.prototype.getStyle = function()
{
var str = '<style type="text/css">\n';
str += '.calendar{position:absolute;width:140px!important;width /**/:142px;height:184px!important;height /**/:174px;background-color:'+this.style.bodyBackColor+';border:1px solid ' + this.style.borderColor + ';left:0px;top:0px;z-index:9999;}\n';
str += '.cdrHeader{background-color:'+ this.style.headerBackColor +';width:140px;height:22px;font-size:12px;color:'+this.style.headerFontColor+';}\n';
str += '.cdrWatermark{position:absolute;left:0px;top:55px;width:140px;font-family: Arial Black;font-size:50px;color:'+this.style.watermarkColor+';z-index:1;text-align:center;}\n';
str += '.cdrBodyBar{background-color:' + this.style.bodyBarBackColor + ';font-size:12px;color:' + this.style.bodyBarFontColor + ';width:140px;height:20px;}\n';
str += '.cdrBody{width:140px;height:122px!important; height /**/:110px;font-size:12px;cursor:pointer;color:' + this.style.bodyFontColor + ';}\n';
str += '.dayOver{height:16px;padding:0px;border:1px solid black;background-color:#f4f4f4;}\n';
str += '.dayOut{padding:1px;border:none;height:16px;}\n';
str += '.menuOver{margin:0px;padding:0px;background-color:'+this.style.headerBackColor+';color:'+this.style.headerFontColor+';font-size:11px;}\n';
str += '.headerOver{font-size:11px;background-color:#f4f4f4;color:black;cursor:default;}\n';
str += '.cdrMenu{font-size:12px;border:1px solid #000000;background-color:#ffffff;cursor:default;width:100%}\n';
str += 'html>body #Calendar{font-size:11px;width:142px;174px;}';
str += '</style>\n'; 
return str;
};
Calendar.prototype.getHeader = function()
{
var str = '<table Author="alin" class="cdrHeader" cellSpacing="2" cellPadding="0"><tr Author="alin" align="center">\n';
str += '<td Author="alin" onmouseover="this.className=\'headerOver\'" onmouseout="this.className=\'\'" id="previousYear" title="Prev Year" style="cursor:pointer;width:10px;" onclick="'+this.Obj+'.onChangeYear(false);"><<</td>\n';
str += '<td Author="alin" onmouseover="this.className=\'headerOver\'" onmouseout="this.className=\'\'" id="previousMonth" title="Prev Month" style="cursor:pointer;width:10px;" onclick="'+this.Obj+'.onChangeMonth(false);"><</td>\n';
str += '<td Author="alin" onmouseover="this.className=\'headerOver\'" id="currentYear" style="width:50px;height:16px" onclick="' + this.Obj + '.showMenu(true);" onmouseout="' + this.Obj + '.hideMenu();this.className=\'\';">0</td>\n';
str += '<td Author="alin" onmouseover="this.className=\'headerOver\'" id="currentMonth" onclick="' + this.Obj + '.showMenu(false);" onmouseout="' + this.Obj + '.hideMenu();this.className=\'\';">0</td>\n';
str += '<td Author="alin" onmouseover="this.className=\'headerOver\'" onmouseout="this.className=\'\'" id="nextMonth" title="Next Month" style="cursor:pointer;width:10px;" onclick="'+this.Obj+'.onChangeMonth(true);">></td>\n';
str += '<td Author="alin" onmouseover="this.className=\'headerOver\'" onmouseout="this.className=\'\'" id="nextYear" title="Next Year" style="cursor:pointer;width:10px;" onclick="'+this.Obj+'.onChangeYear(true);">>></td></tr>\n';
str += '</table>\n';
return str;
};
Calendar.prototype.getBody = function()
{
var n = 0;
var str = this.getBodyBar();
str += '<table Author="alin" class="cdrBody" cellSpacing="2" cellPadding="0">\n';   
for(i = 0; i < 6; i++)
{   
str += '<tr Author="alin" align="center">';
for(j = 0; j < 7; j++)
{
str += '<td Author="alin" class="dayOut" id="cdrDay'+(n++)+'" width="13%"></td>\n';
}
str += '</tr>';
}
str += '</table>\n';
str += '<table Author="alin" class="cdrBodyBar" cellSpacing="2" cellPadding="0" style="margin-top:-8px;"><tr align="center" Author="alin"><td Author="alin" style="cursor:pointer;" onclick="'+this.Obj+'.getToday();">Today: '+new Date().toFormatString("yyyy-mm-dd")+'</td></tr></table>\n';
return str;
};
Calendar.prototype.getBodyBar = function()
{
var str = '<table Author="alin_bar" id="cdrBodyBar" class="cdrBodyBar" style="cursor:move;" cellSpacing="2" cellPadding="0"><tr Author="alin_bar" align="center">\n';
var day = new Array('周末','周一','周二','周三','周四','周五','周六');
for(i = 0; i < 7; i++)
{
str += '<td Author="alin_bar">' + day[i] + '</td>\n';     
}
str += '</tr></table>';
return str;  
}
Calendar.prototype.getYearMenu = function(year)
{
var str = '<table Author="alin" cellSpacing="0" class="cdrMenu" cellPadding="0">\n';
for(i = 0; i < 10; i++)
{   
var _year = year + i;
var _date = new Date(_year,this.date.getMonth(),this.date.getDate());
str += '<tr Author="alin" align="center"><td Author="alin" width="13%" height="16" ';
if(this.date.getFullYear() != _year)
{
str += 'onmouseover="this.className=\'menuOver\'" onmouseout="this.className=\'\'" ';
}
else
{
str += 'class="menuOver"';
}
str += 'onclick="' + this.Obj + '.bindDate(\'' + _date.toFormatString("-") + '\')">' + _year + '</td>\n';  
str += '</tr>';
}
str += '<tr Author="alin" align="center"><td Author="alin"><table Author="alin" style="font-size:12px;width:100%;" cellSpacing="0" cellPadding="0">\n';
str += '<tr Author="alin" align="center"><td Author="alin" onmouseover="this.className=\'menuOver\'" onmouseout="this.className=\'\'" onclick="'+this.Obj+'.getYearMenu('+ (year - 10) + ')"><<</td>\n';
str += '<td Author="alin" onmouseover="this.className=\'menuOver\'" onmouseout="this.className=\'\'" onclick="'+this.Obj+'.getYearMenu('+ (year + 10) +')">>></td><tr>\n';
str += '</table></td></tr>\n';
str += '</table>';
var _menu = getObjById("cdrMenu");
_menu.innerHTML = str;
};
Calendar.prototype.getMonthMenu = function()
{
var str = '<table Author="alin" cellSpacing="0" class="cdrMenu" cellPadding="0">\n';
for(i = 1; i <= 12; i++)
{   
var _date = new Date(this.date.getFullYear(),i-1,this.date.getDate());  
str += '</tr><tr Author="alin" align="center"><td Author="alin" height="16" ';
if(this.date.getMonth() + 1 != i)
{
str += 'onmouseover="this.className=\'menuOver\'" onmouseout="this.className=\'\'" ';
}
else
{
str += 'class="menuOver"';
}
str += 'onclick="' + this.Obj + '.bindDate(\'' + _date.toFormatString("-") + '\')">'+i+'</td></tr>\n';
}
str += '</table>';
var _menu = getObjById("cdrMenu");
_menu.innerHTML = str;   
};
Calendar.prototype.show = function()
{
if (arguments.length >  3  || arguments.length == 0)
{
alert("Parameters Error!" );
return;
}   
var _date = null;
var _evObj = null;
var _initValue = null  
for(i = 0; i < arguments.length; i++)
{
if(typeof(arguments[i]) == "object"  &&  arguments[i].type == "text")
{_date = arguments[i];}
else if(typeof(arguments[i]) == "object")
{_evObj = arguments[i];}
else if(typeof(arguments[i]) == "string")
{_initValue = arguments[i];}  
}
_evObj = _evObj || _date;
inputObj = _date;
targetObj = _evObj
if(!_date){alert("Parameters Error!"); return;}
this.dateInput = _date;
_date = _date.value;
if(_date == ""  &&  _initValue) _date = _initValue;   
this.bindDate(_date);        
var _target = getPosition(_evObj);   
var _obj = getObjById("Calendar");
_obj.style.display = ""; 
_obj.style.left = _target.x + 'px';
if((document.body.clientHeight - (_target.y + _evObj.clientHeight)) >= _obj.clientHeight)
{        
_obj.style.top = (_target.y + _evObj.clientHeight) + 'px';
}
else
{   
_obj.style.top = (_target.y - _obj.clientHeight) + 'px';
}
};
Calendar.prototype.hide = function()
{
var obj = getObjById("Calendar");
obj.style.display = "none";   
};
Calendar.prototype.bindDate = function(date)
{
var _monthDays = new Array(31,30,31,30,31,30,31,31,30,31,30,31); 
var _arr = date.split('-');  
var _date = new Date(_arr[0],_arr[1]-1,_arr[2]); 
if(isNaN(_date)) _date = new Date(); 
this.date = _date;
this.bindHeader(); 
var _year = _date.getFullYear();
var _month = _date.getMonth();
var _day = 1; 
var _startDay = new Date(_year,_month,1).getDay();
var _previYear = _month == 0 ? _year - 1 : _year;
var _previMonth = _month == 0 ? 11 : _month - 1;
var _previDay = _monthDays[_previMonth];
if (_previMonth == 1) _previDay =((_previYear%4==0) && (_previYear%100!=0)||(_previYear%400==0))?29:28; 
_previDay -= _startDay - 1;
var _nextDay = 1;
_monthDays[1] = ((_year%4==0) && (_year%100!=0)||(_year%400==0))?29:28;
for(i = 0; i < 40; i++)
{ 
var _dayElement = getObjById("cdrDay" + i);
_dayElement.onmouseover = Function(this.Obj + ".onMouseOver(this)");
_dayElement.onmouseout = Function(this.Obj + ".onMouseOut(this)");
_dayElement.onclick = Function(this.Obj + ".onClick(this)");
this.onMouseOut(_dayElement);    
_dayElement.style.color = "";
if(i < _startDay)
{
//获取上一个月的日期
if(this.showMoreDay)
{
var _previDate = new Date(_year,_month - 1,_previDay);
_dayElement.innerHTML = _previDay;
_dayElement.title = _previDate.toFormatString("yyyy-mm-dd");
_dayElement.value = _previDate.toFormatString("-"); 
_dayElement.style.color = this.style.moreDayColor; 
_previDay++;
}else
{
_dayElement.innerHTML = "";
_dayElement.title = "";
}
}
else if(_day > _monthDays[_month])
{
//获取下个月的日期
if(this.showMoreDay)
{
var _nextDate = new Date(_year,_month + 1,_nextDay);
_dayElement.innerHTML = _nextDay;
_dayElement.title = _nextDate.toFormatString("yyyy-mm-dd");
_dayElement.value = _nextDate.toFormatString("-");
_dayElement.style.color = this.style.moreDayColor; 
_nextDay++;      
}else
{
_dayElement.innerHTML = "";
_dayElement.title = "";
}
}
else if(i >= new Date(_year,_month,1).getDay()  &&  _day <= _monthDays[_month])
{
//获取本月日期
_dayElement.innerHTML = _day;
if(_day == _date.getDate())
{
this.onMouseOver(_dayElement);
_dayElement.onmouseover = Function("");   
_dayElement.onmouseout = Function("");               
}
if(this.isHoliday(_year,_month,_day))
{
_dayElement.style.color = this.style.bodyHolidayFontColor;     
}
var _curDate = new Date(_year, _month, _day);
_dayElement.title =  _curDate.toFormatString("yyyy-mm-dd");
_dayElement.value = _curDate.toFormatString("-");
_day++;
}
else
{
_dayElement.innerHTML = "";
_dayElement.title = "";
} 
}
var _menu = getObjById("cdrMenu");
_menu.style.display = "none"; 
};
Calendar.prototype.bindHeader = function()
{
var _curYear = getObjById("currentYear");
var _curMonth = getObjById("currentMonth");
var _watermark = getObjById("cdrWatermark");
_curYear.innerHTML = this.date.toFormatString("yyyy");
_curMonth.innerHTML =  this.date.toFormatString("mm");
_watermark.innerHTML = this.date.getFullYear();
}; 
Calendar.prototype.getToday = function()
{
var _date = new Date();
this.bindDate(_date.toFormatString("-"));
}; 
Calendar.prototype.isHoliday = function(year,month,date)
{
var _date = new Date(year,month,date);
return (_date.getDay() == 6 || _date.getDay() == 0);
};
Calendar.prototype.onMouseOver = function(obj)
{
obj.className = "dayOver";
};
Calendar.prototype.onMouseOut = function(obj)
{
obj.className = "dayOut";
}; 
Calendar.prototype.onClick = function(obj)
{  
if(obj.innerHTML != "")  this.dateInput.value = obj.value;
this.hide();
};
Calendar.prototype.onChangeYear = function(isnext)
{
var _year = this.date.getFullYear();
var _month = this.date.getMonth() + 1;
var _date = this.date.getDate();
if(_year > 999  &&  _year <10000)
{
if(isnext){_year++;}else{ _year --;}
}
else
{
alert("年份超出范围（1000-9999）!");
}
this.bindDate(_year + '-' + _month + '-' + _date);
};
Calendar.prototype.onChangeMonth = function(isnext)
{
var _year = this.date.getFullYear();
var _month = this.date.getMonth() + 1;
var _date = this.date.getDate();
if(isnext){ _month ++;} else {_month--;}
if(_year > 999  &&  _year <10000)
{ 
if(_month < 1) {_month = 12; _year--;}
if(_month > 12) {_month = 1; _year++;}
}
else
{
alert("年份超出范围（1000-9999）!");
}  
this.bindDate(_year + '-' + _month + '-' + _date);
};
Calendar.prototype.showMenu = function(isyear)
{
var _menu = getObjById("cdrMenu");
if(isyear != null)
{    
var _obj = (isyear)? getObjById("currentYear") : getObjById("currentMonth");
if(isyear)
{
this.getYearMenu(this.date.getFullYear() - 5);    
}
else
{
this.getMonthMenu();    
}
_menu.style.top = (_obj.offsetTop + _obj.offsetHeight) + 'px';
_menu.style.left = _obj.offsetLeft + 'px'; 
_menu.style.width = _obj.offsetWidth + 'px';
}
if (this.timer != null) clearTimeout(this.timer);
_menu.style.display="";
}
Calendar.prototype.hideMenu = function()
{
var _obj = getObjById("cdrMenu");
this.timer = window.setTimeout(function(){_obj.style.display='none';},500); 
}
Number.prototype.NaN0 = function()
{
return isNaN(this) ? 0 : this;
}
Date.prototype.toFormatString = function(fs)
{
if(fs.length == 1)
{ 
//return this.getFullYear() + fs + (this.getMonth()<9?"0"+(this.getMonth()+1):this.getMonth()+1) + fs + (this.getDate()<10?("0"+this.getDate()):this.getDate()); 
//隐藏年0
return this.getFullYear() + fs + (this.getMonth()<9?""+(this.getMonth()+1):this.getMonth()+1) + fs + (this.getDate()<10?(""+this.getDate()):this.getDate()); 
}
fs = fs.replace("yyyy",this.getFullYear());
//fs = fs.replace("mm",this.getMonth()<9?"0"+(this.getMonth()+1):this.getMonth()+1);
//fs = fs.replace("dd",this.getDate()<10?("0"+this.getDate()):this.getDate());
//隐藏月日0
fs = fs.replace("mm",this.getMonth()<9?""+(this.getMonth()+1):this.getMonth()+1);
fs = fs.replace("dd",this.getDate()<10?(""+this.getDate()):this.getDate());
return fs;
}
/************公用方法及变量**************/
var inputObj = null; 
var targetObj = null; 
var dragObj = null; 
var mouseOffset = null; 
function getObjById(obj)
{
if(document.getElementById)
{
return document.getElementById(obj);
}
else
{
alert("浏览器不支持!");
}
}
function mouseCoords(ev)
{
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop  - document.body.clientTop
};
}
function getPosition(e)
{
var left = 0;
var top  = 0;
while (e.offsetParent){
left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
e     = e.offsetParent;
}
left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
return {x:left, y:top};
}
function getMouseOffset(target, ev)
{
ev = ev || window.event;
var docPos    = getPosition(target);
var mousePos  = mouseCoords(ev);
return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}
function closeCalendar(evt){
evt = evt || window.event; 
var _target= evt.target || evt.srcElement; 
if(!_target.getAttribute("Author")  &&   _target != inputObj  &&  _target != targetObj)
{
getObjById("Calendar").style.display = "none";    
}  
}
function dragStart(evt){
evt = evt || window.event; 
var _target= evt.target || evt.srcElement;
if(_target.getAttribute("Author") == "alin_bar") 
{    
dragObj = getObjById("Calendar");    
mouseOffset = getMouseOffset(dragObj, evt);  
}   
}
function drag(evt)
{
evt =  evt || window.event; 
if(dragObj)
{    
var mousePos = mouseCoords(evt); 
dragObj.style.left = (mousePos.x - mouseOffset.x) + 'px';
dragObj.style.top  = (mousePos.y - mouseOffset.y) + 'px';   
}
}
//拖动结束
function dragEnd(evt)
{
dragObj = null;    
}
/***********End 公用方法*********/
document.onclick = closeCalendar;
document.onmousedown = dragStart;
document.onmousemove = drag;
document.onmouseup = dragEnd;
/*********结束**********/
var CAL = new Calendar("CAL");
document.write(CAL);

// 如何彻底屏蔽js错误，状态栏，不论怎么样，状态栏总出现错误提示

function killErrors() {
return true;
}
window.onerror = killErrors;

