public function GetHeaderHTML()
    {
        if ($this->_header_html_called) {
            return;
        }
        $this->_header_html_called = true;
        $config = cmsms()->GetConfig();
        $ret = '
<link rel=stylesheet href="' . $config['root_url'] . '/modules/AdvancedContent/css/jpicker.css" type="text/css" />
<script language="javascript" type="text/javascript" src="' . $config['root_url'] . '/modules/AdvancedContent/js/jquery.jpicker.min.js" defer="true"></script>
<script language="javascript" type="text/javascript">
/* <![CDATA[ */
ac_onload.push(function(){
	(function($){
		$.fn.jPicker.defaults.images.clientPath="' . $config['root_url'] . '/modules/AdvancedContent/images/jpicker/";';
        foreach (acContentBlockManager::GetBlocksByType('colorpicker') as $block_id) {
            $ret .= '$("#' . $block_id . '").jPicker();';
        }
        return $ret . '
		
	})(jQuery);
});
/* ]]> */
</script>';
    }
 public function FillParams(&$params, $editing = false)
 {
     $blockId = $this->GetProperty('id');
     $multi_inputs = array();
     $value = '';
     $blockType =& acContentBlockManager::GetBlockType('multi_input');
     $multiInput_props = $blockType['props'];
     foreach (ac_utils::CleanArray(explode(',', $this->GetProperty('inputs'))) as $k1 => $multi_input_id) {
         $multi_input_values = array();
         foreach ($multiInput_props[$multi_input_id]['elements'] as $k2 => $inputBlock) {
             if (isset($params['multiInput-' . $blockId . '-' . $multi_input_id . '-' . $k1 . '-' . $k2])) {
                 $inputBlock->SetProperty('id', 'multiInput-' . $blockId . '-' . $multi_input_id . '-' . $k1 . '-' . $k2);
                 $multi_input_values[] = $inputBlock->FillParams($params, $editing);
             }
         }
         $multi_inputs[] = implode($this->GetProperty('value_delimiter'), $multi_input_values);
     }
     if (!ac_utils::IsVarEmpty($multi_inputs)) {
         $value = implode($this->GetProperty('input_delimiter'), $multi_inputs);
     }
     return $value;
 }
 public static function ClearContentBlocks($content_id = NULL)
 {
     if ($content_id) {
         self::$_content_blocks[$content_id] = NULL;
         unset(self::$_content_blocks[$content_id]);
     } else {
         self::$_content_blocks = array();
     }
 }
    public function GetHeaderHTML()
    {
        if ($this->_header_html_called) {
            return;
        }
        $this->_header_html_called = true;
        $ret = '
<script language="javascript" type="text/javascript">
/* <![CDATA[ */
ac_onload.push(function(){
	(function($){';
        foreach (acContentBlockManager::GetBlocksByType('date') as $block_id) {
            $contentBlock =& $this->content_obj->GetContentBlock($block_id);
            if ($contentBlock->GetProperty('mode') == 'calendar') {
                $ret .= '
		$("#' . $block_id . '_AdvancedContentDatePickerDisplay").datepicker({
			numberOfMonths: 3,
			showButtonPanel: true,
			showOn: "button",
			buttonImage: "../modules/AdvancedContent/images/calendar.png",
			altField: "#' . $block_id . '_AdvancedContentDate",
			altFormat: "@",
			buttonImageOnly: true
		});';
            }
        }
        return $ret . '
	})(jQuery);
});
/* ]]> */
</script>';
    }
 public static function EditAsArray(&$content_obj, $adding = false, $tab = 0, $showadmin = false)
 {
     if (!($tab_id = acTabManager::GetTabId($tab))) {
         return array();
     }
     $AC =& ac_utils::get_module('AdvancedContent');
     $ret = array();
     $tmp = array();
     if ($tab_id == 'main' || $tab_id == 'options' && check_permission(get_userid(), 'Manage All Content')) {
         $tmp = ac_utils::CleanArray($content_obj->DisplayAttributes($adding, $tab));
     } else {
         if ($tab_id == 'AdvancedContent') {
             $tmp = self::DisplayAdvancedOptions($content_obj, $adding);
         }
     }
     foreach ($tmp as $one) {
         $ret[] = $one;
     }
     $AC->smarty->assign_by_ref('content_obj', $content_obj);
     $AC->smarty->assign('tab', acTabManager::GetTab($tab_id));
     $AC->smarty->assign('locale', substr(get_preference(get_userid(), 'default_cms_language'), 0, 2));
     if ($tab == 0) {
         $html = $AC->GetHeaderHTML() . '<!-- start ac blocktypes head -->';
         $blockTypes =& acContentBlockManager::GetBlockTypes();
         foreach ($blockTypes as &$btype) {
             if ($btype['header_html_called']) {
                 continue;
             }
             $btype['header_html_called'] = true;
             $blocks = $btype['content_blocks'];
             $block_id = array_shift($blocks);
             $contentBlock =& $content_obj->GetContentBlock($block_id);
             if ($contentBlock->Type() == AC_INVALID_BLOCK_TYPE) {
                 continue;
             }
             $html .= $contentBlock->GetHeaderHTML();
         }
         echo $html . '<!-- end ac blocktypes head -->';
     }
     $ret[] = array('', $AC->ProcessTemplate('editcontent.tpl'));
     return $ret;
 }
    public function GetHeaderHTML()
    {
        if ($this->_header_html_called) {
            return;
        }
        $this->_header_html_called = true;
        $ret = '
<script language="javascript" type="text/javascript">
/* <![CDATA[ */
ac_onload.push(function(){
	(function($){';
        foreach (acContentBlockManager::GetBlocksByType('ui_slider') as $block_id) {
            $contentBlock =& $this->content_obj->GetContentBlock($block_id);
            $slider_params = $contentBlock->GetProperty('slider_params');
            $ret .= '
		$("#' . $block_id . '_slider").slider({
			slide: function( event, ui ) {';
            if (isset($slider_params['range'])) {
                $ret .= '
				$("#' . $block_id . '").val( ui.values );
				$("#' . $block_id . '_display").html( ui.values[0] + \' - \' + ui.values[1] + " ' . $contentBlock->GetProperty('unit') . '");';
            } else {
                $ret .= '
				$("#' . $block_id . '").val( ui.value );
				$("#' . $block_id . '_display").html( ui.value + " ' . $contentBlock->GetProperty('unit') . '");';
            }
            $ret .= '
			},';
            if (isset($slider_params['range'])) {
                $_values = explode(',', $contentBlock->GetContent());
                if ($slider_params['range'] === true || $slider_params['range'] === false) {
                    if (count($_values) < 2) {
                        $value_min = isset($slider_params['min']) ? $slider_params['min'] : 0;
                        $value_max = intval($_values[0]);
                    } else {
                        $value_min = intval($_values[0]);
                        $value_max = intval($_values[1]);
                    }
                } else {
                    if ($slider_params['range'] == 'min') {
                        $value_min = isset($slider_params['min']) ? $slider_params['min'] : 0;
                        $value_max = count($_values) < 2 ? $_values[0] : $_values[1];
                    } else {
                        if ($slider_params['range'] == 'max') {
                            $value_min = count($_values) < 2 ? $_values[0] : $_values[1];
                            $value_max = isset($slider_params['max']) ? $slider_params['max'] : 10;
                        }
                    }
                }
                if (isset($slider_params['max']) && $slider_params['max'] < $value_max) {
                    $value_max = $slider_params['max'];
                }
                if (isset($slider_params['min']) && $slider_params['min'] > $value_min) {
                    $value_min = $slider_params['min'];
                }
                $ret .= 'values: [' . $value_min . ',' . $value_max . ']';
            } else {
                $ret .= 'value: ' . intval($contentBlock->GetContent());
            }
            if (count($slider_params)) {
                $ret .= ',';
                $slider_settings = array();
                foreach ($slider_params as $paramName => $paramValue) {
                    if (is_bool($paramValue)) {
                        $slider_settings[] = $paramName . ': ' . ($paramValue ? 'true' : 'false');
                    } else {
                        $slider_settings[] = $paramName . ': ' . (is_numeric($paramValue) ? $paramValue : '"' . $paramValue . '"');
                    }
                }
                $ret .= implode(',', $slider_settings);
            }
            $ret .= '
		});';
        }
        return $ret . '
	})(jQuery);
});
/* ]]> */
</script>';
    }
 /**
  * @ignore
  */
 public function ClearContentBlocks()
 {
     acContentBlockManager::ClearContentBlocks($this->Id());
 }