var fly_date_str; //var yearMonth=["January","February","March","April","May","June","July","August","September","October","November","December"]; var yearMonth=yearMonthStr.split(","); //=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"]; function dCalender(objStr,startDayStr) {//flydate.js航空日历 var obj, startDay; fly_date_str = document.frm.txtDays.value + ","; //返回的日期串格式为"2009-5-2,2009-5-10,2009-5-30"末尾加上逗号可以避免indexOf('2009-5-1') 在字符串中获得匹配 obj = (typeof(objStr) == "string" )? document.getElementById(objStr) : objStr; startDay = (typeof(startDayStr)!="undefined") ? document.getElementById(startDayStr).value :"thisDay" var today=new Date(); today.setDate(today.getDate()+1); startDay=today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate(); ShowTwoMonthList(obj,0,startDay); } function dCalender1(objStr,startDayStr) {//flydate1.js航空日历 var obj, startDay; fly_date_str = document.frm2.txtDays.value + ","; obj = (typeof(objStr) == "string" )? document.getElementById(objStr) : objStr; startDay = (typeof(startDayStr)!="undefined") ? document.getElementById(startDayStr).value :"thisDay" ShowTwoMonthList(obj,0,startDay); } function dCalender2(objStr,startDayStr) {//flydate2.js机+酒日历 var obj, startDay; fly_date_str = document.form1.txtDays1.value + ","; obj = (typeof(objStr) == "string" )? document.getElementById(objStr) : objStr; startDay = (typeof(startDayStr)!="undefined") ? document.getElementById(startDayStr).value :"thisDay" ShowTwoMonthList(obj,0,startDay); } function dCalenderNormal(objStr,startDayStr) {//flydate2.js普通日历 var obj, startDay; fly_date_str = "Normal"; obj = (typeof(objStr) == "string" )? document.getElementById(objStr) : objStr; startDay = (typeof(startDayStr)!="undefined") ? startDayStr.value :"thisDay"; if(startDay!=''&&startDay!='thisDay') { var dateArray=startDay.split('/'); //alert(dateArray[0]+'/'+dateArray[1]+'/'+dateArray[2]); var yearDate=new Number(dateArray[2]); var monthDate=new Number(dateArray[1])-1; var dayDate=new Number(dateArray[0]); var today=new Date(yearDate,monthDate,dayDate); today.setDate(today.getDate()+1); startDay=today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate(); } else{ var today=new Date(); today.setDate(today.getDate()+2); startDay=today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate(); } ShowTwoMonthList(obj,0,startDay); } function dCalender_package(objStr,startDayStr) {//flydate.js航空日历 var obj, startDay; fly_date_str = document.form1.txtDays1.value + ","; //返回的日期串格式为"2009-5-2,2009-5-10,2009-5-30"末尾加上逗号可以避免indexOf('2009-5-1') 在字符串中获得匹配 obj = (typeof(objStr) == "string" )? document.getElementById(objStr) : objStr; startDay = (typeof(startDayStr)!="undefined") ? document.getElementById(startDayStr).value :"thisDay" var today=new Date(); today.setDate(today.getDate()+2); startDay=today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate(); ShowTwoMonthList(obj,0,startDay); } //本代码源自www.pyzy.net function getElem(fctId){ return document.getElementById(fctId); } //取得某对象,若提供ID下的对象不存在则自动创建 function createElem(fctId,fctClassName){ var varTempDivObj=getElem(fctId); if(!varTempDivObj){ GetPyzyIframe("ifm"+fctId); varTempDivObj=document.createElement("div"); varTempDivObj.id=fctId; if(fctClassName && fctClassName!="")varTempDivObj.className=fctClassName; document.body.appendChild(varTempDivObj); } return varTempDivObj; } //取得某ID的iframe对象,若不存在该ID的对象则自动创建 function GetPyzyIframe(fctIfmId,fctVisibility,fctTop,fctLeft,fctWidth,fctHeight){ var varTempIfmObj=getElem(fctIfmId); if(!varTempIfmObj){ varTempIfmObj=document.createElement("iframe"); varTempIfmObj.id=fctIfmId; varTempIfmObj.style.position="absolute"; varTempIfmObj.style.zIndex="2"; varTempIfmObj.style.visibility="hidden"; document.body.appendChild(varTempIfmObj); } if(fctTop)varTempIfmObj.style.top=fctTop+"px"; if(fctLeft)varTempIfmObj.style.left=fctLeft+"px"; if(fctWidth)varTempIfmObj.style.width=fctWidth+"px"; if(fctHeight)varTempIfmObj.style.height=fctHeight+"px"; if(fctVisibility)varTempIfmObj.style.visibility=(document.all?fctVisibility:"hidden "); return varTempIfmObj; } //取得某对象的坐标位置、宽、高 function getPosition(obj){ var top=0; var left=0; var width=obj.offsetWidth; var height=obj.offsetHeight; while(obj.offsetParent){ top+=obj.offsetTop; left+=obj.offsetLeft; obj=obj.offsetParent; } return{"top":top,"left":left,"width":width,"height":height}; } //取得编码存储框对象 function GetValueToInputObj(fctThisObj){ if(!fctThisObj)return null; var varThisObjAutoInput=(fctThisObj.getAttributeNode("value_to_input")?fctThisObj.getAttributeNode("value_to_input").value:""); if(varThisObjAutoInput=="")return null; return getElem(varThisObjAutoInput); } //自动触发下一个对象的Act事件 function AutoNextInputAct(fctThisObj,fctAct){ var varNextInput=fctThisObj.getAttributeNode("nextinput"); if(varNextInput != null && varNextInput.value != ""){ if(document.all){ eval("getElem('"+varNextInput.value+"')."+fctAct+"()"); }else{ var evt = document.createEvent("MouseEvents"); evt.initEvent(fctAct,true,true); getElem(varNextInput.value).dispatchEvent(evt); } getElem(varNextInput.value).value=""; getElem(varNextInput.value).focus(); } } //给某对象的某事件增加处理函数AddFunToObj(document,"onclick","alert('1');") function AddFunToObj(fctObj,fctAct,fctFunction){ if(fctObj.addEventListener){ //!IE fctObj.addEventListener(fctAct.replace("on",""),function(e){ e.cancelBubble=!eval(fctFunction); },false); }else if(fctObj.attachEvent){ //IE fctObj.attachEvent(fctAct,function(){ return eval(fctFunction); }); } } //************通用函数************// /**********日历选择功能*************/ document.write('\ \ '); //取得日历列表,该函数输出的内容需要根据需求放置到特定的容器中,如浮动层、固定DIV… function GetMonthHTML(fctStaDate,fctDate){ //alert(fctDate); //alert(fly_date_str); if(!fctDate)fctDate=new Date(); //默认为当前日期 var varYear=fctDate.getFullYear(); var varMonth=fctDate.getMonth(); var varNextMonth=new Date(varYear,varMonth+1,1); var varThisMonthButDay = new Date(varNextMonth-86400000); //本月最后一天 var todayDate = new Date(); var todayStr = todayDate.getFullYear() +"-" + (todayDate.getMonth() + 1)+"-" +(todayDate.getDate()+1); var varThisDate,varThisWeekDay,varThisMonthHTML=""; varThisMonthHTML+="

"+yearMonth[varMonth]+" "+varYear+"

" varThisMonthHTML+=weekDayStr; //"
Su
Mo
Tu
We
Th
Fr
Sa
" for(var DayI=1;DayI<=varThisMonthButDay.getDate();DayI++){ varThisDate=new Date(varYear,varMonth,DayI); varThisWeekDay=varThisDate.getDay(); if(DayI==1){ for(var spcI=0;spcI' + DayI + '' : 'style="color:#ff0000;font-weight:bold;" href="javascript:;" onclick="SelectDate(this)" title="' + varThisDateStr + '" >' + DayI + ''); } else if(instrNum >= 0) { varThisMonthHTML += '' + DayI + '' : 'style="color:#3A7789;font-weight:bold;" href="javascript:;" onclick="SelectDate(this)" title="' + varThisDateStr + '" >' + DayI + ''); } else { varThisMonthHTML+='' + DayI + ''; } } return '
'+varThisMonthHTML+'
'; } //选择日期 function SelectDate(fctAObj){ //alert('213123'); if(fctAObj.href||fctAObj.className=="aSelect"){ var varValueObj=getElem("divPyzyDateBox").Obj; var varValueToObj=GetValueToInputObj(varValueObj); if(varValueToObj)varValueObj=varValueToObj; if(varValueObj.value!=fctAObj.title){ varValueObj.value=fctAObj.title; } getElem("divPyzyDateBox").style.visibility="hidden"; getElem("divPyzyDateBox").bodyclick=""; GetPyzyIframe("ifmdivPyzyDateBox","hidden"); AutoNextInputAct(getElem("divPyzyDateBox").Obj,"click"); } } //隐藏日历 function HiddenDateBox(){ if(getElem("divPyzyDateBox")){ if(getElem("divPyzyDateBox").style.visibility!="hidden" && getElem("divPyzyDateBox").bodyclick=="1"){ getElem("divPyzyDateBox").style.visibility="hidden"; getElem("divPyzyDateBox").bodyclick=""; GetPyzyIframe("ifmdivPyzyDateBox","hidden"); }else{ getElem("divPyzyDateBox").bodyclick="1"; } } } //显示日历 function ShowTwoMonthList(fctThisObj,fctJNum,fctStaDate){ if(!fctJNum)fctJNum=0; if(!fctThisObj)fctThisObj=""; var varStaDate=null,varTheDate=new Date(); if(fctStaDate||fctStaDate==""){ varStaDate=new Date(new Date()-86400000); //如果没有定义具体可使用的开始时间则自定义为今天 var varStaDateSplit=fctStaDate.split("-"); if(varStaDateSplit.length==3){ varStaDate=new Date(varStaDateSplit[0],parseInt(varStaDateSplit[1],10)-1,varStaDateSplit[2]);//fctStaDate=new Date(); } varTheDate=varStaDate; if(fctStaDate=="")fctStaDate=varStaDate.getFullYear()+"-"+(varStaDate.getMonth()+1)+"-"+varStaDate.getDate(); } var varShowTwoMonthHTML=""; for(var i=0+fctJNum;i<2+fctJNum;i++){ varShowTwoMonthHTML+=GetMonthHTML((varStaDate?varStaDate:""),new Date(varTheDate.getFullYear(),varTheDate.getMonth()+i,1)); } if(fctThisObj.value!=""){ //对已选日期样式进行改变 if(/\d{4}|\d{2}-\d{1,2}-\d{1,2}\"/.test(fctThisObj.value+"\""))varShowTwoMonthHTML=varShowTwoMonthHTML.replace(fctThisObj.value,fctThisObj.value+"\" class=\"aSelect\""); } var varDateBoxObj = createElem("divPyzyDateBox","PyzyDateBox"); varDateBoxObj.bodyclick=""; if(fctThisObj!=""){ //调整坐标到合适位置 var varThisObjPosition=getPosition(fctThisObj); varDateBoxObj.style.top=(varThisObjPosition.top+varThisObjPosition.height)+"px"; varDateBoxObj.style.left=varThisObjPosition.left+"px"; varDateBoxObj.style.visibility="visible"; //hidden varDateBoxObj.Obj=fctThisObj; } varDateBoxObj.innerHTML=varShowTwoMonthHTML+'
<---->
'; //alert(varDateBoxObj.innerHTML); GetPyzyIframe("ifmdivPyzyDateBox","visible",varDateBoxObj.style.top.replace(/px/,""),varDateBoxObj.style.left.replace(/px/,""),varDateBoxObj.offsetWidth,varDateBoxObj.offsetHeight); //取Iframe } /**********日历选择功能 End*************/ //为window.onload增加一个为document增加onclick处理函数的函数(^_^)胡尊杰 2008-4-14 AddFunToObj(window,"onload","AddFunToObj(document,'onclick','HiddenDateBox();');");