RT# 76093 - Added ability to charge a processing fee when taking a payment on the...
[freeside.git] / httemplate / elements / tr-select-payment_options.html
index f86f3ed..c5b84e7 100644 (file)
@@ -22,6 +22,7 @@ Example:
           ? scalar($conf->config('credit-card-surcharge-flatfee', $cust_main->agentnum))
           : 0
       ),
+    'processing_fee' => scalar($conf->config('processing-fee', $cust_main->agentnum)),
   )
 
 </%doc>
@@ -59,6 +60,7 @@ Example:
 
       $('#payment_option_row').<% $payment_option_row %>();
       $('#payment_amount_row').<% $payment_amount_row %>();
+      $('#ajax_processingfee_cell').hide();
 
       if($('#payment_amount_row').is(':visible')) {
         var surcharge;
@@ -76,11 +78,21 @@ Example:
       function <% $opt{prefix} %>payment_option_changed(what) {
 
         var surcharge;
+        var processingFee = 0;
+        var pfElement = document.getElementById('processing_fee');
+
         if (document.getElementById('surcharge_percentage') || document.getElementById('surcharge_flatfee')) {
           surcharge = (+what.value * +document.getElementById('surcharge_percentage').value) + +document.getElementById('surcharge_flatfee').value;
         }
         else { surcharge = 0; }
-        var amount = +what.value + +surcharge;
+
+        if (pfElement != null) {
+          if (pfElement.checked == true) {
+           processingFee = +pfElement.value;
+          }
+        }
+
+        var amount = +what.value + +surcharge + +processingFee;
         document.getElementById('amount').disabled = true;
 
         if ( what.value == 'select' ) {
@@ -131,12 +143,21 @@ Example:
       function <% $opt{prefix} %>invoice_select_changed(what) {
 
         var surcharge;
+        var processingFee = 0;
+        var pfElement = document.getElementById('processing_fee');
         var invdue = document.getElementById("<% $opt{prefix} %>inv" + what.value);
         if (document.getElementById('surcharge_percentage') || document.getElementById('surcharge_flatfee')) {
           surcharge = (+invdue.value * +document.getElementById('surcharge_percentage').value) + +document.getElementById('surcharge_flatfee').value;
         }
         else { surcharge = 0; }
-        var amount = +invdue.value + +surcharge;
+
+        if (pfElement != null) {
+          if (pfElement.checked == true) {
+           processingFee = +pfElement.value;
+          }
+        }
+
+        var amount = +invdue.value + +surcharge + +processingFee;
 
         if ( what.value == 'select' ) {
           $('#payment_amount_row').hide();
@@ -154,6 +175,21 @@ Example:
 
       }
 
+      function <% $opt{prefix} %>process_fee_changed(what) {
+
+        if (document.getElementById('processing_fee').checked == true) {
+          var amount = +document.getElementById('amount').value + +document.getElementById('processing_fee').value;
+          $('#amount').val(amount.toFixed(2));
+          $('#ajax_processingfee_cell').show();
+        }
+        else {
+          var amount = +document.getElementById('amount').value - +document.getElementById('processing_fee').value;
+          $('#amount').val(amount.toFixed(2));
+          $('#ajax_processingfee_cell').hide();
+        }
+
+      }
+
 </SCRIPT>
 
 <%init>