Another Calendar : Calendar « GUI Components « JavaScript DHTML

JavaScript DHTML
1. Ajax Layer
2. Data Type
3. Date Time
4. Development
5. Document
6. Dojo toolkit
7. Event
8. Event onMethod
9. Ext JS
10. Form Control
11. GUI Components
12. HTML
13. Javascript Collections
14. Javascript Objects
15. Javascript Properties
16. jQuery
17. Language Basics
18. Mochkit
19. Mootools
20. Node Operation
21. Object Oriented
22. Page Components
23. Rico
24. Scriptaculous
25. Security
26. SmartClient
27. Style Layout
28. Table
29. Utilities
30. Window Browser
31. YUI Library
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
JavaScript DHTML » GUI Components » Calendar 
Another Calendar
 
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>

<script language="JavaScript">
//  written  by Tan Ling  Wee  on 2 Dec 2001
//  last updated 28 Mar 2002
//  email :  info@sparrowscripts.com
//  url : www.sparrowscripts.com

  var  fixedX = -1      // x position (-1 if to appear below control)
  var  fixedY = -1      // y position (-1 if to appear below control)
  var startAt = 1      // 0 - sunday ; 1 - monday
  var showWeekNumber = 1  // 0 - don't show; 1 - show
  var showToday = 1    // 0 - don't show; 1 - show
  var imgDir = ""      // directory for images ... e.g. var imgDir="/img/"

  var gotoString = "Go To Current Month"
  var todayString = "Today is"
  var weekString = "Wk"
  var scrollLeftMessage = "Click to scroll to previous month. Hold mouse button to scroll automatically."
  var scrollRightMessage = "Click to scroll to next month. Hold mouse button to scroll automatically."
  var selectMonthMessage = "Click to select a month."
  var selectYearMessage = "Click to select a year."
  var selectDateMessage = "Select [date] as date." // do not replace [date], it will be replaced by date.

  var  crossobj, crossMonthObj, crossYearObj, monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected, monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear

  var  bPageLoaded=false
  var  ie=document.all
  var  dom=document.getElementById

  var  ns4=document.layers
  var  today =  new  Date()
  var  dateNow   = today.getDate()
  var  monthNow = today.getMonth()
  var  yearNow   = today.getYear()
  var  imgsrc = new Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right2.gif")
  var  img  = new Array()

  function HolidayRec (d, m, y, desc)
  {
    this.d = d
    this.m = m
    this.y = y
    this.desc = desc
  }

  var HolidaysCounter = 0
  var Holidays = new Array()

  function addHoliday (d, m, y, desc)
  {
    Holidays[HolidaysCounter++new HolidayRec d, m, y, desc )
  }

  if (dom)
  {
    for  (i=0;i<imgsrc.length;i++)
    {
      img[inew Image
      img[i].src = imgDir + imgsrc[i]
    }
    document.write ("<div id='calendar'  style='position:absolute;visibility:hidden;'><table  width="+((showWeekNumber==1)?250:220)+" style='font-family:arial;font-size:11px;border-width:1;border-style:solid;border-color:#a0a0a0;font-family:arial; font-size:11px}' bgcolor='#ffffff'><tr bgcolor='#0000aa'><td><table width='"+((showWeekNumber==1)?248:218)+"'><tr><td style='padding:2px;font-family:arial; font-size:11px;'><font color='#ffffff'><B><span id='caption'></span></B></font></td><td align=right><a href='javascript:hideCalendar()'><IMG SRC='"+imgDir+"close.gif' WIDTH='15' HEIGHT='13' BORDER='0' ALT='Close the Calendar'></a></td></tr></table></td></tr><tr><td style='padding:5px' bgcolor=#ffffff><span id='content'></span></td></tr>")
      
    if (showToday==1)
    {
      document.write ("<tr bgcolor=#f0f0f0><td style='padding:5px' align=center><span id='lblToday'></span></td></tr>")
    }
      
    document.write ("</table></div><div id='selectMonth' style='position:absolute;visibility:hidden;'></div><div id='selectYear'  style='position:absolute;visibility:hidden;'></div>");
  }

  var  monthName =  new  Array("January","February","March","April","May","June","July","August","September","October","November","December")
  if (startAt==0)
  {
    dayName = new Array  ("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
  }
  else
  {
    dayName = new Array  ("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
  }
  var  styleAnchor="text-decoration:none;color:black;"
  var  styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;"

  function swapImage(srcImg, destImg){
    if (ie)  { document.getElementById(srcImg).setAttribute("src",imgDir + destImg) }
  }

  function init()  {
    if (!ns4)
    {
      if (!ie) { yearNow += 1900  }

      crossobj=(dom)?document.getElementById("calendar").style : ie? document.all.calendar : document.calendar
      hideCalendar()

      crossMonthObj=(dom)?document.getElementById("selectMonth").style : ie? document.all.selectMonth  : document.selectMonth

      crossYearObj=(dom)?document.getElementById("selectYear").style : ie? document.all.selectYear : document.selectYear

      monthConstructed=false;
      yearConstructed=false;

      if (showToday==1)
      {
        document.getElementById("lblToday").innerHTML =  todayString + " <a onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' style='"+styleAnchor+"' href='javascript:monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>"+dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " + dateNow + " " + monthName[monthNow].substring(0,3)  "  " +  yearNow  + "</a>"
      }

      sHTML1="<span id='spanLeft'  style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer' onmouseover='swapImage(\"changeLeft\",\"left2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+scrollLeftMessage+"\"' onclick='javascript:decMonth()' onmouseout='clearInterval(intervalID1);swapImage(\"changeLeft\",\"left1.gif\");this.style.borderColor=\"#3366FF\";window.status=\"\"' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartDecMonth()\",500)'  onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG id='changeLeft' SRC='"+imgDir+"left1.gif' width=10 height=11 BORDER=0>&nbsp</span>&nbsp;"
      sHTML1+="<span id='spanRight' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer'  onmouseover='swapImage(\"changeRight\",\"right2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+scrollRightMessage+"\"' onmouseout='clearInterval(intervalID1);swapImage(\"changeRight\",\"right1.gif\");this.style.borderColor=\"#3366FF\";window.status=\"\"' onclick='incMonth()' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartIncMonth()\",500)'  onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG id='changeRight' SRC='"+imgDir+"right1.gif'  width=10 height=11 BORDER=0>&nbsp</span>&nbsp"
      sHTML1+="<span id='spanMonth' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer'  onmouseover='swapImage(\"changeMonth\",\"drop2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+selectMonthMessage+"\"' onmouseout='swapImage(\"changeMonth\",\"drop1.gif\");this.style.borderColor=\"#3366FF\";window.status=\"\"' onclick='popUpMonth()'></span>&nbsp;"
      sHTML1+="<span id='spanYear' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer' onmouseover='swapImage(\"changeYear\",\"drop2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+selectYearMessage+"\"'  onmouseout='swapImage(\"changeYear\",\"drop1.gif\");this.style.borderColor=\"#3366FF\";window.status=\"\"'  onclick='popUpYear()'></span>&nbsp;"
      
      document.getElementById("caption").innerHTML  =  sHTML1

      bPageLoaded=true

      //Calling a calendar function and passing the name of the text 
      //box which holds the date field. Added by D.T.
      popUpCalendar(this, opener.txtDate, 'm/d/yyyy')
    }
  }

  function hideCalendar()  {
    crossobj.visibility="hidden"
    if (crossMonthObj != null){crossMonthObj.visibility="hidden"}
    if (crossYearObj !=  null){crossYearObj.visibility="hidden"}

    //Closing a popup window when user clicked 'x', close the calendar. Added by D.T.
    self.closed
  }

  function padZero(num) {
    return (num  < 10)'0' + num : num ;
  }

  function constructDate(d,m,y)
  {
    sTmp = dateFormat
    sTmp = sTmp.replace  ("dd","<e>")
    sTmp = sTmp.replace  ("d","<d>")
    sTmp = sTmp.replace  ("<e>",padZero(d))
    sTmp = sTmp.replace  ("<d>",d)
    sTmp = sTmp.replace  ("mmm","<o>")
    sTmp = sTmp.replace  ("mm","<n>")
    sTmp = sTmp.replace  ("m","<m>")
    sTmp = sTmp.replace  ("<m>",m+1)
    sTmp = sTmp.replace  ("<n>",padZero(m+1))
    sTmp = sTmp.replace  ("<o>",monthName[m])
    return sTmp.replace ("yyyy",y)
  }

  function closeCalendar() {
    var  sTmp

    hideCalendar();
    ctlToPlaceValue.value =  constructDate(dateSelected,monthSelected,yearSelected)

    //Closing popup window when date is selected. Added By D.T.
    self.close()
  }

  /*** Month Pulldown  ***/

  function StartDecMonth()
  {
    intervalID1=setInterval("decMonth()",80)
  }

  function StartIncMonth()
  {
    intervalID1=setInterval("incMonth()",80)
  }

  function incMonth () {
    monthSelected++
    if (monthSelected>11) {
      monthSelected=0
      yearSelected++
    }
    constructCalendar()
  }

  function decMonth () {
    monthSelected--
    if (monthSelected<0) {
      monthSelected=11
      yearSelected--
    }
    constructCalendar()
  }

  function constructMonth() {
    popDownYear()
    if (!monthConstructed) {
      sHTML =  ""
      for  (i=0; i<12;  i++) {
        sName =  monthName[i];
        if (i==monthSelected){
          sName =  "<B>" +  sName +  "</B>"
        }
        sHTML += "<tr><td id='m" + i + "' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='monthConstructed=false;monthSelected=" + i + ";constructCalendar();popDownMonth();event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
      }

      document.getElementById("selectMonth").innerHTML = "<table width=70  style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#a0a0a0;' bgcolor='#FFFFDD' cellspacing=0 onmouseover='clearTimeout(timeoutID1)'  onmouseout='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"popDownMonth()\",100);event.cancelBubble=true'>" +  sHTML +  "</table>"

      monthConstructed=true
    }
  }

  function popUpMonth() {
    constructMonth()
    crossMonthObj.visibility = (dom||ie)"visible"  "show"
    crossMonthObj.left = parseInt(crossobj.left50
    crossMonthObj.top =  parseInt(crossobj.top26
  }

  function popDownMonth()  {
    crossMonthObj.visibility= "hidden"
  }

  /*** Year Pulldown ***/

  function incYear() {
    for  (i=0; i<7; i++){
      newYear  = (i+nStartingYear)+1
      if (newYear==yearSelected)
      txtYear =  "&nbsp;<B>"  + newYear +  "</B>&nbsp;" }
      else
      txtYear =  "&nbsp;" + newYear + "&nbsp;" }
      document.getElementById("y"+i).innerHTML = txtYear
    }
    nStartingYear ++;
  }

  function decYear() {
    for  (i=0; i<7; i++){
      newYear  = (i+nStartingYear)-1
      if (newYear==yearSelected)
      txtYear =  "&nbsp;<B>"  + newYear +  "</B>&nbsp;" }
      else
      txtYear =  "&nbsp;" + newYear + "&nbsp;" }
      document.getElementById("y"+i).innerHTML = txtYear
    }
    nStartingYear --;
  }

  function selectYear(nYear) {
    yearSelected=parseInt(nYear+nStartingYear);
    yearConstructed=false;
    constructCalendar();
    popDownYear();
  }

  function constructYear() {
    popDownMonth()
    sHTML =  ""
    if (!yearConstructed) {

      sHTML =  "<tr><td align='center'  onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID1);this.style.backgroundColor=\"\"' style='cursor:pointer'  onmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear()\",30)' onmouseup='clearInterval(intervalID1)'>-</td></tr>"

      j =  0
      nStartingYear =  yearSelected-3
      for  (i=(yearSelected-3); i<=(yearSelected+3); i++) {
        sName =  i;
        if (i==yearSelected){
          sName =  "<B>" +  sName +  "</B>"
        }

        sHTML += "<tr><td id='y" + j + "' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='selectYear("+j+");event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
        j ++;
      }

      sHTML += "<tr><td align='center' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID2);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear()\",30)'  onmouseup='clearInterval(intervalID2)'>+</td></tr>"

      document.getElementById("selectYear").innerHTML  = "<table width=44 style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#a0a0a0;'  bgcolor='#FFFFDD' onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownYear()\",100)' cellspacing=0>"  + sHTML  + "</table>"

      yearConstructed  = true
    }
  }

  function popDownYear() {
    clearInterval(intervalID1)
    clearTimeout(timeoutID1)
    clearInterval(intervalID2)
    clearTimeout(timeoutID2)
    crossYearObj.visibility= "hidden"
  }

  function popUpYear() {
    var  leftOffset

    constructYear()
    crossYearObj.visibility  = (dom||ie)"visible" "show"
    leftOffset = parseInt(crossobj.left+ document.getElementById("spanYear").offsetLeft
    if (ie)
    {
      leftOffset += 6
    }
    crossYearObj.left =  leftOffset
    crossYearObj.top = parseInt(crossobj.top+  26
  }

  /*** calendar ***/

  function WeekNbr(today)
    {
    Year = takeYear(today);
    Month = today.getMonth();
    Day = today.getDate();
    now = Date.UTC(Year,Month,Day+1,0,0,0);
    var Firstday = new Date();
    Firstday.setYear(Year);
    Firstday.setMonth(0);
    Firstday.setDate(1);
    then = Date.UTC(Year,0,1,0,0,0);
    var Compensation = Firstday.getDay();
    if (Compensation > 3Compensation -= 4;
    else Compensation += 3;
    NumberOfWeek =  Math.round((((now-then)/86400000)+Compensation)/7);
    return NumberOfWeek;
  }

  function takeYear(theDate)
  {
    x = theDate.getYear();
    var y = x % 100;
    y += (y < 382000 1900;
    return y;
  }


  function constructCalendar () {
    var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31)

    var dateMessage
    var  startDate =  new  Date (yearSelected,monthSelected,1)
    var endDate

    if (monthSelected==1)
    {
      endDate  = new Date (yearSelected,monthSelected+1,1);
      endDate  = new Date (endDate  - (24*60*60*1000));
      numDaysInMonth = endDate.getDate()
    }
    else
    {
      numDaysInMonth = aNumDays[monthSelected];
    }

    datePointer  = 0
    dayPointer = startDate.getDay() - startAt
    
    if (dayPointer<0)
    {
      dayPointer = 6
    }

    sHTML =  "<table   border=0 style='font-family:verdana;font-size:10px;'><tr>"

    if (showWeekNumber==1)
    {
      sHTML += "<td width=27><b>" + weekString + "</b></td><td width=1 rowspan=7 bgcolor='#d0d0d0' style='padding:0px'><img src='"+imgDir+"divider.gif' width=1></td>"
    }

    for  (i=0; i<7; i++)  {
      sHTML += "<td width='27' align='right'><B>"+ dayName[i]+"</B></td>"
    }
    sHTML +="</tr><tr>"
    
    if (showWeekNumber==1)
    {
      sHTML += "<td align=right>" + WeekNbr(startDate"&nbsp;</td>"
    }

    for  var i=1; i<=dayPointer;i++ )
    {
      sHTML += "<td>&nbsp;</td>"
    }
  
    for  datePointer=1; datePointer<=numDaysInMonth; datePointer++ )
    {
      dayPointer++;
      sHTML += "<td align=right>"
      sStyle=styleAnchor
      if ((datePointer==odateSelected&&  (monthSelected==omonthSelected)  && (yearSelected==oyearSelected))
      sStyle+=styleLightBorder }

      sHint = ""
      for (k=0;k<HolidaysCounter;k++)
      {
        if ((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1)))
        {
          if ((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
          {
            sStyle+="background-color:#FFDDDD;"
            sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
          }
        }
      }

      var regexp= /\"/g
      sHint=sHint.replace(regexp,"&quot;")

      dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "

      if ((datePointer==dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow))
      sHTML += "<b><a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer+";closeCalendar();'><font color=#ff0000>&nbsp;" + datePointer + "</font>&nbsp;</a></b>"}
      else if  (dayPointer % == (startAt * -1)+1)
      sHTML += "<a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer + ";closeCalendar();'>&nbsp;<font color=#909090>" + datePointer + "</font>&nbsp;</a>" }
      else
      sHTML += "<a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer + ";closeCalendar();'>&nbsp;" + datePointer + "&nbsp;</a>" }

      sHTML += ""
      if ((dayPointer+startAt== startAt) { 
        sHTML += "</tr><tr>" 
        if ((showWeekNumber==1)&&(datePointer<numDaysInMonth))
        {
          sHTML += "<td align=right>" (WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) "&nbsp;</td>"
        }
      }
    }

    document.getElementById("content").innerHTML   = sHTML
    document.getElementById("spanMonth").innerHTML = "&nbsp;" +  monthName[monthSelected"&nbsp;<IMG id='changeMonth' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
    document.getElementById("spanYear").innerHTML =  "&nbsp;" + yearSelected  + "&nbsp;<IMG id='changeYear' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
  }

  function popUpCalendar(ctl,  ctl2, format) {
    var  leftpos=0
    var  toppos=0

    if (bPageLoaded)
    {
      if crossobj.visibility ==  "hidden" ) {
        ctlToPlaceValue  = ctl2
        dateFormat=format;

        formatChar = " "
        aFormat  = dateFormat.split(formatChar)
        if (aFormat.length<3)
        {
          formatChar = "/"
          aFormat  = dateFormat.split(formatChar)
          if (aFormat.length<3)
          {
            formatChar = "."
            aFormat  = dateFormat.split(formatChar)
            if (aFormat.length<3)
            {
              formatChar = "-"
              aFormat  = dateFormat.split(formatChar)
              if (aFormat.length<3)
              {
                // invalid date  format
                formatChar=""
              }
            }
          }
        }

        tokensChanged =  0
        if formatChar  != "" )
        {
          // use user's date
          aData =  ctl2.value.split(formatChar)

          for  (i=0;i<3;i++)
          {
            if ((aFormat[i]=="d"|| (aFormat[i]=="dd"))
            {
              dateSelected = parseInt(aData[i]10)
              tokensChanged ++
            }
            else if  ((aFormat[i]=="m"|| (aFormat[i]=="mm"))
            {
              monthSelected =  parseInt(aData[i]101
              tokensChanged ++
            }
            else if  (aFormat[i]=="yyyy")
            {
              yearSelected = parseInt(aData[i]10)
              tokensChanged ++
            }
            else if  (aFormat[i]=="mmm")
            {
              for  (j=0; j<12;  j++)
              {
                if (aData[i]==monthName[j])
                {
                  monthSelected=j
                  tokensChanged ++
                }
              }
            }
          }
        }

        if ((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected))
        {
          dateSelected = dateNow
          monthSelected =  monthNow
          yearSelected = yearNow
        }

        odateSelected=dateSelected
        omonthSelected=monthSelected
        oyearSelected=yearSelected

        /* Commented by D.T.  
          aTag = ctl
          do {
            aTag = aTag.offsetParent;
            leftpos  += aTag.offsetLeft;
            toppos += aTag.offsetTop;
          } while(aTag.tagName!="BODY");

          crossobj.left =  fixedX==-1 ? ctl.offsetLeft  + leftpos :  fixedX
          crossobj.top = fixedY==-1 ?  ctl.offsetTop +  toppos + ctl.offsetHeight +  2 :  fixedY
        */
        
        //Setting left and top of the calendar in a popUp window. Added by D.T.

        constructCalendar (1, monthSelected, yearSelected);
        crossobj.visibility=(dom||ie)"visible" "show"
      }
      else
      {
        hideCalendar()
        if (ctlNow!=ctl) {popUpCalendar(ctl, ctl2, format)}
      }
      ctlNow = ctl
    }
  }
  window.onload=init
  </script>
</HEAD>
<BODY>
<script language="javascript">

function window_open()
{
var newWindow;
var urlstring = 'calendar.htm'
newWindow = window.open(urlstring,'','height=200,width=280,toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no')
}

</script>

<input type=text name='txtDate'><input type=button onClick="window_open()" value='...'>
</BODY>
</HTML>


           
         
  
popwincal.zip( 10 k)
Related examples in the same category
1. HTML Calendar based on DynAPI
2. JavaScript Date Picker based on ComboBox
3. Calendar Control - Single-Select Implementation
4. Calendar Control - 2-Up Implementation
5. Calendar Control - Handling onSelect / onDeselect
6. Calendar Control - Mix/Max Implementation
7. Calendar Control - Multi-Select Implementation
8. Calendar Control - Multi-Select 2-up Implementation
9. Calendar Control - Custom Renderer Example (Holiday Renderer Implementation)
10. Calendar Control - Date Restriction Example (Date Restriction Implementation)
11. Calendar Control - Row Highlight Example (Row Highlight Implementation)
12. Popup calendar
13. Month Calendar
14. Popup Calendar for a textfield
15. Multiselection Calendar
16. Free Date Picker : An easy plugin to add a date picker (calendar) in your web site
17. HTML Date Picker
18. Date Picker in new window
19. All browser Calendar
20. DHTML Calendar for the impatient
21. Calendar: special day
22. Calendar: day info
23. Calendar: Multiple day selection
24. Calendar with different theme
25. Calendar with image for each month
26. Fancy Calendar
27. Date Time Picker
28. Month Calendar (2)
29. Building a Calculator
30. A Dynamic Calendar Table
31. Dynamic HTML Calendar
32.  A Static Calendar by JavaScript
33. Displaying the Calendar
34. Calendar (IE only)
35. Calendar in slide tab
36. Another DHTML Calendar
37. Event Calendar
38. Open calendar
39. swazz calendar 1.0
40. jquery calendar
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.