protected function _prepareForm()
 {
     $form = new Varien_Data_Form();
     $helper = Mage::helper('mailchimp');
     $this->setForm($form);
     $fieldset = $form->addFieldset('form_sourcepreview', array('legend' => $helper->__(Mage::registry('ctemplate_data') ? 'Campaign Template Source and Preview' : 'Campaign Template Source')));
     $fieldset->addField('source', 'textarea', array('label' => $helper->__('HTML Source'), 'name' => 'source', 'class' => 'template-source'));
     $fieldset->addField('original_source', 'hidden', array('name' => 'original_source'));
     $fieldset->addField('preview_on_popup', 'button', array('name' => 'preview_on_popup', 'class' => 'button', 'onclick' => 'previewMe(\'source\')'));
     if (Mage::registry('ctemplate_data') && Mage::registry('ctemplate_data')->getDefaultContent()) {
         $fieldset->addField('dcs', 'select', array('label' => $helper->__(Mage::registry('ctemplate_data')->getTid() == 'user' ? 'Get content from section' : 'View content by section'), 'name' => 'dcs', 'values' => Mage::registry('ctemplate_data')->getDefaultContentSections(), 'onchange' => 'getContentBySection(this)'));
         foreach (Mage::registry('ctemplate_data')->getDefaultContent() as $k => $v) {
             $fieldset->addField($k, 'hidden', array('label' => $k, 'name' => $k));
         }
         $fieldset->addField('dcs_content', 'textarea', array('label' => $helper->__('HTML content'), 'name' => 'dcs_content', 'class' => 'template-source'));
         if (Mage::registry('ctemplate_data')->getTid() == 'user') {
             $fieldset->addField('update_section', 'button', array('name' => 'update_section', 'class' => 'button', 'onclick' => 'updateSource()'));
         }
     }
     if (!Mage::registry('ctemplate_data') || Mage::registry('ctemplate_data') && Mage::registry('ctemplate_data')->getTid() == 'user') {
         $fieldset->addField('cms_id', 'select', array('label' => $helper->__('Get content from CMS Page'), 'name' => 'cms_id', 'values' => Mage::getSingleton('mailchimp/source_cms')->getCmssPerStore(), 'onchange' => 'getCmsContent(\'' . Mage::helper('adminhtml')->getUrl('mailchimp/adminhtml_ctemplate/cms') . '\', this)'));
         $fieldset->addField('cms_inlined', 'checkbox', array('label' => $helper->__('Get content with inlined styles [beta]'), 'name' => 'cms_inlined', 'checked' => false, 'onclick' => 'getCmsContent(\'' . Mage::helper('adminhtml')->getUrl('mailchimp/adminhtml_ctemplate/cms') . '\', $(\'cms_id\'))'));
         $fieldset->addField('cms_content', 'textarea', array('label' => $helper->__('Full HTML content'), 'name' => 'cms_content', 'class' => 'template-source'));
         $fieldset->addField('preview_on_popup_cms', 'button', array('name' => 'preview_on_popup_cms', 'class' => 'button', 'onclick' => 'previewMe(\'cms_content\')'));
     }
     $default = new Varien_Object();
     $default->setPreviewOnPopup($helper->__('Preview on popup'));
     $default->setPreviewOnPopupCms($helper->__('Preview on popup'));
     if (Mage::getSingleton('adminhtml/session')->getCtemplateData()) {
         $form->setValues(Mage::getSingleton('adminhtml/session')->getCtemplateData());
         $form->addValues($default->getData());
         Mage::getSingleton('adminhtml/session')->setCtemplateData(null);
     } elseif (Mage::registry('ctemplate_data')) {
         $form->setValues(Mage::registry('ctemplate_data'));
         $form->addValues($default->getData());
     } else {
         $form->setValues($default);
     }
     return parent::_prepareForm();
 }