function __construct($optionName, $pluginSlug)
 {
     parent::__construct($optionName, $pluginSlug);
     //add the options required for this plugin
     $this->addOption('enabled', 'bit', FALSE)->__('Enabled');
     $this->addOption('scroll_offset', 'int', 100, array($this, 'validate_zero_positive'))->__('Scroll Offset');
     $this->addOption('button_width', 'int', 0, array($this, 'validate_zero_positive'));
     $this->addOption('button_height', 'int', 0, array($this, 'validate_zero_positive'));
     $this->addOption('button_opacity', 'int', 80, array($this, 'validate_range_0_100'))->__('Button Opacity');
     $this->addOption('button_fade_duration', 'int', 200, array($this, 'validate_zero_positive'))->__('Button Fade Duration');
     $this->addOption('scroll_duration', 'int', 400, array($this, 'validate_zero_positive'))->__('Scroll Duration');
     $this->addOption('auto_hide', 'bit', FALSE)->__('Auto Hide');
     $this->addOption('auto_hide_after', 'float', 2, array($this, 'validate_zero_positive'))->__('Auto Hide After');
     $this->addOption('hide_small_device', 'bit', FALSE)->__('Hide on Small Devices');
     $this->addOption('small_device_width', 'int', 640, array($this, 'validate_zero_positive'))->__('Small Device Max Width');
     $this->addOption('hide_small_window', 'bit', FALSE)->__('Hide on Small Window');
     $this->addOption('small_window_width', 'int', 640, array($this, 'validate_zero_positive'))->__('Small Window Max Width');
     $this->addOption('button_style', 'string', 'image', array($this, 'validate_button_style'))->__('Button Style');
     $this->addOption('image_alt', 'string', '')->__('Image ALT');
     $this->addOption('hide_wpadmin', 'bit', FALSE)->__('Hide on WP-ADMIN');
     $this->addOption('hide_iframe', 'bit', FALSE)->__('Hide on iframes');
     $this->addOption('location', 'int', 1, array($this, 'validate_range_1_4'))->__('Location');
     $this->addOption('marginX', 'int', 20)->__('Margin X');
     $this->addOption('marginY', 'int', 20)->__('Margin Y');
     $this->addOption('text_button_text', 'string', '')->__('Text');
     $this->addOption('text_button_text_color', 'string', '#ffffff', array($this, 'validate_color'))->__('Text Color');
     $this->addOption('text_button_background_color', 'string', '#000000', array($this, 'validate_color'))->__('Background Color');
     $this->addOption('text_button_css', 'string', '')->__('Custom CSS');
     $this->addOption('display_pages', 'int', '1', array($this, 'validate_display_pages'))->__('Display on Pages');
     $this->addOption('include_pages', 'string', '');
     $this->addOption('exclude_pages', 'string', '');
     $this->addOption('image', 'string', '1.png');
     $this->addOption('custom_url', 'string', '');
 }
 function __construct($optionName, $pluginSlug)
 {
     parent::__construct($optionName, $pluginSlug);
     //add the options required for this plugin
     $this->addOption('enabled', 'bit', FALSE)->__('Enabled');
     $this->addOption('position', 'int', 1, array($this, 'validate_1or2'))->__('Position');
     $this->addOption('height', 'int', 0, array($this, 'validate_zero_positive'))->__('Bar Height');
     $this->addOption('message', 'string', '')->__('Message Text');
     $this->addOption('message_process_shortcode', 'bit', FALSE)->__('Process Shortcode');
     $this->addOption('display_after', 'int', 1, array($this, 'validate_zero_positive'))->__('Display After');
     $this->addOption('animate_delay', 'float', 0.5, array($this, 'validate_zero_positive'))->__('Animation Duration');
     $this->addOption('close_button', 'bool', FALSE)->__('Display Close Button');
     $this->addOption('auto_close_after', 'int', 0, array($this, 'validate_zero_positive'))->__('Auto Close After');
     $this->addOption('display_button', 'bool', FALSE)->__('Display Button');
     $this->addOption('button_text', 'string', '')->__('Button Text');
     $this->addOption('button_action', 'int', 1, array($this, 'validate_1or2'))->__('Button Action');
     $this->addOption('button_action_url', 'string', '')->__('Open URL:');
     $this->addOption('button_action_new_tab', 'bool', FALSE)->__('Open URL in new tab/window');
     $this->addOption('button_action_url_nofollow', 'bool', FALSE)->__('No follow link');
     $this->addOption('button_action_javascript', 'string', '')->__('Execute JavaScript');
     $this->addOption('button_action_close_bar', 'bit', FALSE)->__('Close Bar on Button Click');
     $this->addOption('display_shadow', 'bit', FALSE)->__('Display Shadow');
     $this->addOption('fixed_position', 'bit', FALSE)->__('Fixed at Position');
     $this->addOption('message_color', 'string', '#ffffff', array($this, 'validate_color'))->__('Message Text Color');
     $this->addOption('bar_from_color', 'string', '#888888', array($this, 'validate_color'))->__('From Color');
     $this->addOption('bar_to_color', 'string', '#000000', array($this, 'validate_color'))->__('To Color');
     $this->addOption('button_from_color', 'string', '#00b7ea', array($this, 'validate_color'))->__('From Color');
     $this->addOption('button_to_color', 'string', '#009ec3', array($this, 'validate_color'))->__('To Color');
     $this->addOption('button_text_color', 'string', '#ffffff', array($this, 'validate_color'))->__('Button Text Color');
     $this->addOption('display_pages', 'int', '1', array($this, 'validate_display_pages'))->__('Display on Pages');
     $this->addOption('include_pages', 'string', '');
     $this->addOption('exclude_pages', 'string', '');
     $this->addOption('display_open_button', 'bit', false)->__('Display Reopen Button');
     $this->addOption('open_button_color', 'string', '#00b7ea')->__('Reopen Button Color');
     $this->addOption('keep_closed', 'bit', FALSE)->__('Keep Closed');
     $this->addOption('keep_closed_for', 'int', 0, array($this, 'validate_zero_positive'))->__('Keep Closed For');
     $this->addOption('position_offset', 'int', 0)->__('Position Offset');
     $this->addOption('custom_css', 'string', '')->__('Custom CSS');
     $this->addOption('close_button_color', 'string', '#555555', array($this, 'validate_color'))->__('Close Button Color');
     $this->addOption('close_button_color_hover', 'string', '#aaaaaa', array($this, 'validate_color'));
     $this->addOption('close_button_color_x', 'string', '#000000', array($this, 'validate_color'));
     $this->addOption('display_roles', 'int', '1', array($this, 'validate_display_roles'))->__('Display for User Roles');
     $this->addOption('include_roles', 'string', array(), array($this, 'validate_include_roles'));
     $this->addOption('display_scroll', 'bit', false)->__('Display on Scroll');
     $this->addOption('display_scroll_offset', 'int', '100', array($this, 'validate_zero_positive'))->__('Scroll Offset');
     $this->addOption('start_date', 'string', '', array($this, 'validate_date_range'))->__('Start Date');
     $this->addOption('end_date', 'string', '', array($this, 'validate_date_range'))->__('End Date');
     $this->addOption('wp_emember_integration', 'bit', FALSE);
 }