diff --git a/ShareThisForm.js b/ShareThisForm.js
index 9c1b63c..fc78138 100644
--- a/ShareThisForm.js
+++ b/ShareThisForm.js
@@ -4,158 +4,161 @@
  */
 
 // Create the drupal ShareThis object for clean code and namespacing:
-var drupal_st = {
-  // These are handlerd for updating the widget pic class.
-  multiW: function () {
-    jQuery('.st_widgetPic').addClass('st_multi');
-  },
-  classicW: function () {
-    jQuery('.st_widgetPic').removeClass('st_multi');
-  },
-  // These are the handlers for updating the button pic class (stbc = sharethisbuttonclass).
-  smallChicklet: function () {
-    drupal_st.removeButtonClasses();
-    jQuery('#stb_sprite').addClass('stbc_');
-  },
-  largeChicklet: function () {
-    drupal_st.removeButtonClasses();
-    jQuery('#stb_sprite').addClass('stbc_large');
-  },
-  hcount: function () {
-    drupal_st.removeButtonClasses();
-    jQuery('#stb_sprite').addClass('stbc_hcount');
-  },
-  vcount: function () {
-    drupal_st.removeButtonClasses();
-    jQuery('#stb_sprite').addClass('stbc_vcount');
-  },
-  button: function () {
-    drupal_st.removeButtonClasses();
-    jQuery('#stb_sprite').addClass('stbc_button');
-  },
-  // This is a helper function for updating button pictures.
-  removeButtonClasses: function () {
-    var toRemove = jQuery('#stb_sprite');
-    toRemove.removeClass('stbc_');
-    toRemove.removeClass('stbc_large');
-    toRemove.removeClass('stbc_hcount');
-    toRemove.removeClass('stbc_vcount');
-    toRemove.removeClass('stbc_button');
-  },
-  // Write helper functions for saving:
-  getWidget: function () {
-    return jQuery('.st_widgetPic').hasClass('st_multiW') ? '5x' : '4x';
-  },
-  getButtons: function () {
-    var selectedButton = 'large';
-    var buttonButtons = jQuery('.st_wIm');
-    buttonButtons.each(function () {
-      if (jQuery(this).hasClass('st_select')) {
-        selectedButton = jQuery(this).attr('id').substring(3);
-      }
-    });
-    console.log(selectedButton);
-    return selectedButton;
-  },
-  setupServiceText: function () {
-    jQuery('#edit-sharethis-service-option').css({display:"none"});
-
-    if (jQuery('input[name=sharethis_callesi]').val() == 1) {
-      // alert('esi called');.
-      drupal_st.getGlobalCNSConfig();
-    }
-    else {
-      // alert('settings found');.
-    }
-  },
-  odjs: function (scriptSrc,callBack) {
-    this.head = document.getElementsByTagName('head')[0];
-    this.scriptSrc = scriptSrc;
-    this.script = document.createElement('script');
-    this.script.setAttribute('type', 'text/javascript');
-    this.script.setAttribute('src', this.scriptSrc);
-    this.script.onload = callBack;
-    this.script.onreadystatechange = function () {
-      if (this.readyState == "complete" || (scriptSrc.indexOf('checkOAuth.esi') != -1 && this.readyState == 'loaded')) {
-        callBack();
-      }
-    };
-    this.head.appendChild(this.script);
-  },
-  getGlobalCNSConfig: function () {
-    try {
-      drupal_st.odjs((('https:' == document.location.protocol) ? "https://wd-edge.sharethis.com/button/getDefault.esi?cb=drupal_st.cnsCallback" : 'http://wd-edge.sharethis.com/button/getDefault.esi?cb=drupal_st.cnsCallback'));
-    }
-    catch (err) {
-      drupal_st.cnsCallback(err);
-    }
-  },
-  updateDoNotHash: function () {
-    jQuery('input[name=sharethis_callesi]').val(0);
-  },
-  // Function to add various events to our html form elements.
-  addEvents: function () {
-    jQuery('#edit-sharethis-widget-option-st-multi').click(drupal_st.multiW);
-    jQuery('#edit-sharethis-widget-option-st-direct').click(drupal_st.classicW);
+(function (){
+  // adding use_strict as function encapsulation ECMA 6
+  'use_strict';
 
-    jQuery('#edit-sharethis-button-option-stbc-').click(drupal_st.smallChicklet);
-    jQuery('#edit-sharethis-button-option-stbc-large').click(drupal_st.largeChicklet);
-    jQuery('#edit-sharethis-button-option-stbc-hcount').click(drupal_st.hcount);
-    jQuery('#edit-sharethis-button-option-stbc-vcount').click(drupal_st.vcount);
-    jQuery('#edit-sharethis-button-option-stbc-button').click(drupal_st.button);
+  var drupal_st = {
+    // These are handlerd for updating the widget pic class.
+    multiW: function () {
+      jQuery('.st_widgetPic').addClass('st_multi');
+    },
+    classicW: function () {
+      jQuery('.st_widgetPic').removeClass('st_multi');
+    },
+    // These are the handlers for updating the button pic class (stbc = sharethisbuttonclass).
+    smallChicklet: function () {
+      drupal_st.removeButtonClasses();
+      jQuery('#stb_sprite').addClass('stbc_');
+    },
+    largeChicklet: function () {
+      drupal_st.removeButtonClasses();
+      jQuery('#stb_sprite').addClass('stbc_large');
+    },
+    hcount: function () {
+      drupal_st.removeButtonClasses();
+      jQuery('#stb_sprite').addClass('stbc_hcount');
+    },
+    vcount: function () {
+      drupal_st.removeButtonClasses();
+      jQuery('#stb_sprite').addClass('stbc_vcount');
+    },
+    button: function () {
+      drupal_st.removeButtonClasses();
+      jQuery('#stb_sprite').addClass('stbc_button');
+    },
+    // This is a helper function for updating button pictures.
+    removeButtonClasses: function () {
+      var toRemove = jQuery('#stb_sprite');
+      toRemove.removeClass('stbc_');
+      toRemove.removeClass('stbc_large');
+      toRemove.removeClass('stbc_hcount');
+      toRemove.removeClass('stbc_vcount');
+      toRemove.removeClass('stbc_button');
+    },
+    // Write helper functions for saving:
+    getWidget: function () {
+      return jQuery('.st_widgetPic').hasClass('st_multiW') ? '5x' : '4x';
+    },
+    getButtons: function () {
+      var selectedButton = 'large';
+      var buttonButtons = jQuery('.st_wIm');
+      buttonButtons.each(function () {
+        if (jQuery(this).hasClass('st_select')) {
+          selectedButton = jQuery(this).attr('id').substring(3);
+        }
+      });
+      return selectedButton;
+    },
+    setupServiceText: function () {
+      jQuery('#edit-sharethis-service-option').css({ display:'none' });
 
-    jQuery('.st_formButtonSave').click(drupal_st.updateOptions);
+      if (jQuery('input[name=sharethis_callesi]').val() === 1) {
+        drupal_st.getGlobalCNSConfig();
+      }
+      else {
+        // alert('settings found');.
+      }
+    },
+    odjs: function (scriptSrc, callBack) {
+      this.head = document.getElementsByTagName('head')[0];
+      this.scriptSrc = scriptSrc;
+      this.script = document.createElement('script');
+      this.script.setAttribute('type', 'text/javascript');
+      this.script.setAttribute('src', this.scriptSrc);
+      this.script.onload = callBack;
+      this.script.onreadystatechange = function () {
+        if (this.readyState === 'complete' || (scriptSrc.indexOf('checkOAuth.esi') !== -1 && this.readyState === 'loaded')) {
+          callBack();
+        }
+      };
+      this.head.appendChild(this.script);
+    },
+    getGlobalCNSConfig: function () {
+      try {
+        drupal_st.odjs(document.location.protocol === 'https:' ? 'https://wd-edge.sharethis.com/button/getDefault.esi?cb=drupal_st.cnsCallback' : 'http://wd-edge.sharethis.com/button/getDefault.esi?cb=drupal_st.cnsCallback');
+      }
+      catch (err) {
+        drupal_st.cnsCallback(err);
+      }
+    },
+    updateDoNotHash: function () {
+      jQuery('input[name=sharethis_callesi]').val(0);
+    },
+    // Function to add various events to our html form elements.
+    addEvents: function () {
+      jQuery('#edit-sharethis-widget-option-st-multi').click(drupal_st.multiW);
+      jQuery('#edit-sharethis-widget-option-st-direct').click(drupal_st.classicW);
 
-    jQuery('#st_cns_settings').find('input').live('click', drupal_st.updateDoNotHash);
-  },
-  serviceCallback: function () {
-    var services = stlib_picker.getServices('myPicker');
-    var outputString = "";
-    for (i = 0; i < services.length; i++) {
-      outputString += "\"" + _all_services[services[i]].title + ":"
-      outputString += services[i] + "\","
-    }
-    outputString = outputString.substring(0, outputString.length - 1);
-    jQuery('#edit-sharethis-service-option').attr('value', outputString);
-  },
-  to_boolean: function (str) {
-    return str === true || jQuery.trim(str).toLowerCase() === 'true';
-  },
-  cnsCallback: function (response) {
-    if ((response instanceof Error) || (response == "" || (typeof(response) == 'undefined'))) {
-      // Setting default config.
-      response = '{"doNotHash": true, "doNotCopy": true, "hashAddressBar": false}';
-      response = jQuery.parseJSON(response);
-    }
+      jQuery('#edit-sharethis-button-option-stbc-').click(drupal_st.smallChicklet);
+      jQuery('#edit-sharethis-button-option-stbc-large').click(drupal_st.largeChicklet);
+      jQuery('#edit-sharethis-button-option-stbc-hcount').click(drupal_st.hcount);
+      jQuery('#edit-sharethis-button-option-stbc-vcount').click(drupal_st.vcount);
+      jQuery('#edit-sharethis-button-option-stbc-button').click(drupal_st.button);
 
-    var obj = {
-      doNotHash: drupal_st.to_boolean(response.doNotHash),
-      doNotCopy: drupal_st.to_boolean(response.doNotCopy),
-      hashAddressBar: drupal_st.to_boolean(response.hashAddressBar)
-    };
+      jQuery('.st_formButtonSave').click(drupal_st.updateOptions);
 
-    if (obj.doNotHash == false || obj.doNotHash === 'false') {
-      if (obj.doNotCopy === true || obj.doNotCopy == 'true') {
-        jQuery(jQuery('#st_cns_settings').find('input')[0]).removeAttr('checked');
+      jQuery('#st_cns_settings').find('input').live('click', drupal_st.updateDoNotHash);
+    },
+    serviceCallback: function () {
+      var services = stlib_picker.getServices('myPicker');
+      var outputString = '';
+      for (i = 0; i < services.length; i++) {
+        outputString += '\"' + _all_services[services[i]].title + ':';
+        outputString += services[i] + '\",';
       }
-      else {
-        jQuery(jQuery('#st_cns_settings').find('input')[0]).attr('checked',true);
+      outputString = outputString.substring(0, outputString.length - 1);
+      jQuery('#edit-sharethis-service-option').attr('value', outputString);
+    },
+    to_boolean: function (str) {
+      return str === true || jQuery.trim(str).toLowerCase() === 'true';
+    },
+    cnsCallback: function (response) {
+      if ((response instanceof Error) || (response === '' || (typeof response === 'undefined'))) {
+        // Setting default config.
+        response = '{"doNotHash": true, "doNotCopy": true, "hashAddressBar": false}';
+        response = jQuery.parseJSON(response);
       }
-      if (obj.hashAddressBar === true || obj.hashAddressBar == 'true') {
-        jQuery(jQuery('#st_cns_settings').find('input')[1]).attr('checked',true);
+
+      var obj = {
+        doNotHash: drupal_st.to_boolean(response.doNotHash),
+        doNotCopy: drupal_st.to_boolean(response.doNotCopy),
+        hashAddressBar: drupal_st.to_boolean(response.hashAddressBar)
+      };
+
+      if (obj.doNotHash === false || obj.doNotHash === 'false') {
+        if (obj.doNotCopy === true || obj.doNotCopy === 'true') {
+          jQuery(jQuery('#st_cns_settings').find('input')[0]).removeAttr('checked');
+        }
+        else {
+          jQuery(jQuery('#st_cns_settings').find('input')[0]).attr('checked', true);
+        }
+        if (obj.hashAddressBar === true || obj.hashAddressBar === 'true') {
+          jQuery(jQuery('#st_cns_settings').find('input')[1]).attr('checked', true);
+        }
+        else {
+          jQuery(jQuery('#st_cns_settings').find('input')[1]).removeAttr('checked');
+        }
       }
       else {
-        jQuery(jQuery('#st_cns_settings').find('input')[1]).removeAttr('checked');
+        jQuery('#st_cns_settings').find('input').each(function (index) {
+          jQuery(this).removeAttr('checked');
+        });
       }
     }
-    else {
-      jQuery('#st_cns_settings').find('input').each(function (index) {
-        jQuery(this).removeAttr('checked');
-      });
-    }
-  }
-};
-// After the page is loaded, we want to add events to dynamically created elements.
-jQuery(document).ready(drupal_st.addEvents);
-// After it's all done, hide the text field for the service picker so that no one messes up the data.
-jQuery(document).ready(drupal_st.setupServiceText);
+  };
+  // After the page is loaded, we want to add events to dynamically created elements.
+  jQuery(document).ready(drupal_st.addEvents);
+  // After it's all done, hide the text field for the service picker so that no one messes up the data.
+  jQuery(document).ready(drupal_st.setupServiceText);
+})();
diff --git a/sharethis.admin.inc b/sharethis.admin.inc
index a4c680c..b0ce9a3 100644
--- a/sharethis.admin.inc
+++ b/sharethis.admin.inc
@@ -70,7 +70,7 @@ function sharethis_configuration_form($form, &$form_state) {
     '#prefix' => '<div>',
     '#suffix' => '</div><div id="myPicker"></div><script type="text/javascript">stlib_picker.setupPicker(jQuery("#myPicker"), [' . $service_string_markup . '], drupal_st.serviceCallback);</script>',
     '#title' => t("Choose Your Services."),
-    '#default_value' => t($service_string),
+    '#default_value' => t("@service_string", array('@service_string' => $service_string)),
     '#maxlength' => 1024,
   );
   $form['options']['sharethis_option_extras'] = array(
@@ -225,7 +225,7 @@ function sharethis_configuration_form($form, &$form_state) {
   $content_types = array();
   $enabled_content_types = $current_options_array['sharethis_node_types'];
   foreach ($entity_info['bundles'] as $bundle => $bundle_info) {
-    $content_types[$bundle] = t($bundle_info['label']);
+    $content_types[$bundle] = t("@label", array('@label' => $bundle_info['label']));
   }
   $form['context']['content']['sharethis_node_types'] = array(
     '#title' => t('Node Types'),
diff --git a/sharethis.module b/sharethis.module
index 592b6ee..293b898 100644
--- a/sharethis.module
+++ b/sharethis.module
@@ -142,8 +142,8 @@ function sharethis_node_view($node, $view_mode, $langcode) {
             '#value' => theme('sharethis', array(
               'data_options' => $data_options,
               'm_path' => $mPath,
-              'm_title' => $mTitle)
-            ),
+              'm_title' => $mTitle,
+            )),
             '#weight' => intval(variable_get('sharethis_weight', 10)),
           );
 
@@ -161,7 +161,8 @@ function sharethis_node_view($node, $view_mode, $langcode) {
           'title' => theme('sharethis', array(
             'data_options' => $data_options,
             'm_path' => $mPath,
-            'm_title' => $mTitle)),
+            'm_title' => $mTitle,
+          )),
           '#attributes' => array(
             'class' => array('sharethis-buttons'),
           ),
@@ -224,8 +225,9 @@ function sharethis_theme($existing, $type, $theme, $path) {
 /**
  * Implements sharethis_get_light_options().
  *
- * Function sharethis_get_light_options() is creating options to be passed to stLight.options
- * $data_options array is the settings selected by publisher in admin panel.
+ * Function sharethis_get_light_options() is creating options.
+ * It has to be passed to stLight.options
+ * $data_options array is selected by publisher in admin panel.
  */
 function sharethis_get_light_options($data_options) {
   // Provide the publisher ID.
@@ -410,12 +412,12 @@ function theme_sharethis($variables) {
     $markup = variable_get('sharethis_override_' . $serviceCodeName, '');
     // Render the span tag.
     $st_spans .= theme('html_tag', array(
-        'element' => array(
-          '#tag' => 'span',
-          '#attributes' => $attributes,
-          '#value' => $markup,
-        ),
-      ));
+      'element' => array(
+        '#tag' => 'span',
+        '#attributes' => $attributes,
+        '#value' => $markup,
+      ),
+    ));
   }
 
   // Output the embedded JavaScript.
@@ -475,7 +477,7 @@ function sharethis_block_info() {
 }
 
 /**
- * Implements of hook_block_view().
+ * Implements hook_block_view().
  */
 function sharethis_block_view($delta = '') {
   $block = array();
@@ -491,7 +493,7 @@ function sharethis_block_view($delta = '') {
  * Implements of sharethis_block_contents().
  *
  * @return string
- * Returns cached contentfor block
+ *   Returns cached contentfor block
  */
 function sharethis_block_contents() {
   if (variable_get('sharethis_location', 'content') == 'block') {
@@ -505,7 +507,7 @@ function sharethis_block_contents() {
       return $cache->data;
     }
     else {
-      // First get all of the options for the sharethis widget from the database:
+      // Get all of the options for the sharethis widget from the database.
       $data_options = sharethis_get_options_array();
       $path = isset($_GET['q']) ? $_GET['q'] : '<front>';
       if ($path == variable_get('site_frontpage')) {
@@ -513,11 +515,11 @@ function sharethis_block_contents() {
       }
       $mPath = url($path, array('absolute' => TRUE));
       $mTitle = decode_entities(drupal_get_title());
-      $content = theme('sharethis',array(
+      $content = theme('sharethis', array(
         'data_options' => $data_options,
         'm_path' => $mPath,
-        'm_title' => $mTitle)
-      );
+        'm_title' => $mTitle,
+      ));
       // Cache the content temporarily.
       cache_set($cache_name, $content, 'cache_block', CACHE_TEMPORARY);
       return $content;
@@ -532,14 +534,15 @@ function sharethis_comment_view($comment, $view_mode, $langcode) {
   if (variable_get('sharethis_comments', FALSE)) {
     $data_options = sharethis_get_options_array();
     $mPath = url($_GET['q'], array(
-        'absolute' => TRUE,
-        'fragment' => 'comment-' . $comment->cid,
-      ));
+      'absolute' => TRUE,
+      'fragment' => 'comment-' . $comment->cid,
+    ));
     $mTitle = decode_entities(drupal_get_title());
     $html = theme('sharethis', array(
       'data_options' => $data_options,
       'm_path' => $mPath,
-      'm_title' => $mTitle));
+      'm_title' => $mTitle
+    ));
     $comment->content['sharethis'] = array(
       '#type' => 'html_tag',
       '#value' => $html,
@@ -557,7 +560,7 @@ function sharethis_contextual_links_view_alter(&$element, $items) {
   // Add the configuration link for the ShareThis settings on the block itself.
   if (isset($element['#element']['#block']->module) &&
     $element['#element']['#block']->module == 'sharethis' &&
-    $element['#element']['#block']->delta == 'sharethis_block' && 
+    $element['#element']['#block']->delta == 'sharethis_block' &&
     user_access('access administration pages')) {
     $element['#links']['sharethis-configure'] = array(
       'title' => t('Configure ShareThis'),
@@ -577,7 +580,7 @@ function sharethis_views_api() {
 }
 
 /**
- * Implements of hook_ctools_plugin_directory.
+ * Implements hook_ctools_plugin_directory.
  */
 function sharethis_ctools_plugin_directory($module, $plugin) {
   if ($module == 'panels' || $module == 'ctools') {
diff --git a/stlib_picker.js b/stlib_picker.js
index eb4855b..b3ac732 100644
--- a/stlib_picker.js
+++ b/stlib_picker.js
@@ -8,128 +8,133 @@
 // Styling can be found in stlib_picker.css and should be linked in the page.
 // To get selected services as an array of strings:  (ie ["twitter", "sharethis", "facebook"] )
 // Call: var answer = stlib_picker.pickerList[uniqueID]["getServices"]();.
-var stlib_picker = {}, isSecure = ('https:' == document.location.protocol) ? true : false;
-stlib_picker.pickerList = [];
-stlib_picker.defaultServices = ["sharethis", "tumblr", "bebo"];
-stlib_picker.getServices = function (id) {
-  var func = stlib_picker.pickerList[id]["getServices"];
-  return func();
-}
+(function (){
+  // adding use_strict as function encapsulation ECMA 6
+  'use_strict';
 
-// Creates the picker - make sure it has a unique ID.
-stlib_picker.setupPicker = function (jQElement, newDefaults, callback) {
-  console.log('setting up picker');
-  console.log(jQElement);
-  // Make an array to store any needed options.
-  var optionsArray = [];
-  optionsArray["El"] = jQElement;
-  optionsArray["isSelect"] = false;
-  optionsArray["getServices"] = function () {
-    var answer = [];
-    var lis = jQElement.children('.stp_pickerLeft').find('.stp_li');
-    lis.each(function () {
-      answer.push(jQuery(this).attr('id').substring(6));
-    });
-    return answer;
+  var stlib_picker = {},
+    isSecure = document.location.protocol === 'https:' ? true : false;
+
+  stlib_picker.pickerList = [];
+  stlib_picker.defaultServices = ['sharethis', 'tumblr', 'bebo'];
+  stlib_picker.getServices = function (id) {
+    var func = stlib_picker.pickerList[id]['getServices'];
+    return func();
   };
 
-  // Append the three divs that are needed:
-  jQElement.append('<div class="stp_pickerLeft"><span class="stp_header">Selected Service</span><ul class="stp_ulLeft"></ul></div>');
-  jQElement.append('<div class="stp_pickerArrow">' +
-                    '<div class="stp_arrow"><img class="stp_up" src="//www.sharethis.com/images/Direction_Icons_Sprite.png"></img></div>' +
-                    "<div class='stp_arrow'><img class='stp_left' src='//www.sharethis.com/images/Direction_Icons_Sprite.png'></img></div>" +
-                    "<div class='stp_arrow'><img class='stp_right' src='//www.sharethis.com/images/Direction_Icons_Sprite.png'></img></div>" +
-                    "<div class='stp_arrow'><img class='stp_down' src='//www.sharethis.com/images/Direction_Icons_Sprite.png'></img></div>" +
-                    "</div>");
-  jQElement.append('<div class="stp_pickerRight"><span class="stp_header">Possible Services</span><ul class="stp_ulRight"></ul></div>');
-  jQElement.append('<div class="stp_clear"></div>');
+  // Creates the picker - make sure it has a unique ID.
+  stlib_picker.setupPicker = function (jQElement, newDefaults, callback) {
+    // Make an array to store any needed options.
+    var optionsArray = [];
+    optionsArray['El'] = jQElement;
+    optionsArray['isSelect'] = false;
+    optionsArray['getServices'] = function () {
+      var answer = [];
+      var lis = jQElement.children('.stp_pickerLeft').find('.stp_li');
+      lis.each(function () {
+        answer.push(jQuery(this).attr('id').substring(6));
+      });
+      return answer;
+    };
 
-  // Add default Services.
-  var pickerDefaults = [];
-  if (newDefaults) {
-    pickerDefaults = newDefaults;
-  }
-  else {
-    pickerDefaults = stlib_picker.defaultServices;
-  }
-
-  // Add all the services to the picker:
-  jQuery.each(_all_services, function (key, value) {
-    if (jQuery.inArray(key, pickerDefaults) == -1) {
-      var ul = jQElement.children('.stp_pickerRight').children('.stp_ulRight');
-      if (isSecure) {
-        ul.append('<li id="st_li_"' + key +  'class="stp_li"><img src="https://ws.sharethis.com/images/"' + key + '_32.png></img><span class="stp_liText">' + value.title + '</span></li>');
-      }
-      else {
-        ul.append('<li id="st_li_"' + key + ' class="stp_li"><img src="http://w.sharethis.com/images/"' + key + '_32.png></img><span class="stp_liText">' + value.title + '</span></li>');
-      }
+    // Append the three divs that are needed:
+    jQElement.append('<div class="stp_pickerLeft"><span class="stp_header">Selected Service</span><ul class="stp_ulLeft"></ul></div>');
+    jQElement.append('<div class="stp_pickerArrow">' +
+                      '<div class="stp_arrow"><img class="stp_up" src="//www.sharethis.com/images/Direction_Icons_Sprite.png"></img></div>' +
+                      '<div class="stp_arrow"><img class="stp_left" src="//www.sharethis.com/images/Direction_Icons_Sprite.png"></img></div>' +
+                      '<div class="stp_arrow"><img class="stp_right" src="//www.sharethis.com/images/Direction_Icons_Sprite.png"></img></div>' +
+                      '<div class="stp_arrow"><img class="stp_down" src="//www.sharethis.com/images/Direction_Icons_Sprite.png"></img></div>' +
+                      '</div>');
+    jQElement.append('<div class="stp_pickerRight"><span class="stp_header">Possible Services</span><ul class="stp_ulRight"></ul></div>');
+    jQElement.append('<div class="stp_clear"></div>');
 
-    }
-  });
-  for (i = 0; i < pickerDefaults.length; i++) {
-    var ul = jQElement.children('.stp_pickerLeft').children('.stp_ulLeft');
-    if (isSecure) {
-      ul.append('<li id="st_li_"' + pickerDefaults[i] + ' class="stp_li"><img src="https://ws.sharethis.com/images/"' + pickerDefaults[i] + '_32.png></img><span class="stp_liText">' + _all_services[pickerDefaults[i]].title + '</span></li>');
+    // Add default Services.
+    var pickerDefaults = [];
+    if (newDefaults) {
+      pickerDefaults = newDefaults;
     }
     else {
-      ul.append('<li id="st_li_"' + pickerDefaults[i] + ' class="stp_li"><img src="http://w.sharethis.com/images/"' + pickerDefaults[i] + '_32.png></img><span class="stp_liText">' + _all_services[pickerDefaults[i]].title + '</span></li>');
+      pickerDefaults = stlib_picker.defaultServices;
     }
-  }
 
-  // Add the various Event handlers
-  // Need to make sure that we don't get confused when there are multiple pickers.
-  jQElement.find('.stp_li').click(function () {
-    jQElement.find('.stp_select').removeClass('stp_select');
-    jQuery(this).addClass('stp_select');
-    stlib_picker.pickerList[jQElement.attr('id')]["isSelect"] = true;
-  });
+    // Add all the services to the picker:
+    jQuery.each(_all_services, function (key, value) {
+      if (jQuery.inArray(key, pickerDefaults) === -1) {
+        var ul = jQElement.children('.stp_pickerRight').children('.stp_ulRight');
+        if (isSecure) {
+          ul.append('<li id="st_li_"' + key + 'class="stp_li"><img src="https://ws.sharethis.com/images/"' + key + '_32.png></img><span class="stp_liText">' + value.title + '</span></li>');
+        }
+        else {
+          ul.append('<li id="st_li_"' + key + 'class="stp_li"><img src="http://w.sharethis.com/images/"' + key + '_32.png></img><span class="stp_liText">' + value.title + '</span></li>');
+        }
 
-  var arrowDiv = jQElement.children('.stp_pickerArrow').children('.stp_arrow');
-  arrowDiv.children('.stp_up').click(function () {
-    if (stlib_picker.pickerList[jQElement.attr('id')]["isSelect"]) {
-      var li = jQElement.find('.stp_select');
-      var prev = li.prev();
-      if (prev.length != 0) {
-        prev.before(li);
       }
-      if (callback) {
-        callback();
-      }
-    }
-  });
-  arrowDiv.children('.stp_left').click(function () {
-    if (stlib_picker.pickerList[jQElement.attr('id')]["isSelect"]) {
-      var li = jQElement.find('.stp_select');
+    });
+    for (i = 0; i < pickerDefaults.length; i++) {
       var ul = jQElement.children('.stp_pickerLeft').children('.stp_ulLeft');
-      ul.prepend(li);
-      if (callback) {
-        callback();
+      if (isSecure) {
+        ul.append('<li id="st_li_"' + pickerDefaults[i] + ' class="stp_li"><img src="https://ws.sharethis.com/images/"' + pickerDefaults[i] + '_32.png></img><span class="stp_liText">' + _all_services[pickerDefaults[i]].title + '</span></li>');
       }
-    }
-  });
-  arrowDiv.children('.stp_right').click(function () {
-    if (stlib_picker.pickerList[jQElement.attr('id')]["isSelect"]) {
-      var li = jQElement.find('.stp_select');
-      var ul = jQElement.children('.stp_pickerRight').children('.stp_ulRight');
-      ul.prepend(li);
-      if (callback) {
-        callback();
+      else {
+        ul.append('<li id="st_li_"' + pickerDefaults[i] + ' class="stp_li"><img src="http://w.sharethis.com/images/"' + pickerDefaults[i] + '_32.png></img><span class="stp_liText">' + _all_services[pickerDefaults[i]].title + '</span></li>');
       }
     }
-  });
-  arrowDiv.children('.stp_down').click(function () {
-    if (stlib_picker.pickerList[jQElement.attr('id')]["isSelect"]) {
-      var li = jQElement.find('.stp_select');
-      var next = li.next();
-      if (next.length !== 0) {
-        next.after(li);
+
+    // Add the various Event handlers
+    // Need to make sure that we don't get confused when there are multiple pickers.
+    jQElement.find('.stp_li').click(function () {
+      jQElement.find('.stp_select').removeClass('stp_select');
+      jQuery(this).addClass('stp_select');
+      stlib_picker.pickerList[jQElement.attr('id')]["isSelect"] = true;
+    });
+
+    var arrowDiv = jQElement.children('.stp_pickerArrow').children('.stp_arrow');
+    arrowDiv.children('.stp_up').click(function () {
+      if (stlib_picker.pickerList[jQElement.attr('id')]["isSelect"]) {
+        var li = jQElement.find('.stp_select');
+        var prev = li.prev();
+        if (prev.length != 0) {
+          prev.before(li);
+        }
+        if (callback) {
+          callback();
+        }
+      }
+    });
+    arrowDiv.children('.stp_left').click(function () {
+      if (stlib_picker.pickerList[jQElement.attr('id')]["isSelect"]) {
+        var li = jQElement.find('.stp_select');
+        var ul = jQElement.children('.stp_pickerLeft').children('.stp_ulLeft');
+        ul.prepend(li);
+        if (callback) {
+          callback();
+        }
       }
-      if (callback) {
-        callback();
+    });
+    arrowDiv.children('.stp_right').click(function () {
+      if (stlib_picker.pickerList[jQElement.attr('id')]["isSelect"]) {
+        var li = jQElement.find('.stp_select');
+        var ul = jQElement.children('.stp_pickerRight').children('.stp_ulRight');
+        ul.prepend(li);
+        if (callback) {
+          callback();
+        }
       }
-    }
-  });
+    });
+    arrowDiv.children('.stp_down').click(function () {
+      if (stlib_picker.pickerList[jQElement.attr('id')]["isSelect"]) {
+        var li = jQElement.find('.stp_select');
+        var next = li.next();
+        if (next.length !== 0) {
+          next.after(li);
+        }
+        if (callback) {
+          callback();
+        }
+      }
+    });
 
-  // Save the options (and the picker) globally.
-  stlib_picker.pickerList[jQElement.attr('id')] = optionsArray;
-}
+    // Save the options (and the picker) globally.
+    stlib_picker.pickerList[jQElement.attr('id')] = optionsArray;
+  }
+})();
diff --git a/views/sharethis_handler_field_link.inc b/views/sharethis_handler_field_link.inc
index 108f024..2ed119d 100644
--- a/views/sharethis_handler_field_link.inc
+++ b/views/sharethis_handler_field_link.inc
@@ -27,8 +27,7 @@ class SharethisHandlerFieldLink extends views_handler_field_entity {
       'data_options' => sharethis_get_options_array(),
       'm_title' => $entity->title,
       'm_path' => $path,
-      ));
+    ));
   }
 
 }
-
