/**
  * adminhtml_block_html_before
  *
  * @param Varien_Event_Observer $observer
  *
  * @return null
  */
 public function alterTextareaBlockTemplate(Varien_Event_Observer $observer)
 {
     $this->_helper = Mage::helper('markdown');
     if ($this->_helper->isDisabled() || $this->_helper->isParserOnly()) {
         return NULL;
     }
     /** @var $block Mage_Adminhtml_Block_Template */
     $block = $observer->getEvent()->getBlock();
     $isWidgetElement = $block instanceof Mage_Adminhtml_Block_Widget_Form_Renderer_Fieldset_Element;
     $isCatalogElement = $block instanceof Mage_Adminhtml_Block_Catalog_Form_Renderer_Fieldset_Element;
     /**
      * main reason for this layout handle thing is to avoid loading of lot of unused JS/CSS ...
      */
     $isLayoutHandleAllowed = Mage::getSingleton('markdown/observer_adminhtml_layoutUpdate')->isAllowed();
     if ($isWidgetElement || $isCatalogElement) {
         /** @var Varien_Data_Form_Element_Abstract _currentElement */
         $this->_currentElement = $block->getElement();
         $_isElementEditor = $this->_isElementEditor();
         $_isCatalogElementAllowed = $this->_isCatalogElementAllowed();
         $_isEmailTemplateElementAllowed = $this->_isEmailTemplateElementAllowed();
         if ($_isElementEditor || $_isCatalogElementAllowed || $_isEmailTemplateElementAllowed) {
             $this->_tryToGetPreviewUrl($block);
             $method = $isLayoutHandleAllowed ? '_integrate' : '_addMarkdownHint';
             $this->{$method}();
         }
     }
 }