0e786cb46c9da385b09d20bfafdf17412511da62
[freeside.git] / httemplate / elements / input-date-field.html
1 % if(!$noinit) {
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
8 <INPUT TYPE="text" NAME="<% $name %>" ID="<% $name %>_text" VALUE="<% $value %>">
9 <IMG SRC="<%$fsurl%>images/calendar.png" ID="<% $name  %>_button" STYLE="cursor: pointer" TITLE="<% mt('Select date') |h %>"><IMG SRC="<%$fsurl%>images/calendar-disabled.png" ID="<% $name %>_disabled" STYLE="display:none">
10
11 <SCRIPT TYPE="text/javascript">
12   Calendar.setup({
13     inputField: "<% $name %>_text",
14     ifFormat:   "<% $format %>",
15     button:     "<% $name %>_button",
16     align:      "BR"
17   });
18 </SCRIPT>
19
20 <%init>
21
22 my($name, $value, $format, $usedatetime, $noinit);
23 if ( ref($_[0]) ) {
24   my $opt = shift;
25   $name        = $opt->{'name'};
26   $value       = $opt->{'value'};
27   $format      = $opt->{'format'};
28   $usedatetime = $opt->{'usedatetime'};
29   $noinit      = $opt->{'noinit'};
30 } else {
31   ($name, $value, $format, $usedatetime) = @_;
32 }
33
34 my $conf = new FS::Conf;
35
36 $format ||= $conf->config('date_format') || '%m/%d/%Y';
37
38 if ( $value =~ /\S/ ) {
39   if ( $usedatetime ) {
40     my $dt = DateTime->from_epoch(epoch => $value, time_zone => 'floating');
41     $value = $dt->strftime($format);
42   } elsif ( $value =~ /^\d+$/ ) {
43     $value = time2str($format, $value);
44   }
45 } else {
46   $value = '';
47 }
48
49 </%init>
50