<?php
/**
* LayerSlider v5.1.2 - Responsive Slideshow Module http://layerslider.webshopworks.com
*
*  @author    WebshopWorks <info@webshopworks.com>
*  @copyright 2015 WebshopWorks
*  @license   One Domain Licence
*/

if (!defined('_PS_VERSION_'))
	exit;

$langs = array(array('value' => 0, 'option' => __('- All -', 'LayerSlider')));
$shops = array(array('value' => 0, 'option' => __('- All -', 'LayerSlider')));
$cats = array();
$pages = array();

if (class_exists('PSOpts'))
{
	foreach (Language::getLanguages() as $l)
		$langs[] = array('value' => $l['id_lang'], 'option' => $l['name']);
	foreach (Shop::getShops() as $s)
		$shops[] = array('value' => $s['id_shop'], 'option' => $s['name']);
	PSOpts::getCategories($cats);
	PSOpts::getCMSCategories($pages);
}

$ls_defaults = array(

	'slider' => array(

		'hook' => array(
			'value' => '',
			'name' => __('Module position', 'LayerSlider'),
			'desc' => __('Slider will appear on the selected position.', 'LayerSlider'),
			'keys' => 'hook',
			'options' => ls_get_hooks(),
			'props' => array('meta' => true)),

		'width' => array(
			'value' => 600,
			'name' => __('Slider width', 'LayerSlider'),
			'keys' => 'width',
			'desc' => __('The width of the slider in pixels. Accepts percents, but is only recommended for full-width layout.', 'LayerSlider'),
			'attrs' => array('type' => 'text'),
			'props' => array('meta' => true)),

		'height' => array(
			'value' => 300,
			'name' => __('Slider height', 'LayerSlider'),
			'keys' => 'height',
			'desc' => __('The height of the slider in pixels.', 'LayerSlider'),
			'attrs' => array('type' => 'text'),
			'props' => array('meta' => true)),

		'responsiveness' => array(
			'value' => true,
			'name' => __('Responsive', 'LayerSlider'),
			'keys' => 'responsive',
			'desc' => __('Responsive mode provides optimal viewing experience across a wide range of devices (from desktop to mobile) by adapting and scaling your sliders for the viewing environment.',
				'LayerSlider')),

		'maxWidth' => array(
			'value' => '',
			'name' => __('Max-width', 'LayerSlider'),
			'keys' => 'maxwidth',
			'desc' => __('The maximum width your slider can take in pixels when responsive mode is enabled.', 'LayerSlider'),
			'attrs' => array('type' => 'number', 'min' => 0),
			'props' => array('meta' => true)),

		'fullWidth' => array(
			'value' => false,
			'name' => __('Full-width', 'LayerSlider'),
			'keys' => 'forceresponsive',
			'desc' => __('Enable this option to force the slider to become full-width, even if your theme does not support such layout.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'responsiveUnder' => array(
			'value' => 0,
			'name' => __('Responsive under', 'LayerSlider'),
			'keys' => array('responsiveunder', 'responsiveUnder'),
			'desc' => __('Turns on responsive mode in a full-width slider under the specified value in pixels. Can only be used with full-width mode.', 'LayerSlider'),
			'attrs' => array('min' => 0)),

		'layersContainer' => array(
			'value' => 0,
			'name' => __('Layers container', 'LayerSlider'),
			'keys' => array('sublayercontainer', 'layersContainer'),
			'desc' => __('Creates an invisible inner container with the given dimension in pixels to hold and center your layers.', 'LayerSlider'),
			'attrs' => array('min' => 0)),

		'autoStart' => array(
			'value' => true,
			'name' => __('Start slideshow', 'LayerSlider'),
			'keys' => array('autostart', 'autoStart'),
			'desc' => __('Slideshow will automatically start after pages have loaded.', 'LayerSlider')),

		'pauseOnHover' => array(
			'value' => true,
			'name' => __('Pause on hover', 'LayerSlider'),
			'keys' => array('pauseonhover', 'pauseOnHover'),
			'desc' => __('Slideshow will temporally pause when someone moves the mouse cursor over the slider.', 'LayerSlider')),

		'firstSlide' => array(
			'value' => 1,
			'name' => __('Start with slide', 'LayerSlider'),
			'keys' => array('firstlayer', 'firstSlide'),
			'desc' => __('The slider will start with the specified slide. You can use the value "random".', 'LayerSlider'),
			'attrs' => array('type' => 'text')),

		'animateFirstSlide' => array(
			'value' => true,
			'name' => __('Animate starting slide', 'LayerSlider'),
			'keys' => array('animatefirstlayer', 'animateFirstSlide'),
			'desc' => __('Disabling this option will result a static starting slide for the fisrt time on page load.', 'LayerSlider')),

		'shuffle' => array(
			'value' => false,
			'name' => __('Shuffle mode', 'LayerSlider'),
			'keys' => array('randomslideshow', 'randomSlideshow'),
			'desc' => __('Slideshow will proceed in random order. This feature does not work with looping.', 'LayerSlider')),

		'twoWaySlideshow' => array(
			'value' => false,
			'name' => __('Two way slideshow', 'LayerSlider'),
			'keys' => array('twowayslideshow', 'twoWaySlideshow'),
			'desc' => __('Slideshow can go backwards if someone switch to a previous slide.', 'LayerSlider')),

		'loops' => array(
			'value' => 0,
			'name' => __('Loops', 'LayerSlider'),
			'keys' => 'loops',
			'desc' => __('Number of loops if slideshow is enabled. Zero means infinite loops.', 'LayerSlider'),
			),

		'forceLoopNumber' => array(
			'value' => true,
			'name' => __('Force the number of loops', 'LayerSlider'),
			'keys' => array('forceloopnum', 'forceLoopNum'),
			'desc' => __('The slider will always stop at the given number of loops, even if someone restarts slideshow.', 'LayerSlider')),

		'keybNavigation' => array(
			'value' => true,
			'name' => __('Keyboard navigation', 'LayerSlider'),
			'keys' => array('keybnav', 'keybNav'),
			'desc' => __('You can navigate through slides with the left and right arrow keys.', 'LayerSlider')),

		'touchNavigation' => array(
			'value' => true,
			'name' => __('Touch navigation', 'LayerSlider'),
			'keys' => array('touchnav', 'touchNav'),
			'desc' => __('Gesture-based navigation with swiping on touch-enabled devices.', 'LayerSlider')),

		'skin' => array(
			'value' => 'v5',
			'name' => __('Skin', 'LayerSlider'),
			'keys' => 'skin',
			'desc' => __('Used skin for this slider. The \'noskin\' skin is a border- and buttonless skin. Your custom skins will appear in the list when you create their folders as well.',
				'LayerSlider')),

		'globalBGColor' => array(
			'value' => '',
			'name' => __('Background color', 'LayerSlider'),
			'keys' => array('backgroundcolor', 'globalBGColor'),
			'desc' => __('Global background color of the slider. Slides with non-transparent background will cover this one. You can use all CSS methods such as HEX or RGB(A) values.',
				'LayerSlider')),

		'globalBGImage' => array(
			'value' => '',
			'name' => __('Background image', 'LayerSlider'),
			'keys' => array('backgroundimage', 'globalBGImage'),
			'desc' => __('Global background image of the slider. Slides with non-transparent background will cover this one.', 'LayerSlider')),

		'globalBGPosition' => array(
			'value' => '0% 0%',
			'name' => __('Background position', 'LayerSlider'),
			'keys' => array('background_position', 'globalBGPosition'),
			'desc' => __('Global background image position of the slider. The first value is the horizontal position and the second value is the vertical.', 'LayerSlider')),

		'globalBGSize' => array(
			'value' => 'auto',
			'name' => __('Background size', 'LayerSlider'),
			'keys' => array('background_size', 'globalBGSize'),
			'desc' => __('Global background size of the slider. You can set the size in pixel or percent or constants: auto | cover | contain ', 'LayerSlider')),

		'globalBGRepeat' => array(
			'value' => 'repeat',
			'name' => __('Background repeat', 'LayerSlider'),
			'keys' => array('background_repeat', 'globalBGRepeat'),
			'desc' => __('Global background repeat of the slider.', 'LayerSlider'),
			'options' => array(
				'repeat' => __('Repeat', 'LayerSlider', 'LayerSlider'),
				'repeat-x' => __('Repeat-x', 'LayerSlider', 'LayerSlider'),
				'repeat-y' => __('Repeat-y', 'LayerSlider', 'LayerSlider'),
				'no-repeat' => __('No-repeat', 'LayerSlider', 'LayerSlider'),
				)),

		'globalBGBehaviour' => array(
			'value' => 'scroll',
			'name' => __('Background behaviour', 'LayerSlider'),
			'keys' => array('background_behaviour', 'globalBGBehaviour'),
			'desc' => __('If you want to set fixed position background, please use Fixed value.', 'LayerSlider'),
			'options' => array('scroll' => __('Scroll', 'LayerSlider', 'LayerSlider'), 'fixed' => __('Fixed', 'LayerSlider', 'LayerSlider'))),

		'sliderStyle' => array(
			'value' => 'margin-bottom: 0px;',
			'name' => __('Slider style', 'LayerSlider'),
			'keys' => array('sliderstyle', 'sliderStyle'),
			'desc' => __('You can enter custom CSS to change some style properties on the slider wrapper element. More complex CSS should be applied with the Custom Styles Editor.',
				'LayerSlider'),
			'props' => array('meta' => true)),

		'navPrevNextButtons' => array(
			'value' => true,
			'name' => __('Show Prev & Next buttons', 'LayerSlider'),
			'keys' => array('navprevnext', 'navPrevNext'),
			'desc' => __('Disabling this option will hide the Prev and Next buttons.', 'LayerSlider')),

		'hoverPrevNextButtons' => array(
			'value' => true,
			'name' => __('Show Prev & Next buttons on hover', 'LayerSlider'),
			'keys' => array('hoverprevnext', 'hoverPrevNext'),
			'desc' => __('Show the buttons only when someone moves the mouse cursor over the slider. This option depends on the previous setting.', 'LayerSlider')),

		'navStartStopButtons' => array(
			'value' => true,
			'name' => __('Show Start & Stop buttons', 'LayerSlider'),
			'keys' => array('navstartstop', 'navStartStop'),
			'desc' => __('Disabling this option will hide the Start & Stop buttons.', 'LayerSlider')),

		'navSlideButtons' => array(
			'value' => true,
			'name' => __('Show slide navigation buttons', 'LayerSlider'),
			'keys' => array('navbuttons', 'navButtons'),
			'desc' => __('Disabling this option will hide slide navigation buttons or thumbnails.', 'LayerSlider')),

		'hoverSlideButtons' => array(
			'value' => false,
			'name' => __('Slide navigation on hover', 'LayerSlider'),
			'keys' => array('hoverbottomnav', 'hoverBottomNav'),
			'desc' => __('Slide navigation buttons (including thumbnails) will be shown on mouse hover only.', 'LayerSlider')),

		'barTimer' => array(
			'value' => false,
			'name' => __('Show bar timer', 'LayerSlider'),
			'keys' => array('bartimer', 'showBarTimer'),
			'desc' => __('Show the bar timer to indicate slideshow progression.', 'LayerSlider')),

		'circleTimer' => array(
			'value' => true,
			'name' => __('Show circle timer', 'LayerSlider'),
			'keys' => array('circletimer', 'showCircleTimer'),
			'desc' => __('Use circle timer to indicate slideshow progression.', 'LayerSlider')),

		'thumbnailNavigation' => array(
			'value' => 'hover',
			'name' => __('Thumbnail navigation', 'LayerSlider'),
			'keys' => array('thumb_nav', 'thumbnailNavigation'),
			'desc' => __('Use thumbnail navigation instead of slide bullet buttons.', 'LayerSlider'),
			'options' => array(
				'disabled' => __('Disabled', 'LayerSlider', 'LayerSlider'),
				'hover' => __('Hover', 'LayerSlider', 'LayerSlider'),
				'always' => __('Always', 'LayerSlider', 'LayerSlider'))),

		'thumbnailAreaWidth' => array(
			'value' => '60%',
			'name' => __('Thumbnail container width', 'LayerSlider'),
			'keys' => array('thumb_container_width', 'tnContainerWidth'),
			'desc' => __('The width of the thumbnail area.', 'LayerSlider')),

		'thumbnailWidth' => array(
			'value' => 100,
			'name' => __('Thumbnail width', 'LayerSlider'),
			'keys' => array('thumb_width', 'tnWidth'),
			'desc' => __('The width of thumbnails in the navigation area.', 'LayerSlider'),
			'attrs' => array('min' => 0)),

		'thumbnailHeight' => array(
			'value' => 60,
			'name' => __('Thumbnail height', 'LayerSlider'),
			'keys' => array('thumb_height', 'tnHeight'),
			'desc' => __('The height of thumbnails in the navigation area.', 'LayerSlider'),
			'attrs' => array('min' => 0)),

		'thumbnailActiveOpacity' => array(
			'value' => 35,
			'name' => __('Active thumbnail opacity', 'LayerSlider'),
			'keys' => array('thumb_active_opacity', 'tnActiveOpacity'),
			'desc' => __('Opacity in percents of the active slide\'s tumbnail.', 'LayerSlider'),
			'attrs' => array('min' => 0, 'max' => 100)),

		'thumbnailInactiveOpacity' => array(
			'value' => 100,
			'name' => __('Inactive thumbnail opacity', 'LayerSlider'),
			'keys' => array('thumb_inactive_opacity', 'tnInactiveOpacity'),
			'desc' => __('Opacity in percents of inactive slide thumbnails.', 'LayerSlider'),
			'attrs' => array('min' => 0, 'max' => 100)),

		'autoPlayVideos' => array(
			'value' => true,
			'name' => __('Automatically play videos', 'LayerSlider'),
			'keys' => array('autoplayvideos', 'autoPlayVideos'),
			'desc' => __('Videos will be automatically started on the active slide.', 'LayerSlider')),

		'autoPauseSlideshow' => array(
			'value' => 'auto',
			'name' => __('Pause slideshow', 'LayerSlider'),
			'keys' => array('autopauseslideshow', 'autoPauseSlideshow'),
			'desc' => __('The slideshow can temporally paused while videos are plaing. You can choose to permanently stop the pause until manual restarting.', 'LayerSlider'),
			'options' => array(
				'auto' => __('While playing', 'LayerSlider'),
				'enabled' => __('Permanently', 'LayerSlider'),
				'disabled' => __('No action', 'LayerSlider'))),

		'youtubePreviewQuality' => array(
			'value' => 'maxresdefault.jpg',
			'name' => __('Youtube preview', 'LayerSlider'),
			'keys' => array('youtubepreview', 'youtubePreview'),
			'desc' => __('The preview image quaility for YouTube videos. Note, some videos do not have HD previews, and you may need to choose a lower quaility.',
				'LayerSlider'),
			'options' => array(
				'maxresdefault.jpg' => __('Maximum quality', 'LayerSlider'),
				'hqdefault.jpg' => __('High quality', 'LayerSlider'),
				'mqdefault.jpg' => __('Medium quality', 'LayerSlider'),
				'default.jpg' => __('Default quality', 'LayerSlider'))),

		'shop' => array(
			'value' => '0',
			'name' => __('Shop', 'LayerSlider'),
			'desc' => __('Slider will appear only on the selected shop. (In case of Multi-shops)', 'LayerSlider'),
			'keys' => 'shop',
			'options' => $shops,
			'props' => array('meta' => true)),

		'lang' => array(
			'value' => '0',
			'name' => __('Language', 'LayerSlider'),
			'desc' => __('Slider will appear only on the selected language. (In case of multilanguage)', 'LayerSlider'),
			'keys' => 'lang',
			'options' => $langs,
			'props' => array('meta' => true)),

		'cats' => array(
			'value' => '["all"]',
			'name' => __('Categories', 'LayerSlider'),
			'keys' => 'cats',
			'options' => $cats,
			'attrs' => array('multiple' => 'multiple', 'style' => 'width:auto; height:250px'),
			'props' => array('meta' => true)),

		'pages' => array(
			'value' => '["all"]',
			'name' => __('Pages', 'LayerSlider'),
			'keys' => 'pages',
			'options' => $pages,
			'attrs' => array('multiple' => 'multiple', 'style' => 'width:auto; height:250px'),
			'props' => array('meta' => true)),

		'imagePreload' => array(
			'value' => true,
			'name' => __('Image preload', 'LayerSlider'),
			'keys' => array('imgpreload', 'imgPreload'),
			'desc' => __('Preloads images used in the next slides for seamless animations.', 'LayerSlider')),

		'lazyLoad' => array(
			'value' => true,
			'name' => __('Lazy load images', 'LayerSlider'),
			'keys' => array('lazyload', 'lazyLoad'),
			'desc' => __('Loads images only when needed to save bandwidth and server resources. Relies on the preload feature.', 'LayerSlider')),

		'relativeURLs' => array(
			'value' => false,
			'name' => __('Use relative URLs', 'LayerSlider'),
			'keys' => 'relativeurls',
			'desc' => __('Use relative URLs for local images. This setting could be important when moving your WP installation.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'yourLogoImage' => array(
			'value' => '',
			'name' => __('YourLogo', 'LayerSlider'),
			'keys' => array('yourlogo', 'yourLogo'),
			'desc' => __('A fixed image layer can be shown above the slider that remains still during slide progression. Can be used to display logos or watermarks.',
				'LayerSlider')),

		'yourLogoStyle' => array(
			'value' => 'left: -10px; top: -10px;',
			'name' => __('YourLogo style', 'LayerSlider'),
			'keys' => array('yourlogostyle', 'yourLogoStyle'),
			'desc' => __('CSS properties to control the image placement and appearance.', 'LayerSlider')),

		'yourLogoLink' => array(
			'value' => '',
			'name' => __('YourLogo link', 'LayerSlider'),
			'keys' => array('yourlogolink', 'yourLogoLink'),
			'desc' => __('Enter an URL to link the YourLogo image.', 'LayerSlider')),

		'yourLogoTarget' => array(
			'value' => '_self',
			'name' => __('Open link in new page', 'LayerSlider'),
			'keys' => array('yourlogotarget', 'yourLogoTarget'),
			'desc' => __('Disabling this option will open the link in the current page.', 'LayerSlider'),
			'options' => array(
				'_self' => 'Open on the same page',
				'_blank' => 'Open on new page',
				'_parent' => 'Open in parent frame',
				'_top' => 'Open in main frame'),
			),

		'postType' => array(
			'value' => '',
			'keys' => 'post_type',
			'props' => array('meta' => true)),

		'postOrderBy' => array(
			'value' => 'date',
			'keys' => 'post_orderby',
			'options' => array(
				'date' => 'Date Created',
				'modified' => 'Last Modified',
				'ID' => 'Post ID',
				'title' => 'Post Title',
				'comment_count' => 'Number of Comments',
				'rand' => 'Random'),
			'props' => array('meta' => true)),

		'postOrder' => array(
			'value' => 'DESC',
			'keys' => 'post_order',
			'options' => array('ASC' => 'Ascending', 'DESC' => 'Descending'),
			'props' => array('meta' => true)),

		'postCategories' => array(
			'value' => '',
			'keys' => 'post_categories',
			'props' => array('meta' => true)),

		'postTags' => array(
			'value' => '',
			'keys' => 'post_tags',
			'props' => array('meta' => true)),

		'postTaxonomy' => array(
			'value' => '',
			'keys' => 'post_taxonomy',
			'props' => array('meta' => true)),

		'postTaxTerms' => array(
			'value' => '',
			'keys' => 'post_tax_terms',
			'props' => array('meta' => true)),

		'cbInit' => array('value' => "function(element) {\r\n\r\n}", 'keys' => array('cbinit', 'cbInit')),

		'cbStart' => array('value' => "function(data) {\r\n\r\n}", 'keys' => array('cbstart', 'cbStart')),

		'cbStop' => array('value' => "function(data) {\r\n\r\n}", 'keys' => array('cbstop', 'cbStop')),

		'cbPause' => array('value' => "function(data) {\r\n\r\n}", 'keys' => array('cbpause', 'cbPause')),

		'cbAnimStart' => array('value' => "function(data) {\r\n\r\n}", 'keys' => array('cbanimstart', 'cbAnimStart')),

		'cbAnimStop' => array('value' => "function(data) {\r\n\r\n}", 'keys' => array('cbanimstop', 'cbAnimStop')),

		'cbPrev' => array('value' => "function(data) {\r\n\r\n}", 'keys' => array('cbprev', 'cbPrev')),

		'cbNext' => array('value' => "function(data) {\r\n\r\n}", 'keys' => array('cbnext', 'cbNext')),
		),

	'slides' => array(

		'image' => array(
			'value' => '',
			'name' => __('Set a slide image', 'LayerSlider'),
			'keys' => 'background',
			'tooltip' => __('The slide image/background. Click on the image to open the Media Library to choose or upload an image.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'imageId' => array(
			'value' => '',
			'keys' => 'backgroundId',
			'props' => array('meta' => true)),

		'thumbnail' => array(
			'value' => '',
			'name' => __('Set a slide thumbnail', 'LayerSlider'),
			'keys' => 'thumbnail',
			'tooltip' => __('The thumbnail image of this slide. Click on the image to open the Media Library to choose or upload an image. If you leave this field empty, the slide image will be used.',
				'LayerSlider'),
			'props' => array('meta' => true)),

		'thumbnailId' => array(
			'value' => '',
			'keys' => 'thumbnailId',
			'props' => array('meta' => true)),

		'delay' => array(
			'value' => 4000,
			'name' => __('Slide delay', 'LayerSlider'),
			'keys' => 'slidedelay',
			'tooltip' => __('Here you can set the time interval between slide changes, this slide will stay visible for the time specified here. This value is in millisecs, so the value 1000 means 1 second. Please don\'t use 0 or very low values.',
				'LayerSlider'),
			'attrs' => array('min' => 0, 'step' => 500)),

		'2dTransitions' => array('value' => '', 'keys' => array('2d_transitions', 'transition2d')),

		'3dTransitions' => array('value' => '', 'keys' => array('3d_transitions', 'transition3d')),

		'custom2dTransitions' => array('value' => '', 'keys' => array('custom_2d_transitions', 'customtransition2d')),

		'custom3dTransitions' => array('value' => '', 'keys' => array('custom_3d_transitions', 'customtransition3d')),

		'timeshift' => array(
			'value' => 0,
			'name' => __('Time Shift', 'LayerSlider'),
			'keys' => 'timeshift',
			'tooltip' => __('You can control here the timing of the layer animations when the slider changes to this slide with a 3D/2D transition. Zero means that the layers of this slide will animate in when the slide transition ends. You can time-shift the starting time of the layer animations with positive or negative values.',
				'LayerSlider'),
			'attrs' => array('step' => 50)),

		'linkUrl' => array(
			'value' => '',
			'name' => __('URL', 'LayerSlider'),
			'keys' => array('layer_link', 'linkUrl'),
			'tooltip' => __('If you want to link the whole slide, enter the URL of your link here.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'linkTarget' => array(
			'value' => '_self',
			'name' => __('Link Target', 'LayerSlider'),
			'keys' => array('layer_link_target', 'linkTarget'),
			'tooltip' => __('You can control here the link behaviour: _self means the linked page will open in the current tab/window, _blank will create a new tab/window.',
				'LayerSlider'),
			'options' => array(
				'_self' => 'Open on the same page',
				'_blank' => 'Open on new page',
				'_parent' => 'Open in parent frame',
				'_top' => 'Open in main frame'),
			'props' => array('meta' => true)),

		'ID' => array(
			'value' => '',
			'name' => __('#ID', 'LayerSlider'),
			'keys' => 'id',
			'tooltip' => __('You can apply an ID attribute on the HTML element of this slide to work with it in your custom CSS or Javascript code.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'deeplink' => array(
			'value' => '',
			'name' => __('Deeplink', 'LayerSlider'),
			'keys' => 'deeplink',
			'tooltip' => __('You can specify a slide alias name which you can use in your URLs with a hash mark, so LayerSlider will start with the correspondig slide.',
				'LayerSlider')),

		'postOffset' => array(
			'value' => '',
			'keys' => 'post_offset',
			'props' => array('meta' => true)),

		'skipSlide' => array(
			'value' => false,
			'name' => __('Hidden', 'LayerSlider'),
			'keys' => 'skip',
			'tooltip' => __('If you don\'t want to use this slide in your front-page, but you want to keep it, you can hide it with this switch.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'slidedirection' => array('value' => 'right', 'keys' => 'slidedirection'),
		'durationin' => array('value' => 1500, 'keys' => 'durationin'),
		'durationout' => array('value' => 1500, 'keys' => 'durationout'),
		'easingin' => array('value' => 'easeInOutQuint', 'keys' => 'easingin'),
		'easingout' => array('value' => 'easeInOutQuint', 'keys' => 'easingout'),
		'delayin' => array('value' => 0, 'keys' => 'delayin'),
		'delayout' => array('value' => 0, 'keys' => 'slidedidelayoutrection')),

	'layers' => array(

		'type' => array(
			'value' => '',
			'keys' => 'type',
			'props' => array('meta' => true)),

		'media' => array(
			'value' => '',
			'keys' => 'media',
			'props' => array('meta' => true)),

		'image' => array(
			'value' => '',
			'keys' => 'image',
			'props' => array('meta' => true)),

		'imageId' => array(
			'value' => '',
			'keys' => 'imageId',
			'props' => array('meta' => true)),

		'html' => array(
			'value' => '',
			'keys' => 'html',
			'props' => array('meta' => true)),

		'postTextLength' => array(
			'value' => '',
			'keys' => 'post_text_length',
			'props' => array('meta' => true)),

		'transition' => array(
			'value' => '',
			'keys' => 'transition',
			'props' => array('meta' => true)),

		'transitionInOffsetX' => array(
			'value' => '80',
			'name' => __('OffsetX', 'LayerSlider'),
			'keys' => 'offsetxin',
			'tooltip' => __('The horizontal offset to align the starting position of layers. Positive and negative numbers are allowed or enter left / right to position the layer out of the frame.',
				'LayerSlider')),

		'transitionInOffsetY' => array(
			'value' => '0',
			'name' => __('OffsetY', 'LayerSlider'),
			'keys' => 'offsetyin',
			'tooltip' => __('The vertical offset to align the starting position of layers. Positive and negative numbers are allowed or enter top / bottom to position the layer out of the frame.',
				'LayerSlider')),

		'transitionInDuration' => array(
			'value' => 1000,
			'name' => __('Duration', 'LayerSlider'),
			'keys' => 'durationin',
			'tooltip' => __('The transition duration in milliseconds when the layer entering into the slide. A second is equal to 1000 milliseconds.', 'LayerSlider'),
			'attrs' => array('min' => 0, 'step' => 50)),

		'transitionInDelay' => array(
			'value' => 0,
			'name' => __('Delay', 'LayerSlider'),
			'keys' => 'delayin',
			'tooltip' => __('Delays the transition with the given amount of milliseconds before the layer entering into the slide. A second is equal to 1000 milliseconds.',
				'LayerSlider'),
			'attrs' => array('min' => 0, 'step' => 50)),

		'transitionInEasing' => array(
			'value' => 'easeInOutQuint',
			'name' => __('Easing', 'LayerSlider'),
			'keys' => 'easingin',
			'tooltip' => __('The timing function of the animation to manipualte the layer\'s movement. Click on the link next to this field to open easings.net for examples and more information',
				'LayerSlider')),

		'transitionInFade' => array(
			'value' => true,
			'name' => __('Fade', 'LayerSlider'),
			'keys' => 'fadein',
			'tooltip' => __('Fade the layer during the transition.', 'LayerSlider'),
			),

		'transitionInRotate' => array(
			'value' => 0,
			'name' => __('Rotate', 'LayerSlider'),
			'keys' => 'rotatein',
			'tooltip' => __('Rotates the layer clockwise from the given angle to zero degree. Negative values are allowed for anticlockwise rotation.', 'LayerSlider')),

		'transitionInRotateX' => array(
			'value' => 0,
			'name' => __('RotateX', 'LayerSlider'),
			'keys' => 'rotatexin',
			'tooltip' => __('Rotates the layer along the X (horizontal) axis from the given angle to zero degree. Negative values are allowed for reverse direction.',
				'LayerSlider')),

		'transitionInRotateY' => array(
			'value' => 0,
			'name' => __('RotateY', 'LayerSlider'),
			'keys' => 'rotateyin',
			'tooltip' => __('Rotates the layer along the Y (vertical) axis from the given angle to zero degree. Negative values are allowed for reverse direction.',
				'LayerSlider')),

		'transitionInSkewX' => array(
			'value' => 0,
			'name' => __('SkewX', 'LayerSlider'),
			'keys' => 'skewxin',
			'tooltip' => __('Skews the layer along the X (horizontal) axis from the given angle to 0 degree. Negative values are allowed for reverse direction.',
				'LayerSlider')),

		'transitionInSkewY' => array(
			'value' => 0,
			'name' => __('SkewY', 'LayerSlider'),
			'keys' => 'skewyin',
			'tooltip' => __('Skews the layer along the Y (vertical) axis from the given angle to 0 degree. Negative values are allowed for reverse direction.',
				'LayerSlider'),
			),

		'transitionInScaleX' => array(
			'value' => 1,
			'name' => __('ScaleX', 'LayerSlider'),
			'keys' => 'scalexin',
			'tooltip' => __('Scales the layer\'s width from the given value to its original size.', 'LayerSlider'),
			'attrs' => array('step' => 0.1)),

		'transitionInScaleY' => array(
			'value' => 1,
			'name' => __('ScaleY', 'LayerSlider'),
			'keys' => 'scaleyin',
			'tooltip' => __('Scales the layer\'s height from the given value to its original size.', 'LayerSlider'),
			'attrs' => array('step' => 0.1)),

		'transitionInTransformOrigin' => array(
			'value' => '50% 50% 0',
			'name' => __('TransformOrigin', 'LayerSlider'),
			'keys' => 'transformoriginin',
			'tooltip' => __('This option allows you to modify the origin for transformations of the layer according to its position. The three values represent the X, Y and Z axis in 3D space. OriginX can be left, center, right, a number or a percentage value. OriginY can be top, center, bottom, a number or a percentage value. OriginZ can be a number and corresponds the depth in 3D space.',
				'LayerSlider'),
			),

		'transitionOutOffsetX' => array(
			'value' => '-80',
			'name' => __('OffsetX', 'LayerSlider'),
			'keys' => 'offsetxout',
			'tooltip' => __('The horizontal offset to align the ending position of layers. Positive and negative numbers are allowed or write left / right to position the layer out of the frame.',
				'LayerSlider')),

		'transitionOutOffsetY' => array(
			'value' => '0',
			'name' => __('OffsetY', 'LayerSlider'),
			'keys' => 'offsetyout',
			'tooltip' => __('The vertical offset to align the starting position of layers. Positive and negative numbers are allowed or write top / bottom to position the layer out of the frame.',
				'LayerSlider')),

		'transitionOutDuration' => array(
			'value' => 400,
			'name' => __('Duration', 'LayerSlider'),
			'keys' => 'durationout',
			'tooltip' => __('The transition duration in milliseconds when the layer leaving the slide. A second is equal to 1000 milliseconds.', 'LayerSlider'),
			'attrs' => array('min' => 0, 'step' => 50)),

		'showUntil' => array(
			'value' => 0,
			'name' => __('Show until', 'LayerSlider'),
			'keys' => 'showuntil',
			'tooltip' => __('The layer will be visible for the time you specify here, then it will slide out. You can use this setting for layers to leave the slide before the slide itself animates out, or for example before other layers will slide in. This value in millisecs, so the value 1000 means 1 second.',
				'LayerSlider'),
			'attrs' => array('min' => 0, 'step' => 50)),

		'transitionOutEasing' => array(
			'value' => 'easeInOutQuint',
			'name' => __('Easing', 'LayerSlider'),
			'keys' => 'easingout',
			'tooltip' => __('The timing function of the animation to manipualte the layer\'s movement. Click on the link next to this field to open easings.net for examples and more information',
				'LayerSlider')),

		'transitionOutFade' => array(
			'value' => true,
			'name' => __('Fade', 'LayerSlider'),
			'keys' => 'fadeout',
			'tooltip' => __('Fade the layer during the transition.', 'LayerSlider'),
			),

		'transitionOutRotate' => array(
			'value' => 0,
			'name' => __('Rotate', 'LayerSlider'),
			'keys' => 'rotateout',
			'tooltip' => __('Rotates the layer clockwise by the given angle from its original position. Negative values are allowed for anticlockwise rotation.',
				'LayerSlider')),

		'transitionOutRotateX' => array(
			'value' => 0,
			'name' => __('RotateX', 'LayerSlider'),
			'keys' => 'rotatexout',
			'tooltip' => __('Rotates the layer along the X (horizontal) axis by the given angle from its original state. Negative values are allowed for reverse direction.',
				'LayerSlider')),

		'transitionOutRotateY' => array(
			'value' => 0,
			'name' => __('RotateY', 'LayerSlider'),
			'keys' => 'rotateyout',
			'tooltip' => __('Rotates the layer along the Y (vertical) axis by the given angle from its orignal state. Negative values are allowed for reverse direction.',
				'LayerSlider')),

		'transitionOutSkewX' => array(
			'value' => 0,
			'name' => __('SkewX', 'LayerSlider'),
			'keys' => 'skewxout',
			'tooltip' => __('Skews the layer along the X (horizontal) axis by the given angle from its orignal state. Negative values are allowed for reverse direction.',
				'LayerSlider')),

		'transitionOutSkewY' => array(
			'value' => 0,
			'name' => __('SkewY', 'LayerSlider'),
			'keys' => 'skewyout',
			'tooltip' => __('Skews the layer along the Y (vertical) axis by the given angle from its original state. Negative values are allowed for reverse direction.',
				'LayerSlider'),
			),

		'transitionOutScaleX' => array(
			'value' => 1,
			'name' => __('ScaleX', 'LayerSlider'),
			'keys' => 'scalexout',
			'tooltip' => __('Scales the layer\'s width by the given value from its original size.', 'LayerSlider'),
			'attrs' => array('step' => 0.1)),

		'transitionOutScaleY' => array(
			'value' => 1,
			'name' => __('ScaleY', 'LayerSlider'),
			'keys' => 'scaleyout',
			'tooltip' => __('Scales the layer\'s height by the given value from its original size.', 'LayerSlider'),
			'attrs' => array('step' => 0.1)),

		'transitionOutTransformOrigin' => array(
			'value' => '50% 50% 0',
			'name' => __('TransformOrigin', 'LayerSlider'),
			'keys' => 'transformoriginout',
			'tooltip' => __('This option allows you to modify the origin for transformations of the layer according to its position. The three values represent the X, Y and Z axis in 3D space. OriginX can be left, center, right, a number or a percentage value. OriginY can be top, center, bottom, a number or a percentage value. OriginZ can be a number and corresponds the depth in 3D space.',
				'LayerSlider'),
			),

		'transitionParallaxLevel' => array(
			'value' => 0,
			'name' => __('Parallax Level', 'LayerSlider'),
			'keys' => 'parallaxlevel',
			'tooltip' => __('Applies a parallax effect on layers when you move your mouse over the slider. Higher values makes the layer more sensitive to mouse move. Negative values are allowed.',
				'LayerSlider')),

		'transitionInType' => array(
			'value' => 'auto',
			'name' => __('Type', 'LayerSlider'),
			'keys' => 'slidedirection'),
		'transitionOutType' => array(
			'value' => 'auto',
			'name' => __('Type', 'LayerSlider'),
			'keys' => 'slideoutdirection'),

		'transitionOutDelay' => array(
			'value' => 0,
			'name' => __('Delay', 'LayerSlider'),
			'keys' => 'delayout',
			'tooltip' => __('Delay before the animation start when the layer slides out. This value is in millisecs, so the value 1000 means 1 second.', 'LayerSlider'),
			'attrs' => array('min' => 0, 'step' => 50)),

		'transitionInScale' => array(
			'value' => '1.0',
			'name' => __('Scale', 'LayerSlider'),
			'keys' => 'scalein',
			'tooltip' => __('You can set the initial scale of this layer here which will be animated to the default (1.0) value.', 'LayerSlider'),
			'attrs' => array('step' => 0.1)),

		'transitionOutScale' => array(
			'value' => '1.0',
			'name' => __('Scale', 'LayerSlider'),
			'keys' => 'scaleout',
			'tooltip' => __('You can set the ending scale value here, this sublayer will be animated from the default (1.0) value to yours.', 'LayerSlider'),
			'attrs' => array('step' => 0.1)),

		'skipLayer' => array(
			'value' => false,
			'name' => __('Hidden', 'LayerSlider'),
			'keys' => 'skip',
			'tooltip' => __('If you don\'t want to use this layer, but you want to keep it, you can hide it with this switch.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'distanceLevel' => array(
			'value' => -1,
			'name' => __('Distance', 'LayerSlider'),
			'keys' => 'level',
			'tooltip' => __('The default value is -1 which means that the layer will be positioned exactly outside of the slide container. You can use the default setting in most of the cases. If you need to set the start or end position of the layer from further of the edges of the slide container, you can use 2, 3 or higher values.',
				'LayerSlider'),
			'attrs' => array('min' => -1),
			'props' => array('meta' => true)),

		'linkURL' => array(
			'value' => '',
			'name' => __('Enter URL', 'LayerSlider'),
			'keys' => 'url',
			'tooltip' => __('If you want to link your layer, type here the URL. You can use a hash mark followed by a number to link this layer to another slide. Example: #3 - this will switch to the third slide.',
				'LayerSlider'),
			'props' => array('meta' => true)),

		'linkTarget' => array(
			'value' => '_self',
			'name' => __('URL target', 'LayerSlider'),
			'keys' => 'target',
			'tooltip' => __('You can control here the link behaviour: _self means the linked page will open in the current tab/window, _blank will open it in a new tab/window.',
				'LayerSlider'),
			'options' => array(
				'_self' => 'Open on the same page',
				'_blank' => 'Open on new page',
				'_parent' => 'Open in parent frame',
				'_top' => 'Open in main frame'),
			'props' => array('meta' => true)),

		'width' => array(
			'value' => '',
			'name' => __('Width', 'LayerSlider'),
			'keys' => 'width',
			'tooltip' => __('You can set the width of your layer. You can use pixels, percents, or the default value \'auto\'. Examples: 100px, 50% or auto', 'LayerSlider'),
			'props' => array('meta' => true)),

		'height' => array(
			'value' => '',
			'name' => __('Height', 'LayerSlider'),
			'keys' => 'height',
			'tooltip' => __('You can set the height of your layer. You can use pixels, percents, or the default value \'auto\'. Examples: 100px, 50% or auto', 'LayerSlider'),
			'props' => array('meta' => true)),

		'top' => array(
			'value' => '0px',
			'name' => __('Top', 'LayerSlider'),
			'keys' => 'top',
			'tooltip' => __('The layer position from the top of the slide. You can use pixels and percents. Examples: 100px or 50%. You can move your layers in the preview above with a drag\'n\' drop, or set the exact values here.',
				'LayerSlider'),
			'props' => array('meta' => true)),

		'left' => array(
			'value' => '0px',
			'name' => __('Left', 'LayerSlider'),
			'keys' => 'left',
			'tooltip' => __('The layer position from the left side of the slide. You can use pixels and percents. Examples: 100px or 50%. You can move your layers in the preview above with a drag\'n\' drop, or set the exact values here.',
				'LayerSlider'),
			'props' => array('meta' => true)),

		'paddingTop' => array(
			'value' => '',
			'name' => __('Top', 'LayerSlider'),
			'keys' => 'padding-top',
			'tooltip' => __('Padding on the top of the layer. Example: 10px', 'LayerSlider'),
			'props' => array('meta' => true)),

		'paddingRight' => array(
			'value' => '',
			'name' => __('Right', 'LayerSlider'),
			'keys' => 'padding-right',
			'tooltip' => __('Padding on the right side of the layer. Example: 10px', 'LayerSlider'),
			'props' => array('meta' => true)),

		'paddingBottom' => array(
			'value' => '',
			'name' => __('Bottom', 'LayerSlider'),
			'keys' => 'padding-bottom',
			'tooltip' => __('Padding on the bottom of the layer. Example: 10px', 'LayerSlider'),
			'props' => array('meta' => true)),

		'paddingLeft' => array(
			'value' => '',
			'name' => __('Left', 'LayerSlider'),
			'keys' => 'padding-left',
			'tooltip' => __('Padding on the left side of the layer. Example: 10px', 'LayerSlider'),
			'props' => array('meta' => true)),

		'borderTop' => array(
			'value' => '',
			'name' => __('Top', 'LayerSlider'),
			'keys' => 'border-top',
			'tooltip' => __('Border on the top of the layer. Example: 5px solid #000', 'LayerSlider'),
			'props' => array('meta' => true)),

		'borderRight' => array(
			'value' => '',
			'name' => __('Right', 'LayerSlider'),
			'keys' => 'border-right',
			'tooltip' => __('Border on the right side of the layer. Example: 5px solid #000', 'LayerSlider'),
			'props' => array('meta' => true)),

		'borderBottom' => array(
			'value' => '',
			'name' => __('Bottom', 'LayerSlider'),
			'keys' => 'border-bottom',
			'tooltip' => __('Border on the bottom of the layer. Example: 5px solid #000', 'LayerSlider'),
			'props' => array('meta' => true)),

		'borderLeft' => array(
			'value' => '',
			'name' => __('Left', 'LayerSlider'),
			'keys' => 'border-left',
			'tooltip' => __('Border on the left side of the layer. Example: 5px solid #000', 'LayerSlider'),
			'props' => array('meta' => true)),

		'fontFamily' => array(
			'value' => '',
			'name' => __('Family', 'LayerSlider'),
			'keys' => 'font-family',
			'tooltip' => __('List of your chosen fonts separated with a comma. Please use apostrophes if your font names contains white spaces. Example: Helvetica, Arial, sans-serif',
				'LayerSlider'),
			'props' => array('meta' => true)),

		'fontSize' => array(
			'value' => '',
			'name' => __('Size', 'LayerSlider'),
			'keys' => 'font-size',
			'tooltip' => __('The font size in pixels. Example: 16px.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'lineHeight' => array(
			'value' => '',
			'name' => __('Line-height', 'LayerSlider'),
			'keys' => 'line-height',
			'tooltip' => __('The line height of your text. The default setting is \'normal\'. Example: 22px', 'LayerSlider'),
			'props' => array('meta' => true)),

		'color' => array(
			'value' => '',
			'name' => __('Color', 'LayerSlider'),
			'keys' => 'color',
			'tooltip' => __('The color of your text. You can use color names, hexadecimal, RGB or RGBA values. Example: #333', 'LayerSlider'),
			'props' => array('meta' => true)),

		'background' => array(
			'value' => '',
			'name' => __('Background', 'LayerSlider'),
			'keys' => 'background',
			'tooltip' => __('The background color of your layer. You can use color names, hexadecimal, RGB or RGBA values as well as the \'transparent\' keyword. Example: #FFF',
				'LayerSlider'),
			'props' => array('meta' => true)),

		'borderRadius' => array(
			'value' => '',
			'name' => __('Rounded corners', 'LayerSlider'),
			'keys' => 'border-radius',
			'tooltip' => __('If you want rounded corners, you can set here its radius. Example: 5px', 'LayerSlider'),
			'props' => array('meta' => true)),

		'wordWrap' => array(
			'value' => false,
			'name' => 'Word-wrap',
			'keys' => 'wordwrap',
			'tooltip' => 'If you use custom sized layers, you have to enable this setting to wrap your text.',
			'props' => array('meta' => true)),

		'style' => array(
			'value' => '',
			'name' => __('Custom styles', 'LayerSlider'),
			'keys' => 'style',
			'tooltip' => __('If you want to set style settings other then above, you can use here any CSS codes. Please make sure to write valid markup.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'styles' => array(
			'value' => '',
			'keys' => 'styles',
			'props' => array('meta' => true)),

		'ID' => array(
			'value' => '',
			'name' => __('ID', 'LayerSlider'),
			'keys' => 'id',
			'tooltip' => __('You can apply an ID attribute on the HTML element of this layer to work with it in your custom CSS or Javascript code.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'class' => array(
			'value' => '',
			'name' => __('Classes', 'LayerSlider'),
			'keys' => 'class',
			'tooltip' => __('You can apply classes on the HTML element of this layer to work with it in your custom CSS or Javascript code.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'title' => array(
			'value' => '',
			'name' => __('Title', 'LayerSlider'),
			'keys' => 'title',
			'tooltip' => __('You can add a title to this layer which will display as a tooltip if someone holds his mouse cursor over the layer.', 'LayerSlider'),
			'props' => array('meta' => true)),

		'alt' => array(
			'value' => '',
			'name' => __('Alt', 'LayerSlider'),
			'keys' => 'alt',
			'tooltip' => __('You can add an alternative text to your layer which is indexed by search engine robots and it helps people with certain disabilities.',
				'LayerSlider'),
			'props' => array('meta' => true)),

		'rel' => array(
			'value' => '',
			'name' => __('Rel', 'LayerSlider'),
			'keys' => 'rel',
			'tooltip' => __('Some plugin may use the rel attribute of a linked content, here you can specify it to make interaction with these plugins.', 'LayerSlider'),
			'props' => array('meta' => true))),

	'easings' => array(
		'linear',
		'swing',
		'easeInQuad',
		'easeOutQuad',
		'easeInOutQuad',
		'easeInCubic',
		'easeOutCubic',
		'easeInOutCubic',
		'easeInQuart',
		'easeOutQuart',
		'easeInOutQuart',
		'easeInQuint',
		'easeOutQuint',
		'easeInOutQuint',
		'easeInSine',
		'easeOutSine',
		'easeInOutSine',
		'easeInExpo',
		'easeOutExpo',
		'easeInOutExpo',
		'easeInCirc',
		'easeOutCirc',
		'easeInOutCirc',
		'easeInElastic',
		'easeOutElastic',
		'easeInOutElastic',
		'easeInBack',
		'easeOutBack',
		'easeInOutBack',
		'easeInBounce',
		'easeOutBounce',
		'easeInOutBounce'));
