• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2515
  • Last Modified:

onclick problem -- Netscape and FF

I have dowloaded a calender control ASP.NET 2.0 and have made slight modification:

1. provided clear button
2. Can show or hide the clear button
3. can lock/unlock the text box where the date selected will display

When i click the button to pop up the calender or to clear the date in the text box, nothing happens in FF or netscape, IE is working fine.

**************
*** CONTROL ***
**************
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="CalenderJSControl.ascx.vb" Inherits="CalenderJSControl" %>
<link href="styles/popcalendar.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="js/popcalendar.js"></script>


<TABLE id="tbl_control" cellSpacing="0" cellPadding="0" border="0">
      <TR>
            <TD align="middle"><asp:textbox id="txt_Date" runat="server" Columns="6"></asp:textbox>
            <TD><asp:image id="imgCalendar" runat="server" ImageUrl="images/calendar.gif" CssClass="TurnToHand" AlternateText="Show Calender"></asp:image><asp:image id="imgClear" runat="server" ImageUrl="images/clear.gif" CssClass="TurnToHand" AlternateText="Clear"></asp:image></TD>
      </TR>
</TABLE>

**************************
*** Control Code Behind Page ***
**************************
Partial Class CalenderJSControl
    Inherits System.Web.UI.UserControl

    Private blnShowClearButton = True

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Put user code to initialize the page here
        Dim scriptStr As String = _
        "javascript:return popUpCalendar(this," & getClientID() & ", 'mm/dd/yyyy', '__doPostBack(\'" & getClientID() & "\')')"
        imgCalendar.Attributes.Add("onclick", scriptStr)

        If blnShowClearButton Then
            Dim scriptStrClear As String = _
            "javascript:return popUpCalendarClear(this," & getClientID() & ", '__doPostBack(\'" & getClientID() & "\')')"
            imgClear.Attributes.Add("onclick", scriptStrClear)
        Else
            imgClear.Visible = False
        End If
    End Sub

    ' Get the id of the control rendered on client side
    ' Very essential for Javascript Calendar scripts to locate the textbox
    Public Function getClientID() As String
        Return txt_Date.ClientID()
    End Function

    ' This propery sets/gets the calendar date
    Public Property CalendarDate() As String
        Get
            Return txt_Date.Text
        End Get
        Set(ByVal Value As String)
            txt_Date.Text = Value
        End Set
    End Property
    ' This property locks the text box, by defualt it is not
    Public Property CalenderLocked() As Boolean
        Get
            Return txt_Date.Enabled
        End Get
        Set(ByVal value As Boolean)
            txt_Date.Enabled = True
            txt_Date.CssClass = "DateEnabledBG"
            If value Then
                txt_Date.Enabled = False
                txt_Date.CssClass = "DateNotEnabledBG"
            End If
        End Set
    End Property
    'This is to show the clear button
    Public Property CalenderClearButtonVisible() As Boolean
        Get
            Return blnShowClearButton
        End Get
        Set(ByVal value As Boolean)
            blnShowClearButton = value
        End Set
    End Property
End Class

************
*** JS File ***
************

//      written      by Tan Ling      Wee      on 2 Dec 2001
//      last updated 10 Apr 2002
//      email :      fuushikaden@yahoo.com
//  Modified (very little) by Sai on 01/02/05
//  email :      sai_freelance@yahoo.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 = 0 // 0 - sunday ; 1 - monday
      var showWeekNumber = 1      // 0 - don't show; 1 - show
      var showToday = 1            // 0 - don't show; 1 - show
      var imgDir = "/calenderusercontrol/images/"      // 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()
      
      var oFunctions = ""

      var bShow = false;

    /* hides <select> and <applet> objects (for IE only) */
    function hideElement( elmID, overDiv )
    {
      if( ie )
      {
        for( i = 0; i < document.all.tags( elmID ).length; i++ )
        {
          obj = document.all.tags( elmID )[i];
          if( !obj || !obj.offsetParent )
          {
            continue;
          }
     
          // Find the element's offsetTop and offsetLeft relative to the BODY tag.
          objLeft   = obj.offsetLeft;
          objTop    = obj.offsetTop;
          objParent = obj.offsetParent;
         
          while( objParent.tagName.toUpperCase() != "BODY" )
          {
            objLeft  += objParent.offsetLeft;
            objTop   += objParent.offsetTop;
            objParent = objParent.offsetParent;
          }
     
          objHeight = obj.offsetHeight;
          objWidth = obj.offsetWidth;

          if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
          else if(( overDiv.offsetTop + overDiv.offsetHeight ) <= objTop );
          else if( overDiv.offsetTop >= ( objTop + objHeight ));
          else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
          else
          {
            obj.style.visibility = "hidden";
          }
        }
      }
    }
     
    /*
    * unhides <select> and <applet> objects (for IE only)
    */
    function showElement( elmID )
    {
      if( ie )
      {
        for( i = 0; i < document.all.tags( elmID ).length; i++ )
        {
          obj = document.all.tags( elmID )[i];
         
          if( !obj || !obj.offsetParent )
          {
            continue;
          }
       
          obj.style.visibility = "";
        }
      }
    }

      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[i] = new Image
                  img[i].src= img + imgsrc[i]
            }
            document.write ("<div onclick='bShow=true' id='calendar'      class='div-style'><table width="+((showWeekNumber==1)?250:220)+" class='table-style'><tr class='title-background-style' ><td><table width='"+((showWeekNumber==1)?248:218)+"'><tr><td class='title-style'><B><span id='caption'></span></B></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 class='body-style'><span id='content'></span></td></tr>")
                  
            if (showToday==1)
            {
                  document.write ("<tr class='today-style'><td><span id='lblToday'></span></td></tr>")
            }
                  
            document.write ("</table></div><div id='selectMonth' class='div-style'></div><div id='selectYear' class='div-style'></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")
      }

      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 class='today-style' onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' 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'  class='title-control-normal-style' onmouseover='swapImage(\"changeLeft\",\"left2.gif\");this.className=\"title-control-select-style\";window.status=\""+scrollLeftMessage+"\"' onclick='javascript:decMonth()' onmouseout='clearInterval(intervalID1);swapImage(\"changeLeft\",\"left1.gif\");this.className=\"title-control-normal-style\";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' class='title-control-normal-style' onmouseover='swapImage(\"changeRight\",\"right2.gif\");this.className=\"title-control-select-style\";window.status=\""+scrollRightMessage+"\"' onmouseout='clearInterval(intervalID1);swapImage(\"changeRight\",\"right1.gif\");this.className=\"title-control-normal-style\";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' class='title-control-normal-style' onmouseover='swapImage(\"changeMonth\",\"drop2.gif\");this.className=\"title-control-select-style\";window.status=\""+selectMonthMessage+"\"' onmouseout='swapImage(\"changeMonth\",\"drop1.gif\");this.className=\"title-control-normal-style\";window.status=\"\"' onclick='popUpMonth()'></span>&nbsp;"
                  sHTML1+="<span id='spanYear'  class='title-control-normal-style' onmouseover='swapImage(\"changeYear\",\"drop2.gif\");this.className=\"title-control-select-style\";window.status=\""+selectYearMessage+"\"'      onmouseout='swapImage(\"changeYear\",\"drop1.gif\");this.className=\"title-control-normal-style\";window.status=\"\"'      onclick='popUpYear()'></span>&nbsp;"
                  
                  document.getElementById("caption").innerHTML  =      sHTML1

                  bPageLoaded=true
            }
      }

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

                  showElement( 'SELECT' );
                  showElement( 'APPLET' );
            }
      }
      

      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)
      }

      /*** 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.className=\"dropdown-select-style\"' onmouseout='this.className=\"dropdown-normal-style\"' onclick='monthConstructed=false;monthSelected=" + i + ";constructCalendar();popDownMonth();event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
                  }

                  document.getElementById("selectMonth").innerHTML = "<table width=70      class='dropdown-style' 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.left) + 50
            crossMonthObj.top =      parseInt(crossobj.top) + 26
      }

      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 ++;
            bShow=true
      }

      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 --;
            bShow=true
      }

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

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

                  sHTML =      "<tr><td align='center'      onmouseover='this.className=\"dropdown-select-style\"' onmouseout='clearInterval(intervalID1);this.className=\"dropdown-normal-style\"' 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.className=\"dropdown-select-style\"' onmouseout='this.className=\"dropdown-normal-style\"' onclick='selectYear("+j+");event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>"
                        j ++;
                  }

                  sHTML += "<tr><td align='center' onmouseover='this.className=\"dropdown-select-style\"' onmouseout='clearInterval(intervalID2);this.className=\"dropdown-normal-style\"' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear()\",30)'      onmouseup='clearInterval(intervalID2)'>+</td></tr>"

                  document.getElementById("selectYear").innerHTML      = "<table width=44 class='dropdown-style' 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 > 3) Compensation -= 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 < 38) ? 2000 : 1900;
            return y;
      }

      function constructCalendar () {
            var dateMessage
            var      startDate =      new      Date (yearSelected,monthSelected,1)
            var      endDate      = new Date (yearSelected,monthSelected+1,1);
            endDate      = new Date (endDate      - (24*60*60*1000));
            numDaysInMonth = endDate.getDate()

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

            sHTML =      "<table      border=0 class='body-style'><tr>"

            if (showWeekNumber==1)
            {
                  sHTML += "<td width=27><b>" + weekString + "</b></td><td width=1 rowspan=7 class='weeknumber-div-style'><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>"

                  var sStyle="normal-day-style"; //regular day

                  if ((datePointer==dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)) //today
                  { sStyle = "current-day-style"; }
                  else if      (dayPointer % 7 == (startAt * -1) +1) //end-of-the-week day
                  { sStyle = "end-of-weekday-style"; }

                  //selected day
                  if ((datePointer==odateSelected) &&      (monthSelected==omonthSelected)      && (yearSelected==oyearSelected))
                  { sStyle += " selected-day-style"; }

                  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 += " holiday-style";
                                    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=\"\"' "

                  sHTML += "<a class='"+sStyle+"' "+dateMessage+" title=\"" + sHint + "\" href='javascript:dateSelected="+datePointer+";closeCalendar();doOtherFunctions();'>&nbsp;" + datePointer + "&nbsp;</a>"

                  sHTML += ""
                  if ((dayPointer+startAt) % 7 == 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 doOtherFunctions(){
            //Comments By Sai
            //if(oFunctions != ""){
            //      eval(oFunctions)
            //}
            
            
      }

      function popUpCalendar(ctl,      ctl2, format, OtherFunctions) {

            var      leftpos=0
            var      toppos=0
            oFunctions = OtherFunctions
            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], 10) - 1
                                          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

                        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
                        constructCalendar (1, monthSelected, yearSelected);
                        crossobj.visibility=(dom||ie)? "visible" : "show"
                        
                        hideElement( 'SELECT', document.getElementById("calendar") );
                        hideElement( 'APPLET', document.getElementById("calendar") );                  

                        bShow = true;
                  }
            }
            else
            {
                  init()
                  popUpCalendar(ctl,      ctl2, format, OtherFunctions)
            }
      }
      function popUpCalendarClear(ctl, ctl2, OtherFunctions)
      {
          ctl2.value = "";
      }
      document.onkeypress = function hidecal1 () {
            if (event.keyCode==27)
            {
                  hideCalendar()
            }
      }
      document.onclick = function hidecal2 () {             
            if (!bShow)
            {
                  hideCalendar()
            }
            bShow = false
      }

      //window.onload=init()
0
tahirjadoon
Asked:
tahirjadoon
  • 2
1 Solution
 
tahirjadoonAuthor Commented:
changed this

scriptStr As String = _
"javascript:return popUpCalendar(this," & getClientID() & ", 'mm/dd/yyyy', '__doPostBack(\'" & getClientID() & "\')')"
imgCalendar.Attributes.Add("onclick", scriptStr)

to

scriptStr As String = _
"javascript:return popUpCalendar(this,document.getElementById(" & getClientID() & "), 'mm/dd/yyyy', '__doPostBack(\'" & getClientID() & "\')')"
imgCalendar.Attributes.Add("onclick", scriptStr)

and my problem is fixed.
0
 
tahirjadoonAuthor Commented:
i forgot to put ' with document.getElementById so here is the updated one

scriptStr As String = _
"javascript:return popUpCalendar(this,document.getElementById('" & getClientID() & "'), 'mm/dd/yyyy', '__doPostBack(\'" & getClientID() & "\')')"
imgCalendar.Attributes.Add("onclick", scriptStr)
0
 
EE_AutoDeleterCommented:
tahirjadoon,
Because you have presented a solution to your own problem which may be helpful to future searches, this question is now PAQed and your points have been refunded.

EE_AutoDeleter
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now