diff --git a/addtoany.admin.inc b/addtoany.admin.inc
old mode 100644
new mode 100755
index bf26dcb..bb154c7
--- a/addtoany.admin.inc
+++ b/addtoany.admin.inc
@@ -21,8 +21,9 @@ function addtoany_admin_settings() {
     'share_16_16.png|16|16'    => sprintf($button_img, 'share_16_16.png', 16, 16),
     'share_save_171_16.png|171|16' => sprintf($button_img, 'share_save_171_16.png', 171, 16),
     'share_save_256_24.png|256|24' => sprintf($button_img, 'share_save_256_24.png', 256, 24),
-    'custom'        		=> 'Custom button',
-	'text'					=> 'Text only',
+    'custom'  => 'Custom button',
+    'text'  => 'Text only',
+    'custom_code' => 'Custom code',
   );
 
   $form['addtoany_general_settings'] = array(
@@ -92,7 +93,13 @@ function addtoany_admin_settings() {
     '#default_value' => variable_get('addtoany_link_text', ''),
     '#description'   => t('Text for the AddToAny button link. Example: Share'),
   );
-
+  $form['addtoany_button_settings']['addtoany_custom_code'] = array(
+    '#type'          => 'textarea',
+    '#title'         => t('Custom code snippet'),
+    '#default_value' => variable_get('addtoany_custom_code', ''),
+    '#description'   => t('Custom code for the AddToAny button. Example: @example_code', array('@example_code' => '<div class="a2a_kit a2a_default_style"><a class="a2a_button_facebook"></a></div>')),
+  );
+  
   $form['addtoany_additional_settings'] = array(
     '#type'         => 'fieldset',
     '#title'        => t('Additional options'),
diff --git a/addtoany.module b/addtoany.module
old mode 100644
new mode 100755
index 63997be..7e29293
--- a/addtoany.module
+++ b/addtoany.module
@@ -238,29 +238,33 @@ function _addtoany_create_button($node=NULL, $teaser = FALSE) {
 	
 	$button_setting = variable_get('addtoany_image', 'share_save_171_16.png|171|16');
 	
-	if ($button_setting == "custom") {
-		$button_image 		= check_url(variable_get('addtoany_custom_image', ''));
-		$button_width    	= '';
-		$button_height		= ''; 
-	} elseif ($button_setting != "text") {
-		$button 			= explode('|', $button_setting);
-		$button_filename 	= $button[0];
-		$button_width    	= ' width="' . $button[1] . '"';
-		$button_height	= ' height="' . $button[2] . '"';
-		$button_image 	= $base_path . drupal_get_path('module', 'addtoany') . '/images/' . $button_filename;
-	}
-	
-	$button_text = check_plain(variable_get('addtoany_link_text', ''));
-	if (strlen($button_text) > 0)
-		$button_text = ' ' . $button_text; 
-	
-	$button_innerHTML = ($button_setting == "text") ? $button_text : sprintf('<img src="%s"%s%s %s/>%s',
-		$button_image,
-		$button_width,
-		$button_height,
-		filter_xss(variable_get('addtoany_image_attributes', 'alt="Share this"'), array()),
-		$button_text
-	);
+	if ($button_setting == "custom_code") {
+		$button_innerHTML = variable_get('addtoany_custom_code', '');
+	}	else{
+	  if ($button_setting == "custom") {
+	  	$button_image 		= check_url(variable_get('addtoany_custom_image', ''));
+	  	$button_width    	= '';
+	  	$button_height		= ''; 
+	  } elseif ($button_setting != "text") {
+	  	$button 			= explode('|', $button_setting);
+	  	$button_filename 	= $button[0];
+	  	$button_width    	= ' width="' . $button[1] . '"';
+	  	$button_height	= ' height="' . $button[2] . '"';
+	  	$button_image 	= $base_path . drupal_get_path('module', 'addtoany') . '/images/' . $button_filename;
+	  }
+	  
+	  $button_text = check_plain(variable_get('addtoany_link_text', ''));
+	  if (strlen($button_text) > 0)
+	  	$button_text = ' ' . $button_text; 
+	  
+	  $button_innerHTML = ($button_setting == "text") ? $button_text : sprintf('<img src="%s"%s%s %s/>%s',
+	  	$button_image,
+	  	$button_width,
+	  	$button_height,
+	  	filter_xss(variable_get('addtoany_image_attributes', 'alt="Share this"'), array()),
+	  	$button_text
+	  );
+  }
 	 
 	return ( sprintf('
 		<a%s href="http://www.addtoany.com/share_save" id="da2a_%s">%s</a>
