Date Picker in new window : Calendar : GUI Components JAVASCRIPT DHTML TUTORIALS


JAVASCRIPT DHTML TUTORIALS » GUI Components » Calendar »

 

Date Picker in new window



 <html>
<script language="JavaScript">

//Script by Denis Gritcyuk: tspicker@yahoo.com
// Title: Timestamp picker
// Description: See the demo at url
// URL: http://us.geocities.com/tspicker/
// Version: 1.0
// Date: 12-05-2001 (mm-dd-yyyy)
// Author: Denis Gritcyuk <denis@softcomplex.com>; <tspicker@yahoo.com>
// Notes: Permission given to use this script in any kind of applications if
//    header lines are left unchanged. Feel free to contact the author
//    for feature requests and/or donations

function show_calendar(str_target, str_datetime) {
  var arr_months = ["January""February""March""April""May""June",
    "July""August""September""October""November""December"];
  var week_days = ["Su""Mo""Tu""We""Th""Fr""Sa"];
  var n_weekstart = 1// day week starts from (normally 0 or 1)

  var dt_datetime = (str_datetime == null || str_datetime =="" ?  new Date() : str2dt(str_datetime));
  var dt_prev_month = new Date(dt_datetime);
  dt_prev_month.setMonth(dt_datetime.getMonth()-1);
  var dt_next_month = new Date(dt_datetime);
  dt_next_month.setMonth(dt_datetime.getMonth()+1);
  var dt_firstday = new Date(dt_datetime);
  dt_firstday.setDate(1);
  dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
  var dt_lastday = new Date(dt_next_month);
  dt_lastday.setDate(0);
  
  // html generation (feel free to tune it for your particular application)
  // print calendar header
  var str_buffer = new String (
    "<html>n"+
    "<head>n"+
    "  <title>Calendar</title>n"+
    "</head>n"+
    "<body bgcolor="White">n"+
    "<table class="clsOTable" cellspacing="0" border="0" width="100%">n"+
    "<tr><td bgcolor="#4682B4">n"+
    "<table cellspacing="1" cellpadding="3" border="0" width="100%">n"+
    "<tr>n  <td bgcolor="#4682B4"><a href="javascript:window.opener.show_calendar('"+
    str_target+"', '"+ dt2dtstr(dt_prev_month)+"'+document.cal.time.value);">"+
    "<img src="prev.gif" width="16" height="16" border="0""+
    " alt="previous month"></a></td>n"+
    "  <td bgcolor="#4682B4" colspan="5">"+
    "<font color="white" face="tahoma, verdana" size="2">"
    +arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</font></td>n"+
    "  <td bgcolor="#4682B4" align="right"><a href="javascript:window.opener.show_calendar('"
    +str_target+"', '"+dt2dtstr(dt_next_month)+"'+document.cal.time.value);">"+
    "<img src="next.gif" width="16" height="16" border="0""+
    " alt="next month"></a></td>n</tr>n"
  );

  var dt_current_day = new Date(dt_firstday);
  // print weekdays titles
  str_buffer += "<tr>n";
  for (var n=0; n<7; n++)
    str_buffer += "  <td bgcolor="#87CEFA">"+
    "<font color="white" face="tahoma, verdana" size="2">"+
    week_days[(n_weekstart+n)%7]+"</font></td>n";
  // print calendar table
  str_buffer += "</tr>n";
  while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
    dt_current_day.getMonth() == dt_firstday.getMonth()) {
    // print row heder
    str_buffer += "<tr>n";
    for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
        if (dt_current_day.getDate() == dt_datetime.getDate() &&
          dt_current_day.getMonth() == dt_datetime.getMonth())
          // print current date
          str_buffer += "  <td bgcolor="#FFB6C1" align="right">";
        else if (dt_current_day.getDay() == || dt_current_day.getDay() == 6)
          // weekend days
          str_buffer += "  <td bgcolor="#DBEAF5" align="right">";
        else
          // print working days of current month
          str_buffer += "  <td bgcolor="white" align="right">";

        if (dt_current_day.getMonth() == dt_datetime.getMonth())
          // print days of current month
          str_buffer += "<a href="javascript:window.opener."+str_target+
          ".value='"+dt2dtstr(dt_current_day)+"'+document.cal.time.value; window.close();">"+
          "<font color="black" face="tahoma, verdana" size="2">";
        else 
          // print days of other months
          str_buffer += "<a href="javascript:window.opener."+str_target+
          ".value='"+dt2dtstr(dt_current_day)+"'+document.cal.time.value; window.close();">"+
          "<font color="gray" face="tahoma, verdana" size="2">";
        str_buffer += dt_current_day.getDate()+"</font></a></td>n";
        dt_current_day.setDate(dt_current_day.getDate()+1);
    }
    // print row footer
    str_buffer += "</tr>n";
  }
  // print calendar footer
  str_buffer +=
    "<form name="cal">n<tr><td colspan="7" bgcolor="#87CEFA">"+
    "<font color="White" face="tahoma, verdana" size="2">"+
    "Time: <input type="text" name="time" value=""+dt2tmstr(dt_datetime)+
    "" size="8" maxlength="8"></font></td></tr>n</form>n" +
    "</table>n" +
    "</tr>n</td>n</table>n" +
    "</body>n" +
    "</html>n";

  var vWinCal = window.open("""Calendar"
    "width=200,height=250,status=no,resizable=yes,top=200,left=200");
  vWinCal.opener = self;
  var calc_doc = vWinCal.document;
  calc_doc.write (str_buffer);
  calc_doc.close();
}
// datetime parsing and formatting routimes. modify them if you wish other datetime format
function str2dt (str_datetime) {
  var re_date = /^(d+)-(d+)-(d+)s+(d+):(d+):(d+)$/;
  if (!re_date.exec(str_datetime))
    return alert("Invalid Datetime format: "+ str_datetime);
  return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));
}
function dt2dtstr (dt_datetime) {
  return (new String (
      dt_datetime.getDate()+"-"+(dt_datetime.getMonth()+1)+"-"+dt_datetime.getFullYear()+" "));
}
function dt2tmstr (dt_datetime) {
  return (new String (
      dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds()));
}



</script>

<form name="tstest">
<input type="Text" name="timestamp" value="">
<a href="javascript:show_calendar('document.tstest.timestamp', document.tstest.timestamp.value);"><img src="cal.gif" width="16" height="16" border="0" alt="Click Here to Pick up the timestamp"></a>
</form>

<html>

           
       

Download : Download nav_datepick.zip nav_datepick.zip


-

Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

JAVASCRIPT DHTML TUTORIALS

 Navioo GUI Components
» Calendar