configurable payment date for auto CHEK/CARD, RT10813
[freeside.git] / httemplate / edit / cust_main / billing.html
index 60a03d6..a1927fa 100644 (file)
       return true;
     }
 
-    function payauto_changed(payauto_field){
-        var f = (payauto_field.name == 'CARD_payauto') ? 'card_billday' : 'chek_billday';
-        f = document.getElementById(f);
-        if ( f == null) return;
-        if(payauto_field.checked) f.style.display = 'inline';
-        else f.style.display = 'none';
+    function init_payauto_changed(){
+        var f = document.getElementById('CARD_payauto');
+        if(f != null) payauto_changed(f);
+        f = document.getElementById('CHEK_payauto');
+        if(f != null) payauto_changed(f);
     }
 
+    function payauto_changed(payauto_field){
+        var span = (payauto_field.name == 'CARD_payauto') ? 'card_billday' : 'chek_billday';
+        var select = document.getElementById('select_'+span);
+        span = document.getElementById(span);
+        if (span == null || select == null) return;
+        if(payauto_field.checked) {
+            span.style.color = '#000000';
+            select.disabled = false;
+        }
+        else {
+            span.style.color = '#999999';
+            select.disabled = true;
+            select.selectedIndex = 0;
+        }
+    }
+    
   </SCRIPT>
 
   <& /elements/init_overlib.html &>
 %
 %  sub billday_options {
 %   my $curr_value = shift;
-%   my $ret = '<OPTION></OPTION>';
+%   my $ret = '';
 %   for my $billday ( 1 .. 28 ) {
 %       my $sel = '';
 %       $sel = "SELECTED='SELECTED'" if $curr_value == $billday;
 %   }
 %   $ret;
 %  }
-%  my $billday_card_display = $payby eq 'CARD' ? 'inline' : 'none';
-%  my $billday_chek_display = $payby eq 'CHEK' ? 'inline' : 'none';
+%
+%  my $card_billday_style = $payby eq 'CARD' ? '' : 'style="color: #999999"';
+%  my $chek_billday_style = $payby eq 'CHEK' ? '' : 'style="color: #999999"';
+%  my $card_billday_select_disabled = $payby eq 'CARD' ? '' : 'DISABLED';
+%  my $chek_billday_select_disabled = $payby eq 'CHEK' ? '' : 'DISABLED';
 %
 %  my %payby = (
 %
 %        qq!<TR><TD ALIGN="right" WIDTH="200">${r}!.emt('Exact name on card').qq! </TD>!.
 %          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="CARD_payname" VALUE="!. ( $payby =~ /^(CARD|DCRD)$/ ? $cust_main->payname : '' ). qq!"></TD></TR>!.
 %
-%        qq!<TR><TD COLSPAN=2 WIDTH="608"><INPUT TYPE="checkbox" onchange="payauto_changed(this);" NAME="CARD_payauto" $CARD_payauto_checked> !.emt('Charge future payments to this [_1] automatically','credit card').qq!</TD></TR>!.
+%        qq!<TR><TD COLSPAN=2 WIDTH="608">!.
+%           qq!<INPUT TYPE="checkbox" onchange="payauto_changed(this);" ID="CARD_payauto" NAME="CARD_payauto" $CARD_payauto_checked> !.
+%           emt('Charge future payments to this [_1] automatically','credit card').'</TD></TR>'.
 %
 %      ( $conf->exists('cust_main-select-billday') ?
-%        qq!<TR><TD COLSPAN=2 WIDTH="608" id="card_billday" style="display: $billday_card_display">
-%                    Charge on the <SELECT NAME="billday">!
-%                . billday_options($cust_main->billday) . qq!</SELECT> day of each month</TD></TR>!
+%        qq!<TR><TD ALIGN="RIGHT" id="card_billday" $card_billday_style>
+%                    Charge on this day of each month</TD><TD> &nbsp; 
+%                   <SELECT id="select_card_billday" $card_billday_select_disabled NAME="billday">!
+%                . billday_options($cust_main->billday) . qq!</SELECT> </TD></TR>!
 %        : ''
 %      ).
 %
 %       ).
 %
 %
-%        qq!<TR><TD COLSPAN=4 WIDTH="608"><INPUT TYPE="checkbox" onchange="payauto_changed(this);" NAME="CHEK_payauto" $CHEK_payauto_checked> !.emt('Charge future payments to this [_1] automatically','electronic check').qq!</TD></TR>!.
+%        qq!<TR><TD COLSPAN=4 WIDTH="608">!.
+%           qq!<INPUT TYPE="checkbox" onchange="payauto_changed(this);" ID="CHEK_payauto" NAME="CHEK_payauto" $CHEK_payauto_checked> !.
+%           emt('Charge future payments to this [_1] automatically','electronic check').'</TD></TR>'.
 %
 %      ( $conf->exists('cust_main-select-billday') ?
-%        qq!<TR><TD COLSPAN=2 WIDTH="608" id="chek_billday" style="display: $billday_chek_display">
-%                    Charge on the <SELECT NAME="billday">!
-%                . billday_options($cust_main->billday) . qq!</SELECT> day of each month</TD></TR>!
+%        qq!<TR><TD ALIGN="RIGHT" id="chek_billday" $chek_billday_style>
+%                    Charge on this day of each month</TD><TD> &nbsp;
+%                   <SELECT id="select_chek_billday" $chek_billday_select_disabled NAME="billday">!
+%                . billday_options($cust_main->billday) . qq!</SELECT> </TD></TR>!
 %        : ''
 %      ).
 %
-%        '<TR><TD>&nbsp;</TD></TR>'.
-%        '<TR><TD>&nbsp;</TD></TR>'.
-%        '<TR><TD>&nbsp;</TD></TR>'.
-%
 %      '</TABLE>',
 %
 %    'LECB' =>  
                   'labels'     => \%allopt,
                   'html_between' => '</TD></TR></TABLE>',
                   'layer_callback' => sub { my $layer = shift; $payby{$layer}; },
+                  'onchange'    => 'init_payauto_changed();',
     &>
 
   <% &ntable("#cccccc") %>