[x]
Posted via EE Mobile

Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again.

Question
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

8.2

onclick problem -- Netscape and FF

Asked by tahirjadoon in JavaScript

Tags: ling, tan, javascript

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()
 
Loading Advertisement...
 
[+][-]06/06/06 06:56 PM, ID: 16848519Author Comment

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 30-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]06/06/06 07:20 PM, ID: 16848611Author Comment

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 30-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]06/21/06 09:40 AM, ID: 16953081Accepted Solution

View this solution now by starting your 30-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

About this solution

Zone: JavaScript
Tags: ling, tan, javascript
Sign Up Now!
Solution Provided By: EE_AutoDeleter
Participating Experts: 1
Solution Grade: A
 
 
Loading Advertisement...
20091111-EE-VQP-89