| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | 
							- (function ($) {
 
-   Drupal.PhoneNumber = Drupal.PhoneNumber || {};
 
-   /**
 
-    * Filters checkboxes based on their label.
 
-    * This code is shamelessly taken from checkbox_filter
 
-    */
 
-   Drupal.PhoneNumber.filter = function() {
 
-     var field = $(this);
 
-     var checkboxes = field.parent().parent().find('.form-checkboxes .form-item');
 
-     var found = false;
 
-     var label = "";
 
-     var option = null;
 
-     for (var i = 0; i < checkboxes.length; i++) {
 
-       option = checkboxes.eq(i);
 
-       label = Drupal.PhoneNumber.trim(option.text());
 
-       if (label.toUpperCase().indexOf(field.val().toUpperCase()) < 0) {
 
-         option.hide();
 
-       } else {
 
-         option.show();
 
-       }
 
-     }
 
-   };
 
-   /**
 
-    * Trims whitespace from strings
 
-    */
 
-   Drupal.PhoneNumber.trim = function(str) {
 
- 	  var	str = str.replace(/^\s\s*/, ''),
 
- 		  ws = /\s/,
 
- 		  i = str.length;
 
- 	  while (ws.test(str.charAt(--i)));
 
- 	  return str.slice(0, i + 1);
 
-   };
 
-   /**
 
-    * Check/Uncheck all checkboxes
 
-    */
 
-   Drupal.PhoneNumber.checkall = function(e) {
 
-     var field = $(this);
 
-     var checkboxes = $('.form-checkboxes .form-item:visible .form-checkbox', field.parent().parent());
 
-     var checked = (field.text() == Drupal.t('Select all'));
 
-     if (checked) {
 
-       checkboxes.attr('checked', true);
 
-       field.text(Drupal.t('Deselect all'));
 
-     }
 
-     else {
 
-       checkboxes.attr('checked', false);
 
-       Drupal.PhoneNumber.checkDefault();
 
-       field.text(Drupal.t('Select all'));
 
-     }
 
-   };
 
-   /**
 
-    * Country selection should include default country code by default.
 
-    */
 
-   Drupal.PhoneNumber.checkDefault = function(e) {
 
-     var defaultCC = $('#edit-instance-settings-default-country').val();
 
-     var span = $('<span class="default-cc"></span>').append(Drupal.t('Default'));
 
-     $('.cck-phone-settings .form-checkboxes').find('.form-checkbox').each(function() {
 
-       if ($(this).val() == defaultCC) {
 
-         $('.cck-phone-default-country')
 
-           .removeClass('cck-phone-default-country')
 
-           .find('span.default-cc').remove();
 
-         // TODO: check for "Enable default country code" only set the checkbox
 
-         $(this)
 
-           // .attr('checked', 'checked')
 
-           .parents('.form-item:first')
 
-             .addClass('cck-phone-default-country')
 
-             .append(span);
 
-       }
 
-     });
 
-   };
 
-   /**
 
-    * Attach a filtering textfield to checkboxes.
 
-    */
 
-   Drupal.behaviors.PhoneNumber = {
 
-     attach: function(context) {
 
-       // Ensure the new default country is checked
 
-       $('#edit-instance-settings-default-country, .cck-phone-settings .form-checkboxes').bind('change', Drupal.PhoneNumber.checkDefault);
 
-       $('#edit-instance-settings-default-country').trigger('change');
 
-       $('form#field-ui-field-edit-form').submit(Drupal.PhoneNumber.checkDefault);
 
-       // Filter for countries
 
-       var form = '<div class="form-item container-inline">'
 
-                + '  <label>' + Drupal.t('Filter') + ':</label> '
 
-                + '  <input class="cck-phone-filter form-text" type="text" size="30" />'
 
-                + '  <a class="cck-phone-check" style="margin-left: 1em;" href="javascript://">' + Drupal.t('Select all') + '</a>'
 
-                + '</div>';
 
-       $('.cck-phone-settings .form-checkboxes', context).before(form);
 
-       $('input.cck-phone-filter').bind('keyup', Drupal.PhoneNumber.filter);
 
-       $('a.cck-phone-check').bind('click', Drupal.PhoneNumber.checkall);
 
-     }
 
-   };
 
- })(jQuery);
 
 
  |