Pop-up select date Effect (3)

Source: Internet
Author: User
Tip: you can modify some code before running

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>Pop-up select date Effect (3)</title></head><body><script language="javascript">// Default settingsvar fontFace = "verdana"; var fontSize = 9; var titleWidth = 90; var titleMode = 1; var dayWidth = 12; var dayDigits = 1; var titleColor = "# cccccc"; var daysColor = "# cccccc"; var bodyColor = "# ffffff"; var dayColor = "# ffffff"; var currentDayColor = "#333333 "; var footColor = "# cccccc"; var borderColor = "#333333"; var titleFontColor = "#333333"; var daysFontColor = "#333333"; var dayFontColor = "#333333 "; var currentD AyFontColor = "# ffffff"; var footFontColor = "#333333"; var calFormat = "yyyy/mm/dd"; var weekDay = 0; // ------ // codesvar calWidth = 200, calHeight = 200, calOffsetX =-200, calOffsetY = 16; var calWin = null; var winX = 0, winY = 0; var cal = "cal"; var cals = new Array (); var currentCal = null; var yxMonths = new Array ("January", "February", "March ", "Maid", "May", "June", "July", "August", "September", "October", "November "," December "); var yxDays = new Array (" Sunday "," Monday "," Tuesday "," Wednesday "," Thursday "," Friday ", "Saturday", "Sunday"); var yxLinks = new Array ("[close]", "[clear]"); var isOpera = (navigator. userAgent. indexOf ("Opera ")! =-1 )? True: false; var isOpera5 = (navigator. appVersion. indexOf ("MSIE 5 ")! =-1 & navigator. userAgent. indexOf ("Opera 5 ")! =-1 )? True: false; var isOpera6 = (navigator. appVersion. indexOf ("MSIE 5 ")! =-1 & navigator. userAgent. indexOf ("Opera 6 ")! =-1 )? True: false; var isN6 = (navigator. userAgent. indexOf ("Gecko ")! =-1); var isN4 = (document. layers )? True: false; var isMac = (navigator. userAgent. indexOf ("Mac ")! =-1); var isIE = (document. all &&! IsOpera &&(! IsMac | navigator. appVersion. indexOf ("MSIE 4") =-1 ))? True: false; if (isN4) {fontSize + = 2;} var span2 = ""; function span1 (tag) {return "";} function spanx (tag, color) {return ". "+ tag +" {font-family: "+ fontFace +"; font-size: "+ fontSize +" px; color: "+ color +" ;}n ";} function a1 (tag) {return"<a class='"+tag+"' href=";}function ax(tag, color) { return "."+tag+" { text-decoration:none; color:"+color+"; }n";}function calOBJ(name, title, field, form) { this.name = name; this.title = title; this.field = field; this.formName = form; this.form = null}function setFont(font, size) { if (font != "") { fontFace=font; } if (size > 0) { fontSize=size; if (isN4) { fontSize+=2; } }}function setWidth(tWidth, tMode, dWidth, dDigits) { if (tWidth > 0) { titleWidth=tWidth; } if (tMode == 1 || tMode == 2) { titleMode=tMode; } if (dWidth > 0) { dayWidth=dWidth; } if (dDigits > 0) { dayDigits=dDigits; }}function setColor(tColor, dsColor, bColor, dColor, cdColor, fColor, bdColor) { if (tColor != "") { titleColor=tColor; } if (dsColor != "") { daysColor=dsColor; } if (bColor != "") { bodyColor=bColor; } if (dColor != "") { dayColor=dColor; } if (cdColor != "") { currentDayColor=cdColor; } if (fColor != "") { footColor=fColor; } if (bdColor != "") { borderColor=bdColor; }}function setFontColor(tColorFont, dsColorFont, dColorFont, cdColorFont, fColorFont) { if (tColorFont != "") { titleFontColor=tColorFont; } if (dsColorFont != "") { daysFontColor=dsColorFont; } if (dColorFont != "") { dayFontColor=dColorFont; } if (cdColorFont != "") { currentDayFontColor=cdColorFont; } if (fColorFont != "") { footFontColor=fColorFont; }}function setFormat(format) { calFormat = format;}function setSize(width, height, ox, oy) { if (width > 0) { calWidth=width; } if (height > 0) { calHeight=height; } calOffsetX=ox; calOffsetY=oy;}function setWeekDay(wDay) { if (wDay == 0 || wDay == 1) { weekDay = wDay; }}function setMonthNames(janName, febName, marName, aprName, mayName, junName, julName, augName, sepName, octName, novName, decName) { if (janName != "") { yxMonths[0] = janName; } if (febName != "") { yxMonths[1] = febName; } if (marName != "") { yxMonths[2] = marName; } if (aprName != "") { yxMonths[3] = aprName; } if (mayName != "") { yxMonths[4] = mayName; } if (junName != "") { yxMonths[5] = junName; } if (julName != "") { yxMonths[6] = julName; } if (augName != "") { yxMonths[7] = augName; } if (sepName != "") { yxMonths[8] = sepName; } if (octName != "") { yxMonths[9] = octName; } if (novName != "") { yxMonths[10] = novName; } if (decName != "") { yxMonths[11] = decName; }}function setDayNames(sunName, monName, tueName, wedName, thuName, friName, satName) { if (sunName != "") { yxDays[0] = sunName; yxDays[7] = sunName; } if (monName != "") { yxDays[1] = monName; } if (tueName != "") { yxDays[2] = tueName; } if (wedName != "") { yxDays[3] = wedName; } if (thuName != "") { yxDays[4] = thuName; } if (friName != "") { yxDays[5] = friName; } if (satName != "") { yxDays[6] = satName; }}function setLinkNames(closeLink, clearLink) { if (closeLink != "") { yxLinks[0] = closeLink; } if (clearLink != "") { yxLinks[1] = clearLink; }}function addCalendar(name, title, field, form) { cals[cals.length] = new calOBJ(name, title, field, form);}function findCalendar(name) { for (var i = 0; i < cals.length; i++) { if (cals[i].name == name) { if (cals[i].form == null) { if (cals[i].formName == "") { if (document.forms[0]) { cals[i].form = document.forms[0]; } } else if (document.forms[cals[i].formName]) { cals[i].form = document.forms[cals[i].formName]; } } return cals[i]; } } return null;}function getDayName(y,m,d) { var wd=new Date(y,m,d); return yxDays[wd.getDay()].substring(0,3);}function getMonthFromName(m3) { for (var i = 0; i < yxMonths.length; i++) { if (yxMonths[i].toLowerCase().substring(0,3) == m3.toLowerCase()) { return i; } } return 0;}function getFormat() { var calF = calFormat; calF = calF.replace(//g, ''); calF = calF.replace(///g, '/'); calF = calF.replace(/[/g, '['); calF = calF.replace(/]/g, ']'); calF = calF.replace(/(/g, '('); calF = calF.replace(/)/g, ')'); calF = calF.replace(/{/g, '{'); calF = calF.replace(/}/g, '}'); calF = calF.replace(/</g, '<'); calF = calF.replace(/>/g, '>'); calF = calF.replace(/|/g, '|'); calF = calF.replace(/*/g, '*'); calF = calF.replace(/?/g, '?'); calF = calF.replace(/+/g, '+'); calF = calF.replace(/^/g, '^'); calF = calF.replace(/$/g, '$'); calF = calF.replace(/dd/i, 'dd'); calF = calF.replace(/mm/i, 'dd'); calF = calF.replace(/yyyy/i, 'dddd'); calF = calF.replace(/day/i, 'www'); calF = calF.replace(/mon/i, 'www'); return new RegExp(calF);}function getDateNumbers(date) { var y, m, d; var yIdx = calFormat.search(/yyyy/i); var mIdx = calFormat.search(/mm/i); var m3Idx = calFormat.search(/mon/i); var dIdx = calFormat.search(/dd/i); y=date.substring(yIdx,yIdx+4)-0; if (mIdx != -1) { m=date.substring(mIdx,mIdx+2)-1; } else { var m = getMonthFromName(date.substring(m3Idx,m3Idx+3)); } d=date.substring(dIdx,dIdx+2)-0; return new Array(y,m,d);}function hideCal() { calWin.close(); calWin = null; window.status = "";}function getLeftIE(x,m) { var dx=0; if (x.tagName=="TD"){ dx=x.offsetLeft; } else if (x.tagName=="TABLE") { dx=x.offsetLeft; if (m) { dx+=(x.cellPadding!=""?parseInt(x.cellPadding):2); m=false; } } return dx+(x.parentElement.tagName=="BODY"?0:getLeftIE(x.parentElement,m));}function getTopIE(x,m) { var dy=0; if (x.tagName=="TR"){ dy=x.offsetTop; } else if (x.tagName=="TABLE") { dy=x.offsetTop; if (m) { dy+=(x.cellPadding!=""?parseInt(x.cellPadding):2); m=false; } } return dy+(x.parentElement.tagName=="BODY"?0:getTopIE(x.parentElement,m));}function getLeftN4(l) { return l.pageX; }function getTopN4(l) { return l.pageY; }function getLeftN6(l) { return l.offsetLeft; }function getTopN6(l) { return l.offsetTop; }function lastDay(d) { var yy=d.getFullYear(), mm=d.getMonth(); for (var i=31; i>=28; i--) { var nd=new Date(yy,mm,i); if (mm == nd.getMonth()) { return i; } }}function firstDay(d) { var yy=d.getFullYear(), mm=d.getMonth(); var fd=new Date(yy,mm,1); return fd.getDay();}function dayDisplay(i) { if (dayDigits == 0) { return yxDays[i]; } else { return yxDays[i].substring(0,dayDigits); }}function calTitle(d) { var yy=d.getFullYear(), mm=yxMonths[d.getMonth()]; var s; if (titleMode == 2) { s="<tr align='center' bgcolor='"+titleColor+"'><td colspan='7'>N<table cellpadding='0' cellspacing='0' border='0'><tr align='center' valign='middle'><td align='right'>"+ Span1 (" title ") +"<b>"+ A1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. moveYear) window. opener. moveYear (-10) '> & laquo; "+ a1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. moveYear) window. opener. moveYear (-1) '> interval ‹</b>"+ Span2 +"</td><td width='"+titleWidth+"'><b>"+ Span1 (" title ") + yy + span2 +"</b></td><td align='left'>"+ Span1 (" title ") +"<b>"+ A1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. moveYear) window. opener. moveYear (1) '> › "+ a1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. moveYear) window. opener. moveYear (10) '> & raquo;</b>"+ Span2 +"</td></tr><tr align='center' valign='middle'><td align='right'>"+ Span1 (" title ") +"<b>"+ A1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. prepMonth) window. opener. prepMonth ("+ d. getMonth () +") '> interval ‹</b>"+ Span2 +"</td><td width='"+titleWidth+"'><b>"+ Span1 (" title ") + mm + span2 +"</b></td><td align='left'>"+ Span1 (" title ") +"<b>"+ A1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. nextMonth) window. opener. nextMonth ("+ d. getMonth () +") '> ›</b>"+ Span2 +"</td></tr></table>N</td></tr><tr align='center' bgcolor='"+daysColor+"'>";} Else {s ="<tr align='center' bgcolor='"+titleColor+"'><td colspan='7'>N<table cellpadding='0' cellspacing='0' border='0'><tr align='center' valign='middle'><td>"+ Span1 (" title ") +"<b>"+ A1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. moveYear) window. opener. moveYear (-1) '> & laquo; "+ a1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. prepMonth) window. opener. prepMonth ("+ d. getMonth () +") '> interval ‹</b>"+ Span2 +"</td><td width='"+titleWidth+"'><nobr><b>"+ Span1 (" title ") + mm +" "+ yy + span2 +"</b></nobr></td><td>"+ Span1 (" title ") +"<b>"+ A1 (" titlea ") +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. nextMonth) window. opener. nextMonth ("+ d. getMonth () + ") '> ›" + a1 ("titlea") + "'javascript: if (window. opener &&! Window. opener. closed & window. opener. moveYear) window. opener. moveYear (1) '> & raquo;</b>"+ Span2 +"</td></tr></table>N</td></tr><tr align='center' bgcolor='"+daysColor+"'>";}For (var I = weekDay; I<weekDay+7; i++) { s+="<td width='"+dayWidth+"'>"+span1("days")+dayDisplay(i)+span2+"</td>"; } s+="</tr>"; return s;}function calHeader() { return "<head>n<title>"+currentCal.title+"</title>n<style type='text/css'>n"+spanx("title",titleFontColor)+spanx("days",daysFontColor)+spanx("foot",footColor)+spanx("day",dayFontColor)+spanx("currentDay",currentDayFontColor)+ax("titlea",titleFontColor)+ax("daya",dayFontColor)+ax("currenta",currentDayFontColor)+ax("foota",footFontColor)+"</style>n</head>n<body>n<table align='center' border='0' bgcolor='"+borderColor+"' cellspacing='0' cellpadding='1'><tr><td>n<table cellspacing='1' cellpadding='3' border='0'>";}function calFooter() { return "<tr bgcolor='"+footColor+"'><td colspan='7' align='center'>"+span1("foot")+"<b>"+a1("foota")+"'javascript:if (window.opener && !window.opener.closed && window.opener.hideCal) window.opener.hideCal()'>"+yxLinks[0]+" "+a1("foota")+"'javascript:if (window.opener && !window.opener.closed && window.opener.clearDate) window.opener.clearDate()'>"+yxLinks[1]+"</b>"+span2+"</td></tr></table>n</td></tr></table>n</body>";}function calBody(d,day) { var s="", dayCount=1, fd=firstDay(d), ld=lastDay(d); if (weekDay >0 & fd = 0) {fd = 7 ;}for (var I = 0; I <6; I ++) {s + ="<tr align='center' bgcolor='"+bodyColor+"'>"; For (var j = weekDay; j<weekDay+7; j++) { if (i*7+j<fd || dayCount>Ld) {s + ="<td>"+ Span1 (" day ") +" "+ span2 +"</td>";}Else {var bgColor = dayColor; var fgTag =" day "; var fgTagA =" daya "; if (dayCount = day) {bgColor = currentDayColor; fgTag = "currentDay"; fgTagA = "currenta";} s + ="<td bgcolor='"+bgColor+"'>"+ Span1 (fgTag) + a1 (fgTagA) +" 'javascript: if (window. opener &&! Window. opener. closed & window. opener. pickDate) window. opener. pickDate ("+ dayCount +") '> "+ (dayCount ++) +" "+ span2 +"</td>";}} S + ="</tr>";}Return s ;}function moveYear (dy) {cY + = dy; var nd = new Date (cY, cM, 1); changeCal (nd );} function prepMonth (m) {cM = M-1; if (cM <0) {cM = 11; cY --;} var nd = new Date (cY, cM, 1 ); changeCal (nd);} function nextMonth (m) {cM = m + 1; if (cM> 11) {cM = 0; cY ++ ;} var nd = new Date (cY, cM, 1); changeCal (nd);} function changeCal (d) {var dd = 0; if (currentCal! = Null) {var calRE = getFormat (); if (currentCal. form [currentCal. field]. value! = "" & CalRE. test (currentCal. form [currentCal. field]. value) {var cd = getDateNumbers (currentCal. form [currentCal. field]. value); if (cd [0] = d. getFullYear () & cd [1] = d. getMonth () {dd = cd [2] ;}} else {var cd = new Date (); if (cd. getFullYear () = d. getFullYear () & cd. getMonth () = d. getMonth () {dd = cd. getDate () ;}} var calendar = calHeader () + calTitle (d) + calBody (d, dd) + calFooter (); calWin.doc u Ment. open (); calWin.doc ument. write (calendar); calWin.doc ument. close ();} function markClick (e) {if (isIE | isOpera6) {winX = event. screenX; winY = event. screenY;} else if (isN4 | isN6) {winX = e. screenX; winY = e. screenY; document. routeEvent (e) ;}return true;} function showCal (name) {var lastCal = currentCal; var d = new Date (), hasCal = false; currentCal = findCalendar (name ); if (currentCal! = Null & currentCal. form! = Null & currentCal. form [currentCal. field]) {var calRE = getFormat (); if (currentCal. form [currentCal. field]. value! = "" & CalRE. test (currentCal. form [currentCal. field]. value) {var cd = getDateNumbers (currentCal. form [currentCal. field]. value); d = new Date (cd [0], cd [1], cd [2]); cY = cd [0]; cM = cd [1]; dd = cd [2];} else {cY = d. getFullYear (); cM = d. getMonth (); dd = d. getDate ();} var calendar = calHeader () + calTitle (d) + calBody (d, dd) + calFooter (); if (calWin! = Null &&! CalWin. closed) {hasCal = true; calWin. moveTo (winX + calOffsetX, winY + calOffsetY);} if (! HasCal) {if (isIE | isOpera6) {calWin = window. open ("", "cal", "toolbar = 0, width =" + calWidth + ", height =" + calHeight + ", left =" + (winX + calOffsetX) + ", top =" + (winY + calOffsetY);} else {calWin = window. open ("", "cal", "toolbar = 0, width =" + calWidth + ", height =" + calHeight + ", screenx =" + (winX + calOffsetX) + ", screeny =" + (winY + calOffsetY) ;}} calWin.doc ument. open (); calWin.doc ument. write (calendar); calWin.doc ument. close (); c AlWin. focus () ;}else {if (currentCal = null) {window. status = "Calendar [" + name + "] not found." ;}else if (! CurrentCal. form) {window. status = "Form [" + currentCal. formName + "] not found.";} else if (! CurrentCal. form [currentCal. field]) {window. status = "Form Field [" + currentCal. formName + ". "+ currentCal. field + "] not found. ";} if (lastCal! = Null) {currentCal = lastCal ;}} function get2Digits (n) {return (n <10 )? "0": "") + n;} function clearDate () {currentCal. form [currentCal. field]. value = ""; hideCal ();} function pickDate (d) {hideCal (); window. focus (); var date = calFormat; date = date. replace (/yyyy/I, cY); date = date. replace (/mm/I, get2Digits (cM + 1); date = date. replace (/MON/, yxMonths [cM]. substring (0, 3 ). toUpperCase (); date = date. replace (/Mon/I, yxMonths [cM]. substring (0, 3); date = date. replace (/dd/I, get2Di Gits (d); date = date. replace (/DAY/, getDayName (cY, cM, d ). toUpperCase (); date = date. replace (/day/I, getDayName (cY, cM, d); currentCal. form [currentCal. field]. value = date; // IE5/Mac needs focus to show the value, weird. currentCal. form [currentCal. field]. focus ();} // ------ // user functionsfunction checkDate (name) {var thisCal = findCalendar (name); if (thisCal! = Null & thisCal. form! = Null & thisCal. form [thisCal. field]) {var calRE = getFormat (); if (calRE. test (thisCal. form [thisCal. field]. value) {return 0;} else {return 1 ;}} else {return 2 ;}} function getCurrentDate () {var date = calFormat, d = new Date (); date = date. replace (/yyyy/I, d. getFullYear (); date = date. replace (/mm/I, get2Digits (d. getMonth () + 1); date = date. replace (/dd/I, get2Digits (d. getDate (); return dat E;} function compareDates (date1, date2) {var calRE = getFormat (); var d1, d2; if (calRE. test (date1) {d1 = getNumbers (date1);} else {d1 = getNumbers (getCurrentDate ();} if (calRE. test (date2) {d2 = getNumbers (date2);} else {d2 = getNumbers (getCurrentDate ());} var dStr1 = d1 [0] + "" + d1 [1] + "" + d1 [2]; var dStr2 = d2 [0] + "" + d2 [1] + "" + d2 [2]; if (dStr1 = dStr2) {return 0;} else if (DStr1> dStr2) {return 1;} else {return-1 ;}} function getNumbers (date) {var calRE = getFormat (); var y, m, d; if (calRE. test (date) {var yIdx = calFormat. search (/yyyy/I); var mIdx = calFormat. search (/mm/I); var m3Idx = calFormat. search (/mon/I); var dIdx = calFormat. search (/dd/I); y = date. substring (yIdx, yIdx + 4); if (mIdx! =-1) {m = date. substring (mIdx, mIdx + 2);} else {var mm = getMonthFromName (date. substring (m3Idx, m3Idx + 3) + 1; m = (mm <10 )? ("0" + mm) :( "" + mm);} d = date. substring (dIdx, dIdx + 2); return new Array (y, m, d);} else {return new Array ("","","");}} // ------ if (isN4 | isN6) {document. captureEvents (Event. CLICK);} document. onclick = markClick;</script><script language="javascript">// Define calendar (s): addCalendar ("Unique Calendar Name", "Window title", "Form element's name", Form name ") addCalendar (" Calendar1 ", "Select Date", "firstinput", "sampleform"); addCalendar ("Calendar2", "Select Date", "secondinput", "sampleform "); // default settings for English // Uncomment desired lines and modify its values // setFont ("verdana", 9); setWidth (90, 1, 15, 1 ); // setColor ("# cccccc", "# cccccc", "# ffffff", "# ffffff", "#333333", "# cccccc", "#333333 "); // setFontColor ("#333333", "#333333", "#333333", "# ffffff", "#333333 "); // setFormat ("yyyy/mm/dd"); // setSize (200,200,-200, 16); // setWeekDay (0); // setMonthNames ("January ", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November ", "December"); // setDayNames ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday "); // setLinkNames ("[Close]", "[Clear]");</script><form name="sampleform"><input type="text" name="firstinput" size=20> <small>Select date 1</small><p><input type="text" name="secondinput" size=20> <small>Select date 2</small></form></body></html>
Tip: you can modify some code before running

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.