2a731e1e8133e558b1bb408a5f0a20f97e77f986
[freeside.git] / httemplate / elements / tr-input-date-field.html
1
2 <LINK REL="stylesheet" TYPE="text/css" HREF="<%$fsurl%>elements/calendar-win2k-2.css" TITLE="win2k-2">
3 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar_stripped.js"></SCRIPT>
4 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-en.js"></SCRIPT>
5 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-setup.js"></SCRIPT>
6
7 <TR>
8   <TD ALIGN="right"><% $label %></TD>
9   <TD>
10     <INPUT TYPE="text" NAME="<% $name %>" ID="<% $name %>_text" VALUE="<% $value %>">
11     <IMG SRC="<%$fsurl%>images/calendar.png" ID="<% $name  %>_button" STYLE="cursor: pointer" TITLE="Select date">
12   </TD>
13 </TR>
14
15 <SCRIPT TYPE="text/javascript">
16   Calendar.setup({
17     inputField: "<% $name %>_text",
18     ifFormat:   "<% $format %>",
19     button:     "<% $name %>_button",
20     align:      "BR"
21   });
22 </SCRIPT>
23
24
25 <%init>
26 my($name, $value, $label, $format, $usedatetime);
27 if ( ref($_[0]) ) {
28   my $opt = shift;
29   $name        = $opt->{'name'};
30   $value       = $opt->{'value'};
31   $label       = $opt->{'label'};
32   $format      = $opt->{'format'};
33   $usedatetime = $opt->{'usedatetime'};
34 } else {
35   ($name, $value, $label, $format, $usedatetime) = @_;
36 }
37
38 $format = "%m/%d/%Y" unless $format;
39 $label = $name unless $label;
40
41 if ( $value =~ /\S/ ) {
42   if ( $usedatetime ) {
43     my $dt = DateTime->from_epoch(epoch => $value, time_zone => 'floating');
44     $value = $dt->strftime($format);
45   } elsif ( $value =~ /^\d+$/ ) {
46     $value = time2str($format, $value);
47   }
48 } else {
49   $value = '';
50 }
51
52 </%init>
53