Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 12 of 12
  1. #1
    New Coder
    Join Date
    Aug 2004
    Location
    Philippines
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Question Code for Date and Time Picker that checks sysdate.

    hey guys, i just wana ask if you have the javascript for the date and time picker that checks the system date. Let's say i click on the date and time picker then the calendar will be displayed, what i mean is it will chk the sysdate. the calndar should only display dates that are equal or greater than the system date.

    coz i have this field Target Finish Date and Time, i want all the dates less than the system date be disabled.

  • #2
    Supreme Master coder! glenngv's Avatar
    Join Date
    Jun 2002
    Location
    Philippines
    Posts
    11,075
    Thanks
    0
    Thanked 256 Times in 252 Posts
    Do you mean the system date of the server and not the client? To get the server's date, you need a server-side language to feed the date and time to javascript date. See the sample below in ASP.

    <script type="text/javascript">
    var today = new Date("<%=Now()%>");
    alert(today);
    </script>
    Glenn
    ____________________________________

    My Blog
    Tower of Hanoi Android app (FREE!)
    Tower of Hanoi Leaderboard
    Samegame Facebook App
    vBulletin Plugins
    ____________________________________

  • #3
    New Coder
    Join Date
    Aug 2004
    Location
    Philippines
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts
    yah i want tocompare it with the system date (the computer date).
    can u pls give more example? coz i cant understand what u mean.

    sorry about that!

  • #4
    Supreme Master coder! glenngv's Avatar
    Join Date
    Jun 2002
    Location
    Philippines
    Posts
    11,075
    Thanks
    0
    Thanked 256 Times in 252 Posts
    First things first. Are you using any server-side language like ASP, PHP, JSP, ...? You cannot do it using Javascript alone as it cannot get the server date.
    Glenn
    ____________________________________

    My Blog
    Tower of Hanoi Android app (FREE!)
    Tower of Hanoi Leaderboard
    Samegame Facebook App
    vBulletin Plugins
    ____________________________________

  • #5
    New Coder
    Join Date
    Aug 2003
    Location
    Singapore
    Posts
    94
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Is it ok if you have an input that is readonly to display the current date?

    Then, JavaScript will check the date selected against the Targeted and the Current.

    But this is the assumption that all are in same time zone and validated on the client, not the server.

  • #6
    New Coder
    Join Date
    Aug 2004
    Location
    Philippines
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by glenngv
    First things first. Are you using any server-side language like ASP, PHP, JSP, ...? You cannot do it using Javascript alone as it cannot get the server date.
    im using JSP.
    i can get the sysdate with this code:
    String sysdate = DateFormat.getInstance().format(new Date());
    having the format 8/26/04 9:45 PM

    i have this datepicker whose format is 01-22-04 01:55:59 PM

  • #7
    New Coder
    Join Date
    Aug 2004
    Location
    Philippines
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Anyone?

  • #8
    Banned
    Join Date
    Sep 2003
    Posts
    3,620
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by kblaze
    Anyone?
    What's the question?

    If the problem is the / and -....
    Use javascript replace() to replace one with the other...

    .....Willy

  • #9
    Supreme Master coder! glenngv's Avatar
    Join Date
    Jun 2002
    Location
    Philippines
    Posts
    11,075
    Thanks
    0
    Thanked 256 Times in 252 Posts
    I don't know how your JS Datepicker works but here's the basic idea.

    Change the year format of Java date to 4 digits, otherwise, Javascript will treat 04 as 1904 not 2004.
    Code:
    <%
    SimpleDateFormat dateFormat = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
    String sysdate = dateFormat.format(new Date());
    %>
    <script type="text/javascript">
    var today = new Date("<%=sysdate%>");
    var mm=today.getMonth()+1;
    var dd=today.getDate();
    var yy=today.getFullYear();
    var hh=today.getHours();
    var nn=today.getMinutes();
    var ss=today.getSeconds();
    var ampm = " AM";
    if (mm<10) mm="0"+mm;
    if (dd<10) dd="0"+dd;
    yy = yy.toString().substr(2,2);
    if (hh>=12){
      ampm=" PM";
      if (hh>12) hh-=12;
    }
    if (hh<10) hh="0"+hh;
    if (nn<10) nn="0"+nn;
    if (ss<10) ss="0"+ss;
    var formatedDate = mm+"-"+dd+"-"+yy+" "+hh+":"+mm+":"+ss+ampm;
    alert(formatedDate)
    </script>
    Glenn
    ____________________________________

    My Blog
    Tower of Hanoi Android app (FREE!)
    Tower of Hanoi Leaderboard
    Samegame Facebook App
    vBulletin Plugins
    ____________________________________

  • #10
    New Coder
    Join Date
    Aug 2004
    Location
    Philippines
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts
    i think we guys didnot understand each other.
    ok ok ok for a better view, im gona explain it again.

    take a look at the code below:

    Code:
    <%@ page import="java.text.*, java.util.Date" %>
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="javascript" type="text/javascript" src="datetimepicker.js"></script>
    </head>
    
    <body>
    <%
    	String sysdate = DateFormat.getInstance().format(new Date());
    %>	
    <form name="form1" method="post" action="">
      <p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>System 
        date is: <%=sysdate%> </strong></font></p>
      <p> 
        <input name="txtbox" type="text" id="txtbox" readonly="Yes">
        <a href="javascript:NewCal('txtbox','mmddyyyy',true,12)"><img src="../images/calendar.gif" width="16" height="16" border="0" alt="Pick a date"></a><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
        </font> </p>
      </form>
    </body>
    </html>
    save the code below having a filename datetimepicker.js

    Code:
    //Javascript name: My Date Time Picker
    //Date created: 16-Nov-2003 23:19
    //Scripter: TengYong Ng
    //Website: http://www.rainforestnet.com
    //Copyright (c) 2003 TengYong Ng
    //FileName: DateTimePicker.js
    //Version: 1.7.3
    //Contact: contact@rainforestnet.com
    // Note: Permission given to use this script in ANY kind of applications if
    //       header lines are left unchanged.
    
    //Global variables
    var winCal;
    var dtToday=new Date();
    var Cal;
    var docCal;
    var MonthName=["January", "February", "March", "April", "May", "June","July", 
    	"August", "September", "October", "November", "December"];
    var WeekDayName1=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
    var WeekDayName2=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
    var exDateTime;//Existing Date and Time
    var selDate;//selected date. version 1.7
    
    
    //Configurable parameters
    var cnTop="200";//top coordinate of calendar window.
    var cnLeft="500";//left coordinate of calendar window
    var WindowTitle ="DateTime Picker";//Date Time Picker title.
    var WeekChar=2;//number of character for week day. if 2 then Mo,Tu,We. if 3 then Mon,Tue,Wed.
    var CellWidth=20;//Width of day cell.
    var DateSeparator="-";//Date Separator, you can change it to "/" if you want.
    var TimeMode=24;//default TimeMode value. 12 or 24
    
    var ShowLongMonth=true;//Show long month name in Calendar header. example: "January".
    var ShowMonthYear=true;//Show Month and Year in Calendar header.
    var MonthYearColor="#cc0033";//Font Color of Month and Year in Calendar header.
    var WeekHeadColor="#0099CC";//Background Color in Week header.
    var SundayColor="#6699FF";//Background color of Sunday.
    var SaturdayColor="#CCCCFF";//Background color of Saturday.
    var WeekDayColor="white";//Background color of weekdays.
    var FontColor="blue";//color of font in Calendar day cell.
    var TodayColor="#FFFF33";//Background color of today.
    var SelDateColor="FFFF99";//Backgrond color of selected date in textbox.
    var YrSelColor="#cc0033";//color of font of Year selector.
    var MthSelColor="#cc0033";//color of font of Month selector if "MonthSelector" is "arrow".
    var ThemeBg="";//Background image of Calendar window.
    var PrecedeZero=true;//Preceding zero [true|false]
    var MondayFirstDay=true;//true:Use Monday as first day; false:Sunday as first day. [true|false]  //added in version 1.7
    //end Configurable parameters
    //end Global variable
    
    function NewCal(pCtrl,pFormat,pShowTime,pTimeMode,pScroller)
    {
    	Cal=new Calendar(dtToday);
    	if ((pShowTime!=null) && (pShowTime))
    	{
    		Cal.ShowTime=true;
    		if ((pTimeMode!=null) &&((pTimeMode=='12')||(pTimeMode=='24')))
    		{
    			TimeMode=pTimeMode;
    		}		
    	}	
    	if (pCtrl!=null)
    		Cal.Ctrl=pCtrl;
    	if (pFormat!=null)
    		Cal.Format=pFormat.toUpperCase();
    	if (pScroller!=null)
    	{
    		if (pScroller.toUpperCase()=="ARROW")
    		{
    			Cal.Scroller="ARROW";
    		}
        }		
    	
    	exDateTime=document.getElementById(pCtrl).value;
    	if (exDateTime!="")//Parse existing Date String
    	{
    		var Sp1;//Index of Date Separator 1
    		var Sp2;//Index of Date Separator 2 
    		var tSp1;//Index of Time Separator 1
    		var tSp1;//Index of Time Separator 2
    		var strMonth;
    		var strDate;
    		var strYear;
    		var intMonth;
    		var YearPattern;
    		var strHour;
    		var strMinute;
    		var strSecond;
    		var winHeight;
    		//parse month
    		Sp1=exDateTime.indexOf(DateSeparator,0)
    		Sp2=exDateTime.indexOf(DateSeparator,(parseInt(Sp1)+1));
    		
    		if ((Cal.Format.toUpperCase()=="DDMMYYYY") || (Cal.Format.toUpperCase()=="DDMMMYYYY"))
    		{
    			strMonth=exDateTime.substring(Sp1+1,Sp2);
    			strDate=exDateTime.substring(0,Sp1);
    			strYear=exDateTime.substring(Sp2+1,Sp2+5);
    		}
    		else if ((Cal.Format.toUpperCase()=="MMDDYYYY") || (Cal.Format.toUpperCase()=="MMMDDYYYY"))
    		{
    			strMonth=exDateTime.substring(0,Sp1);
    			strDate=exDateTime.substring(Sp1+1,Sp2);
    			strYear=exDateTime.substring(Sp2+1,Sp2+5);
    
    		}
    		else if ((Cal.Format.toUpperCase()=="YYYYMMDD") || (Cal.Format.toUpperCase()=="YYYYMMMDD"))
    		{
    			strMonth=exDateTime.substring(Sp1+1,Sp2);
    			strDate=exDateTime.substring(Sp2+1,Sp2+3);
    			strYear=exDateTime.substring(0,Sp1);
    		}
    
    		if (isNaN(strMonth))
    			intMonth=Cal.GetMonthIndex(strMonth);
    		else
    			intMonth=parseInt(strMonth,10)-1;	
    		if ((parseInt(intMonth,10)>=0) && (parseInt(intMonth,10)<12))
    			Cal.Month=intMonth;
    		//end parse month
    		//parse Date
    		if ((parseInt(strDate,10)<=Cal.GetMonDays()) && (parseInt(strDate,10)>=1))
    			Cal.Date=strDate;
    		//end parse Date
    		//parse year
    		YearPattern=/^\d{4}$/;
    		if (YearPattern.test(strYear))
    			Cal.Year=parseInt(strYear,10);
    		//end parse year
    		//parse time
    		if (Cal.ShowTime==true)
    		{
    			//parse AM or PM
    			if (TimeMode==12)
    			{
    				strAMPM=exDateTime.substring(exDateTime.length-2,exDateTime.length)
    				Cal.AMorPM=strAMPM;
    			}
    			tSp1=exDateTime.indexOf(":",0)
    			tSp2=exDateTime.indexOf(":",(parseInt(tSp1)+1));
    			strHour=exDateTime.substring(tSp1,(tSp1)-2);
    			Cal.SetHour(strHour);
    			strMinute=exDateTime.substring(tSp1+1,tSp2);
    			Cal.SetMinute(strMinute);
    			strSecond=exDateTime.substring(tSp2+1,tSp2+3);
    			Cal.SetSecond(strSecond);
    		}	
    	}
    	selDate=new Date(Cal.Year,Cal.Month,Cal.Date);//version 1.7
    	winCal=window.open("","DateTimePicker","toolbar=0,status=0,menubar=0,fullscreen=no,width=200,height=245,resizable=0,top="+cnTop+",left="+cnLeft);
    	docCal=winCal.document;
    	RenderCal();
    	winCal.focus();
    }
    
    function RenderCal()
    {
    	var vCalHeader;
    	var vCalData;
    	var vCalTime;
    	var i;
    	var j;
    	var SelectStr;
    	var vDayCount=0;
    	var vFirstDay;
    
    	docCal.open();
    	docCal.writeln("<html><head><title>"+WindowTitle+"</title>");
    	docCal.writeln("<script>var winMain=window.opener;</script>");//winMain is window that open calendar window.
    	docCal.writeln("</head><body background='"+ThemeBg+"' link="+FontColor+" vlink="+FontColor+"><form name='Calendar'>");
    
    	vCalHeader="<table border=1 cellpadding=1 cellspacing=1 width='100%' align=\"center\" valign=\"top\">\n";
    	//Table for Month & Year Selector
    	vCalHeader+="<tr>\n<td colspan='7'><table border=0 width='100%' cellpadding=0 cellspacing=0><tr>\n";
    
    	//******************Month selector in dropdown list************************
    	if (Cal.Scroller=="DROPDOWN")
    	{
    		vCalHeader+="<td align='left'><select name=\"MonthSelector\" onChange=\"javascript:winMain.Cal.SwitchMth(this.selectedIndex);winMain.RenderCal();\">\n";
    		for (i=0;i<12;i++)
    		{
    			if (i==Cal.Month)
    				SelectStr="Selected";
    			else
    				SelectStr="";	
    			vCalHeader+="<option "+SelectStr+" value >"+MonthName[i]+"\n";
    		}
    		vCalHeader+="</select></td>";
    		//Year selector
    		vCalHeader+="\n<td align='right'><a href=\"javascript:winMain.Cal.DecYear();winMain.RenderCal()\"><b><font color=\""+YrSelColor+"\"><</font></b></a><font face=\"Verdana\" color=\""+YrSelColor+"\" size=2><b> "+Cal.Year+" </b></font><a href=\"javascript:winMain.Cal.IncYear();winMain.RenderCal()\"><b><font color=\""+YrSelColor+"\">></font></b></a></td></tr></table></td>\n";	
    		vCalHeader+="</tr>";
    	}
    	//******************End Month selector in dropdown list*********************
    	//******************Month selector in arrow*********************************
    	else if (Cal.Scroller=="ARROW")
    	{
    		vCalHeader+="<td align='center'><a href='javascript:winMain.Cal.DecYear();winMain.RenderCal();'>- </a></td>";//Year scroller (decrease 1 year)
    		vCalHeader+="<td align='center'><a href='javascript:winMain.Cal.DecMonth();winMain.RenderCal();'>&lt;</a></td>";//Month scroller (decrease 1 month)
    		vCalHeader+="<td align='center' width='70%'><font face='Verdana' size='2' color='"+YrSelColor+"'><b>"+Cal.GetMonthName(ShowLongMonth)+" "+Cal.Year+"</b></font></td>"//Month and Year
    		vCalHeader+="<td align='center'><a href='javascript:winMain.Cal.IncMonth();winMain.RenderCal();'>&gt;</a></td>";//Month scroller (increase 1 month)
    		vCalHeader+="<td align='center'><a href='javascript:winMain.Cal.IncYear();winMain.RenderCal();'>+</a></td>";//Year scroller (increase 1 year)
    		vCalHeader+="</tr></table></td></tr>"
    	}
        //******************End Month selector in arrow******************************
    	//Calendar header shows Month and Year
    	if ((ShowMonthYear)&&(Cal.Scroller=="DROPDOWN"))
    		vCalHeader+="<tr><td colspan='7'><font face='Verdana' size='2' align='center' color='"+MonthYearColor+"'><b>"+Cal.GetMonthName(ShowLongMonth)+" "+Cal.Year+"</b></font></td></tr>\n";
    	//Week day header
    	vCalHeader+="<tr bgcolor="+WeekHeadColor+">";
    	var WeekDayName=new Array();//Added version 1.7
    	if (MondayFirstDay==true)
    		WeekDayName=WeekDayName2;
    	else
    		WeekDayName=WeekDayName1;
    	for (i=0;i<7;i++)
    	{
    		vCalHeader+="<td align='center'><font face='Verdana' size='2'>"+WeekDayName[i].substr(0,WeekChar)+"</font></td>";
    	}
    	
    	vCalHeader+="</tr>";	
    	docCal.write(vCalHeader);
    	//Calendar detail
    	CalDate=new Date(Cal.Year,Cal.Month);
    	CalDate.setDate(1);
    	vFirstDay=CalDate.getDay();
    	//Added version 1.7
    	if (MondayFirstDay==true)
    	{
    		vFirstDay-=1;
    		if (vFirstDay==-1)
    			vFirstDay=6;
    	}
    	//Added version 1.7
    	vCalData="<tr>";
    	for (i=0;i<vFirstDay;i++)
    	{
    		vCalData=vCalData+GenCell();
    		vDayCount=vDayCount+1;
    	}
    	//Added version 1.7
    	for (j=1;j<=Cal.GetMonDays();j++)
    	{
    		var strCell;
    		vDayCount=vDayCount+1;
    		if ((j==dtToday.getDate())&&(Cal.Month==dtToday.getMonth())&&(Cal.Year==dtToday.getFullYear()))
    			strCell=GenCell(j,true,TodayColor);//Highlight today's date
    		else
    		{
    			if ((j==selDate.getDate())&&(Cal.Month==selDate.getMonth())&&(Cal.Year==selDate.getFullYear()))//modified version 1.7
    			{
    				strCell=GenCell(j,true,SelDateColor);
    			}
    			else
    			{	
    				if (MondayFirstDay==true)
    				{
    					if (vDayCount%7==0)
    						strCell=GenCell(j,false,SundayColor);
    					else if ((vDayCount+1)%7==0)
    						strCell=GenCell(j,false,SaturdayColor);
    					else
    						strCell=GenCell(j,null,WeekDayColor);					
    				} 
    				else
    				{
    					if (vDayCount%7==0)
    						strCell=GenCell(j,false,SaturdayColor);
    					else if ((vDayCount+6)%7==0)
    						strCell=GenCell(j,false,SundayColor);
    					else
    						strCell=GenCell(j,null,WeekDayColor);
    				}
    			}		
    		}						
    		vCalData=vCalData+strCell;
    
    		if((vDayCount%7==0)&&(j<Cal.GetMonDays()))
    		{
    			vCalData=vCalData+"</tr>\n<tr>";
    		}
    	}
    	docCal.writeln(vCalData);	
    	//Time picker
    	if (Cal.ShowTime)
    	{
    		var showHour;
    		showHour=Cal.getShowHour();	
    		vCalTime="<tr>\n<td colspan='7' align='center'>";
    		vCalTime+="<input type='text' name='hour' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+showHour+" onchange=\"javascript:winMain.Cal.SetHour(this.value)\">";
    		vCalTime+=" : ";
    		vCalTime+="<input type='text' name='minute' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Minutes+" onchange=\"javascript:winMain.Cal.SetMinute(this.value)\">";
    		vCalTime+=" : ";
    		vCalTime+="<input type='text' name='second' maxlength=2 size=1 style=\"WIDTH: 22px\" value="+Cal.Seconds+" onchange=\"javascript:winMain.Cal.SetSecond(this.value)\">";
    		if (TimeMode==12)
    		{
    			var SelectAm =(Cal.AMorPM=="AM")? "Selected":"";
    			var SelectPm =(Cal.AMorPM=="PM")? "Selected":"";
    
    			vCalTime+="<select name=\"ampm\" onchange=\"javascript:winMain.Cal.SetAmPm(this.options[this.selectedIndex].value);\">";
    			vCalTime+="<option "+SelectAm+" value=\"AM\">AM</option>";
    			vCalTime+="<option "+SelectPm+" value=\"PM\">PM<option>";
    			vCalTime+="</select>";
    		}	
    		vCalTime+="\n</td>\n</tr>";
    		docCal.write(vCalTime);
    	}	
    	//end time picker
    	docCal.writeln("\n</table>");
    	docCal.writeln("</form></body></html>");
    	docCal.close();
    }
    
    function GenCell(pValue,pHighLight,pColor)//Generate table cell with value
    {
    	var PValue;
    	var PCellStr;
    	var vColor;
    	var vHLstr1;//HighLight string
    	var vHlstr2;
    	var vTimeStr;
    	
    	if (pValue==null)
    		PValue="";
    	else
    		PValue=pValue;
    	
    	if (pColor!=null)
    		vColor="bgcolor=\""+pColor+"\"";
    	else
    		vColor="";	
    	if ((pHighLight!=null)&&(pHighLight))
    		{vHLstr1="color='red'><b>";vHLstr2="</b>";}
    	else
    		{vHLstr1=">";vHLstr2="";}	
    	
    	if (Cal.ShowTime)
    	{
    		vTimeStr="winMain.document.getElementById('"+Cal.Ctrl+"').value+=' '+"+"winMain.Cal.getShowHour()"+"+':'+"+"winMain.Cal.Minutes"+"+':'+"+"winMain.Cal.Seconds";
    		if (TimeMode==12)
    			vTimeStr+="+' '+winMain.Cal.AMorPM";
    	}	
    	else
    		vTimeStr="";		
    	PCellStr="<td "+vColor+" width="+CellWidth+" align='center'><font face='verdana' size='2'"+vHLstr1+"<a href=\"javascript:winMain.document.getElementById('"+Cal.Ctrl+"').value='"+Cal.FormatDate(PValue)+"';"+vTimeStr+";window.close();\">"+PValue+"</a>"+vHLstr2+"</font></td>";
    	return PCellStr;
    }
    
    function Calendar(pDate,pCtrl)
    {
    	//Properties
    	this.Date=pDate.getDate();//selected date
    	this.Month=pDate.getMonth();//selected month number
    	this.Year=pDate.getFullYear();//selected year in 4 digits
    	this.Hours=pDate.getHours();	
    	
    	if (pDate.getMinutes()<10)
    		this.Minutes="0"+pDate.getMinutes();
    	else
    		this.Minutes=pDate.getMinutes();
    	
    	if (pDate.getSeconds()<10)
    		this.Seconds="0"+pDate.getSeconds();
    	else		
    		this.Seconds=pDate.getSeconds();
    		
    	this.MyWindow=winCal;
    	this.Ctrl=pCtrl;
    	this.Format="ddMMyyyy";
    	this.Separator=DateSeparator;
    	this.ShowTime=false;
    	this.Scroller="DROPDOWN";
    	if (pDate.getHours()<12)
    		this.AMorPM="AM";
    	else
    		this.AMorPM="PM";	
    }
    
    function GetMonthIndex(shortMonthName)
    {
    	for (i=0;i<12;i++)
    	{
    		if (MonthName[i].substring(0,3).toUpperCase()==shortMonthName.toUpperCase())
    		{	return i;}
    	}
    }
    Calendar.prototype.GetMonthIndex=GetMonthIndex;
    
    function IncYear()
    {	Cal.Year++;}
    Calendar.prototype.IncYear=IncYear;
    
    function DecYear()
    {	Cal.Year--;}
    Calendar.prototype.DecYear=DecYear;
    
    function IncMonth()
    {	
    	Cal.Month++;
    	if (Cal.Month>=12)
    	{
    		Cal.Month=0;
    		Cal.IncYear();
    	}
    }
    Calendar.prototype.IncMonth=IncMonth;
    
    function DecMonth()
    {	
    	Cal.Month--;
    	if (Cal.Month<0)
    	{
    		Cal.Month=11;
    		Cal.DecYear();
    	}
    }
    Calendar.prototype.DecMonth=DecMonth;
    	
    function SwitchMth(intMth)
    {	Cal.Month=intMth;}
    Calendar.prototype.SwitchMth=SwitchMth;
    
    function SetHour(intHour)
    {	
    	var MaxHour;
    	var MinHour;
    	if (TimeMode==24)
    	{	MaxHour=23;MinHour=0}
    	else if (TimeMode==12)
    	{	MaxHour=12;MinHour=1}
    	else
    		alert("TimeMode can only be 12 or 24");		
    	var HourExp=new RegExp("^\\d\\d");
    	var SingleDigit=new RegExp("^\\d");
    	if (SingleDigit.test(intHour))
    		intHour="0"+intHour;
    	if (HourExp.test(intHour) && (parseInt(intHour,10)<=MaxHour) && (parseInt(intHour,10)>=MinHour))
    	{	
    		if ((TimeMode==12) && (Cal.AMorPM=="PM"))
    		{
    			if (parseInt(intHour,10)==12)
    				Cal.Hours=12;
    			else	
    				Cal.Hours=parseInt(intHour,10)+12;
    		}	
    		else if ((TimeMode==12) && (Cal.AMorPM=="AM"))
    		{
    			if (intHour==12)
    				intHour-=12;
    			Cal.Hours=parseInt(intHour,10);
    		}
    		else if (TimeMode==24)
    			Cal.Hours=parseInt(intHour,10);	
    	}
    }
    Calendar.prototype.SetHour=SetHour;
    
    function SetMinute(intMin)
    {
    	var MinExp=new RegExp("^\\d\\d$");
    	if (MinExp.test(intMin) && (intMin<60))
    		Cal.Minutes=intMin;
    }
    Calendar.prototype.SetMinute=SetMinute;
    
    function SetSecond(intSec)
    {	
    	var SecExp=new RegExp("^\\d\\d$");
    	if (SecExp.test(intSec) && (intSec<60))
    		Cal.Seconds=intSec;
    }
    Calendar.prototype.SetSecond=SetSecond;
    
    function SetAmPm(pvalue)
    {
    	this.AMorPM=pvalue;
    	if (pvalue=="PM")
    	{
    		this.Hours=(parseInt(this.Hours,10))+12;
    		if (this.Hours==24)
    			this.Hours=12;
    	}	
    	else if (pvalue=="AM")
    		this.Hours-=12;	
    }
    Calendar.prototype.SetAmPm=SetAmPm;
    
    function getShowHour()
    {
    	var finalHour;
        if (TimeMode==12)
        {
        	if (parseInt(this.Hours,10)==0)
    		{
    			this.AMorPM="AM";
    			finalHour=parseInt(this.Hours,10)+12;	
    		}
    		else if (parseInt(this.Hours,10)==12)
    		{
    			this.AMorPM="PM";
    			finalHour=12;
    		}		
    		else if (this.Hours>12)
    		{
    			this.AMorPM="PM";
    			if ((this.Hours-12)<10)
    				finalHour="0"+((parseInt(this.Hours,10))-12);
    			else
    				finalHour=parseInt(this.Hours,10)-12;	
    		}
    		else
    		{
    			this.AMorPM="AM";
    			if (this.Hours<10)
    				finalHour="0"+parseInt(this.Hours,10);
    			else
    				finalHour=this.Hours;	
    		}
    	}
    	else if (TimeMode==24)
    	{
    		if (this.Hours<10)
    			finalHour="0"+parseInt(this.Hours,10);
    		else	
    			finalHour=this.Hours;
    	}	
    	return finalHour;	
    }				
    Calendar.prototype.getShowHour=getShowHour;		
    
    function GetMonthName(IsLong)
    {
    	var Month=MonthName[this.Month];
    	if (IsLong)
    		return Month;
    	else
    		return Month.substr(0,3);
    }
    Calendar.prototype.GetMonthName=GetMonthName;
    
    function GetMonDays()//Get number of days in a month
    {
    	var DaysInMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    	if (this.IsLeapYear())
    	{
    		DaysInMonth[1]=29;
    	}	
    	return DaysInMonth[this.Month];	
    }
    Calendar.prototype.GetMonDays=GetMonDays;
    
    function IsLeapYear()
    {
    	if ((this.Year%4)==0)
    	{
    		if ((this.Year%100==0) && (this.Year%400)!=0)
    		{
    			return false;
    		}
    		else
    		{
    			return true;
    		}
    	}
    	else
    	{
    		return false;
    	}
    }
    Calendar.prototype.IsLeapYear=IsLeapYear;
    
    function FormatDate(pDate)
    {
    	var MonthDigit=this.Month+1;
    	if (PrecedeZero==true)
    	{
    		if (pDate<10)
    			pDate="0"+pDate;
    		if (MonthDigit<10)
    			MonthDigit="0"+MonthDigit;
    	}
    
    	if (this.Format.toUpperCase()=="DDMMYYYY")
    		return (pDate+DateSeparator+MonthDigit+DateSeparator+this.Year);
    	else if (this.Format.toUpperCase()=="DDMMMYYYY")
    		return (pDate+DateSeparator+this.GetMonthName(false)+DateSeparator+this.Year);
    	else if (this.Format.toUpperCase()=="MMDDYYYY")
    		return (MonthDigit+DateSeparator+pDate+DateSeparator+this.Year);
    	else if (this.Format.toUpperCase()=="MMMDDYYYY")
    		return (this.GetMonthName(false)+DateSeparator+pDate+DateSeparator+this.Year);
    	else if (this.Format.toUpperCase()=="YYYYMMDD")
    		return (this.Year+DateSeparator+MonthDigit+DateSeparator+pDate);
    	else if (this.Format.toUpperCase()=="YYYYMMMDD")
    		return (this.Year+DateSeparator+this.GetMonthName(false)+DateSeparator+pDate);	
    	else					
    		return (pDate+DateSeparator+(this.Month+1)+DateSeparator+this.Year);
    }
    Calendar.prototype.FormatDate=FormatDate;
    if you run the code you will see the sytem date there and the date and time picker. what i want to happen is: let's say the system date is August 27 2004, when i click the date and time picker link, i want the dates before august 27 to be disabled so i wont be able to choose them. i can only choose the dates after aug27.

    coz i have a field Target Finish Date where you cant choose the date before the system date.

    GOT IT???

  • #11
    Supreme Master coder! glenngv's Avatar
    Join Date
    Jun 2002
    Location
    Philippines
    Posts
    11,075
    Thanks
    0
    Thanked 256 Times in 252 Posts
    Look for another date picker script that can restrict selection of specific date. The one you're using cannot do that.
    Glenn
    ____________________________________

    My Blog
    Tower of Hanoi Android app (FREE!)
    Tower of Hanoi Leaderboard
    Samegame Facebook App
    vBulletin Plugins
    ____________________________________

  • #12
    New Coder
    Join Date
    Aug 2004
    Location
    Philippines
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts
    thanks glenn


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •