PpmsCalendar.js
资源名称:jsbgglxt.rar [点击查看]
上传用户:shengyuan
上传日期:2016-09-07
资源大小:5044k
文件大小:7k
源码类别:
Jsp/Servlet
开发平台:
Java
- /*
- * calendar.js Copyright(c)1999 Toshirou Takahashi tato@fureai.or.jp
- INSTRUCTIONS:
- Write the following HTML Tag into HTML header.
- <SCRIPT language="JavaScript" src="script/date_validation.js"></SCRIPT><SCRIPT language="JavaScript" src="script/calendar.js"></SCRIPT>
- Set following attribute of the input element which is written the date into.
- onkeypress="trapKeydown('INPUT_ELEMENTS_NAME_ATTRIBUTE')"
- Set the following attribute of the image element which is used for trigger to display this calendar.
- onclick="ppCalendar('INPUT_ELEMENTS_NAME_ATTRIBUTE')"
- */
- var now = new Date();
- var absnow = now;
- var oContainer;
- var numDateDay;
- var numDateMonth;
- var numDateYear;
- var oPPForm;
- function trapKeydown( nameElement,arg1,arg2,arg3){
- if(event.keyCode == 32){
- if(!arguments[1])arg1=0;
- if(!arguments[2])arg2=0;
- if(!arguments[3])arg3=0;
- event.returnValue = false;
- editDate(document.getElementById(nameElement), 0, true);
- ppCalendar( nameElement,arg1,arg2,arg3);
- }
- }
- function ppCalendar( nameElement,arg1,arg2,arg3){
- var tempPosition;
- var strDate;
- var numCoordinateX;
- var numCordinateY;
- var numWindowWidth = 145; // Window width
- var numWindowHeight = 172; // Window height
- if(!arguments[1])arg1=0;
- if(!arguments[2])arg2=0;
- if(!arguments[3])arg3=0;
- if( arg2 != 1){
- // Retrieve coordinate where the event occured.
- numCoordinateX = window.event.screenX;
- numCordinateY = window.event.screenY;
- // Adjust a window position within a screen.
- if ((numCoordinateX + numWindowWidth) > screen.width - 6){
- numCoordinateX = screen.width - numWindowWidth - 6;
- } else if (numCoordinateX < 0){
- numCoordinateX = 0;
- }
- if ((numCordinateY + numWindowHeight) > screen.height - 55){
- numCordinateY = screen.height- numWindowHeight - 55;
- } else if (numCordinateY < 0){
- numCordinateY = 0;
- }
- oContainer = window.open("","日历"," left=" + numCoordinateX
- +",screenX=100" + numCoordinateX
- +",top=" + numCordinateY
- +",screenY=" + numCordinateY
- +",toolbar=0"
- +",location=0"
- +",directories=0"
- +",status=0"
- +",menubar=0"
- +",scrollbars=0"
- +",resizable=0"
- +",innerWidth=100"
- +",innerHeight=180"
- +",width=" + numWindowWidth
- +",height=" + numWindowHeight);
- oContainer.focus();
- }
- //
- if(arg1==0)now = new Date()
- strDate = document.getElementById(nameElement).value;
- if( isDate(strDate) == true && arg2!=1){
- numDateDay = Number(getDay(strDate));
- numDateMonth= Number(getMonth(strDate)) - 1;
- numDateYear = Number(getYear(strDate));
- } else if(isMonth(strDate) == true && arg2!=1){
- numDateDay = "";
- numDateMonth= Number(getMonth(strDate)) - 1;
- numDateYear = Number(getYear(strDate));
- } else{
- numDateDay = "";
- numDateMonth = now.getMonth();
- numDateYear = now.getFullYear();
- }
- //
- if(numDateMonth==11 && arg1 > 0){ //
- numDateMonth = -1 + arg1 ; numDateYear++ //
- } else if(numDateMonth==0 && arg1 < 0){ //
- numDateMonth = 12 + arg1 ; numDateYear-- //
- } else {
- numDateMonth += arg1 //
- }
- //
- if(numDateYear<1900)numDateYear=1900+numDateYear
- //
- now = new Date(numDateYear,numDateMonth,1)
- //
- nowyyyymm=numDateYear*100+numDateMonth
- //
- nowtitleyyyymm=numDateYear+'/'+(numDateMonth + 1)
- //
- week = new Array('日','一','二','三','四','五','六');
- //
- fstday = now //
- startday = fstday - ( fstday.getDay() * 1000*60*60*24 ) //
- startday = new Date(startday)
- //
- ddata = ''
- ddata += '<HTML>'
- ddata += '<HEAD>'
- ddata += '<TITLE>日历</TITLE>n'
- ddata += '<STYLE>n'
- ddata += ' BODY { font:12px ; line-height:12px ; margin : 0px }n'
- ddata += '</STYLE>'
- ddata += '</HEAD>'
- ddata += '<BODY BGCOLOR=#dddddd>n'
- ddata += '<FORM>'
- ddata += '<TABLE BORDER=0 BGCOLOR=#dddddd BORDERCOLOR=#dddddd n'
- ddata += 'STYLE="n'
- ddata += 'font-family : Arial;n'
- ddata += 'font-size : 14px;n'
- ddata += 'border-top : 1px outset #ffffff;n'
- ddata += 'border-right : 1px outset #888888;n'
- ddata += 'border-bottom : 1px outset #555555;n'
- ddata += 'border-left : 1px outset #ffffff;"n'
- ddata += '>n'
- //-MONTH
- ddata += ' <TR id="trmonth" BGCOLOR="#778899" BORDERCOLOR=#dddddd WIDTH=140 HEIGHT=14>n'
- ddata += ' <TH COLSPAN=7 WIDTH=140 HEIGHT=14 ALIGN="right"><NOBR>n'
- ddata += '<FONT COLOR=#ffffff>n'
- ddata += nowtitleyyyymm
- ddata += '</FONT>n'
- ddata += ' <INPUT TYPE=button VALUE=" < " '
- ddata += " onClick="self.opener.ppCalendar('" + nameElement + "',-1,1," + arg3 + ");">n";
- ddata += 'n'
- ddata += '<INPUT TYPE=button VALUE=" > " '
- ddata += " onClick="self.opener.ppCalendar('" + nameElement + "',1,1," + arg3 + ");">n";
- ddata += '</NOBR></TH>n'
- ddata += ' </TR>n'
- //-WEEK
- ddata += ' <TR BGCOLOR="#ccddee" WIDTH=140 HEIGHT=14>n'
- for (i=0;i<7;i++){
- ddata += ' <TH WIDTH=14 HEIGHT=14>n'
- ddata += week[i]
- ddata += ' </TH>n'
- }
- ddata += ' </TR>n'
- //-DATE
- for(j=0;j<6;j++){
- ddata += ' <TR BGCOLOR=#ffffff>n'
- for(i=0;i<7;i++){
- nextday = startday.getTime() + (i * 1000*60*60*24)
- wrtday = new Date(nextday)
- wrtdate = wrtday.getDate()
- wrtmonth= wrtday.getMonth()
- wrtyear = wrtday.getFullYear()
- if(wrtyear < 1900)wrtyear=1900 + wrtyear
- wrtyyyymm = wrtyear * 100 + wrtmonth
- wrtyyyymmdd= ''+wrtyear +'-'+ (wrtmonth+1) +'-'+wrtdate
- wrtdateA = '<FONT COLOR=#000000>n'
- wrtdateA += wrtdate
- wrtdateA += '</FONT>n'
- wrtdate
- if(wrtyyyymm != nowyyyymm){
- strColor = "#cccccc";
- } else if( wrtdate == numDateDay &&
- wrtmonth == numDateMonth &&
- wrtday.getFullYear() == numDateYear){
- strColor = "orange";
- } else if( wrtdate == absnow.getDate() &&
- wrtmonth == absnow.getMonth() &&
- wrtday.getFullYear() == absnow.getFullYear()){
- strColor = "yellow";
- } else {
- strColor = "";
- }
- if(Number(wrtmonth + 1) <10){
- wrtmonth = "0" + String((wrtmonth + 1));
- }else{
- wrtmonth = String((wrtmonth + 1));
- }
- if(Number(wrtdate) <10){
- wrtdate = "0" + String(wrtdate);
- }else{
- wrtdate = String(wrtdate);
- }
- if(arg3 == 1){
- wrtyyyymmdd= ''+wrtyear +'-'+ wrtmonth;
- }else{
- wrtyyyymmdd= ''+wrtyear +'-'+ wrtmonth +'-'+wrtdate;
- }
- ddata += "<TD style="cursor:hand;" align="right" bgcolor="" + strColor + "" width=14 height=14 onclick="window.opener.document.getElementById('" + nameElement + "').value='"+wrtyyyymmdd+"'; window.opener.document.getElementById('" + nameElement + "').style.backgroundColor=''; self.close(); " >"
- ddata += wrtdateA
- ddata += ' </TD>n'
- }
- ddata += ' </TR>n'
- startday = new Date(nextday)
- startday = startday.getTime() + (1000*60*60*24)
- startday = new Date(startday)
- }
- ddata += '</TABLE>n'
- ddata += '</FORM>n'
- ddata += '</BODY>n'
- ddata += '</HTML>n'
- pre_nameElement = nameElement;
- oContainer.document.write(ddata)
- oContainer.document.close()
- oContainer.focus()
- }
English
