Merge pull request #4063 from colemanw/buttonFixes
[civicrm-core.git] / templates / CRM / Core / BillingBlock.tpl
index 9efb53a3ce3ab5379538e3ed2d97429ef34a76e2..53cab5ec941c0157525700c0730c2f53855d8a58 100644 (file)
@@ -1,8 +1,8 @@
 {*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.4                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
      <script type="text/javascript">
      {literal}
 
-cj( function( ) {
+CRM.$(function($) {
   // build list of ids to track changes on
   var address_fields = {/literal}{$profileAddressFields|@json_encode}{literal};
   var input_ids = {};
   var select_ids = {};
-  var orig_id = field = field_name = null;
+  var orig_id, field, field_name;
 
   // build input ids
-  cj('.billing_name_address-section input').each(function(i){
-    orig_id = cj(this).attr('id');
+  $('.billing_name_address-section input').each(function(i){
+    orig_id = $(this).attr('id');
     field = orig_id.split('-');
     field_name = field[0].replace('billing_', '');
     if(field[1]) {
@@ -189,16 +189,16 @@ cj( function( ) {
       }
     }
   });
-  if(cj('#first_name').length)
+  if($('#first_name').length)
     input_ids['#first_name'] = '#billing_first_name';
-  if(cj('#middle_name').length)
+  if($('#middle_name').length)
     input_ids['#middle_name'] = '#billing_middle_name';
-  if(cj('#last_name').length)
+  if($('#last_name').length)
     input_ids['#last_name'] = '#billing_last_name';
 
   // build select ids
-  cj('.billing_name_address-section select').each(function(i){
-    orig_id = cj(this).attr('id');
+  $('.billing_name_address-section select').each(function(i){
+    orig_id = $(this).attr('id');
     field = orig_id.split('-');
     field_name = field[0].replace('billing_', '').replace('_id', '');
     if(field[1]) {
@@ -211,82 +211,86 @@ cj( function( ) {
   // detect if billing checkbox should default to checked
   var checked = true;
   for(var id in input_ids) {
-    var orig_id = input_ids[id];
-    if(cj(id).val() != cj(orig_id).val()) {
+    orig_id = input_ids[id];
+    if($(id).val() != $(orig_id).val()) {
       checked = false;
       break;
     }
   }
   for(var id in select_ids) {
-    var orig_id = select_ids[id];
-    if(cj(id).val() != cj(orig_id).val()) {
+    orig_id = select_ids[id];
+    if($(id).val() != $(orig_id).val()) {
       checked = false;
       break;
     }
   }
   if(checked) {
-    cj('#billingcheckbox').prop('checked', true);
-    cj('.billing_name_address-group').hide();
+    $('#billingcheckbox').prop('checked', true);
+    if (CRM.billing.billingProfileIsHideable) {
+      $('.billing_name_address-group').hide();
+    }
   }
 
   // onchange handlers for non-billing fields
   for(var id in input_ids) {
-    var orig_id = input_ids[id];
-    cj(id).change(function(){
-      var id = '#'+cj(this).attr('id');
+    orig_id = input_ids[id];
+    $(id).change(function(){
+      var id = '#'+$(this).attr('id');
       var orig_id = input_ids[id];
 
       // if billing checkbox is active, copy other field into billing field
-      if(cj('#billingcheckbox').prop('checked')) {
-        cj(orig_id).val( cj(id).val() );
-      };
+      if($('#billingcheckbox').prop('checked')) {
+        $(orig_id).val( $(id).val() );
+      }
     });
-  };
+  }
   for(var id in select_ids) {
-    var orig_id = select_ids[id];
-    cj(id).change(function(){
-      var id = '#'+cj(this).attr('id');
+    orig_id = select_ids[id];
+    $(id).change(function(){
+      var id = '#'+$(this).attr('id');
       var orig_id = select_ids[id];
 
       // if billing checkbox is active, copy other field into billing field
-      if(cj('#billingcheckbox').prop('checked')) {
-        cj(orig_id+' option').removeAttr('selected');
-        cj(orig_id+' option[value="'+cj(id).val()+'"]').attr('selected', 'selected');
-      };
+      if($('#billingcheckbox').prop('checked')) {
+        $(orig_id+' option').prop('selected', false);
+        $(orig_id+' option[value="'+$(id).val()+'"]').prop('selected', true);
+      }
 
       if(orig_id == '#billing_country_id-5') {
-        cj(orig_id).change();
+        $(orig_id).change();
       }
     });
-  };
+  }
 
 
   // toggle show/hide
-  cj('#billingcheckbox').click(function(){
+  $('#billingcheckbox').click(function(){
     if(this.checked) {
-      cj('.billing_name_address-group').hide(200);
+      if (CRM.billing.billingProfileIsHideable) {
+        $('.billing_name_address-group').hide(200);
+      }
 
       // copy all values
       for(var id in input_ids) {
-        var orig_id = input_ids[id];
-        cj(orig_id).val( cj(id).val() );
-      };
+        orig_id = input_ids[id];
+        $(orig_id).val( $(id).val() );
+      }
       for(var id in select_ids) {
-        var orig_id = select_ids[id];
-        cj(orig_id+' option').removeAttr('selected');
-        cj(orig_id+' option[value="'+cj(id).val()+'"]').attr('selected', 'selected');
-      };
+        orig_id = select_ids[id];
+        $(orig_id+' option').prop('selected', false);
+        $(orig_id+' option[value="'+$(id).val()+'"]').prop('selected', true);
+      }
     } else {
-      cj('.billing_name_address-group').show(200);
+      $('.billing_name_address-group').show(200);
     }
   });
 
   // remove spaces, dashes from credit card number
-  cj('#credit_card_number').change(function(){
-    var cc = cj('#credit_card_number').val()
+  $('#credit_card_number').change(function(){
+    var cc = $('#credit_card_number').val()
       .replace(/ /g, '')
       .replace(/-/g, '');
-    cj('#credit_card_number').val(cc);
+    $('#credit_card_number').val(cc);
   });
 });
 {/literal}