Smart Slider 3 - Version 3.1.6

Version Description

  • 30. January 2017. = Feature: if /tmp folder is not writable, we will use the cache folder for slider imports Fix: Backend top menu fix for Chrome Fix: Loading spinner position Fix: Slide editor's layer reseting for groups Fix: Advanced generator setting - remove links fix
Download this release

Release Info

Developer nextendweb
Plugin Icon 128x128 Smart Slider 3
Version 3.1.6
Comparing to
See all releases

Code changes from version 3.0.37 to 3.1.6

Files changed (43) hide show
  1. editor/editor.css +2 -88
  2. editor/editor.min.css +1 -1
  3. editor/shortcode.php +20 -58
  4. includes/divi.php +3 -0
  5. includes/elementor.php +15 -0
  6. includes/smartslider3.php +72 -26
  7. includes/vc.php +3 -0
  8. library/media/admin/css/smallscreen.css +0 -204
  9. library/media/admin/css/smallscreen.min.css +0 -1
  10. library/media/admin/css/smartslider.css +0 -2058
  11. library/media/admin/css/smartslider.min.css +0 -1
  12. library/media/admin/dist/smartslider-backend.css +3174 -0
  13. library/media/admin/dist/smartslider-backend.min.css +1 -0
  14. library/media/admin/images/AddLicense.png +0 -0
  15. library/media/admin/images/Deauthorize.png +0 -0
  16. library/media/admin/images/Documentation.png +0 -0
  17. library/media/admin/images/Facebook.png +0 -0
  18. library/media/admin/images/Help.png +0 -0
  19. library/media/admin/images/Love.png +0 -0
  20. library/media/admin/images/Newsletter.png +0 -0
  21. library/media/admin/images/Update.png +0 -0
  22. library/media/admin/images/Videos.png +0 -0
  23. library/media/admin/images/add-demo.png +0 -0
  24. library/media/admin/images/background/color.png +0 -0
  25. library/media/admin/images/background/gradient.png +0 -0
  26. library/media/admin/images/background/image.png +0 -0
  27. library/media/admin/images/background/video.png +0 -0
  28. library/media/admin/images/background/vimeo.png +0 -0
  29. library/media/admin/images/background/youtube.png +0 -0
  30. library/media/admin/images/create-slider.png +0 -0
  31. library/media/admin/images/do-you-like.png +0 -0
  32. library/media/admin/images/drag.png +0 -0
  33. library/media/admin/images/dummy-slide.png +0 -0
  34. library/media/admin/images/free/box.png +0 -0
  35. library/media/admin/images/free/box2.png +0 -0
  36. library/media/admin/images/free/why-upgrade.png +0 -0
  37. library/media/admin/images/group.png +0 -0
  38. library/media/admin/images/import-server.png +0 -0
  39. library/media/admin/images/import-upload.png +0 -0
  40. library/media/cursor/closedhand.cur +0 -0
  41. library/media/cursor/openhand.cur +0 -0
  42. library/media/dist/smartslider-backend.js +7910 -5080
  43. library/media/dist/smartslider-backend.min.js +4 -5
editor/editor.css CHANGED
@@ -49,93 +49,7 @@
49
  cursor: pointer;
50
  }
51
 
52
- .n2-ss-editor-boxes {
53
- height: 500px;
54
- overflow: auto;
55
- }
56
-
57
- .n2-ss-editor-box {
58
- position: relative;
59
- width: 200px;
60
- height: 135px;
61
- float: left;
62
- margin: 20px;
63
- background-size: cover;
64
- background-position: center center;
65
- overflow: hidden;
66
- border-radius: 5px;
67
- cursor: pointer;
68
- }
69
-
70
- .n2-ss-editor-box.n2-active {
71
- box-shadow: 0 0 0 4px #1999e3;
72
- }
73
-
74
- .n2-ss-editor-box-actions {
75
- position: absolute;
76
- right: 5px;
77
- top: 5px;
78
- display: none;
79
- }
80
-
81
- :HOVER > .n2-ss-editor-box-actions {
82
- display: block;
83
- }
84
-
85
- .n2-ss-editor-box-actions a {
86
- display: inline-block;
87
- height: 20px;
88
- line-height: 20px;
89
- padding: 0 5px;
90
- background-color: #3c4958;
91
- border-radius: 3px;
92
- color: #ffffff;
93
- text-decoration: none;
94
- box-shadow: none;
95
- }
96
-
97
- .n2-ss-editor-box .n2-ss-editor-box-title {
98
- position: absolute;
99
- bottom: 0;
100
- left: 0;
101
- background: rgba(43, 52, 63, 0.9);
102
- line-height: 40px;
103
- height: 40px;
104
- color: #cedae2;
105
- font-size: 12px;
106
- overflow: hidden;
107
- padding: 0 10px;
108
  width: 100%;
109
- box-sizing: border-box;
110
- }
111
-
112
- .n2-ss-editor-buttons {
113
- padding: 10px 20px;
114
- text-align: center;
115
- height: 36px;
116
- }
117
-
118
- .n2-ss-editor-buttons a {
119
- display: inline-block;
120
- height: 36px;
121
- line-height: 36px;
122
- min-width: 70px;
123
- padding: 0 20px;
124
- background: #5cba3c;
125
- border-radius: 3px;
126
- box-shadow: none;
127
- color: #fff;
128
- text-decoration: none;
129
- font-size: 13px;
130
- text-transform: uppercase;
131
- font-weight: bold;
132
- }
133
-
134
- .n2-ss-editor-buttons a.n2-ss-editor-insert {
135
- float: right;
136
- }
137
-
138
- .n2-ss-editor-buttons a.n2-ss-editor-create-slider {
139
- float: left;
140
- background-color: #6b7986;
141
  }
49
  cursor: pointer;
50
  }
51
 
52
+ .n2-ss-editor-inner > iframe {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  width: 100%;
54
+ height: 500px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  }
editor/editor.min.css CHANGED
@@ -1 +1 @@
1
- #n2-ss-editor-modal{position:fixed;left:0;top:0;width:100%;height:100%;display:none;z-index:10000001;background-color:rgba(43,52,63,.9)}#n2-ss-editor-modal.n2-active{display:block}.n2-ss-editor-inner{position:relative;top:10%;max-width:980px;height:80%;margin:0 auto;overflow:hidden;background:#fff}.n2-ss-editor-header{position:relative;border-bottom:1px solid #ccd1d6;border-top-left-radius:3px;border-top-right-radius:3px;overflow:hidden;background-color:#f2f5fa;line-height:59px;height:59px;padding:0 58px;text-align:center;font-size:20px;text-transform:capitalize;color:#6b7989}.n2-ss-editor-header-close{position:absolute;top:0;right:0;width:59px;height:59px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAGFBMVEW5w8m5w8m5w8m5w8myvMOzvMO4wsgAAABdt9D1AAAACHRSTlNhxZstF/D+AIlGn1gAAACzSURBVHgBhZNbjsQwCASb9/1vvGKRCDMTqesnjrrsODagFodKZIYovJYVTPOg9i10LDCvcoO08iGY7KRdTuwRLOb1YJJh/8LkWj/oGC3Iza8hI/TgjZmIskx7zSdBaXvvdATfBSJ8Bh6xSziwO4gxOo/dBaCJGnyMeQxIhaTVNW5eloJIr2vcvDwDmfXgN28yqUA/QTdJf5MeFD1qdln0ulnBsJKjRUvLnjcObz3evLT9/wD6sBe9VsZBUQAAAABJRU5ErkJggg==) center center no-repeat;cursor:pointer}.n2-ss-editor-boxes{height:500px;overflow:auto}.n2-ss-editor-box{position:relative;width:200px;height:135px;float:left;margin:20px;background-size:cover;background-position:center center;overflow:hidden;border-radius:5px;cursor:pointer}.n2-ss-editor-box.n2-active{box-shadow:0 0 0 4px #1999e3}.n2-ss-editor-box-actions{position:absolute;right:5px;top:5px;display:none}:HOVER>.n2-ss-editor-box-actions{display:block}.n2-ss-editor-box-actions a,.n2-ss-editor-buttons a{display:inline-block;border-radius:3px;box-shadow:none;color:#fff;text-decoration:none}.n2-ss-editor-box-actions a{background-color:#3c4958;height:20px;line-height:20px;padding:0 5px}.n2-ss-editor-box .n2-ss-editor-box-title{position:absolute;bottom:0;left:0;background:rgba(43,52,63,.9);line-height:40px;height:40px;color:#cedae2;font-size:12px;overflow:hidden;padding:0 10px;width:100%;box-sizing:border-box}.n2-ss-editor-buttons{padding:10px 20px;text-align:center;height:36px}.n2-ss-editor-buttons a{height:36px;line-height:36px;min-width:70px;padding:0 20px;background:#5cba3c;font-size:13px;text-transform:uppercase;font-weight:700}.n2-ss-editor-buttons a.n2-ss-editor-insert{float:right}.n2-ss-editor-buttons a.n2-ss-editor-create-slider{float:left;background-color:#6b7986}
1
+ #n2-ss-editor-modal{position:fixed;left:0;top:0;width:100%;height:100%;display:none;z-index:10000001;background-color:rgba(43,52,63,.9)}#n2-ss-editor-modal.n2-active{display:block}.n2-ss-editor-inner{position:relative;top:10%;max-width:980px;height:80%;margin:0 auto;overflow:hidden;background:#fff}.n2-ss-editor-header{position:relative;border-bottom:1px solid #ccd1d6;border-top-left-radius:3px;border-top-right-radius:3px;overflow:hidden;background-color:#f2f5fa;line-height:59px;height:59px;padding:0 58px;text-align:center;font-size:20px;text-transform:capitalize;color:#6b7989}.n2-ss-editor-header-close{position:absolute;top:0;right:0;width:59px;height:59px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAGFBMVEW5w8m5w8m5w8m5w8myvMOzvMO4wsgAAABdt9D1AAAACHRSTlNhxZstF/D+AIlGn1gAAACzSURBVHgBhZNbjsQwCASb9/1vvGKRCDMTqesnjrrsODagFodKZIYovJYVTPOg9i10LDCvcoO08iGY7KRdTuwRLOb1YJJh/8LkWj/oGC3Iza8hI/TgjZmIskx7zSdBaXvvdATfBSJ8Bh6xSziwO4gxOo/dBaCJGnyMeQxIhaTVNW5eloJIr2vcvDwDmfXgN28yqUA/QTdJf5MeFD1qdln0ulnBsJKjRUvLnjcObz3evLT9/wD6sBe9VsZBUQAAAABJRU5ErkJggg==) center center no-repeat;cursor:pointer}.n2-ss-editor-inner>iframe{width:100%;height:500px}
editor/shortcode.php CHANGED
@@ -20,9 +20,8 @@ class N2SSShortcodeInsert {
20
  'post.php',
21
  'page.php'
22
  ))) {
23
- wp_register_style('smart-slider-editor', plugin_dir_url(__FILE__) . 'editor.min.css', array(), '3.22', 'screen');
24
-
25
- wp_enqueue_style('smart-slider-editor');
26
 
27
  add_action('admin_print_footer_scripts', array(
28
  'N2SSShortcodeInsert',
@@ -55,67 +54,36 @@ class N2SSShortcodeInsert {
55
  return $buttons;
56
  }
57
 
 
 
 
 
 
 
58
  public static function addButtonDialog() {
59
 
60
- global $wpdb;
61
- $query = 'SELECT sliders.title, sliders.id, slides.thumbnail
62
- FROM ' . $wpdb->prefix . 'nextend2_smartslider3_sliders AS sliders
63
- LEFT JOIN ' . $wpdb->prefix . 'nextend2_smartslider3_slides AS slides ON slides.id = (SELECT id FROM ' . $wpdb->prefix . 'nextend2_smartslider3_slides WHERE slider = sliders.id AND published = 1 AND generator_id = 0 AND thumbnail NOT LIKE \'\' ORDER BY ordering DESC LIMIT 1)
64
- ORDER BY time DESC';
65
- $sliders = $wpdb->get_results($query, ARRAY_A);
66
  ?>
67
  <div id='n2-ss-editor-modal' title='Select a Slider'>
68
  <div class="n2-ss-editor-inner">
69
  <div class="n2-ss-editor-header">Select a Slider<div class="n2-ss-editor-header-close"></div></div>
70
- <div class="n2-ss-editor-boxes">
71
  <?php
72
  $router = N2Base::getApplication('smartslider')->router;
73
- $token = N2Form::tokenizeUrl();
74
- foreach ($sliders AS $slider) :
75
- if (empty($slider['thumbnail'])) {
76
- $slider['thumbnail'] = '$system$/images/placeholder/image.png';
77
- }
78
- ?>
79
- <div class="n2-ss-editor-box" data-sliderid="<?php echo $slider['id']; ?>" style="background-image: url(<?php echo N2ImageHelper::fixed($slider['thumbnail']); ?>); ">
80
- <div class="n2-ss-editor-box-actions">
81
- <a target="_blank" href="<?php echo $router->createUrl(array(
82
- 'slider/edit',
83
- array(
84
- 'sliderid' => $slider["id"]
85
- )
86
- )); ?>">Edit</a>
87
- <a target="_blank" href="<?php echo $router->createUrl(array(
88
- 'preview/index',
89
- array(
90
- 'sliderid' => $slider["id"]
91
- ) + $token
92
- )); ?>">Preview</a>
93
- </div>
94
- <div class="n2-ss-editor-box-title"><?php echo $slider['title']; ?></div>
95
- </div>
96
- <?php
97
- endforeach;
98
  ?>
99
- </div>
100
- <div class="n2-ss-editor-buttons">
101
- <a href="#" class="n2-ss-editor-insert">Insert slider</a>
102
- <a target="_blank" href="<?php echo $router->createUrl(array('sliders/index')); ?>" class="n2-ss-editor-create-slider">Create slider</a>
103
- </div>
104
  </div>
105
  </div>
106
  <script type="text/javascript">
107
  jQuery(document).ready(function ($) {
108
  var modal = $('#n2-ss-editor-modal'),
109
  inner = $('.n2-ss-editor-inner'),
110
- boxes = inner.find('.n2-ss-editor-boxes'),
111
  $window = $(window),
112
- active = null,
113
  callback = function () {
114
  },
115
  watchResize = function () {
116
- boxes.height(inner.height() - 116);
117
  $window.on('resize.ss', function () {
118
- boxes.height(inner.height() - 116);
119
  });
120
  },
121
  unWatchResize = function () {
@@ -130,13 +98,6 @@ class N2SSShortcodeInsert {
130
  modal.removeClass('n2-active');
131
  };
132
 
133
- boxes.find('.n2-ss-editor-box').on('click', function () {
134
- if (active !== null) {
135
- active.removeClass('n2-active');
136
- }
137
- active = $(this).addClass('n2-active');
138
- });
139
-
140
  modal.on('click', function (e) {
141
  if (e.target == modal.get(0)) {
142
  hide();
@@ -147,15 +108,15 @@ class N2SSShortcodeInsert {
147
  hide();
148
  });
149
 
150
- $('.n2-ss-editor-insert').on('click', function (e) {
151
- e.preventDefault();
152
- if (active !== null) {
153
- callback(active.data('sliderid'));
 
154
  hide();
155
- } else {
156
- alert('Please select a slider!');
157
  }
158
- });
 
159
 
160
  window.NextendSmartSliderWPTinyMCEModal = function (ed) {
161
  callback = function (id) {
@@ -181,6 +142,7 @@ class N2SSShortcodeInsert {
181
  show();
182
  return false;
183
  };
 
184
  });
185
  </script>
186
  <?php
20
  'post.php',
21
  'page.php'
22
  ))) {
23
+
24
+ self::initButtonDialog();
 
25
 
26
  add_action('admin_print_footer_scripts', array(
27
  'N2SSShortcodeInsert',
54
  return $buttons;
55
  }
56
 
57
+ public static function initButtonDialog() {
58
+ wp_register_style('smart-slider-editor', plugin_dir_url(__FILE__) . 'editor.min.css', array(), '3.22', 'screen');
59
+
60
+ wp_enqueue_style('smart-slider-editor');
61
+ }
62
+
63
  public static function addButtonDialog() {
64
 
 
 
 
 
 
 
65
  ?>
66
  <div id='n2-ss-editor-modal' title='Select a Slider'>
67
  <div class="n2-ss-editor-inner">
68
  <div class="n2-ss-editor-header">Select a Slider<div class="n2-ss-editor-header-close"></div></div>
 
69
  <?php
70
  $router = N2Base::getApplication('smartslider')->router;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  ?>
72
+ <iframe src="<?php echo $router->createUrl(array('sliders/embed')); ?>"></iframe>
 
 
 
 
73
  </div>
74
  </div>
75
  <script type="text/javascript">
76
  jQuery(document).ready(function ($) {
77
  var modal = $('#n2-ss-editor-modal'),
78
  inner = $('.n2-ss-editor-inner'),
79
+ iframe = inner.find('iframe'),
80
  $window = $(window),
 
81
  callback = function () {
82
  },
83
  watchResize = function () {
84
+ iframe.height(inner.height() - 59);
85
  $window.on('resize.ss', function () {
86
+ iframe.height(inner.height() - 59);
87
  });
88
  },
89
  unWatchResize = function () {
98
  modal.removeClass('n2-active');
99
  };
100
 
 
 
 
 
 
 
 
101
  modal.on('click', function (e) {
102
  if (e.target == modal.get(0)) {
103
  hide();
108
  hide();
109
  });
110
 
111
+ var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
112
+
113
+ window[eventMethod](eventMethod == "attachEvent" ? "onmessage" : "message", function (e) {
114
+ if (e.source == (iframe[0].contentWindow || iframe[0].contentDocument)) {
115
+ callback(e[e.message ? "message" : "data"]);
116
  hide();
 
 
117
  }
118
+ }, false);
119
+
120
 
121
  window.NextendSmartSliderWPTinyMCEModal = function (ed) {
122
  callback = function (id) {
142
  show();
143
  return false;
144
  };
145
+
146
  });
147
  </script>
148
  <?php
includes/divi.php CHANGED
@@ -1,4 +1,7 @@
1
  <?php
 
 
 
2
 
3
  function Nextend_ET_Builder_Module_Smart_Slider_Field() {
4
  $output = sprintf('<input type="button" class="button button-upload" value="%1$s" onclick="return NextendSmartSliderDiviModal(this);" />', 'Select Slider');
1
  <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit; // Exit if accessed directly
4
+ }
5
 
6
  function Nextend_ET_Builder_Module_Smart_Slider_Field() {
7
  $output = sprintf('<input type="button" class="button button-upload" value="%1$s" onclick="return NextendSmartSliderDiviModal(this);" />', 'Select Slider');
includes/elementor.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit; // Exit if accessed directly
4
+ }
5
+
6
+ add_action('template_redirect', function () {
7
+ if (Elementor\Plugin::instance()->editor->is_edit_mode() || Elementor\Plugin::instance()->preview->is_preview_mode()) {
8
+ remove_shortcode('smartslider3');
9
+ }
10
+ }, -1);
11
+
12
+
13
+ add_action('wp_ajax_elementor_render_widget', function () {
14
+ remove_shortcode('smartslider3');
15
+ }, -1);
includes/smartslider3.php CHANGED
@@ -6,43 +6,57 @@ if (!class_exists('N2WP', false)) {
6
  require_once(dirname(NEXTEND_SMARTSLIDER_3__FILE__) . '/library/smartslider/smartslider3.php');
7
  }
8
 
9
- class N2_SMARTSLIDER_3 {
10
 
11
  public static function init() {
12
  if (class_exists('N2Wordpress')) {
13
- N2_SMARTSLIDER_3::registerApplication();
14
  } else {
15
- add_action('nextend_loaded', 'N2_SMARTSLIDER_3::registerApplication');
16
  }
17
 
18
- add_action('init', 'N2_SMARTSLIDER_3::_init');
19
 
20
- add_action('admin_menu', 'N2_SMARTSLIDER_3::nextendAdminInit');
21
 
22
- add_action('network_admin_menu', 'N2_SMARTSLIDER_3::nextendNetworkAdminInit');
23
 
24
- register_activation_hook(NEXTEND_SMARTSLIDER_3__FILE__, 'N2_SMARTSLIDER_3::install');
25
- add_action('upgrader_process_complete', 'N2_SMARTSLIDER_3::upgrade', 10, 2);
26
 
27
- add_action('wpmu_new_blog', 'N2_SMARTSLIDER_3::install_new_blog');
28
- add_action('delete_blog', 'N2_SMARTSLIDER_3::delete_blog', 10, 2);
 
 
29
 
30
  require_once dirname(NEXTEND_SMARTSLIDER_3__FILE__) . DIRECTORY_SEPARATOR . 'includes/shortcode.php';
31
  require_once dirname(NEXTEND_SMARTSLIDER_3__FILE__) . DIRECTORY_SEPARATOR . 'includes/widget.php';
32
  require_once dirname(NEXTEND_SMARTSLIDER_3__FILE__) . DIRECTORY_SEPARATOR . 'editor' . DIRECTORY_SEPARATOR . 'shortcode.php';
33
 
34
- add_action('et_builder_ready', 'N2_SMARTSLIDER_3::Divi_load_module');
35
 
36
- add_action('vc_after_set_mode', 'N2_SMARTSLIDER_3::initVisualComposer');
37
 
38
  if (class_exists('FLBuilderModel', false)) {
39
- add_action('fl_builder_before_render_module', 'N2_SMARTSLIDER_3::removeShortcodeBeaverBuilder');
40
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  }
42
 
43
  public static function removeShortcodeBeaverBuilder() {
44
  if (FLBuilderModel::is_builder_active()) {
45
- N2_SMARTSLIDER_3::removeShortcode();
46
  }
47
  }
48
 
@@ -58,7 +72,7 @@ class N2_SMARTSLIDER_3 {
58
  public static function _init() {
59
  N2Loader::import('libraries.settings.settings', 'smartslider');
60
  if (current_user_can('smartslider_edit') && intval(N2SmartSliderSettings::get('wp-adminbar', 1))) {
61
- add_action('admin_bar_menu', 'N2_SMARTSLIDER_3::admin_bar_menu', 81);
62
  }
63
  }
64
 
@@ -69,7 +83,7 @@ class N2_SMARTSLIDER_3 {
69
  }
70
 
71
 
72
- add_menu_page('Smart Slider', 'Smart Slider', 'smartslider', NEXTEND_SMARTSLIDER_3_URL_PATH, 'N2_SMARTSLIDER_3::application', $icon);
73
 
74
  function nextend_smart_slider_admin_menu() {
75
  echo '<style type="text/css">#adminmenu .toplevel_page_' . NEXTEND_SMARTSLIDER_3_URL_PATH . ' .wp-menu-image img{opacity: 1;}</style>';
@@ -80,7 +94,7 @@ class N2_SMARTSLIDER_3 {
80
 
81
  public static function nextendNetworkAdminInit() {
82
  $icon = NEXTEND_SMARTSLIDER_3_URL . '/icon.png';
83
- add_menu_page('Smart Slider Update', 'Smart Slider Update', 'smartslider', NEXTEND_SMARTSLIDER_3_URL_PATH, 'N2_SMARTSLIDER_3::networkUpdate', $icon);
84
 
85
  function nextend_smart_slider_admin_menu() {
86
  echo '<style type="text/css">#adminmenu .toplevel_page_' . NEXTEND_SMARTSLIDER_3_URL_PATH . '{display: none;}</style>';
@@ -101,6 +115,11 @@ class N2_SMARTSLIDER_3 {
101
  }
102
 
103
  public static function application($dummy, $controller = 'sliders', $action = 'index') {
 
 
 
 
 
104
  N2Base::getApplication("smartslider")
105
  ->getApplicationType('backend')
106
  ->setCurrent()
@@ -132,16 +151,19 @@ class N2_SMARTSLIDER_3 {
132
  }
133
 
134
  $wpdb->prefix = $tmpPrefix;
135
- return true;
 
 
 
 
 
 
 
 
136
  }
137
 
138
- N2Base::getApplication("smartslider")
139
- ->getApplicationType('backend')
140
- ->render(array(
141
- "controller" => "install",
142
- "action" => "index",
143
- "useRequest" => false
144
- ), array(true));
145
  }
146
 
147
  public static function upgrade($upgrader_object, $options) {
@@ -183,6 +205,26 @@ class N2_SMARTSLIDER_3 {
183
  }
184
  }
185
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  public static function Divi_load_module() {
187
  require_once dirname(__FILE__) . '/divi.php';
188
  }
@@ -191,6 +233,10 @@ class N2_SMARTSLIDER_3 {
191
  require_once dirname(__FILE__) . '/vc.php';
192
  }
193
 
 
 
 
 
194
  /**
195
  * @param WP_Admin_Bar $wp_admin_bar
196
  */
@@ -260,4 +306,4 @@ class N2_SMARTSLIDER_3 {
260
  }
261
  }
262
 
263
- N2_SMARTSLIDER_3::init();
6
  require_once(dirname(NEXTEND_SMARTSLIDER_3__FILE__) . '/library/smartslider/smartslider3.php');
7
  }
8
 
9
+ class SmartSlider3 {
10
 
11
  public static function init() {
12
  if (class_exists('N2Wordpress')) {
13
+ SmartSlider3::registerApplication();
14
  } else {
15
+ add_action('nextend_loaded', 'SmartSlider3::registerApplication');
16
  }
17
 
18
+ add_action('init', 'SmartSlider3::_init');
19
 
20
+ add_action('admin_menu', 'SmartSlider3::nextendAdminInit');
21
 
22
+ add_action('network_admin_menu', 'SmartSlider3::nextendNetworkAdminInit');
23
 
24
+ register_activation_hook(NEXTEND_SMARTSLIDER_3__FILE__, 'SmartSlider3::install');
 
25
 
26
+ add_action('upgrader_process_complete', 'SmartSlider3::upgrade', 10, 2);
27
+
28
+ add_action('wpmu_new_blog', 'SmartSlider3::install_new_blog');
29
+ add_action('delete_blog', 'SmartSlider3::delete_blog', 10, 2);
30
 
31
  require_once dirname(NEXTEND_SMARTSLIDER_3__FILE__) . DIRECTORY_SEPARATOR . 'includes/shortcode.php';
32
  require_once dirname(NEXTEND_SMARTSLIDER_3__FILE__) . DIRECTORY_SEPARATOR . 'includes/widget.php';
33
  require_once dirname(NEXTEND_SMARTSLIDER_3__FILE__) . DIRECTORY_SEPARATOR . 'editor' . DIRECTORY_SEPARATOR . 'shortcode.php';
34
 
35
+ add_action('et_builder_ready', 'SmartSlider3::Divi_load_module');
36
 
37
+ add_action('vc_after_set_mode', 'SmartSlider3::initVisualComposer');
38
 
39
  if (class_exists('FLBuilderModel', false)) {
40
+ add_action('fl_builder_before_render_module', 'SmartSlider3::removeShortcodeBeaverBuilder');
41
  }
42
+
43
+ add_action('elementor/init', 'SmartSlider3::initElementor');
44
+
45
+ add_filter('wpseo_xml_sitemap_post_url', 'SmartSlider3::wpseo_xml_sitemap_post_url', 10, 2);
46
+ }
47
+
48
+ public static function wpseo_xml_sitemap_post_url($permalink, $post) {
49
+ global $shortcode_tags;
50
+ $_shortcode_tags = $shortcode_tags;
51
+ $shortcode_tags = array("smartslider3" => "N2SS3Shortcode::doShortcode");
52
+ $post->post_content = do_shortcode($post->post_content);
53
+ $shortcode_tags = $_shortcode_tags;
54
+ return $permalink;
55
  }
56
 
57
  public static function removeShortcodeBeaverBuilder() {
58
  if (FLBuilderModel::is_builder_active()) {
59
+ SmartSlider3::removeShortcode();
60
  }
61
  }
62
 
72
  public static function _init() {
73
  N2Loader::import('libraries.settings.settings', 'smartslider');
74
  if (current_user_can('smartslider_edit') && intval(N2SmartSliderSettings::get('wp-adminbar', 1))) {
75
+ add_action('admin_bar_menu', 'SmartSlider3::admin_bar_menu', 81);
76
  }
77
  }
78
 
83
  }
84
 
85
 
86
+ add_menu_page('Smart Slider', 'Smart Slider', 'smartslider', NEXTEND_SMARTSLIDER_3_URL_PATH, 'SmartSlider3::application', $icon);
87
 
88
  function nextend_smart_slider_admin_menu() {
89
  echo '<style type="text/css">#adminmenu .toplevel_page_' . NEXTEND_SMARTSLIDER_3_URL_PATH . ' .wp-menu-image img{opacity: 1;}</style>';
94
 
95
  public static function nextendNetworkAdminInit() {
96
  $icon = NEXTEND_SMARTSLIDER_3_URL . '/icon.png';
97
+ add_menu_page('Smart Slider Update', 'Smart Slider Update', 'smartslider', NEXTEND_SMARTSLIDER_3_URL_PATH, 'SmartSlider3::networkUpdate', $icon);
98
 
99
  function nextend_smart_slider_admin_menu() {
100
  echo '<style type="text/css">#adminmenu .toplevel_page_' . NEXTEND_SMARTSLIDER_3_URL_PATH . '{display: none;}</style>';
115
  }
116
 
117
  public static function application($dummy, $controller = 'sliders', $action = 'index') {
118
+
119
+ if (get_option("n2_ss3_version") != N2SS3::$version) {
120
+ self::install(true);
121
+ }
122
+
123
  N2Base::getApplication("smartslider")
124
  ->getApplicationType('backend')
125
  ->setCurrent()
151
  }
152
 
153
  $wpdb->prefix = $tmpPrefix;
154
+ } else {
155
+
156
+ N2Base::getApplication("smartslider")
157
+ ->getApplicationType('backend')
158
+ ->render(array(
159
+ "controller" => "install",
160
+ "action" => "index",
161
+ "useRequest" => false
162
+ ), array(true));
163
  }
164
 
165
+ update_option("n2_ss3_version", N2SS3::$version);
166
+ return true;
 
 
 
 
 
167
  }
168
 
169
  public static function upgrade($upgrader_object, $options) {
205
  }
206
  }
207
 
208
+ public static function import($file) {
209
+ N2Base::getApplication("smartslider")
210
+ ->getApplicationType('backend');
211
+
212
+ N2Loader::import(array(
213
+ 'models.Sliders',
214
+ 'models.Slides'
215
+ ), 'smartslider');
216
+
217
+ N2Loader::import('libraries.import', 'smartslider');
218
+
219
+ $import = new N2SmartSliderImport();
220
+ $sliderId = $import->import($file);
221
+
222
+ if ($sliderId !== false) {
223
+ return $sliderId;
224
+ }
225
+ return false;
226
+ }
227
+
228
  public static function Divi_load_module() {
229
  require_once dirname(__FILE__) . '/divi.php';
230
  }
233
  require_once dirname(__FILE__) . '/vc.php';
234
  }
235
 
236
+ public static function initElementor() {
237
+ require_once dirname(__FILE__) . '/elementor.php';
238
+ }
239
+
240
  /**
241
  * @param WP_Admin_Bar $wp_admin_bar
242
  */
306
  }
307
  }
308
 
309
+ SmartSlider3::init();
includes/vc.php CHANGED
@@ -1,4 +1,7 @@
1
  <?php
 
 
 
2
 
3
  class NextendSmartSlider3VisualComposer
4
  {
1
  <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit; // Exit if accessed directly
4
+ }
5
 
6
  class NextendSmartSlider3VisualComposer
7
  {
library/media/admin/css/smallscreen.css DELETED
@@ -1,204 +0,0 @@
1
- @media (max-width: 1440px) {
2
- .n2-logo,
3
- .n2-sidebar,
4
- .n2-sidebar-inner {
5
- width: 219px;
6
- }
7
-
8
- #n2-ss-slide-sidebar {
9
- width: 219px;
10
- }
11
-
12
- .n2-sidebar-tab-switcher .n2-td {
13
- font-size: 11px;
14
- }
15
-
16
- .n2-has-underline > .n2-underline::after {
17
- bottom: -5px;
18
- }
19
-
20
- #n2-ss-item-container {
21
- height: 36px;
22
- padding: 5px 0;
23
- overflow: hidden;
24
- }
25
-
26
- .n2-ss-core-item {
27
- line-height: 14px;
28
- font-size: 9px;
29
- padding: 0 5px;
30
- }
31
-
32
- #n2-ss-item-container:HOVER {
33
- height: auto;
34
- }
35
-
36
- .n2-ss-layer-row .n2-actions-left {
37
- width: 16px;
38
- height: 18px;
39
- margin-top: 0;
40
- padding: 3px 0 0 2px;
41
- font-size: 12px;
42
- overflow: hidden;
43
- }
44
-
45
- .n2-list li .n2-actions {
46
- margin-top: 0;
47
- padding: 2px 10px 0 0;
48
- font-size: 12px;
49
- }
50
-
51
- .n2-list li {
52
- line-height: 24px;
53
- }
54
-
55
- .n2-ss-layer-title {
56
- line-height: 24px;
57
- }
58
-
59
- .n2-ss-layer-title span {
60
- margin: 0 52px 0 20px;
61
- display: block;
62
- height: 24px;
63
- overflow: hidden;
64
- font-size: 10px;
65
- }
66
-
67
- .n2-ss-layer-row .n2-inline-form {
68
- margin: 0 20px;
69
- }
70
-
71
- .n2-ss-layer-row .n2-inline-form input {
72
- line-height: 22px;
73
- height: 22px;
74
- vertical-align: top;
75
- }
76
-
77
- #layeritemeditorpanel .n2-tabs > div {
78
- overflow-x: hidden;
79
- }
80
-
81
- #layeritemeditorpanel table {
82
- display: block;
83
- }
84
-
85
- #layeritemeditorpanel tbody {
86
- display: block;
87
- }
88
-
89
- #layeritemeditorpanel tr {
90
- display: block;
91
- }
92
-
93
- #layeritemeditorpanel td {
94
- display: block;
95
- width: auto;
96
- }
97
-
98
- #layeritemeditorpanel input {
99
- max-width: 85px !important;
100
- }
101
-
102
- #layeritemeditorpanel input:only-child {
103
- max-width: 170px !important;
104
- }
105
-
106
- #layeritemeditorpanel textarea {
107
- max-width: 170px !important;
108
- }
109
-
110
- #layeritemeditorpanel .n2-form-element-button {
111
- max-width: 38px;
112
- overflow: hidden;
113
- }
114
-
115
- #layeritemeditorpanel .n2-label {
116
- padding: 0 10px;
117
- }
118
-
119
- #layeritemeditorpanel .n2-element {
120
- padding: 10px 0 0;
121
- }
122
-
123
- #layeritemeditorpanel .n2-sidebar-row {
124
- line-height: 30px;
125
- }
126
-
127
- #layeritemeditorpanel .n2-sidebar-row .n2-h3 {
128
- font-size: 11px;
129
- }
130
-
131
- #layeritemeditorpanel .n2-button-medium {
132
- height: 18px;
133
- line-height: 18px;
134
- }
135
-
136
- .n2-ss-animation-title {
137
- line-height: 24px;
138
- }
139
-
140
- .n2-list li.n2-ss-animation-row .n2-actions {
141
- margin-top: 0;
142
- padding: 2px 10px 0 0;
143
- font-size: 12px;
144
- }
145
-
146
- .n2-sidebar #n2-ss-slides .n2-box {
147
- margin: 10px auto;
148
- width: 200px;
149
- float: none;
150
- display: block;
151
- }
152
-
153
- .n2-sidebar #n2-ss-slides .n2-box-slide-drag-upload {
154
- display: none;
155
- }
156
-
157
- .n2-sidebar #n2-ss-slides .n2-drag-over .n2-box-slide-drag-upload {
158
- display: block;
159
- }
160
-
161
- dt.n2-ss-slide2-list .n2-i,
162
- dt.n2-ss-slide2-list .n2-actions {
163
- display: none;
164
- }
165
-
166
- .n2-slides-bulk {
167
- display: none;
168
- }
169
-
170
- .n2-ss-slide2-list .n2-button-big .n2-button-inner {
171
- font-size: 11px;
172
- width: auto;
173
- }
174
-
175
- .n2-sets-header .n2-set-label {
176
- display: none;
177
- }
178
-
179
- .n2-sets-header .n2-td {
180
- padding: 0;
181
- }
182
-
183
- .n2-sets-header .n2-form-element-list {
184
- margin: 0;
185
-
186
- }
187
-
188
- .n2-sets-header select {
189
- max-width: 90px;
190
- }
191
-
192
- .n2-sets-header .n2-sidebar-row {
193
- line-height: 50px;
194
- }
195
-
196
- .n2-sets-header .n2-form + .n2-button {
197
- margin-top: 17px;
198
- vertical-align: top;
199
- }
200
-
201
- .n2-save-as-new-container a {
202
- font-size: 10px;
203
- }
204
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
library/media/admin/css/smallscreen.min.css DELETED
@@ -1 +0,0 @@
1
- @media (max-width:1440px){#n2-ss-slide-sidebar,.n2-logo,.n2-sidebar,.n2-sidebar-inner{width:219px}.n2-sidebar-tab-switcher .n2-td{font-size:11px}.n2-has-underline>.n2-underline::after{bottom:-5px}#n2-ss-item-container{height:36px;padding:5px 0;overflow:hidden}.n2-ss-core-item{line-height:14px;font-size:9px;padding:0 5px}#n2-ss-item-container:HOVER{height:auto}.n2-ss-layer-row .n2-actions-left{width:16px;height:18px;margin-top:0;padding:3px 0 0 2px;font-size:12px;overflow:hidden}.n2-list li .n2-actions{margin-top:0;padding:2px 10px 0 0;font-size:12px}.n2-list li,.n2-ss-layer-title{line-height:24px}.n2-ss-layer-title span{margin:0 52px 0 20px;display:block;height:24px;overflow:hidden;font-size:10px}.n2-ss-layer-row .n2-inline-form{margin:0 20px}.n2-ss-layer-row .n2-inline-form input{line-height:22px;height:22px;vertical-align:top}#layeritemeditorpanel .n2-tabs>div{overflow-x:hidden}#layeritemeditorpanel table,#layeritemeditorpanel tbody,#layeritemeditorpanel tr{display:block}#layeritemeditorpanel td{display:block;width:auto}#layeritemeditorpanel input{max-width:85px!important}#layeritemeditorpanel input:only-child{max-width:170px!important}#layeritemeditorpanel textarea{max-width:170px!important}#layeritemeditorpanel .n2-form-element-button{max-width:38px;overflow:hidden}#layeritemeditorpanel .n2-label{padding:0 10px}#layeritemeditorpanel .n2-element{padding:10px 0 0}#layeritemeditorpanel .n2-sidebar-row{line-height:30px}#layeritemeditorpanel .n2-sidebar-row .n2-h3{font-size:11px}#layeritemeditorpanel .n2-button-medium{height:18px;line-height:18px}.n2-ss-animation-title{line-height:24px}.n2-list li.n2-ss-animation-row .n2-actions{margin-top:0;padding:2px 10px 0 0;font-size:12px}.n2-sidebar #n2-ss-slides .n2-box{margin:10px auto;width:200px;float:none;display:block}.n2-sets-header .n2-set-label,.n2-sidebar #n2-ss-slides .n2-box-slide-drag-upload,.n2-slides-bulk,dt.n2-ss-slide2-list .n2-actions,dt.n2-ss-slide2-list .n2-i{display:none}.n2-sidebar #n2-ss-slides .n2-drag-over .n2-box-slide-drag-upload{display:block}.n2-ss-slide2-list .n2-button-big .n2-button-inner{font-size:11px;width:auto}.n2-sets-header .n2-td{padding:0}.n2-sets-header .n2-form-element-list{margin:0}.n2-sets-header select{max-width:90px}.n2-sets-header .n2-sidebar-row{line-height:50px}.n2-sets-header .n2-form+.n2-button{margin-top:17px;vertical-align:top}.n2-save-as-new-container a{font-size:10px}}
 
library/media/admin/css/smartslider.css DELETED
@@ -1,2058 +0,0 @@
1
-
2
- .adminhtml-smartslider3-index #footer,
3
- .adminhtml-smartslider3-index .footer,
4
- .smartslider3-index-index footer,
5
- #html-body header {
6
- display: none;
7
- }
8
-
9
- #html-body #anchor-content {
10
- padding-top: 30px;
11
- }
12
-
13
- .n2-definition-list dt.n2-ss-slider-ordering {
14
- color: #fff;
15
- background-color: #485769;
16
- }
17
-
18
- .n2-definition-list dt.n2-ss-slider-ordering > div {
19
- padding: 0 30px;
20
- }
21
-
22
- .n2-definition-list .n2-ss-slider-ordering .n2-button {
23
- min-width: 28px;
24
- line-height: 28px;
25
- height: 28px;
26
- margin-left: 10px;
27
- background-color: #54667b;
28
- color: #fff;
29
- }
30
-
31
- .n2-definition-list .n2-ss-slider-ordering .n2-button.n2-active {
32
- background: #1999e3;
33
- }
34
-
35
- .n2-definition-list dt.n2-ss-slider-ordering .n2-actions {
36
- background-color: #485769;
37
- padding-top: 16px;
38
- }
39
-
40
- .n2-definition-list .n2-ss-slider-ordering > .n2-actions a {
41
- display: inline-block;
42
- padding: 0;
43
- }
44
-
45
- .n2-definition-list .n2-ss-slider-ordering > .n2-actions .n2-i {
46
- vertical-align: top;
47
- }
48
-
49
- .n2-ss-slide2-list li .n2-actions .n2-i-duplicate,
50
- .n2-ss-slide2-list li .n2-actions .n2-i-delete,
51
- .n2-ss-slide2-list li .n2-actions .n2-i-star {
52
- visibility: hidden;
53
- }
54
-
55
- .n2-ss-slide2-list li:HOVER .n2-actions .n2-i-duplicate,
56
- .n2-ss-slide2-list li:HOVER .n2-actions .n2-i-delete,
57
- .n2-ss-slide2-list li .n2-actions .n2-i-star.n2-active,
58
- .n2-ss-slide2-list li:HOVER .n2-actions .n2-i-star {
59
- visibility: visible;
60
- }
61
-
62
- #n2-ss-item-container {
63
- text-align: center;
64
- padding: 12px;
65
- }
66
-
67
- #n2-ss-item-container div {
68
- display: inline-block;
69
- }
70
-
71
- .n2-ss-core-item {
72
- margin: 3px;
73
- padding: 0 11px;
74
- background-color: #6b7986;
75
- color: #ffffff;
76
- line-height: 24px;
77
- cursor: pointer;
78
-
79
- -webkit-border-radius: 3px;
80
- -moz-border-radius: 3px;
81
- border-radius: 3px;
82
- }
83
-
84
- #n2-ss-layers-items-list {
85
- position: relative;
86
- }
87
-
88
- #n2-ss-layers-items-list > ul {
89
- border-top: 1px solid #343f4c;
90
- overflow: hidden;
91
- }
92
-
93
- #n2-ss-layers-items-list .sortable-placeholder {
94
- background-color: #2b343f;
95
- border-bottom: 1px solid #343f4c;
96
- border-width: 0 0 1px 0;
97
- }
98
-
99
- #n2-ss-layers-items-list > p {
100
- color: #fff;
101
- font-size: 14px;
102
- text-align: center;
103
- }
104
-
105
- #n2-ss-layers-items-list > p i {
106
- font-size: 16px;
107
- }
108
-
109
- .n2-has-layers #n2-ss-layers-items-list > p {
110
- display: none;
111
- }
112
-
113
- .n2-ss-layer-row {
114
- border-bottom: 1px solid #343f4c;
115
- }
116
-
117
- .n2-ss-layer-row.n2-parent-active {
118
- background: #49586a;
119
- }
120
-
121
- .n2-ss-layer-row.n2-active {
122
- background: #1999e3;
123
- }
124
-
125
- .n2-ss-layer-row li {
126
- border-bottom: 0;
127
- }
128
-
129
- .n2-ss-layer-title {
130
- display: block;
131
- line-height: 39px;
132
- position: relative;
133
- cursor: pointer;
134
- }
135
-
136
- .n2-ss-layer-title span {
137
- margin: 0 82px;
138
- cursor: text;
139
- }
140
-
141
- .n2-ss-layer-row .n2-inline-form {
142
- margin: 0 82px;
143
- }
144
-
145
- .n2-ss-layer-row .n2-inline-form input {
146
- background: #3c4958 none repeat scroll 0 0;
147
- color: #b2bfc9;
148
- font-size: 11px;
149
- border: 2px solid #343f4c;
150
- line-height: 24px;
151
-
152
- -webkit-border-radius: 3px;
153
- -moz-border-radius: 3px;
154
- border-radius: 3px;
155
- }
156
-
157
- .n2-ss-layer-row .n2-inline-form input:focus {
158
- box-shadow: none;
159
- }
160
-
161
- .n2-ss-layer-title .n2-actions {
162
- position: absolute;
163
- top: 0;
164
- right: 0;
165
- padding: 0 6px;
166
- cursor: default;
167
- }
168
-
169
- .n2-ss-layer-title .n2-actions-left {
170
- position: absolute;
171
- top: 0;
172
- left: 0;
173
- padding: 0 0 0 16px;
174
- cursor: default;
175
- font-size: 16px;
176
- line-height: 16px;
177
- margin-top: 11px;
178
- }
179
-
180
- html[dir="rtl"] .n2-ss-layer-title .n2-actions-left {
181
- padding: 0 16px 0 0;
182
- }
183
-
184
- .n2-ss-layer-row.n2-active .n2-ss-layer-title,
185
- .n2-ss-layer-row.n2-active .n2-ss-layer-title .n2-actions-left .n2-i,
186
- .n2-ss-layer-row.n2-active .n2-ss-layer-title .n2-actions .n2-i,
187
- .n2-ss-layer-row.n2-parent-active .n2-ss-layer-title,
188
- .n2-ss-layer-row.n2-parent-active .n2-ss-layer-title .n2-actions-left .n2-i,
189
- .n2-ss-layer-row.n2-parent-active .n2-ss-layer-title .n2-actions .n2-i {
190
- color: #fff;
191
- }
192
-
193
- .n2-ss-layer-title .n2-actions a,
194
- .n2-ss-layer-title .n2-actions-left a {
195
- display: inline-block;
196
- height: 100%;
197
- }
198
-
199
- li.n2-ss-layer-row a.n2-ss-parent-unlink {
200
- display: none;
201
- }
202
-
203
- li.n2-ss-layer-row.n2-parent-active a.n2-ss-parent-unlink {
204
- display: inline-block;
205
- }
206
-
207
- .n2-ss-layer-title .n2-actions-left i {
208
- padding: 0 2px;
209
- vertical-align: middle;
210
- }
211
-
212
- .n2-ss-layer-title .n2-i-order {
213
- cursor: move;
214
- }
215
-
216
- .n2-ss-animation-row {
217
- list-style: none;
218
- color: #b2bfc9;
219
- }
220
-
221
- .n2-ss-animation-title {
222
- position: relative;
223
- line-height: 39px;
224
- background-color: #49586a;
225
- cursor: pointer;
226
- text-transform: capitalize;
227
- }
228
-
229
- .n2-ss-animation-title {
230
- background-color: #3c4958;
231
- }
232
-
233
- .n2-ss-animation-title span {
234
- padding: 0 40px;
235
- }
236
-
237
- .n2-ss-animation-title .n2-actions {
238
- position: absolute;
239
- right: 0;
240
- top: 0;
241
- cursor: default;
242
- padding: 0 6px;
243
- }
244
-
245
- .n2-ss-animation-title .n2-actions a,
246
- .n2-ss-animation-title .n2-actions-left a {
247
- display: inline-block;
248
- height: 100%;
249
- }
250
-
251
- .n2-ss-animation-title .n2-actions-left {
252
- position: absolute;
253
- top: 0;
254
- left: 0;
255
- padding: 0 16px;
256
- cursor: default;
257
- font-size: 16px;
258
- line-height: 38px;
259
- }
260
-
261
- .n2-ss-animation-title .n2-actions-left i {
262
- padding: 0 2px;
263
- vertical-align: middle;
264
- }
265
-
266
- .smartslider-advanced-layer-mode-active #layersanditems li.layer-orderable.item-active.active .layerTitle {
267
- border-left: 5px solid #eef3f8;
268
- }
269
-
270
- #layeritemeditorpanel,
271
- #smartslider-slide-toolbox-layer .n2-sidebar-pane-sizer {
272
- visibility: hidden;
273
- }
274
-
275
- .n2-has-layers #layeritemeditorpanel,
276
- .n2-has-layers #smartslider-slide-toolbox-layer .n2-sidebar-pane-sizer {
277
- visibility: visible;
278
- }
279
-
280
- #layeritemeditorpanel > .n2-form {
281
- margin-bottom: 0;
282
- }
283
-
284
- #layeritemeditorpanel .n2-form-element-radio .n2-radio-option {
285
- margin: 5px;
286
- }
287
-
288
- #layer-animation-chain-in,
289
- #layer-animation-chain-out {
290
- position: relative;
291
- }
292
-
293
- #layer-animation-chain-in .sortable-placeholder,
294
- #layer-animation-chain-loop .sortable-placeholder,
295
- #layer-animation-chain-out .sortable-placeholder {
296
- background-color: #2b343f;
297
- border-bottom: 1px solid #343f4c;
298
- border-width: 0 0 1px 0;
299
- }
300
-
301
- #layer-animation-chain-in .n2-td,
302
- #layer-animation-chain-loop .n2-td,
303
- #layer-animation-chain-out .n2-td {
304
- vertical-align: middle;
305
- }
306
-
307
- #n2-tab-smartslider-editor {
308
- background-color: #f9fafb;
309
- }
310
-
311
- #n2-tab-smartslider-editor.n2-ss-theme-dark {
312
- background-color: #343F4C;
313
- }
314
-
315
- #n2-tab-smartslider-editor .n2-heading-controls {
316
- z-index: 9;
317
- }
318
-
319
- .n2-ss-preview-mode .n2-main-top-bar {
320
- visibility: hidden;
321
- }
322
-
323
- .n2-ss-preview-mode #n2-tab-smartslider-editor .n2-heading-controls {
324
- visibility: hidden;
325
- }
326
-
327
- #n2-ss-preview {
328
- margin: 0 20px;
329
- vertical-align: top;
330
- margin-top: 12px;
331
- }
332
-
333
- .n2-ss-snap-to-parent {
334
- height: 54px;
335
- width: 100%;
336
- }
337
-
338
- #n2-ss-control-line {
339
- display: none;
340
- position: relative;
341
- background-color: #f2f5fa;
342
- height: 54px;
343
- white-space: nowrap;
344
- overflow: hidden;
345
- }
346
-
347
- .n2-has-layers #n2-ss-control-line {
348
- display: block;
349
- }
350
-
351
- #n2-ss-control-line:HOVER {
352
- width: 605px;
353
- z-index: 1000;
354
- overflow: visible;
355
- }
356
-
357
- #n2-ss-control-line > div {
358
- margin: 0 5px;
359
- display: inline-block;
360
- vertical-align: middle;
361
- height: 28px;
362
- line-height: 28px;
363
- }
364
-
365
- #n2-ss-control-line > div.n2-form-element-text {
366
- height: 24px;
367
- line-height: 24px;
368
- position: relative;
369
- }
370
-
371
- #n2-ss-control-line .n2-text-sub-label {
372
- font-size: 16px;
373
- }
374
-
375
- #n2-ss-show-on-device.n2-active .n2-i:before {
376
- content: "\e60f";
377
- }
378
-
379
- #n2-ss-control-line .n2-radio-option {
380
- background-color: #a1aeb5;
381
- border-left: 1px solid #8c99a1;
382
- }
383
-
384
- #n2-ss-control-line .n2-radio-option.n2-first {
385
- border-left-width: 0px;
386
- }
387
-
388
- #n2-ss-control-line .n2-radio-option.n2-active {
389
- background-color: #1999e3;
390
- border-color: #1999e3;
391
- }
392
-
393
- #n2-ss-control-line .n2-radio-option.n2-sub-active {
394
- background-color: #5cba3c;
395
- border-color: #5cba3c;
396
- }
397
-
398
- #n2-ss-control-line .n2-button {
399
- width: 28px;
400
- height: 28px;
401
- line-height: 28px;
402
- padding: 0;
403
- background-color: #a1aeb5;
404
- }
405
-
406
- #n2-ss-control-line .n2-button.n2-active {
407
- background-color: #1999e3;
408
- }
409
-
410
- #n2-ss-control-line .n2-button.n2-sub-active {
411
- background-color: #5cba3c;
412
- }
413
-
414
- #n2-ss-control-line .ui-autocomplete {
415
- max-width: 100%;
416
- }
417
-
418
- #n2-ss-parent-linker,
419
- #n2-ss-theme,
420
- #n2-ss-control-line #n2-ss-theme.n2-active {
421
- width: 28px;
422
- height: 28px;
423
- line-height: 28px;
424
- padding: 0;
425
- background-color: #a1aeb5;
426
- }
427
-
428
- #n2-ss-theme.n2-active .n2-i:before {
429
- content: "\e64c";
430
- }
431
-
432
- #n2-ss-zoom {
433
- width: 280px;
434
- text-align: center;
435
- vertical-align: middle;
436
- }
437
-
438
- .n2-ss-slider-zoom-container {
439
- position: relative;
440
- display: inline-block;
441
- vertical-align: middle;
442
- width: 150px;
443
- height: 34px;
444
- padding: 0 23px;
445
- }
446
-
447
- .n2-ss-slider-zoom-container > .n2-i {
448
- position: absolute;
449
- top: 9px;
450
- color: #a1aeb5;
451
- font-size: 16px;
452
- cursor: pointer;
453
- }
454
-
455
- .n2-ss-slider-zoom-container .n2-i-minus {
456
- left: -18px;
457
- }
458
-
459
- .n2-ss-slider-zoom-container .n2-i-plus {
460
- right: -18px;
461
- }
462
-
463
- .n2-ss-slider-zoom-bg {
464
- position: absolute;
465
- left: 0;
466
- top: 50%;
467
- margin-top: -3px;
468
- width: 100%;
469
- background: #b9c3c9;
470
- height: 6px;
471
- border-radius: 3px;
472
- }
473
-
474
- #n2-ss-slider-zoom {
475
- height: 100%;
476
- position: relative;
477
- margin: 0;
478
- background: transparent;
479
- border-radius: 0;
480
- }
481
-
482
- #n2-ss-slider-zoom .ui-slider-range {
483
- display: none;
484
- }
485
-
486
- #n2-ss-slider-zoom .ui-slider-handle {
487
- position: absolute;
488
- top: 50%;
489
- display: block;
490
- width: 43px;
491
- height: 18px;
492
- margin-top: -11px;
493
- margin-left: -23px;
494
- background-color: #fff;
495
- border: 2px solid #b9c3c9;
496
- border-radius: 3px;
497
- z-index: 2;
498
- color: #7b8898;
499
- font-size: 10px;
500
- text-align: center;
501
- line-height: 18px;
502
- cursor: pointer;
503
- }
504
-
505
- .n2-ss-slider-zoom-1 {
506
- position: absolute;
507
- left: 50%;
508
- top: 0;
509
- margin-left: -1.5px;
510
- width: 3px;
511
- height: 100%;
512
- background-color: #b9c3c9;
513
- }
514
-
515
- #n2-ss-lock {
516
- display: inline-block;
517
- position: absolute;
518
- right: -36px;
519
- top: 9px;
520
- cursor: pointer;
521
- line-height: 16px;
522
- }
523
-
524
- #n2-ss-lock .n2-i {
525
- color: #a1aeb5;
526
- font-size: 16px;
527
- }
528
-
529
- #n2-ss-lock.n2-active .n2-i:before {
530
- content: "\e609";
531
- }
532
-
533
- #n2-ss-devices .n2-table {
534
- font-size: 32px;
535
- color: #b1bcc3;
536
- float: right;
537
- margin: 0 10px;
538
- }
539
-
540
- html[dir="rtl"] #n2-ss-devices .n2-table {
541
- float: left;
542
- }
543
-
544
- #n2-ss-devices .n2-td {
545
- height: 54px;
546
- vertical-align: middle;
547
- }
548
-
549
- #n2-ss-devices .n2-td {
550
- padding: 0 15px;
551
- cursor: pointer;
552
- }
553
-
554
- #n2-ss-devices .n2-td.n2-active {
555
- cursor: default;
556
- color: #44abe8;
557
- }
558
-
559
- .n2-i-devices:before {
560
- background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATEAAAAeCAMAAABzNtkNAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACdlBMVEUAAAChrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrWhrrUZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrUZmeOhrrUZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrUZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrUZmeOhrrUZmeMAAAA99lBfAAAA0XRSTlMAJ6DHzCgytbY2MLMnoMfMKDK1tjYws5+ytLGfsrSxxh0ixh0il5qXmgY7a5SvvspsB2aHBjtrlK++ymwHZod+wiN+wiMSgbh6SiYQAnl9DBKBuHpKJhACeX0MNbmdQwQzNbmdQwQzRrtLAUa7SwHIpRWkyKUVpJgKUqLDnk2YClKiw55Nhq2KhIatioTLLlgOT8suWA5PcH9ZX3B/WV+sJcQqrqwlxCquKSmjXqNeV1eRiZGJCQmIiLq6AzQDNIK3SYK3SSQkCG2hCG2hsLA3NxRx1r0AAAABYktHRACIBR1IAAAACXBIWXMAAAsSAAALEgHS3X78AAAE0UlEQVRo3s2a+18UVRTAN/eYJLmHJCAjS4pehG4vQrcHhq0bCrFu6BKkRmq+JSNTpBQpVlnjEY+wtAglFIjeWmCWZb7t8Se109z57Mzcc+eBLrPnl7nn3DOP8/3MvXPPueNyWZSbprhBKO4pU9W+N0+jnFJuIS47PVXrlDrd6gPp5NYZHhSKZ0aa2ve2mZRT+u3EZTMytU6ZGZafKAsMJUvtewftk0Jcdpbe6c4JEstGQ8lW+95F+6QTl52td7rb8hO5wagX7tFopC9pBZijVnPA8DYG4kGjXrxXo5G+pBXxPrWai4a3MY9X0BvT7te/Ow+IiNm5jRETtN4b0x7UvzsPiYiJ9YfzHsmfO8/rnTc3/9G8x6jQHhcNySd4YryTiBjnJ5AnC54qnL/A51swv/Dpgmeo0J4VDcnneGK8k4gY58ckp2ih+rEXFj3PExPPYhQx4vTrIJZbvEj92IuKX+CJiWcxihhxug1i/sVegMCLJUuWlpYuXVJSFgDwvlRuKWSqyxYxY12W4DIfYujliuUrwuEVyysqQ4i+V6oshUx12SJG6tWvAqxctTpuX71qJcC015KFWM3riGvWrosb1q1dgzjzDceIrXfDho2btD2bNm4A9/rkILbZg1u2btPatm3dgp7NDhGrroU3t/O+298Cd3UyEKupw7d38GfueAc9NY4Q8wdg5y5ZLa3f3dDw7nvsddu1EwJ+54kFQ7hnr9wMN+5ranr/A/a67d2DoaATxJohwub40v3y1+oAQ1YegWbnibVglM3x4YPy1+pDhqwqii0OEMtp9bYxrR7c7R0d7W74iBnavK05ThPL7fR1sWYjerp7ero9+DEzdPk6cyefWC8cUrQs+EQ6fBpPEhdDr9PEDuMRpZmNn0mHz+NJ4jI8PPnE+uALReuHDunQAf2K5Sgcc5rYAH6pNAexRzr04KBiOY4nJp9YBI6KiQ05TyyKx8XEhp0g1gtFijYij8qv4qPyUDKMymKlOSqPyq/jo/KIE6MyNvMPMe0bZeavZ4ah5Jj5h1nzW2Xmb2SGYUdm/tjqok9ZXXwnry6+L5X18r7kWF0MKKuLH+TVxY9hWa8acGR18f8K9iRD1j7S37+7ngE7ya9gE1G7MCMmrWBPMWTdo4OD+xoZsFP8CjYRtQtCj2VJI1SWNAK12ixpvwjYT4nOkkapLGkU67RZ0kERsJ8TkImPlegz8ZIxLhM3kERn4uMV+ky8YpzLxA3khld7xqRqz+m4/bRU7Un5xSwUQ2I3sAZbMy5Ve87EDWekak/6r0ahmRK7vhqs/7dYRfFsGaso/l52FqC1SFtRtLkz0mw2cu0QcwX/iFUUz1WyiuKflecQO4u1FUWbOyMtZiPXhJjLdV5ftT6vO9XO7putvSQLTjG5oK9aX9A52Nl9s7WXJNYv5l3Kj0g7I5H8S3kXuVOnXq4V86q9rNnhVYVNN3nXhgZjYi7XlYKrhVFpZyRaeLXgCteddq1OzKvuWpogbLrJuzY1GcE2FTkscXAJIWZD5LDEwSU1MTMrgF+t+iebmJkVMahWgxMhZmGv7C967KYSrql6p4n+RaCKkZqnNfI3PXYzCddMvZP1vwjsEGs7RgGbRf2p8k9AB2yif6rYIdZ1ggI2m/pT5d+QDljGf3zSNGZGqKPpAAAAAElFTkSuQmCC");
561
- }
562
-
563
- .n2-i-devices-all:before {
564
- background-position: 0 0;
565
- }
566
-
567
- .n2-i-devices-desktop:before {
568
- background-position: -40px 0;
569
- }
570
-
571
- .n2-i-devices-tablet:before {
572
- background-position: -80px 0;
573
- }
574
-
575
- .n2-i-devices-phone:before {
576
- background-position: -120px 0;
577
- }
578
-
579
- .n2-active > .n2-i-devices-all:before {
580
- background-position: -160px 0;
581
- }
582
-
583
- .n2-active > .n2-i-devices-desktop:before {
584
- background-position: -200px 0;
585
- }
586
-
587
- .n2-active > .n2-i-devices-tablet:before {
588
- background-position: -240px 0;
589
- }
590
-
591
- .n2-active > .n2-i-devices-phone:before {
592
- background-position: -280px 0;
593
- }
594
-
595
- .ui-item-overlay {
596
- display: none;
597
- position: absolute;
598
- top: 0;
599
- left: 0;
600
- width: 100%;
601
- height: 100%;
602
- }
603
-
604
- .n2-ss-layer.n2-highlight .ui-item-overlay,
605
- .n2-ss-layer.n2-highlight2 .ui-item-overlay {
606
- display: block;
607
- background-color: RGBA(0, 132, 255, 0.4);
608
- }
609
-
610
- .n2-ss-preview-mode .n2-ss-layer.n2-highlight .ui-item-overlay,
611
- .n2-ss-preview-mode .n2-ss-layer.n2-highlight2 .ui-item-overlay {
612
- display: none;
613
- }
614
-
615
- .n2-ss-item-html .ui-item-overlay,
616
- .n2-ss-item-iframe .ui-item-overlay {
617
- display: block;
618
- }
619
-
620
- .n2-ss-layer .n2-ss-layer-align-marker {
621
- position: absolute;
622
- left: auto;
623
- right: auto;
624
- top: auto;
625
- bottom: auto;
626
- width: 4px;
627
- height: 4px;
628
- background-color: #fff;
629
- border: #1999e3 4px solid;
630
- z-index: 89;
631
- }
632
-
633
- .n2-ss-layer[data-align="left"] .n2-ss-layer-align-marker {
634
- left: 0;
635
- }
636
-
637
- .n2-ss-layer[data-align="center"] .n2-ss-layer-align-marker {
638
- left: 50%;
639
- margin-left: -6px;
640
- }
641
-
642
- .n2-ss-layer[data-align="right"] .n2-ss-layer-align-marker {
643
- right: 0;
644
- }
645
-
646
- .n2-ss-layer[data-valign="top"] .n2-ss-layer-align-marker {
647
- top: 0;
648
- }
649
-
650
- .n2-ss-layer[data-valign="middle"] .n2-ss-layer-align-marker {
651
- top: 50%;
652
- margin-top: -6px;
653
- }
654
-
655
- .n2-ss-layer[data-valign="bottom"] .n2-ss-layer-align-marker {
656
- bottom: 0;
657
- }
658
-
659
- .n2-ss-layer[data-align="left"][data-valign="top"] .n2-ss-layer-align-marker {
660
- border-bottom-right-radius: 0px;
661
- }
662
-
663
- .n2-ss-layer[data-align="left"][data-valign="middle"] .n2-ss-layer-align-marker {
664
- border-bottom-right-radius: 0px;
665
- border-top-right-radius: 0px;
666
- }
667
-
668
- .n2-ss-layer[data-align="left"][data-valign="bottom"] .n2-ss-layer-align-marker {
669
- border-top-right-radius: 0px;
670
- }
671
-
672
- .n2-ss-layer .ui-resizable-handle {
673
- background-image: none;
674
- }
675
-
676
- .n2-ss-layer .ui-resizable-n {
677
- top: 0;
678
- height: 8px;
679
- border-top: 2px solid #1999e3;
680
- }
681
-
682
- .n2-ss-layer.n2-ss-layer-small .ui-resizable-n {
683
- height: 0;
684
- }
685
-
686
- .n2-ss-layer .ui-resizable-e {
687
- right: 0;
688
- width: 8px;
689
- border-right: 2px solid #1999e3;
690
- }
691
-
692
- .n2-ss-layer.n2-ss-layer-small .ui-resizable-e {
693
- width: 0;
694
- }
695
-
696
- .n2-ss-layer .ui-resizable-s {
697
- bottom: 0;
698
- height: 8px;
699
- border-bottom: 2px solid #1999e3;
700
- }
701
-
702
- .n2-ss-layer.n2-ss-layer-small .ui-resizable-s {
703
- height: 0;
704
- }
705
-
706
- .n2-ss-layer .ui-resizable-w {
707
- left: 0;
708
- width: 8px;
709
- border-left: 2px solid #1999e3;
710
- }
711
-
712
- .n2-ss-layer.n2-ss-layer-small .ui-resizable-w {
713
- width: 0;
714
- }
715
-
716
- .n2-ss-layer .ui-resizable-ne,
717
- .n2-ss-layer .ui-resizable-se,
718
- .n2-ss-layer .ui-resizable-sw,
719
- .n2-ss-layer .ui-resizable-nw {
720
- height: 10px;
721
- width: 10px;
722
- }
723
-
724
- .n2-ss-layer.n2-ss-layer-small .ui-resizable-ne,
725
- .n2-ss-layer.n2-ss-layer-small .ui-resizable-se,
726
- .n2-ss-layer.n2-ss-layer-small .ui-resizable-sw,
727
- .n2-ss-layer.n2-ss-layer-small .ui-resizable-nw {
728
- height: 2px;
729
- width: 2px;
730
- }
731
-
732
- .n2-ss-layer .ui-resizable-ne {
733
- right: 0;
734
- top: 0;
735
- }
736
-
737
- .n2-ss-layer .ui-resizable-se {
738
- right: 0;
739
- bottom: 0;
740
- }
741
-
742
- .n2-ss-layer .ui-resizable-sw {
743
- left: 0;
744
- bottom: 0;
745
- }
746
-
747
- .n2-ss-layer .ui-resizable-nw {
748
- left: 0;
749
- top: 0;
750
- }
751
-
752
- .n2-ss-layer-quick-handle {
753
- position: absolute;
754
- top: 7px;
755
- right: 7px;
756
- cursor: pointer;
757
- width: 14px;
758
- height: 26px;
759
- border-radius: 3px;
760
- background: RGBA(43, 52, 63, 0.9);
761
- text-align: center;
762
- font-size: 16px !important;
763
- line-height: 26px !important;
764
- color: #fff;
765
- overflow: hidden;
766
- }
767
-
768
- .n2-ss-layer-quick-panel {
769
- position: absolute;
770
- z-index: 1000;
771
- width: 72px;
772
- height: 28px;
773
- margin: -6px 0 0 -34px;
774
- padding: 5px;
775
- }
776
-
777
- .n2-ss-layer-locked .n2-ss-layer-quick-handle {
778
- display: none;
779
- }
780
-
781
- .n2-ss-layer-quick-panel .n2-ss-layer-quick-panel-option {
782
- display: inline-block;
783
- cursor: pointer;
784
- width: 26px;
785
- height: 26px;
786
- border-radius: 3px;
787
- background: RGBA(43, 52, 63, 0.9);
788
- text-align: center;
789
- font-size: 16px !important;
790
- line-height: 26px !important;
791
- color: #fff;
792
- margin: 1px;
793
- vertical-align: top;
794
- }
795
-
796
- .n2-ss-layer-quick-panel .n2-ss-layer-quick-panel-option-center {
797
- width: 14px;
798
- overflow: hidden;
799
- }
800
-
801
- .n2-ss-layer-small .n2-ss-layer-quick-handle {
802
- display: none;
803
- }
804
-
805
- .n2-ss-layer.n2-ss-picking-on-layer {
806
- z-index: 1000000 !important;
807
- }
808
-
809
- .n2-ss-position-display {
810
- display: none;
811
- position: absolute;
812
- border-radius: 3px;
813
- z-index: 10000;
814
- line-height: 16px;
815
- padding: 4px 6px;
816
- color: #fff;
817
- font-size: 10px;
818
- background: rgba(43, 52, 63, 0.9);
819
- }
820
-
821
- .n2-ss-position-display.n2-active {
822
- display: block;
823
- }
824
-
825
- #n2-ss-timeline .n2-form-element-text {
826
- margin: 0 10px;
827
- line-height: 2px;
828
- }
829
-
830
- #n2-ss-timeline .n2-text-sub-label {
831
- width: 30px;
832
- text-align: center;
833
- overflow: hidden;
834
- }
835
-
836
- .n2-ss-timeline-current-time {
837
- vertical-align: middle;
838
- font-size: 20px;
839
- margin: 0 20px;
840
- font-family: "Lucida Console", Monaco, monospace;
841
- }
842
-
843
- .n2-ss-timeline-sidebar-top .n2-ss-timeline-control {
844
- position: absolute;
845
- top: 10px;
846
- right: 5px;
847
- margin: 0 10px;
848
- }
849
-
850
- html[dir="rtl"] .n2-ss-timeline-sidebar-top .n2-ss-timeline-control {
851
- right: auto;
852
- left: 5px;
853
- }
854
-
855
- .n2-ss-timeline-sidebar-top .n2-ss-timeline-control .n2-button + .n2-button {
856
- margin: 0 0 0 5px;
857
- }
858
-
859
- html[dir="rtl"] .n2-ss-timeline-sidebar-top .n2-ss-timeline-control .n2-button + .n2-button {
860
- margin: 0 5px 0 0;
861
- }
862
-
863
- /**
864
- Layer editor interactions
865
- **/
866
- .n2-ss-layer .n2-ss-layer-align-marker,
867
- .n2-ss-layer .ui-resizable-handle,
868
- .n2-ss-layer-quick-handle {
869
- opacity: 0;
870
- }
871
-
872
- .n2-ss-resize-layer .ui-resizable-handle,
873
- .n2-ss-move-layer .ui-resizable-handle,
874
- .n2-ss-layer.n2-highlight .n2-ss-layer-align-marker,
875
- .n2-ss-layer.n2-highlight .ui-resizable-handle,
876
- .n2-ss-layer:HOVER .n2-ss-layer-align-marker,
877
- .n2-ss-layer:HOVER .ui-resizable-handle,
878
- .n2-ss-layer:HOVER .n2-ss-layer-quick-handle {
879
- opacity: 1;
880
- }
881
-
882
- #n2-ss-0 .n2-ss-slide-border {
883
- display: none;
884
- position: absolute;
885
- background: #a1aeb5;
886
- width: 1px;
887
- height: 1px;
888
- }
889
-
890
- #n2-ss-0:HOVER .n2-ss-slide-border {
891
- display: block;
892
- }
893
-
894
- div#n2-ss-0:HOVER .n2-ss-static-slide {
895
- display: none;
896
- }
897
-
898
- div#n2-ss-0:HOVER .n2-ss-static-slide.n2-ss-currently-edited-slide {
899
- display: block;
900
- }
901
-
902
- #n2-ss-0 .n2-ss-slide-border-left {
903
- left: 0;
904
- top: 0;
905
- height: 100%;
906
- }
907
-
908
- #n2-ss-0 .n2-ss-slide-border-right {
909
- right: 0;
910
- top: 0;
911
- height: 100%;
912
- }
913
-
914
- #n2-ss-0 .n2-ss-slide-border-top {
915
- left: 0;
916
- top: 0;
917
- width: 100%;
918
- }
919
-
920
- #n2-ss-0 .n2-ss-slide-border-bottom {
921
- left: 0;
922
- bottom: 0;
923
- width: 100%;
924
- }
925
-
926
- #n2-ss-0 .n2-ss-layer {
927
- cursor: not-allowed;
928
- }
929
-
930
- #n2-ss-0 .n2-ss-currently-edited-slide .n2-ss-layer {
931
- cursor: move;
932
- background: RGBA(0, 0, 0, 0); /* IE fix, layer empty area doesnt trigger mouseenter when no background */
933
- }
934
-
935
- #n2-ss-0 .n2-ss-static-slide .n2-ss-layer.n2-ss-layer-locked,
936
- #n2-ss-0 .n2-ss-slide.n2-ss-slide-active .n2-ss-layer.n2-ss-layer-locked {
937
- cursor: auto;
938
- }
939
-
940
- /*
941
- #n2-ss-0 .n2-ss-static-slide {
942
- visibility: visible !important;
943
- }
944
- */
945
- .n2-ss-preview-mode #n2-ss-0 .n2-ss-layer {
946
- cursor: default;
947
- }
948
-
949
- .n2-ss-preview-mode #n2-ss-0 .ui-resizable-handle,
950
- .n2-ss-preview-mode #n2-ss-0 .n2-ss-layer-quick-handle,
951
- .n2-ss-preview-mode #n2-ss-0 .n2-ss-layer-align-marker,
952
- #n2-ss-0 .n2-ss-static-slide .n2-ss-layer.n2-ss-layer-locked .n2-ss-layer-align-marker,
953
- #n2-ss-0 .n2-ss-slide.n2-ss-slide-active .n2-ss-layer.n2-ss-layer-locked .n2-ss-layer-align-marker {
954
- display: none;
955
- }
956
-
957
- .n2-ss-item {
958
- position: relative;
959
- float: left;
960
- width: 100%;
961
- }
962
-
963
- .n2-ss-item-video,
964
- .n2-ss-item-youtube,
965
- .n2-ss-item-vimeo,
966
- .n2-ss-item-area {
967
- height: 100%;
968
- }
969
-
970
- #smartslider-slide-toolbox-layer {
971
- position: relative;
972
- }
973
-
974
- #layeritemdraggable {
975
- top: 0;
976
- left: 0;
977
- height: 10px;
978
- width: 100%;
979
- background: #f04040;
980
- cursor: ns-resize;
981
- }
982
-
983
- .n2-grid {
984
- background: #4affff;
985
- position: absolute;
986
- left: 0;
987
- top: 0;
988
- z-index: 1000000;
989
- display: none;
990
- }
991
-
992
- .n2-grid-h {
993
- width: 100%;
994
- height: 1px;
995
- }
996
-
997
- .n2-grid-v {
998
- height: 100%;
999
- width: 1px;
1000
- }
1001
-
1002
- ul.animation-list {
1003
- margin: 0;
1004
- padding: 0;
1005
- padding-bottom: 20px;
1006
- }
1007
-
1008
- ul.animation-list li {
1009
- margin: 0;
1010
- padding: 0;
1011
- background: #eef3f8;
1012
- }
1013
-
1014
- ul.animation-list li.sortable-animation {
1015
- border-bottom: 1px solid #cdd1d6;
1016
- }
1017
-
1018
- /**
1019
- Layout
1020
- */
1021
-
1022
- .n2-lightbox-sidebar-list {
1023
- overflow-y: auto;
1024
- }
1025
-
1026
- /**
1027
- Timeline
1028
- */
1029
-
1030
- #n2-ss-timeline {
1031
- position: relative;
1032
- margin-bottom: 200px;
1033
- user-select: none;
1034
- -o-user-select: none;
1035
- -moz-user-select: none;
1036
- -khtml-user-select: none;
1037
- -webkit-user-select: none;
1038
- }
1039
-
1040
- #n2-ss-timeline .n2-ss-timeline-animation-buttons {
1041
- width: 84px;
1042
- height: 36px;
1043
- position: fixed;
1044
- left: 100px;
1045
- top: 200px;
1046
- font-size: 16px;
1047
- line-height: 16px;
1048
- padding: 3px 2px;
1049
- display: none;
1050
- }
1051
-
1052
- #n2-ss-timeline .n2-ss-timeline-animation-buttons.n2-active {
1053
- display: block;
1054
- }
1055
-
1056
- #n2-ss-timeline .n2-ss-timeline-animation-buttons .n2-button {
1057
- width: 24px;
1058
- padding: 0;
1059
- margin: 0 2px;
1060
- }
1061
-
1062
- #n2-ss-timeline-table .n2-td {
1063
- position: relative;
1064
- vertical-align: top;
1065
- }
1066
-
1067
- .n2-ss-timeline-content {
1068
- border-left: 1px solid #d2d5d8;
1069
- }
1070
-
1071
- #n2-ss-timeline-table .n2-ss-timeline-sidebar {
1072
- width: 310px;
1073
- }
1074
-
1075
- #n2-ss-timeline-table .n2-ss-timeline-content-container {
1076
- overflow: hidden;
1077
- width: 100%;
1078
- background-color: #fff;
1079
- }
1080
-
1081
- #n2-ss-timeline-table .n2-ss-timeline-content-scrollable {
1082
- position: relative;
1083
- overflow: hidden;
1084
- width: 2000px;
1085
- border-right: 1px solid #d2d5d8;
1086
- }
1087
-
1088
- #n2-ss-timeline-table .n2-ss-timeline-content-timeframe {
1089
- height: 31px;
1090
- border-bottom: 1px solid #d2d5d8;
1091
- z-index: 9;
1092
-
1093
- }
1094
-
1095
- #n2-ss-timeline-table .n2-ss-timeline-content-timeframe .n2-time-marker {
1096
- position: relative;
1097
- width: 195px;
1098
- height: 100%;
1099
- padding-left: 5px;
1100
- float: left;
1101
- background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAgAgMAAAAqId/iAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACVBMVEUAAADp6+0AAADJOcyhAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAlSURBVDjLY3BgIBmMahnVMrK1kESMaiFDCwuJxKgWemgJJRkAAD7BO1tByKplAAAAAElFTkSuQmCC");
1102
- color: #7b8898;
1103
- }
1104
-
1105
- html[dir="rtl"] #n2-ss-timeline-table .n2-ss-timeline-content-timeframe .n2-time-marker {
1106
- float: right;
1107
- padding-left: 0;
1108
- padding-right: 5px;
1109
- background-position: -1px 0;
1110
- }
1111
-
1112
- .n2-ss-timeline-scrollbar-wrapper {
1113
- background-color: #cacdd4;
1114
- padding: 1px 2px 1px 1px;
1115
- border: 1px solid #c0c3c9;
1116
- height: 12px;
1117
- z-index: 10;
1118
- }
1119
-
1120
- .n2-ss-timeline-scrollbar-wrapper .track {
1121
- position: relative;
1122
- height: 12px;
1123
- }
1124
-
1125
- .n2-ss-timeline-scrollbar-wrapper .thumb {
1126
- position: absolute;
1127
- top: 0;
1128
- background: #eef0f3;
1129
- height: 10px;
1130
- cursor: default;
1131
- width: 20px;
1132
- z-index: 2;
1133
- border: 1px solid #a8abaf;
1134
- -webkit-border-radius: 5px;
1135
- -moz-border-radius: 5px;
1136
- border-radius: 5px;
1137
- }
1138
-
1139
- .n2-ss-timeline-sidebar-top {
1140
- position: relative;
1141
- padding: 10px 5px 9px 5px;
1142
- height: 28px;
1143
- background-color: #f9fafb;
1144
- border-bottom: 1px solid #dee1e5;
1145
- }
1146
-
1147
- .n2-ss-timeline-sidebar-top .n2-h2 {
1148
- line-height: 28px;
1149
- color: #6b7989;
1150
- padding: 0 15px;
1151
- }
1152
-
1153
- .n2-ss-timeline-sidebar-top .n2-form-element-text {
1154
- margin: 0;
1155
- }
1156
-
1157
- .n2-ss-timeline-sidebar-layers-container {
1158
- height: 200px;
1159
- }
1160
-
1161
- .n2-ss-timeline-sidebar-layers-container .ui-resizable-handle {
1162
- border: 1px solid #ccd1d6;
1163
- bottom: -28px;
1164
- left: -1px;
1165
- height: 20px;
1166
- border-radius: 3px;
1167
- background: #f9fafb;
1168
- color: #7b8898;
1169
- font-size: 32px;
1170
- text-align: center;
1171
- line-height: 20px;
1172
- }
1173
-
1174
- .n2-ss-timeline-sidebar-layers {
1175
- position: relative;
1176
- height: 100%;
1177
- overflow-x: hidden;
1178
- overflow-y: auto;
1179
- }
1180
-
1181
- .n2-ss-timeline-content-layers-container {
1182
- height: 200px;
1183
- overflow: hidden;
1184
- }
1185
-
1186
- .n2-ss-timeline-layer {
1187
- padding: 0 15px;
1188
- background-color: #f9fafb;
1189
- color: #7b8898;
1190
- text-transform: capitalize;
1191
- cursor: pointer;
1192
- position: relative;
1193
- }
1194
-
1195
- .n2-ss-timeline-layer.n2-active {
1196
- background-color: #1681c1;
1197
- color: #fff;
1198
- }
1199
-
1200
- .n2-ss-timeline-layer-buttons {
1201
- display: none;
1202
- font-size: 16px;
1203
- line-height: 16px;
1204
- padding: 3px 2px;
1205
- position: absolute;
1206
- right: 5px;
1207
- top: 4px;
1208
- }
1209
-
1210
- html[dir="rtl"] .n2-ss-timeline-layer-buttons {
1211
- right: auto;
1212
- left: 5px;
1213
- }
1214
-
1215
- .n2-ss-timeline-layer-buttons .n2-button {
1216
- width: 24px;
1217
- padding: 0;
1218
- margin: 0 2px;
1219
- }
1220
-
1221
- .n2-ss-timeline-content-layers {
1222
- overflow: hidden;
1223
- width: 200%;
1224
- background-color: #ffffff;
1225
- position: relative;
1226
- }
1227
-
1228
- .n2-ss-timeline-layer,
1229
- .n2-ss-timeline-content-layers {
1230
- height: 39px;
1231
- line-height: 39px;
1232
- border-bottom: 1px solid #dee1e5;
1233
- }
1234
-
1235
- .n2-ss-timeline-content-layers {
1236
- white-space: nowrap;
1237
- }
1238
-
1239
- .n2-ss-timeline-content-layers > div {
1240
- display: inline-block;
1241
- }
1242
-
1243
- .n2-ss-layer-animation,
1244
- .n2-ss-layer-extra-animation {
1245
- position: relative;
1246
- float: left;
1247
- height: 25px;
1248
- margin: 7px 0;
1249
- background: #1999e3;
1250
- width: 200px;
1251
- border: 1px solid #0c70ab;
1252
- -webkit-border-radius: 3px;
1253
- -moz-border-radius: 3px;
1254
- border-radius: 3px;
1255
-
1256
- -webkit-box-sizing: border-box;
1257
- -moz-box-sizing: border-box;
1258
- box-sizing: border-box;
1259
- cursor: ew-resize;
1260
- }
1261
-
1262
- html[dir="rtl"] .n2-ss-layer-animation {
1263
- float: right;
1264
- }
1265
-
1266
- .n2-ss-layer-animation-loop {
1267
- background: #5cba3c;
1268
- border: 1px solid #4c9b31;
1269
- }
1270
-
1271
- .n2-ss-layer-animation-out {
1272
- background: #b3b9bf;
1273
- border: 1px solid #949ba4;
1274
- }
1275
-
1276
- .n2-ss-layer-extra-animation {
1277
- position: absolute;
1278
- left: 0;
1279
- top: 0;
1280
- margin-left: 20px;
1281
- width: 30px;
1282
- background-color: #343f4c;
1283
- border-color: #6b7986;
1284
- }
1285
-
1286
- .n2-ss-timeline-content-timeframe,
1287
- .n2-ss-timeline-content-layers {
1288
- padding-left: 20px;
1289
- }
1290
-
1291
- html[dir="rtl"] .n2-ss-timeline-content-timeframe,
1292
- html[dir="rtl"] .n2-ss-timeline-content-layers {
1293
- padding-left: 0;
1294
- padding-right: 20px;
1295
- }
1296
-
1297
- .n2-ss-layer-animation .ui-resizable-e {
1298
- right: 0;
1299
- }
1300
-
1301
- .n2-ss-layer-animation .ui-resizable-w {
1302
- left: 0;
1303
- }
1304
-
1305
- html[dir="rtl"] .n2-ss-layer-animation .ui-resizable-e {
1306
- right: auto;
1307
- left: 0;
1308
- }
1309
-
1310
- html[dir="rtl"] .n2-ss-layer-animation .ui-resizable-w {
1311
- left: auto;
1312
- right: 0;
1313
- }
1314
-
1315
- .n2-ss-animation-duration {
1316
- display: block;
1317
- width: 100%;
1318
- line-height: 23px;
1319
- color: #fff;
1320
- text-align: center;
1321
- cursor: ew-resize;
1322
- }
1323
-
1324
- .n2-ss-animation-delay {
1325
- position: absolute;
1326
- line-height: 23px;
1327
- color: #7b8898;
1328
- text-align: right;
1329
- right: 100%;
1330
- margin-right: 5px;
1331
- }
1332
-
1333
- html[dir="rtl"] .n2-ss-animation-delay {
1334
- right: auto;
1335
- margin-right: 0;
1336
- left: 100%;
1337
- margin-left: 5px;
1338
- }
1339
-
1340
- .n2-ss-timeline-duration-marker {
1341
- position: absolute;
1342
- left: 0;
1343
- top: 0;
1344
- z-index: 2;
1345
- height: 100%;
1346
- border-left: 1px dashed #b6bcc1;
1347
- margin-left: 20px;
1348
- width: 10px;
1349
- cursor: ew-resize;
1350
- background: RGBA(0, 0, 0, 0.05);
1351
- }
1352
-
1353
- .n2-ss-timeline-cti {
1354
- position: absolute;
1355
- left: -10px;
1356
- top: 3px;
1357
- z-index: 3;
1358
- width: 0;
1359
- height: 100%;
1360
- border-left: 1px solid #828d9b;
1361
- margin-left: 20px;
1362
- cursor: ew-resize;
1363
- }
1364
-
1365
- html[dir="rtl"] .n2-ss-timeline-cti {
1366
- left: auto;
1367
- right: -10px;
1368
- margin-left: 0;
1369
- margin-right: 20px;
1370
- }
1371
-
1372
- .n2-ss-timeline-cti-dot {
1373
- position: relative;
1374
- left: -6px;
1375
- top: 0;
1376
- width: 11px;
1377
- height: 11px;
1378
- border-radius: 0 50% 50% 50%;
1379
- transform: rotate(-135deg);
1380
- background: #4d5d70;
1381
- }
1382
-
1383
- html[dir="rtl"] .n2-ss-timeline-cti-dot {
1384
- left: auto;
1385
- right: -5px;
1386
- }
1387
-
1388
- .n2-ss-timeline-helper {
1389
- position: absolute;
1390
- top: -1px;
1391
- width: 100%;
1392
- height: 1px;
1393
- overflow: hidden;
1394
- padding-left: 20px;
1395
- -webkit-box-sizing: border-box;
1396
- -moz-box-sizing: border-box;
1397
- box-sizing: border-box;
1398
- }
1399
-
1400
- .n2-ss-timeline-control {
1401
- text-align: right;
1402
- color: #fff;
1403
- padding: 0 10px;
1404
- vertical-align: top;
1405
- }
1406
-
1407
- #n2-ss-timeline .n2-ss-timeline-control {
1408
- padding: 0;
1409
- }
1410
-
1411
- .n2-ss-timeline-control .n2-button {
1412
- padding: 0;
1413
- width: 28px;
1414
- font-size: 16px;
1415
- vertical-align: middle;
1416
- }
1417
-
1418
- .n2-generator-functions-container
1419
- .n2-ss-timeline-control .n2-button i {
1420
- line-height: inherit;
1421
- }
1422
-
1423
- .n2-ss-timeline-control .n2-play.n2-active i:before {
1424
- content: "\e606";
1425
- }
1426
-
1427
- #n2-tab-widgets {
1428
- border-bottom: 0;
1429
- margin-bottom: 1000px;
1430
- }
1431
-
1432
- .n2-i-edit.n2-active {
1433
- color: #1999e3;
1434
- }
1435
-
1436
- .n2-generator-insert-variable .n2-variable-container {
1437
- height: 90px;
1438
- overflow: auto;
1439
- }
1440
-
1441
- .n2-generator-insert-variable .n2-group-container {
1442
- height: 40px;
1443
- overflow: auto;
1444
- }
1445
-
1446
- .n2-generator-insert-variable .n2-variable-container .n2-button,
1447
- .n2-generator-insert-variable .n2-group-container .n2-button {
1448
- margin: 3px;
1449
- }
1450
-
1451
- .n2-generator-insert-variable .n2-variable-container .n2-button.n2-active,
1452
- .n2-generator-insert-variable .n2-group-container .n2-button.n2-active {
1453
- background: #1999e3;
1454
- }
1455
-
1456
- .n2-generator-result-container {
1457
- height: 100px;
1458
- overflow: auto;
1459
- margin: 0 3px;
1460
- }
1461
-
1462
- .n2-slide-published {
1463
- position: absolute;
1464
- top: 11px;
1465
- right: 3px;
1466
- }
1467
-
1468
- .n2-i-unpublished {
1469
- color: #c44e3d;
1470
- }
1471
-
1472
- .n2-slide-published {
1473
- font-size: 16px;
1474
- }
1475
-
1476
- .n2-slide-is-first,
1477
- .n2-slide-first,
1478
- .n2-box.n2-first-slide:HOVER .n2-slide-first {
1479
- display: none;
1480
- }
1481
-
1482
- .n2-box:HOVER .n2-slide-first,
1483
- .n2-first-slide .n2-slide-is-first {
1484
- display: inline-block;
1485
- }
1486
-
1487
- .n2-slide-duplicate {
1488
- margin-right: 5px;
1489
- }
1490
-
1491
- html[dir="rtl"] .n2-slide-duplicate {
1492
- margin-right: 0;
1493
- margin-left: 5px;
1494
- }
1495
-
1496
- .n2-slide-duplicate, .n2-slide-delete, .n2-slide-selected {
1497
- padding: 0;
1498
- width: 24px;
1499
- }
1500
-
1501
- .n2-sidebar #n2-ss-slides {
1502
- position: relative;
1503
- margin-right: -1px;
1504
- }
1505
-
1506
- .n2-sidebar #n2-ss-slides .n2-box {
1507
- width: 45.5%;
1508
- height: 135px;
1509
- margin: 2.20%;
1510
- background: #3c4958;
1511
- border: 0;
1512
- }
1513
-
1514
- .n2-sidebar #n2-ss-slides .n2-box.n2-ss-slide-active {
1515
- box-shadow: 0 0 0 3px #1999e3;
1516
- }
1517
-
1518
- .n2-sidebar #n2-ss-slides .n2-box .n2-box-button {
1519
- text-align: left;
1520
- }
1521
-
1522
- .n2-sidebar #n2-ss-slides .n2-box .n2-box-placeholder {
1523
- height: 40px;
1524
- }
1525
-
1526
- .n2-sidebar #n2-ss-slides .n2-box.ui-sortable-helper {
1527
- transform: scale(0.8);
1528
- }
1529
-
1530
- .n2-sidebar #n2-ss-slides .n2-box-placeholder {
1531
- background: RGBA(43, 52, 63, 0.9);
1532
- }
1533
-
1534
- .n2-sidebar #n2-ss-slides .n2-box-placeholder a {
1535
- color: #cedae2;
1536
- }
1537
-
1538
- .n2-ss-slides-control {
1539
- position: relative;
1540
- padding: 22px 10px;
1541
- border-bottom: 1px solid RGBA(0, 0, 0, 0.3);
1542
- }
1543
-
1544
- .n2-ss-slides-control .n2-button {
1545
- margin: 0 10px;
1546
- }
1547
-
1548
- .n2-slides-bulk {
1549
- min-width: 0;
1550
- padding: 0;
1551
- width: 36px;
1552
- }
1553
-
1554
- .n2-slides-bulk .n2-i {
1555
- font-size: 32px;
1556
- }
1557
-
1558
- .n2-add-quick-image {
1559
- width: 266px;
1560
- }
1561
-
1562
- .n2-button-menu-inner .n2-add-quick-image {
1563
- width: auto;
1564
- }
1565
-
1566
- .n2-slides-add {
1567
- vertical-align: top;
1568
- }
1569
-
1570
- .n2-slide-bulk-mode .n2-slides-bulk,
1571
- .n2-slide-bulk-mode .n2-slides-add,
1572
- .n2-slide-selected,
1573
- .n2-bulk-select,
1574
- .n2-bulk-action,
1575
- .n2-bulk-cancel {
1576
- display: none;
1577
- min-width: 0;
1578
- vertical-align: top;
1579
- }
1580
-
1581
- .n2-sidebar #n2-ss-slides .n2-box-slide-add,
1582
- .n2-sidebar #n2-ss-slides .n2-box-slide-drag-upload {
1583
- display: inline-block;
1584
- color: #b2bfc9;
1585
- border: 2px dashed #73818c;
1586
- background: transparent;
1587
- -webkit-box-sizing: border-box;
1588
- -moz-box-sizing: border-box;
1589
- box-sizing: border-box;
1590
- text-align: center;
1591
- line-height: 131px;
1592
- }
1593
-
1594
- .n2-sidebar #n2-ss-slides .n2-box-slide-drag-upload {
1595
- display: none;
1596
- position: absolute;
1597
- z-index: 3;
1598
- left: 0;
1599
- top: 0;
1600
- width: 420px;
1601
- height: 90%;
1602
- background-color: #4d5d70;
1603
- border: 0px;
1604
- box-shadow: 0 0 0 3px #1999e3;
1605
- }
1606
-
1607
- .n2-sidebar #n2-ss-slides .n2-drag-over .n2-box-slide-drag-upload {
1608
- display: block;
1609
- }
1610
-
1611
- .n2-sidebar #n2-ss-slides.n2-ss-has-slides .n2-box-slide-add {
1612
- display: none;
1613
- }
1614
-
1615
- .n2-slide-bulk-mode .n2-bulk-select,
1616
- .n2-slide-bulk-mode .n2-bulk-action,
1617
- .n2-slide-bulk-mode .n2-bulk-cancel,
1618
- .n2-slide-bulk-mode .n2-box-slide.n2-active .n2-slide-selected,
1619
- .n2-slide-bulk-mode .n2-box-slide .n2-box-rt {
1620
- display: inline-block;
1621
- }
1622
-
1623
- .n2-slide-bulk-mode .n2-box-slide {
1624
- opacity: 0.5;
1625
- }
1626
-
1627
- .n2-slide-bulk-mode .n2-box-slide.n2-active {
1628
- opacity: 1;
1629
- }
1630
-
1631
- .n2-box-slide .n2-button.n2-sidebar-list-bg:HOVER {
1632
- background-color: #1999e3;
1633
- }
1634
-
1635
- .n2-slide-bulk-mode .n2-box-slide .n2-slide-first,
1636
- .n2-slide-bulk-mode .n2-box-slide .n2-slide-duplicate,
1637
- .n2-slide-bulk-mode .n2-box-slide .n2-slide-delete,
1638
- .n2-slide-bulk-mode .n2-box-slide .n2-slide-generator,
1639
- .n2-slide-bulk-mode .n2-box-slide .n2-slide-published {
1640
- display: none;
1641
- }
1642
-
1643
- .n2-slide-bulk-mode .n2-box-slide .n2-slide-published.n2-active {
1644
- display: inline-block;
1645
- }
1646
-
1647
- .n2-ss-live-preview span {
1648
- text-decoration: line-through;
1649
- vertical-align: middle;
1650
- }
1651
-
1652
- .n2-ss-live-preview .n2-button {
1653
- vertical-align: middle;
1654
- margin: 0 20px;
1655
- }
1656
-
1657
- .n2-ss-live-preview.n2-active span {
1658
- text-decoration: none;
1659
- }
1660
-
1661
- .n2-ss-live-preview.n2-active .n2-button {
1662
- display: none;
1663
- }
1664
-
1665
- .n2-widget-area {
1666
- display: inline-block;
1667
- vertical-align: middle;
1668
- width: 80px;
1669
- height: 80px;
1670
- position: relative;
1671
- margin: 0 10px;
1672
- }
1673
-
1674
- .n2-form .n2-widget-area {
1675
- margin-bottom: 10px;
1676
- }
1677
-
1678
- .n2-widget-area-inner {
1679
- position: absolute;
1680
- top: 14px;
1681
- left: 14px;
1682
- width: 46px;
1683
- height: 46px;
1684
- border: 3px solid #bbc3cc;
1685
- border-radius: 3px;
1686
- }
1687
-
1688
- .n2-widget-area .n2-area {
1689
- position: absolute;
1690
- background-color: #a1aeb5;
1691
- border-radius: 2px;
1692
- cursor: pointer;
1693
- width: 10px;
1694
- height: 10px;
1695
- left: 0;
1696
- top: 0;
1697
- }
1698
-
1699
- .n2-widget-area .n2-area.n2-active {
1700
- background-color: #1999e3;
1701
- cursor: default;
1702
- }
1703
-
1704
- .n2-widget-area .n2-area-1 {
1705
- left: 35px;
1706
- }
1707
-
1708
- .n2-widget-area .n2-area-2 {
1709
- left: 21px;
1710
- top: 21px;
1711
- }
1712
-
1713
- .n2-widget-area .n2-area-3 {
1714
- left: 35px;
1715
- top: 21px;
1716
- }
1717
-
1718
- .n2-widget-area .n2-area-4 {
1719
- left: 49px;
1720
- top: 21px;
1721
- }
1722
-
1723
- .n2-widget-area .n2-area-5 {
1724
- top: 35px;
1725
- }
1726
-
1727
- .n2-widget-area .n2-area-6 {
1728
- left: 21px;
1729
- top: 35px;
1730
- }
1731
-
1732
- .n2-widget-area .n2-area-7 {
1733
- left: 49px;
1734
- top: 35px;
1735
- }
1736
-
1737
- .n2-widget-area .n2-area-8 {
1738
- left: 70px;
1739
- top: 35px;
1740
- }
1741
-
1742
- .n2-widget-area .n2-area-9 {
1743
- left: 21px;
1744
- top: 49px;
1745
- }
1746
-
1747
- .n2-widget-area .n2-area-10 {
1748
- left: 35px;
1749
- top: 49px;
1750
- }
1751
-
1752
- .n2-widget-area .n2-area-11 {
1753
- left: 49px;
1754
- top: 49px;
1755
- }
1756
-
1757
- .n2-widget-area .n2-area-12 {
1758
- left: 35px;
1759
- top: 70px;
1760
- }
1761
-
1762
- .n2-ss-slider-publish {
1763
- border-collapse: collapse;
1764
- overflow: hidden;
1765
- }
1766
-
1767
- .n2-ss-slider-publish .n2-td {
1768
- text-align: center;
1769
- border-right: 1px solid #ccd1d6;
1770
- color: #6b7989;
1771
- padding: 48px 0 0 0;
1772
- }
1773
-
1774
- html[dir="rtl"] .n2-ss-slider-publish .n2-td {
1775
- border-left: 1px solid #ccd1d6;
1776
- }
1777
-
1778
- .n2-ss-slider-publish .n2-td .n2-h2 a {
1779
- color: #6b7989;
1780
- }
1781
-
1782
- .n2-ss-slider-publish .n2-td.n2-last {
1783
- border-right: 0;
1784
- border-left: 0;
1785
- }
1786
-
1787
- .n2-ss-slider-publish div.n2-h2 {
1788
- line-height: 30px;
1789
- font-size: 18px;
1790
- }
1791
-
1792
- .n2-ss-slider-publish div.n2-h4 {
1793
- line-height: 26px;
1794
- }
1795
-
1796
- .n2-ss-slider-publish .n2-code {
1797
- display: inline-block;
1798
- padding: 16px 30px;
1799
- line-height: 20px;
1800
- border-radius: 3px;
1801
- background-color: #f5e293;
1802
- text-align: left;
1803
- margin: 17px 0;
1804
- color: #6f653f;
1805
- font-size: 12px;
1806
- border: 0;
1807
- }
1808
-
1809
- .n2-ss-slider-publish img {
1810
- margin-top: 17px;
1811
- margin-bottom: -10px;
1812
- }
1813
-
1814
- .n2-ss-generator-modal .n2-modal-content h3 {
1815
- text-align: left;
1816
- }
1817
-
1818
- .n2-ss-layer-solo-mode .n2-ss-layer {
1819
- opacity: 0.5 !important;
1820
- }
1821
-
1822
- .n2-ss-layer-solo-mode .n2-ss-layer-solo {
1823
- z-index: 100000000 !important;
1824
- opacity: 1 !important;
1825
- }
1826
-
1827
- .n2-generator-records td div {
1828
- max-height: 100px;
1829
- overflow: hidden;
1830
- padding: 10px;
1831
- margin: -10px;
1832
- }
1833
-
1834
- .n2-generator-records td:HOVER div {
1835
- overflow-y: auto;
1836
- overflow-x: visible;
1837
- }
1838
-
1839
- #n2-admin[data-slider-type='block'] #n2-tab-widgets,
1840
- #n2-admin[data-slider-type='block'] .n2-fm-autoplay,
1841
- #n2-admin[data-slider-type='block'] .n2-fm-slides {
1842
- display: none
1843
- }
1844
-
1845
- .n2-ss-container-device {
1846
- position: relative;
1847
- margin: 0 auto;
1848
- background-color: #fff;
1849
- border: 1px solid #ccd1d6;
1850
- border-width: 0 1px;
1851
- }
1852
-
1853
- .n2-ss-layer-picker {
1854
- background: #6b7986;
1855
- color: #fff;
1856
- font-size: 16px;
1857
- height: 28px;
1858
- line-height: 28px;
1859
- padding: 0;
1860
- text-align: center;
1861
- width: 28px;
1862
- border-radius: 3px;
1863
- margin: 0 10px;
1864
- margin-bottom: 10px;
1865
- cursor: pointer;
1866
- }
1867
-
1868
- .n2-ss-layer-picker.n2-active {
1869
- background: #1999e3;
1870
- }
1871
-
1872
- #n2-ss-control-line #n2-ss-parent-linker.n2-under-pick,
1873
- .n2-ss-layer-picker.n2-under-pick {
1874
- background-color: #5cba3c;
1875
- }
1876
-
1877
- #n2-ss-parent-linker.n2-under-pick .n2-i-layerlink:before,
1878
- .n2-ss-layer-picker.n2-under-pick .n2-i-layerlink:before {
1879
- content: "\e64b";
1880
- }
1881
-
1882
- .n2-ss-picker-overlay {
1883
- position: absolute;
1884
- left: 0;
1885
- top: 0;
1886
- background: RGBA(25, 153, 227, 0.8);
1887
- cursor: pointer;
1888
- width: 33%;
1889
- height: 33%;
1890
- z-index: 1000000;
1891
- box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.4);
1892
- }
1893
-
1894
- .n2-ss-picker-overlay:HOVER {
1895
- background: RGBA(42, 52, 63, 0.9);
1896
- }
1897
-
1898
- .n2-modal.n2-ss-go-pro .n2-modal-window {
1899
- /*background-color: #fafbff;*/
1900
- text-align: center;
1901
- /*color: #6b7989;*/
1902
- line-height: 2;
1903
- }
1904
-
1905
- .n2-modal.n2-ss-go-pro .n2-ss-rate {
1906
- margin: 50px -20px 0;
1907
- background: url('../images/free/rate.png');
1908
- height: 90px;
1909
- line-height: 90px;
1910
- color: #ffffff;
1911
- }
1912
-
1913
- .n2-modal.n2-ss-go-pro .n2-ss-rate .n2-h3 {
1914
- display: inline-block;
1915
- margin-right: 30px;
1916
- }
1917
-
1918
- .n2-modal.n2-ss-go-pro .n2-modal-controls {
1919
- margin-bottom: 40px;
1920
- }
1921
-
1922
- .n2-box-free {
1923
- background: url('../images/free/box.png');
1924
- }
1925
-
1926
- .n2-box-free .n2-box-placeholder {
1927
- background: transparent;
1928
- }
1929
-
1930
- .n2-box-free .n2-box-button > div {
1931
- color: #fff;
1932
- }
1933
-
1934
- .n2-ss-quick-slides-edit-modal .n2-modal-content table {
1935
- border-spacing: 10px;
1936
- border-collapse: separate;
1937
- margin: 10px auto;
1938
- }
1939
-
1940
- .n2-ss-quick-slides-edit-modal .n2-modal-content table td {
1941
- padding: 0;
1942
- }
1943
-
1944
- .n2-ss-quick-slides-edit-modal .n2-modal-content .n2-mixed-label {
1945
- margin-top: 0;
1946
- margin-bottom: 3px;
1947
- }
1948
-
1949
- .n2-ss-quick-slides-edit-modal .n2-modal-content .n2-mixed-label label {
1950
- font-size: 11px;
1951
- }
1952
-
1953
- .n2-sidebar-inner,
1954
- #n2-ss-slide-sidebar {
1955
- width: 439px;
1956
- }
1957
-
1958
- .n2-ss-create-slider-free-sample {
1959
- float: left;
1960
- height: 70px;
1961
- width: 170px;
1962
- cursor: pointer;
1963
- }
1964
-
1965
- .n2-ss-create-slider-free-sample:HOVER {
1966
- background-position: 0 -80px;
1967
- }
1968
-
1969
- .n2-ss-modal-subscribe > .n2-modal-window {
1970
- text-align: center;
1971
- }
1972
-
1973
- .n2-ss-modal-subscribe .n2-form {
1974
- margin: 0 -20px;
1975
- }
1976
-
1977
- .n2-ss-modal-subscribe .n2-h3 {
1978
- margin: 0 auto;
1979
- width: 95%;
1980
- text-align: center;
1981
- line-height: 2;
1982
- }
1983
-
1984
- .n2-input-button,
1985
- .n2-ss-preview-subscribe .n2-input-button,
1986
- .n2-ss-modal-subscribe .n2-input-button {
1987
- display: inline-block;
1988
- margin-top: 20px;
1989
- }
1990
-
1991
- .n2-input-button > *,
1992
- .n2-ss-preview-subscribe .n2-input-button > *,
1993
- .n2-ss-modal-subscribe .n2-input-button > * {
1994
- display: inline-block;
1995
- white-space: nowrap;
1996
- }
1997
-
1998
- .n2-input-button input,
1999
- .n2-input-button input:focus,
2000
- .n2-ss-preview-subscribe input,
2001
- .n2-ss-preview-subscribe input:focus,
2002
- .n2-ss-modal-subscribe input,
2003
- .n2-ss-modal-subscribe input:focus {
2004
- margin: 0 auto;
2005
- width: 250px;
2006
- height: 36px;
2007
- border: 2px solid #b9c3c9;
2008
- border-right: 0;
2009
- border-top-left-radius: 3px;
2010
- border-bottom-left-radius: 3px;
2011
- overflow: hidden;
2012
- padding: 0 10px;
2013
- line-height: 36px;
2014
- box-shadow: none;
2015
- color: #7b8898;
2016
- font-size: 12px;
2017
- background: #ffffff;
2018
- }
2019
-
2020
- .n2-input-button .n2-button,
2021
- .n2-ss-preview-subscribe .n2-input-button .n2-button,
2022
- .n2-ss-modal-subscribe .n2-input-button .n2-button {
2023
- border-top-left-radius: 0;
2024
- border-bottom-left-radius: 0;
2025
- }
2026
-
2027
- .n2-ss-preview-subscribe {
2028
- position: fixed;
2029
- left: 50%;
2030
- margin-left: -500px;
2031
- bottom: -100px;
2032
- transition: bottom 0.5s ease;
2033
- background: url('../images/free/subscribepreview.png');
2034
- width: 1000px;
2035
- height: 90px;
2036
- z-index: 1000;
2037
- }
2038
-
2039
- .n2-ss-preview-subscribe.n2-active {
2040
- bottom: 10px;
2041
- }
2042
-
2043
- .n2-ss-preview-subscribe-close {
2044
- position: absolute;
2045
- top: -12px;
2046
- right: -12px;
2047
- width: 24px;
2048
- height: 24px;
2049
- cursor: pointer;
2050
- background: url('../images/free/close.png') no-repeat center center;
2051
- }
2052
-
2053
- .n2-ss-preview-subscribe .n2-input-button {
2054
- position: absolute;
2055
- right: 20px;
2056
- top: 0;
2057
- margin-top: 28px;
2058
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
library/media/admin/css/smartslider.min.css DELETED
@@ -1 +0,0 @@
1
- #html-body header,.adminhtml-smartslider3-index #footer,.adminhtml-smartslider3-index .footer,.smartslider3-index-index footer{display:none}#html-body #anchor-content{padding-top:30px}.n2-definition-list dt.n2-ss-slider-ordering{color:#fff;background-color:#485769}.n2-definition-list dt.n2-ss-slider-ordering>div{padding:0 30px}.n2-definition-list .n2-ss-slider-ordering .n2-button{min-width:28px;line-height:28px;height:28px;margin-left:10px;background-color:#54667b;color:#fff}.n2-definition-list .n2-ss-slider-ordering .n2-button.n2-active{background:#1999e3}.n2-definition-list dt.n2-ss-slider-ordering .n2-actions{background-color:#485769;padding-top:16px}.n2-definition-list .n2-ss-slider-ordering>.n2-actions a{display:inline-block;padding:0}.n2-definition-list .n2-ss-slider-ordering>.n2-actions .n2-i{vertical-align:top}.n2-ss-slide2-list li .n2-actions .n2-i-delete,.n2-ss-slide2-list li .n2-actions .n2-i-duplicate,.n2-ss-slide2-list li .n2-actions .n2-i-star{visibility:hidden}.n2-ss-slide2-list li .n2-actions .n2-i-star.n2-active,.n2-ss-slide2-list li:HOVER .n2-actions .n2-i-delete,.n2-ss-slide2-list li:HOVER .n2-actions .n2-i-duplicate,.n2-ss-slide2-list li:HOVER .n2-actions .n2-i-star{visibility:visible}#n2-ss-item-container{text-align:center;padding:12px}#n2-ss-item-container div{display:inline-block}.n2-ss-core-item{margin:3px;padding:0 11px;background-color:#6b7986;color:#fff;line-height:24px;cursor:pointer;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#n2-ss-layers-items-list{position:relative}#n2-ss-layers-items-list>ul{border-top:1px solid #343f4c;overflow:hidden}#n2-ss-layers-items-list .sortable-placeholder{background-color:#2b343f;border-bottom:1px solid #343f4c;border-width:0 0 1px}#n2-ss-layers-items-list>p{color:#fff;font-size:14px;text-align:center}#n2-ss-layers-items-list>p i{font-size:16px}.n2-has-layers #n2-ss-layers-items-list>p{display:none}.n2-ss-layer-row{border-bottom:1px solid #343f4c}.n2-ss-layer-row.n2-parent-active{background:#49586a}.n2-ss-layer-row.n2-active{background:#1999e3}.n2-ss-layer-row li{border-bottom:0}.n2-ss-layer-title{display:block;line-height:39px;position:relative;cursor:pointer}.n2-ss-layer-title span{margin:0 82px;cursor:text}.n2-ss-layer-row .n2-inline-form{margin:0 82px}.n2-ss-layer-row .n2-inline-form input{background:#3c4958 0 0;color:#b2bfc9;font-size:11px;border:2px solid #343f4c;line-height:24px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.n2-ss-layer-row .n2-inline-form input:focus{box-shadow:none}.n2-ss-layer-title .n2-actions{position:absolute;top:0;right:0;padding:0 6px;cursor:default}.n2-ss-layer-title .n2-actions-left{position:absolute;top:0;left:0;padding:0 0 0 16px;cursor:default;font-size:16px;line-height:16px;margin-top:11px}html[dir=rtl] .n2-ss-layer-title .n2-actions-left{padding:0 16px 0 0}.n2-ss-layer-row.n2-active .n2-ss-layer-title,.n2-ss-layer-row.n2-active .n2-ss-layer-title .n2-actions .n2-i,.n2-ss-layer-row.n2-active .n2-ss-layer-title .n2-actions-left .n2-i,.n2-ss-layer-row.n2-parent-active .n2-ss-layer-title,.n2-ss-layer-row.n2-parent-active .n2-ss-layer-title .n2-actions .n2-i,.n2-ss-layer-row.n2-parent-active .n2-ss-layer-title .n2-actions-left .n2-i{color:#fff}.n2-ss-animation-title .n2-actions a,.n2-ss-animation-title .n2-actions-left a,.n2-ss-layer-title .n2-actions a,.n2-ss-layer-title .n2-actions-left a{display:inline-block;height:100%}li.n2-ss-layer-row a.n2-ss-parent-unlink{display:none}li.n2-ss-layer-row.n2-parent-active a.n2-ss-parent-unlink{display:inline-block}.n2-ss-animation-title .n2-actions-left i,.n2-ss-layer-title .n2-actions-left i{padding:0 2px;vertical-align:middle}.n2-ss-layer-title .n2-i-order{cursor:move}.n2-ss-animation-row{list-style:none;color:#b2bfc9}.n2-ss-animation-title{position:relative;line-height:39px;cursor:pointer;text-transform:capitalize;background-color:#3c4958}.n2-ss-animation-title span{padding:0 40px}.n2-ss-animation-title .n2-actions{position:absolute;right:0;top:0;cursor:default;padding:0 6px}.n2-ss-animation-title .n2-actions-left{position:absolute;top:0;left:0;padding:0 16px;cursor:default;font-size:16px;line-height:38px}.smartslider-advanced-layer-mode-active #layersanditems li.layer-orderable.item-active.active .layerTitle{border-left:5px solid #eef3f8}#layeritemeditorpanel,#smartslider-slide-toolbox-layer .n2-sidebar-pane-sizer{visibility:hidden}.n2-has-layers #layeritemeditorpanel,.n2-has-layers #smartslider-slide-toolbox-layer .n2-sidebar-pane-sizer{visibility:visible}#layeritemeditorpanel>.n2-form{margin-bottom:0}#layeritemeditorpanel .n2-form-element-radio .n2-radio-option{margin:5px}#layer-animation-chain-in,#layer-animation-chain-out{position:relative}#layer-animation-chain-in .sortable-placeholder,#layer-animation-chain-loop .sortable-placeholder,#layer-animation-chain-out .sortable-placeholder{background-color:#2b343f;border-bottom:1px solid #343f4c;border-width:0 0 1px}#layer-animation-chain-in .n2-td,#layer-animation-chain-loop .n2-td,#layer-animation-chain-out .n2-td{vertical-align:middle}#n2-tab-smartslider-editor{background-color:#f9fafb}#n2-tab-smartslider-editor.n2-ss-theme-dark{background-color:#343f4c}#n2-tab-smartslider-editor .n2-heading-controls{z-index:9}.n2-ss-preview-mode #n2-tab-smartslider-editor .n2-heading-controls,.n2-ss-preview-mode .n2-main-top-bar{visibility:hidden}#n2-ss-preview{vertical-align:top;margin:12px 20px 0}.n2-ss-snap-to-parent{height:54px;width:100%}#n2-ss-control-line{display:none;position:relative;background-color:#f2f5fa;height:54px;white-space:nowrap;overflow:hidden}.n2-has-layers #n2-ss-control-line{display:block}#n2-ss-control-line:HOVER{width:605px;z-index:1000;overflow:visible}#n2-ss-control-line>div{margin:0 5px;display:inline-block;vertical-align:middle;height:28px;line-height:28px}#n2-ss-control-line>div.n2-form-element-text{height:24px;line-height:24px;position:relative}#n2-ss-control-line .n2-text-sub-label{font-size:16px}#n2-ss-show-on-device.n2-active .n2-i:before{content:"\e60f"}#n2-ss-control-line .n2-radio-option{background-color:#a1aeb5;border-left:1px solid #8c99a1}#n2-ss-control-line .n2-radio-option.n2-first{border-left-width:0}#n2-ss-control-line .n2-radio-option.n2-active{background-color:#1999e3;border-color:#1999e3}#n2-ss-control-line .n2-radio-option.n2-sub-active{background-color:#5cba3c;border-color:#5cba3c}#n2-ss-control-line #n2-ss-theme.n2-active,#n2-ss-control-line .n2-button,#n2-ss-parent-linker,#n2-ss-theme{width:28px;height:28px;line-height:28px;padding:0;background-color:#a1aeb5}#n2-ss-control-line .n2-button.n2-active{background-color:#1999e3}#n2-ss-control-line .n2-button.n2-sub-active{background-color:#5cba3c}#n2-ss-control-line .ui-autocomplete{max-width:100%}#n2-ss-theme.n2-active .n2-i:before{content:"\e64c"}#n2-ss-zoom{width:280px;text-align:center;vertical-align:middle}.n2-ss-slider-zoom-container{position:relative;display:inline-block;vertical-align:middle;width:150px;height:34px;padding:0 23px}.n2-ss-slider-zoom-container>.n2-i{position:absolute;top:9px;color:#a1aeb5;font-size:16px;cursor:pointer}.n2-ss-slider-zoom-container .n2-i-minus{left:-18px}.n2-ss-slider-zoom-container .n2-i-plus{right:-18px}.n2-ss-slider-zoom-bg{position:absolute;left:0;top:50%;margin-top:-3px;width:100%;background:#b9c3c9;height:6px;border-radius:3px}#n2-ss-slider-zoom{height:100%;position:relative;margin:0;background:0 0;border-radius:0}#n2-ss-slider-zoom .ui-slider-range,.n2-ss-preview-mode .n2-ss-layer.n2-highlight .ui-item-overlay,.n2-ss-preview-mode .n2-ss-layer.n2-highlight2 .ui-item-overlay{display:none}#n2-ss-slider-zoom .ui-slider-handle{position:absolute;top:50%;display:block;width:43px;height:18px;margin-top:-11px;margin-left:-23px;background-color:#fff;border:2px solid #b9c3c9;border-radius:3px;z-index:2;color:#7b8898;font-size:10px;text-align:center;line-height:18px;cursor:pointer}.n2-ss-slider-zoom-1{position:absolute;left:50%;top:0;margin-left:-1.5px;width:3px;height:100%;background-color:#b9c3c9}#n2-ss-lock{display:inline-block;position:absolute;right:-36px;top:9px;cursor:pointer;line-height:16px}#n2-ss-lock .n2-i{color:#a1aeb5;font-size:16px}#n2-ss-lock.n2-active .n2-i:before{content:"\e609"}#n2-ss-devices .n2-table{font-size:32px;color:#b1bcc3;float:right;margin:0 10px}html[dir=rtl] #n2-ss-devices .n2-table{float:left}#n2-ss-devices .n2-td{height:54px;vertical-align:middle;padding:0 15px;cursor:pointer}#n2-ss-devices .n2-td.n2-active{cursor:default;color:#44abe8}.n2-i-devices:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATEAAAAeCAMAAABzNtkNAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACdlBMVEUAAAChrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrWhrrUZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrUZmeOhrrUZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrUZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrUZmeOhrrUZmeMAAAA99lBfAAAA0XRSTlMAJ6DHzCgytbY2MLMnoMfMKDK1tjYws5+ytLGfsrSxxh0ixh0il5qXmgY7a5SvvspsB2aHBjtrlK++ymwHZod+wiN+wiMSgbh6SiYQAnl9DBKBuHpKJhACeX0MNbmdQwQzNbmdQwQzRrtLAUa7SwHIpRWkyKUVpJgKUqLDnk2YClKiw55Nhq2KhIatioTLLlgOT8suWA5PcH9ZX3B/WV+sJcQqrqwlxCquKSmjXqNeV1eRiZGJCQmIiLq6AzQDNIK3SYK3SSQkCG2hCG2hsLA3NxRx1r0AAAABYktHRACIBR1IAAAACXBIWXMAAAsSAAALEgHS3X78AAAE0UlEQVRo3s2a+18UVRTAN/eYJLmHJCAjS4pehG4vQrcHhq0bCrFu6BKkRmq+JSNTpBQpVlnjEY+wtAglFIjeWmCWZb7t8Se109z57Mzcc+eBLrPnl7nn3DOP8/3MvXPPueNyWZSbprhBKO4pU9W+N0+jnFJuIS47PVXrlDrd6gPp5NYZHhSKZ0aa2ve2mZRT+u3EZTMytU6ZGZafKAsMJUvtewftk0Jcdpbe6c4JEstGQ8lW+95F+6QTl52td7rb8hO5wagX7tFopC9pBZijVnPA8DYG4kGjXrxXo5G+pBXxPrWai4a3MY9X0BvT7te/Ow+IiNm5jRETtN4b0x7UvzsPiYiJ9YfzHsmfO8/rnTc3/9G8x6jQHhcNySd4YryTiBjnJ5AnC54qnL/A51swv/Dpgmeo0J4VDcnneGK8k4gY58ckp2ih+rEXFj3PExPPYhQx4vTrIJZbvEj92IuKX+CJiWcxihhxug1i/sVegMCLJUuWlpYuXVJSFgDwvlRuKWSqyxYxY12W4DIfYujliuUrwuEVyysqQ4i+V6oshUx12SJG6tWvAqxctTpuX71qJcC015KFWM3riGvWrosb1q1dgzjzDceIrXfDho2btD2bNm4A9/rkILbZg1u2btPatm3dgp7NDhGrroU3t/O+298Cd3UyEKupw7d38GfueAc9NY4Q8wdg5y5ZLa3f3dDw7nvsddu1EwJ+54kFQ7hnr9wMN+5ranr/A/a67d2DoaATxJohwub40v3y1+oAQ1YegWbnibVglM3x4YPy1+pDhqwqii0OEMtp9bYxrR7c7R0d7W74iBnavK05ThPL7fR1sWYjerp7ero9+DEzdPk6cyefWC8cUrQs+EQ6fBpPEhdDr9PEDuMRpZmNn0mHz+NJ4jI8PPnE+uALReuHDunQAf2K5Sgcc5rYAH6pNAexRzr04KBiOY4nJp9YBI6KiQ05TyyKx8XEhp0g1gtFijYij8qv4qPyUDKMymKlOSqPyq/jo/KIE6MyNvMPMe0bZeavZ4ah5Jj5h1nzW2Xmb2SGYUdm/tjqok9ZXXwnry6+L5X18r7kWF0MKKuLH+TVxY9hWa8acGR18f8K9iRD1j7S37+7ngE7ya9gE1G7MCMmrWBPMWTdo4OD+xoZsFP8CjYRtQtCj2VJI1SWNAK12ixpvwjYT4nOkkapLGkU67RZ0kERsJ8TkImPlegz8ZIxLhM3kERn4uMV+ky8YpzLxA3khld7xqRqz+m4/bRU7Un5xSwUQ2I3sAZbMy5Ve87EDWekak/6r0ahmRK7vhqs/7dYRfFsGaso/l52FqC1SFtRtLkz0mw2cu0QcwX/iFUUz1WyiuKflecQO4u1FUWbOyMtZiPXhJjLdV5ftT6vO9XO7putvSQLTjG5oK9aX9A52Nl9s7WXJNYv5l3Kj0g7I5H8S3kXuVOnXq4V86q9rNnhVYVNN3nXhgZjYi7XlYKrhVFpZyRaeLXgCteddq1OzKvuWpogbLrJuzY1GcE2FTkscXAJIWZD5LDEwSU1MTMrgF+t+iebmJkVMahWgxMhZmGv7C967KYSrql6p4n+RaCKkZqnNfI3PXYzCddMvZP1vwjsEGs7RgGbRf2p8k9AB2yif6rYIdZ1ggI2m/pT5d+QDljGf3zSNGZGqKPpAAAAAElFTkSuQmCC)}.n2-i-devices-all:before{background-position:0 0}.n2-i-devices-desktop:before{background-position:-40px 0}.n2-i-devices-tablet:before{background-position:-80px 0}.n2-i-devices-phone:before{background-position:-120px 0}.n2-active>.n2-i-devices-all:before{background-position:-160px 0}.n2-active>.n2-i-devices-desktop:before{background-position:-200px 0}.n2-active>.n2-i-devices-tablet:before{background-position:-240px 0}.n2-active>.n2-i-devices-phone:before{background-position:-280px 0}.ui-item-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%}.n2-ss-layer.n2-highlight .ui-item-overlay,.n2-ss-layer.n2-highlight2 .ui-item-overlay{display:block;background-color:RGBA(0,132,255,.4)}.n2-ss-item-html .ui-item-overlay,.n2-ss-item-iframe .ui-item-overlay{display:block}.n2-ss-layer .n2-ss-layer-align-marker{position:absolute;left:auto;right:auto;top:auto;bottom:auto;width:4px;height:4px;background-color:#fff;border:#1999e3 4px solid;z-index:89}.n2-ss-layer[data-align=left] .n2-ss-layer-align-marker{left:0}.n2-ss-layer[data-align=center] .n2-ss-layer-align-marker{left:50%;margin-left:-6px}.n2-ss-layer[data-align=right] .n2-ss-layer-align-marker{right:0}.n2-ss-layer[data-valign=top] .n2-ss-layer-align-marker{top:0}.n2-ss-layer[data-valign=middle] .n2-ss-layer-align-marker{top:50%;margin-top:-6px}.n2-ss-layer[data-valign=bottom] .n2-ss-layer-align-marker{bottom:0}.n2-ss-layer[data-align=left][data-valign=top] .n2-ss-layer-align-marker{border-bottom-right-radius:0}.n2-ss-layer[data-align=left][data-valign=middle] .n2-ss-layer-align-marker{border-bottom-right-radius:0;border-top-right-radius:0}.n2-ss-layer[data-align=left][data-valign=bottom] .n2-ss-layer-align-marker{border-top-right-radius:0}.n2-ss-layer .ui-resizable-handle{background-image:none}.n2-ss-layer .ui-resizable-n{top:0;height:8px;border-top:2px solid #1999e3}.n2-ss-layer.n2-ss-layer-small .ui-resizable-n{height:0}.n2-ss-layer .ui-resizable-e{right:0;width:8px;border-right:2px solid #1999e3}.n2-ss-layer.n2-ss-layer-small .ui-resizable-e{width:0}.n2-ss-layer .ui-resizable-s{bottom:0;height:8px;border-bottom:2px solid #1999e3}.n2-ss-layer.n2-ss-layer-small .ui-resizable-s{height:0}.n2-ss-layer .ui-resizable-w{left:0;width:8px;border-left:2px solid #1999e3}.n2-ss-layer.n2-ss-layer-small .ui-resizable-w{width:0}.n2-ss-layer .ui-resizable-ne,.n2-ss-layer .ui-resizable-nw,.n2-ss-layer .ui-resizable-se,.n2-ss-layer .ui-resizable-sw{height:10px;width:10px}.n2-ss-layer.n2-ss-layer-small .ui-resizable-ne,.n2-ss-layer.n2-ss-layer-small .ui-resizable-nw,.n2-ss-layer.n2-ss-layer-small .ui-resizable-se,.n2-ss-layer.n2-ss-layer-small .ui-resizable-sw{height:2px;width:2px}.n2-ss-layer .ui-resizable-ne{right:0;top:0}.n2-ss-layer .ui-resizable-se{right:0;bottom:0}.n2-ss-layer .ui-resizable-sw{left:0;bottom:0}.n2-ss-layer .ui-resizable-nw{left:0;top:0}.n2-ss-layer-quick-handle{position:absolute;top:7px;right:7px;cursor:pointer;width:14px;height:26px;border-radius:3px;background:RGBA(43,52,63,.9);text-align:center;font-size:16px!important;line-height:26px!important;color:#fff;overflow:hidden}.n2-ss-layer-quick-panel{position:absolute;z-index:1000;width:72px;height:28px;margin:-6px 0 0 -34px;padding:5px}.n2-ss-layer-locked .n2-ss-layer-quick-handle{display:none}.n2-ss-layer-quick-panel .n2-ss-layer-quick-panel-option{display:inline-block;cursor:pointer;width:26px;height:26px;border-radius:3px;background:RGBA(43,52,63,.9);text-align:center;font-size:16px!important;line-height:26px!important;color:#fff;margin:1px;vertical-align:top}.n2-ss-layer-quick-panel .n2-ss-layer-quick-panel-option-center{width:14px;overflow:hidden}.n2-ss-layer-small .n2-ss-layer-quick-handle{display:none}.n2-ss-layer.n2-ss-picking-on-layer{z-index:1000000!important}.n2-ss-position-display{display:none;position:absolute;border-radius:3px;z-index:10000;line-height:16px;padding:4px 6px;color:#fff;font-size:10px;background:rgba(43,52,63,.9)}.n2-ss-position-display.n2-active{display:block}#n2-ss-timeline .n2-form-element-text{margin:0 10px;line-height:2px}#n2-ss-timeline .n2-text-sub-label{width:30px;text-align:center;overflow:hidden}.n2-ss-timeline-current-time{vertical-align:middle;font-size:20px;margin:0 20px;font-family:"Lucida Console",Monaco,monospace}.n2-ss-timeline-sidebar-top .n2-ss-timeline-control{position:absolute;top:10px;right:5px;margin:0 10px}html[dir=rtl] .n2-ss-timeline-sidebar-top .n2-ss-timeline-control{right:auto;left:5px}.n2-ss-timeline-sidebar-top .n2-ss-timeline-control .n2-button+.n2-button{margin:0 0 0 5px}html[dir=rtl] .n2-ss-timeline-sidebar-top .n2-ss-timeline-control .n2-button+.n2-button{margin:0 5px 0 0}.n2-ss-layer .n2-ss-layer-align-marker,.n2-ss-layer .ui-resizable-handle,.n2-ss-layer-quick-handle{opacity:0}.n2-ss-layer.n2-highlight .n2-ss-layer-align-marker,.n2-ss-layer.n2-highlight .ui-resizable-handle,.n2-ss-layer:HOVER .n2-ss-layer-align-marker,.n2-ss-layer:HOVER .n2-ss-layer-quick-handle,.n2-ss-layer:HOVER .ui-resizable-handle,.n2-ss-move-layer .ui-resizable-handle,.n2-ss-resize-layer .ui-resizable-handle{opacity:1}#n2-ss-0 .n2-ss-slide-border{display:none;position:absolute;background:#a1aeb5;width:1px;height:1px}#n2-ss-0:HOVER .n2-ss-slide-border,div#n2-ss-0:HOVER .n2-ss-static-slide.n2-ss-currently-edited-slide{display:block}div#n2-ss-0:HOVER .n2-ss-static-slide{display:none}#n2-ss-0 .n2-ss-slide-border-left{left:0;top:0;height:100%}#n2-ss-0 .n2-ss-slide-border-right{right:0;top:0;height:100%}#n2-ss-0 .n2-ss-slide-border-top{left:0;top:0;width:100%}#n2-ss-0 .n2-ss-slide-border-bottom{left:0;bottom:0;width:100%}#n2-ss-0 .n2-ss-layer{cursor:not-allowed}#n2-ss-0 .n2-ss-currently-edited-slide .n2-ss-layer{cursor:move;background:RGBA(0,0,0,0)}#n2-ss-0 .n2-ss-slide.n2-ss-slide-active .n2-ss-layer.n2-ss-layer-locked,#n2-ss-0 .n2-ss-static-slide .n2-ss-layer.n2-ss-layer-locked{cursor:auto}.n2-ss-preview-mode #n2-ss-0 .n2-ss-layer{cursor:default}#n2-ss-0 .n2-ss-slide.n2-ss-slide-active .n2-ss-layer.n2-ss-layer-locked .n2-ss-layer-align-marker,#n2-ss-0 .n2-ss-static-slide .n2-ss-layer.n2-ss-layer-locked .n2-ss-layer-align-marker,.n2-ss-preview-mode #n2-ss-0 .n2-ss-layer-align-marker,.n2-ss-preview-mode #n2-ss-0 .n2-ss-layer-quick-handle,.n2-ss-preview-mode #n2-ss-0 .ui-resizable-handle{display:none}.n2-ss-item{position:relative;float:left;width:100%}.n2-ss-item-area,.n2-ss-item-video,.n2-ss-item-vimeo,.n2-ss-item-youtube{height:100%}#smartslider-slide-toolbox-layer{position:relative}#layeritemdraggable{top:0;left:0;height:10px;width:100%;background:#f04040;cursor:ns-resize}.n2-grid{background:#4affff;position:absolute;left:0;top:0;z-index:1000000;display:none}.n2-grid-h{width:100%;height:1px}.n2-grid-v{height:100%;width:1px}ul.animation-list{margin:0;padding:0 0 20px}ul.animation-list li{margin:0;padding:0;background:#eef3f8}ul.animation-list li.sortable-animation{border-bottom:1px solid #cdd1d6}.n2-lightbox-sidebar-list{overflow-y:auto}#n2-ss-timeline{position:relative;margin-bottom:200px;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none}#n2-ss-timeline .n2-ss-timeline-animation-buttons{width:84px;height:36px;position:fixed;left:100px;top:200px;font-size:16px;line-height:16px;padding:3px 2px;display:none}#n2-ss-timeline .n2-ss-timeline-animation-buttons.n2-active{display:block}#n2-ss-timeline .n2-ss-timeline-animation-buttons .n2-button{width:24px;padding:0;margin:0 2px}#n2-ss-timeline-table .n2-td{position:relative;vertical-align:top}.n2-ss-timeline-content{border-left:1px solid #d2d5d8}#n2-ss-timeline-table .n2-ss-timeline-sidebar{width:310px}#n2-ss-timeline-table .n2-ss-timeline-content-container{overflow:hidden;width:100%;background-color:#fff}#n2-ss-timeline-table .n2-ss-timeline-content-scrollable{position:relative;overflow:hidden;width:2000px;border-right:1px solid #d2d5d8}#n2-ss-timeline-table .n2-ss-timeline-content-timeframe{height:31px;border-bottom:1px solid #d2d5d8;z-index:9}#n2-ss-timeline-table .n2-ss-timeline-content-timeframe .n2-time-marker{position:relative;width:195px;height:100%;padding-left:5px;float:left;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAgAgMAAAAqId/iAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACVBMVEUAAADp6+0AAADJOcyhAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAlSURBVDjLY3BgIBmMahnVMrK1kESMaiFDCwuJxKgWemgJJRkAAD7BO1tByKplAAAAAElFTkSuQmCC);color:#7b8898}html[dir=rtl] #n2-ss-timeline-table .n2-ss-timeline-content-timeframe .n2-time-marker{float:right;padding-left:0;padding-right:5px;background-position:-1px 0}.n2-ss-timeline-scrollbar-wrapper{background-color:#cacdd4;padding:1px 2px 1px 1px;border:1px solid #c0c3c9;height:12px;z-index:10}.n2-ss-timeline-scrollbar-wrapper .track{position:relative;height:12px}.n2-ss-timeline-scrollbar-wrapper .thumb{position:absolute;top:0;background:#eef0f3;height:10px;cursor:default;width:20px;z-index:2;border:1px solid #a8abaf;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.n2-ss-timeline-sidebar-top{position:relative;padding:10px 5px 9px;height:28px;background-color:#f9fafb;border-bottom:1px solid #dee1e5}.n2-ss-timeline-sidebar-top .n2-h2{line-height:28px;color:#6b7989;padding:0 15px}.n2-ss-timeline-sidebar-top .n2-form-element-text{margin:0}.n2-ss-timeline-sidebar-layers-container{height:200px}.n2-ss-timeline-sidebar-layers-container .ui-resizable-handle{border:1px solid #ccd1d6;bottom:-28px;left:-1px;height:20px;border-radius:3px;background:#f9fafb;color:#7b8898;font-size:32px;text-align:center;line-height:20px}.n2-ss-timeline-sidebar-layers{position:relative;height:100%;overflow-x:hidden;overflow-y:auto}.n2-ss-timeline-content-layers-container{height:200px;overflow:hidden}.n2-ss-timeline-layer{padding:0 15px;background-color:#f9fafb;color:#7b8898;text-transform:capitalize;cursor:pointer;position:relative}.n2-ss-timeline-layer.n2-active{background-color:#1681c1;color:#fff}.n2-ss-timeline-layer-buttons{display:none;font-size:16px;line-height:16px;padding:3px 2px;position:absolute;right:5px;top:4px}html[dir=rtl] .n2-ss-timeline-layer-buttons{right:auto;left:5px}.n2-ss-timeline-layer-buttons .n2-button{width:24px;padding:0;margin:0 2px}.n2-ss-timeline-content-layers{overflow:hidden;width:200%;background-color:#fff;position:relative}.n2-ss-timeline-content-layers,.n2-ss-timeline-layer{height:39px;line-height:39px;border-bottom:1px solid #dee1e5}.n2-ss-timeline-content-layers{white-space:nowrap}.n2-ss-timeline-content-layers>div{display:inline-block}.n2-ss-layer-animation{position:relative;margin:7px 0;width:200px}.n2-ss-layer-animation,.n2-ss-layer-extra-animation{float:left;height:25px;background:#1999e3;border:1px solid #0c70ab;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:ew-resize}html[dir=rtl] .n2-ss-layer-animation{float:right}.n2-ss-layer-animation-loop{background:#5cba3c;border:1px solid #4c9b31}.n2-ss-layer-animation-out{background:#b3b9bf;border:1px solid #949ba4}.n2-ss-layer-extra-animation{position:absolute;left:0;top:0;margin:7px 0 7px 20px;width:30px;background-color:#343f4c;border-color:#6b7986}.n2-ss-timeline-content-layers,.n2-ss-timeline-content-timeframe{padding-left:20px}html[dir=rtl] .n2-ss-timeline-content-layers,html[dir=rtl] .n2-ss-timeline-content-timeframe{padding-left:0;padding-right:20px}.n2-ss-layer-animation .ui-resizable-e{right:0}.n2-ss-layer-animation .ui-resizable-w{left:0}html[dir=rtl] .n2-ss-layer-animation .ui-resizable-e{right:auto;left:0}html[dir=rtl] .n2-ss-layer-animation .ui-resizable-w{left:auto;right:0}.n2-ss-animation-duration{display:block;width:100%;line-height:23px;color:#fff;text-align:center;cursor:ew-resize}.n2-ss-animation-delay{position:absolute;line-height:23px;color:#7b8898;text-align:right;right:100%;margin-right:5px}html[dir=rtl] .n2-ss-animation-delay{right:auto;margin-right:0;left:100%;margin-left:5px}.n2-ss-timeline-cti,.n2-ss-timeline-duration-marker{position:absolute;height:100%;margin-left:20px;cursor:ew-resize}.n2-ss-timeline-duration-marker{background:RGBA(0,0,0,.05);left:0;top:0;z-index:2;border-left:1px dashed #b6bcc1;width:10px}.n2-ss-timeline-cti{left:-10px;top:3px;z-index:3;width:0;border-left:1px solid #828d9b}html[dir=rtl] .n2-ss-timeline-cti{left:auto;right:-10px;margin-left:0;margin-right:20px}.n2-ss-timeline-cti-dot{position:relative;left:-6px;top:0;width:11px;height:11px;border-radius:0 50% 50% 50%;transform:rotate(-135deg);background:#4d5d70}html[dir=rtl] .n2-ss-timeline-cti-dot{left:auto;right:-5px}.n2-ss-timeline-helper{position:absolute;top:-1px;width:100%;height:1px;overflow:hidden;padding-left:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.n2-ss-timeline-control{text-align:right;color:#fff;padding:0 10px;vertical-align:top}#n2-ss-timeline .n2-ss-timeline-control{padding:0}.n2-ss-timeline-control .n2-button{padding:0;width:28px;font-size:16px;vertical-align:middle}.n2-generator-functions-container .n2-ss-timeline-control .n2-button i{line-height:inherit}.n2-ss-timeline-control .n2-play.n2-active i:before{content:"\e606"}#n2-tab-widgets{border-bottom:0;margin-bottom:1000px}.n2-i-edit.n2-active{color:#1999e3}.n2-generator-insert-variable .n2-variable-container{height:90px;overflow:auto}.n2-generator-insert-variable .n2-group-container{height:40px;overflow:auto}.n2-generator-insert-variable .n2-group-container .n2-button,.n2-generator-insert-variable .n2-variable-container .n2-button{margin:3px}.n2-generator-insert-variable .n2-group-container .n2-button.n2-active,.n2-generator-insert-variable .n2-variable-container .n2-button.n2-active{background:#1999e3}.n2-generator-result-container{height:100px;overflow:auto;margin:0 3px}.n2-slide-published{position:absolute;top:11px;right:3px}.n2-i-unpublished{color:#c44e3d}.n2-slide-published{font-size:16px}.n2-box.n2-first-slide:HOVER .n2-slide-first,.n2-slide-first,.n2-slide-is-first{display:none}.n2-box:HOVER .n2-slide-first,.n2-first-slide .n2-slide-is-first{display:inline-block}.n2-slide-duplicate{margin-right:5px}html[dir=rtl] .n2-slide-duplicate{margin-right:0;margin-left:5px}.n2-slide-delete,.n2-slide-duplicate,.n2-slide-selected{padding:0;width:24px}.n2-sidebar #n2-ss-slides{position:relative;margin-right:-1px}.n2-sidebar #n2-ss-slides .n2-box{width:45.5%;height:135px;margin:2.2%;background:#3c4958;border:0}.n2-sidebar #n2-ss-slides .n2-box.n2-ss-slide-active{box-shadow:0 0 0 3px #1999e3}.n2-sidebar #n2-ss-slides .n2-box .n2-box-button{text-align:left}.n2-sidebar #n2-ss-slides .n2-box .n2-box-placeholder{height:40px}.n2-sidebar #n2-ss-slides .n2-box.ui-sortable-helper{transform:scale(.8)}.n2-sidebar #n2-ss-slides .n2-box-placeholder{background:RGBA(43,52,63,.9)}.n2-sidebar #n2-ss-slides .n2-box-placeholder a{color:#cedae2}.n2-ss-slides-control{position:relative;padding:22px 10px;border-bottom:1px solid RGBA(0,0,0,.3)}.n2-ss-slides-control .n2-button{margin:0 10px}.n2-slides-bulk{min-width:0;padding:0;width:36px}.n2-slides-bulk .n2-i{font-size:32px}.n2-add-quick-image{width:266px}.n2-button-menu-inner .n2-add-quick-image{width:auto}.n2-slides-add{vertical-align:top}.n2-bulk-action,.n2-bulk-cancel,.n2-bulk-select,.n2-slide-bulk-mode .n2-slides-add,.n2-slide-bulk-mode .n2-slides-bulk,.n2-slide-selected{display:none;min-width:0;vertical-align:top}.n2-sidebar #n2-ss-slides .n2-box-slide-add,.n2-sidebar #n2-ss-slides .n2-box-slide-drag-upload{display:inline-block;color:#b2bfc9;border:2px dashed #73818c;background:0 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center;line-height:131px}.n2-sidebar #n2-ss-slides .n2-box-slide-drag-upload{display:none;position:absolute;z-index:3;left:0;top:0;width:420px;height:90%;background-color:#4d5d70;border:0;box-shadow:0 0 0 3px #1999e3}.n2-sidebar #n2-ss-slides .n2-drag-over .n2-box-slide-drag-upload{display:block}.n2-sidebar #n2-ss-slides.n2-ss-has-slides .n2-box-slide-add{display:none}.n2-slide-bulk-mode .n2-box-slide .n2-box-rt,.n2-slide-bulk-mode .n2-box-slide.n2-active .n2-slide-selected,.n2-slide-bulk-mode .n2-bulk-action,.n2-slide-bulk-mode .n2-bulk-cancel,.n2-slide-bulk-mode .n2-bulk-select{display:inline-block}.n2-slide-bulk-mode .n2-box-slide{opacity:.5}.n2-slide-bulk-mode .n2-box-slide.n2-active{opacity:1}.n2-box-slide .n2-button.n2-sidebar-list-bg:HOVER{background-color:#1999e3}.n2-slide-bulk-mode .n2-box-slide .n2-slide-delete,.n2-slide-bulk-mode .n2-box-slide .n2-slide-duplicate,.n2-slide-bulk-mode .n2-box-slide .n2-slide-first,.n2-slide-bulk-mode .n2-box-slide .n2-slide-generator,.n2-slide-bulk-mode .n2-box-slide .n2-slide-published,.n2-ss-live-preview.n2-active .n2-button{display:none}.n2-slide-bulk-mode .n2-box-slide .n2-slide-published.n2-active,.n2-widget-area{display:inline-block}.n2-ss-live-preview span{text-decoration:line-through;vertical-align:middle}.n2-ss-live-preview .n2-button,.n2-widget-area{vertical-align:middle;margin:0 20px}.n2-ss-live-preview.n2-active span{text-decoration:none}.n2-widget-area{width:80px;height:80px;position:relative;margin:0 10px}.n2-form .n2-widget-area{margin-bottom:10px}.n2-widget-area-inner{position:absolute;top:14px;left:14px;width:46px;height:46px;border:3px solid #bbc3cc;border-radius:3px}.n2-widget-area .n2-area{position:absolute;background-color:#a1aeb5;border-radius:2px;cursor:pointer;width:10px;height:10px;left:0;top:0}.n2-widget-area .n2-area.n2-active{background-color:#1999e3;cursor:default}.n2-widget-area .n2-area-1{left:35px}.n2-widget-area .n2-area-2{left:21px;top:21px}.n2-widget-area .n2-area-3{left:35px;top:21px}.n2-widget-area .n2-area-4{left:49px;top:21px}.n2-widget-area .n2-area-5{top:35px}.n2-widget-area .n2-area-6{left:21px;top:35px}.n2-widget-area .n2-area-7{left:49px;top:35px}.n2-widget-area .n2-area-8{left:70px;top:35px}.n2-widget-area .n2-area-9{left:21px;top:49px}.n2-widget-area .n2-area-10{left:35px;top:49px}.n2-widget-area .n2-area-11{left:49px;top:49px}.n2-widget-area .n2-area-12{left:35px;top:70px}.n2-ss-slider-publish{border-collapse:collapse;overflow:hidden}.n2-ss-slider-publish .n2-td{text-align:center;border-right:1px solid #ccd1d6;color:#6b7989;padding:48px 0 0}html[dir=rtl] .n2-ss-slider-publish .n2-td{border-left:1px solid #ccd1d6}.n2-ss-slider-publish .n2-td .n2-h2 a{color:#6b7989}.n2-ss-slider-publish .n2-td.n2-last{border-right:0;border-left:0}.n2-ss-slider-publish div.n2-h2{line-height:30px;font-size:18px}.n2-ss-slider-publish div.n2-h4{line-height:26px}.n2-ss-slider-publish .n2-code{display:inline-block;padding:16px 30px;line-height:20px;border-radius:3px;background-color:#f5e293;text-align:left;margin:17px 0;color:#6f653f;font-size:12px;border:0}.n2-ss-slider-publish img{margin-top:17px;margin-bottom:-10px}.n2-ss-generator-modal .n2-modal-content h3{text-align:left}.n2-ss-layer-solo-mode .n2-ss-layer{opacity:.5!important}.n2-ss-layer-solo-mode .n2-ss-layer-solo{z-index:100000000!important;opacity:1!important}.n2-generator-records td div{max-height:100px;overflow:hidden;padding:10px;margin:-10px}.n2-generator-records td:HOVER div{overflow-y:auto;overflow-x:visible}#n2-admin[data-slider-type=block] #n2-tab-widgets,#n2-admin[data-slider-type=block] .n2-fm-autoplay,#n2-admin[data-slider-type=block] .n2-fm-slides{display:none}.n2-ss-container-device{position:relative;margin:0 auto;background-color:#fff;border:1px solid #ccd1d6;border-width:0 1px}.n2-ss-layer-picker{background:#6b7986;color:#fff;font-size:16px;height:28px;line-height:28px;padding:0;text-align:center;width:28px;border-radius:3px;margin:0 10px 10px;cursor:pointer}.n2-ss-layer-picker.n2-active{background:#1999e3}#n2-ss-control-line #n2-ss-parent-linker.n2-under-pick,.n2-ss-layer-picker.n2-under-pick{background-color:#5cba3c}#n2-ss-parent-linker.n2-under-pick .n2-i-layerlink:before,.n2-ss-layer-picker.n2-under-pick .n2-i-layerlink:before{content:"\e64b"}.n2-ss-picker-overlay{position:absolute;left:0;top:0;background:RGBA(25,153,227,.8);cursor:pointer;width:33%;height:33%;z-index:1000000;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}.n2-ss-picker-overlay:HOVER{background:RGBA(42,52,63,.9)}.n2-modal.n2-ss-go-pro .n2-modal-window{text-align:center;line-height:2}.n2-modal.n2-ss-go-pro .n2-ss-rate{margin:50px -20px 0;background:url(../images/free/rate.png);height:90px;line-height:90px;color:#fff}.n2-modal.n2-ss-go-pro .n2-ss-rate .n2-h3{display:inline-block;margin-right:30px}.n2-modal.n2-ss-go-pro .n2-modal-controls{margin-bottom:40px}.n2-box-free{background:url(../images/free/box.png)}.n2-box-free .n2-box-placeholder{background:0 0}.n2-box-free .n2-box-button>div{color:#fff}.n2-ss-quick-slides-edit-modal .n2-modal-content table{border-spacing:10px;border-collapse:separate;margin:10px auto}.n2-ss-quick-slides-edit-modal .n2-modal-content table td{padding:0}.n2-ss-quick-slides-edit-modal .n2-modal-content .n2-mixed-label{margin-top:0;margin-bottom:3px}.n2-ss-quick-slides-edit-modal .n2-modal-content .n2-mixed-label label{font-size:11px}#n2-ss-slide-sidebar,.n2-sidebar-inner{width:439px}.n2-ss-create-slider-free-sample{float:left;height:70px;width:170px;cursor:pointer}.n2-ss-create-slider-free-sample:HOVER{background-position:0 -80px}.n2-ss-modal-subscribe>.n2-modal-window{text-align:center}.n2-ss-modal-subscribe .n2-form{margin:0 -20px}.n2-ss-modal-subscribe .n2-h3{margin:0 auto;width:95%;text-align:center;line-height:2}.n2-ss-preview-subscribe .n2-input-button{display:inline-block}.n2-input-button,.n2-ss-modal-subscribe .n2-input-button{display:inline-block;margin-top:20px}.n2-input-button>*,.n2-ss-modal-subscribe .n2-input-button>*,.n2-ss-preview-subscribe .n2-input-button>*{display:inline-block;white-space:nowrap}.n2-input-button input,.n2-input-button input:focus,.n2-ss-modal-subscribe input,.n2-ss-modal-subscribe input:focus,.n2-ss-preview-subscribe input,.n2-ss-preview-subscribe input:focus{margin:0 auto;width:250px;height:36px;border:2px solid #b9c3c9;border-right:0;border-top-left-radius:3px;border-bottom-left-radius:3px;overflow:hidden;padding:0 10px;line-height:36px;box-shadow:none;color:#7b8898;font-size:12px;background:#fff}.n2-input-button .n2-button,.n2-ss-modal-subscribe .n2-input-button .n2-button,.n2-ss-preview-subscribe .n2-input-button .n2-button{border-top-left-radius:0;border-bottom-left-radius:0}.n2-ss-preview-subscribe{position:fixed;left:50%;margin-left:-500px;bottom:-100px;transition:bottom .5s ease;background:url(../images/free/subscribepreview.png);width:1000px;height:90px;z-index:1000}.n2-ss-preview-subscribe.n2-active{bottom:10px}.n2-ss-preview-subscribe-close{position:absolute;top:-12px;right:-12px;width:24px;height:24px;cursor:pointer;background:url(../images/free/close.png) no-repeat center center}.n2-ss-preview-subscribe .n2-input-button{position:absolute;right:20px;top:0;margin-top:28px}
 
library/media/admin/dist/smartslider-backend.css ADDED
@@ -0,0 +1,3174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .adminhtml-smartslider3-index #footer,
2
+ .adminhtml-smartslider3-index .footer,
3
+ .smartslider3-index-index footer,
4
+ #html-body header {
5
+ display: none;
6
+ }
7
+
8
+ #html-body #anchor-content {
9
+ padding-top: 30px;
10
+ }
11
+
12
+ .unselectable {
13
+ -moz-user-select: none;
14
+ -khtml-user-select: none;
15
+ -webkit-user-select: none;
16
+ user-select: none;
17
+ }
18
+
19
+ .n2-definition-list dt.n2-ss-slider-ordering {
20
+ color: #fff;
21
+ background-color: #212d3a;
22
+ border: 0;
23
+ }
24
+
25
+ .n2-definition-list dt.n2-ss-slider-ordering > div {
26
+ padding: 0 30px;
27
+ }
28
+
29
+ .n2-definition-list .n2-ss-slider-ordering .n2-button {
30
+ min-width: 28px;
31
+ line-height: 28px;
32
+ height: 28px;
33
+ margin-left: 10px;
34
+ background-color: #54667b;
35
+ color: #fff;
36
+ }
37
+
38
+ .n2-definition-list .n2-ss-slider-ordering .n2-button.n2-active {
39
+ background: #0c92df;
40
+ }
41
+
42
+ .n2-definition-list dt.n2-ss-slider-ordering .n2-actions {
43
+ background-color: #212d3a;
44
+ padding-top: 16px;
45
+ }
46
+
47
+ .n2-definition-list .n2-ss-slider-ordering > .n2-actions a {
48
+ display: inline-block;
49
+ padding: 0;
50
+ }
51
+
52
+ .n2-definition-list .n2-ss-slider-ordering > .n2-actions .n2-i {
53
+ vertical-align: top;
54
+ }
55
+
56
+ .n2-ss-slide2-list li .n2-actions .n2-i-duplicate,
57
+ .n2-ss-slide2-list li .n2-actions .n2-i-delete,
58
+ .n2-ss-slide2-list li .n2-actions .n2-i-star {
59
+ visibility: hidden;
60
+ }
61
+
62
+ .n2-ss-slide2-list li:HOVER .n2-actions .n2-i-duplicate,
63
+ .n2-ss-slide2-list li:HOVER .n2-actions .n2-i-delete,
64
+ .n2-ss-slide2-list li .n2-actions .n2-i-star.n2-active,
65
+ .n2-ss-slide2-list li:HOVER .n2-actions .n2-i-star {
66
+ visibility: visible;
67
+ }
68
+
69
+ /**
70
+ Layout
71
+ */
72
+
73
+ .n2-lightbox-sidebar-list {
74
+ overflow-y: auto;
75
+ }
76
+
77
+ #n2-tab-widgets {
78
+ border-bottom: 0;
79
+ margin-bottom: 1000px;
80
+ }
81
+
82
+ .n2-i-edit.n2-active {
83
+ color: #0c92df;
84
+ }
85
+
86
+ .n2-ss-live-preview span {
87
+ text-decoration: line-through;
88
+ vertical-align: middle;
89
+ }
90
+
91
+ .n2-ss-live-preview .n2-button {
92
+ vertical-align: middle;
93
+ margin: 0 20px;
94
+ }
95
+
96
+ .n2-ss-live-preview.n2-active span {
97
+ text-decoration: none;
98
+ }
99
+
100
+ .n2-ss-live-preview.n2-active .n2-button {
101
+ display: none;
102
+ }
103
+
104
+ .n2-widget-area {
105
+ display: inline-block;
106
+ vertical-align: middle;
107
+ width: 80px;
108
+ height: 80px;
109
+ position: relative;
110
+ margin: 0 10px;
111
+ }
112
+
113
+ .n2-form .n2-widget-area {
114
+ margin-bottom: 10px;
115
+ }
116
+
117
+ .n2-widget-area-inner {
118
+ position: absolute;
119
+ top: 14px;
120
+ left: 14px;
121
+ width: 46px;
122
+ height: 46px;
123
+ border: 3px solid #bbc3cc;
124
+ border-radius: 3px;
125
+ }
126
+
127
+ .n2-widget-area .n2-area {
128
+ position: absolute;
129
+ background-color: #a1aeb5;
130
+ border-radius: 2px;
131
+ cursor: pointer;
132
+ width: 10px;
133
+ height: 10px;
134
+ left: 0;
135
+ top: 0;
136
+ }
137
+
138
+ .n2-widget-area .n2-area.n2-active {
139
+ background-color: #0c92df;
140
+ cursor: default;
141
+ }
142
+
143
+ .n2-widget-area .n2-area-1 {
144
+ left: 35px;
145
+ }
146
+
147
+ .n2-widget-area .n2-area-2 {
148
+ left: 21px;
149
+ top: 21px;
150
+ }
151
+
152
+ .n2-widget-area .n2-area-3 {
153
+ left: 35px;
154
+ top: 21px;
155
+ }
156
+
157
+ .n2-widget-area .n2-area-4 {
158
+ left: 49px;
159
+ top: 21px;
160
+ }
161
+
162
+ .n2-widget-area .n2-area-5 {
163
+ top: 35px;
164
+ }
165
+
166
+ .n2-widget-area .n2-area-6 {
167
+ left: 21px;
168
+ top: 35px;
169
+ }
170
+
171
+ .n2-widget-area .n2-area-7 {
172
+ left: 49px;
173
+ top: 35px;
174
+ }
175
+
176
+ .n2-widget-area .n2-area-8 {
177
+ left: 70px;
178
+ top: 35px;
179
+ }
180
+
181
+ .n2-widget-area .n2-area-9 {
182
+ left: 21px;
183
+ top: 49px;
184
+ }
185
+
186
+ .n2-widget-area .n2-area-10 {
187
+ left: 35px;
188
+ top: 49px;
189
+ }
190
+
191
+ .n2-widget-area .n2-area-11 {
192
+ left: 49px;
193
+ top: 49px;
194
+ }
195
+
196
+ .n2-widget-area .n2-area-12 {
197
+ left: 35px;
198
+ top: 70px;
199
+ }
200
+
201
+ .n2-ss-slider-publish {
202
+ border-collapse: collapse;
203
+ overflow: hidden;
204
+ }
205
+
206
+ .n2-ss-slider-publish .n2-td {
207
+ text-align: center;
208
+ border-right: 1px solid #ccd1d6;
209
+ color: #6b7989;
210
+ padding: 48px 0 0 0;
211
+ }
212
+
213
+ .n2-ss-slider-publish .n2-td .n2-h2 a {
214
+ color: #6b7989;
215
+ }
216
+
217
+ .n2-ss-slider-publish .n2-td.n2-last {
218
+ border-right: 0;
219
+ }
220
+
221
+ .n2-ss-slider-publish div.n2-h2 {
222
+ line-height: 30px;
223
+ font-size: 18px;
224
+ }
225
+
226
+ .n2-ss-slider-publish div.n2-h4 {
227
+ line-height: 26px;
228
+ }
229
+
230
+ .n2-ss-slider-publish .n2-code {
231
+ display: inline-block;
232
+ padding: 16px 30px;
233
+ line-height: 20px;
234
+ border-radius: 3px;
235
+ background-color: #f5e293;
236
+ text-align: left;
237
+ margin: 17px 0;
238
+ color: #6f653f;
239
+ font-size: 12px;
240
+ border: 0;
241
+ }
242
+
243
+ .n2-ss-slider-publish img {
244
+ margin-top: 17px;
245
+ margin-bottom: -10px;
246
+ }
247
+
248
+ .n2-ss-generator-modal .n2-modal-content h3 {
249
+ text-align: left;
250
+ }
251
+
252
+ .n2-generator-records td div {
253
+ max-height: 100px;
254
+ overflow: hidden;
255
+ padding: 10px;
256
+ margin: -10px;
257
+ }
258
+
259
+ .n2-generator-records td:HOVER div {
260
+ overflow-y: auto;
261
+ overflow-x: visible;
262
+ }
263
+
264
+ #n2-admin[data-slider-type='block'] .n2-fm-autoplay,
265
+ #n2-admin[data-slider-type='block'] .n2-fm-slides,
266
+ #n2-admin[data-slider-type='block'] .n2-fm-arrow,
267
+ #n2-admin[data-slider-type='block'] .n2-fm-bullet,
268
+ #n2-admin[data-slider-type='block'] .n2-fm-indicator,
269
+ #n2-admin[data-slider-type='block'] .n2-fm-bar,
270
+ #n2-admin[data-slider-type='block'] .n2-fm-thumbnail {
271
+ display: none
272
+ }
273
+
274
+ .n2-ss-container-device {
275
+ position: relative;
276
+ margin: 0 auto;
277
+ background-color: #fff;
278
+ border: 1px solid #ccd1d6;
279
+ border-width: 0 1px;
280
+ margin-top: 40px;
281
+ }
282
+
283
+ .n2-modal.n2-ss-go-pro .n2-modal-window {
284
+ /*background-color: #fafbff;*/
285
+ text-align: center;
286
+ /*color: #6b7989;*/
287
+ line-height: 2;
288
+ }
289
+
290
+ .n2-modal.n2-ss-go-pro .n2-ss-rate {
291
+ margin: 50px -20px 0;
292
+ background: url('../images/free/rate.png');
293
+ height: 90px;
294
+ line-height: 90px;
295
+ color: #ffffff;
296
+ }
297
+
298
+ .n2-modal.n2-ss-go-pro .n2-ss-rate .n2-h3 {
299
+ display: inline-block;
300
+ margin-right: 30px;
301
+ }
302
+
303
+ .n2-modal.n2-ss-go-pro .n2-modal-controls {
304
+ margin-bottom: 40px;
305
+ }
306
+
307
+ .n2-ss-create-slider-free-sample {
308
+ float: left;
309
+ height: 70px;
310
+ width: 170px;
311
+ cursor: pointer;
312
+ }
313
+
314
+ .n2-ss-create-slider-free-sample:HOVER {
315
+ background-position: 0 -80px;
316
+ }
317
+
318
+ .n2-ss-modal-subscribe > .n2-modal-window {
319
+ text-align: center;
320
+ }
321
+
322
+ .n2-ss-modal-subscribe .n2-form {
323
+ margin: 0 -20px;
324
+ }
325
+
326
+ .n2-ss-modal-subscribe .n2-h3 {
327
+ margin: 0 auto;
328
+ width: 95%;
329
+ text-align: center;
330
+ line-height: 2;
331
+ }
332
+
333
+ .n2-input-button,
334
+ .n2-ss-preview-subscribe .n2-input-button,
335
+ .n2-ss-modal-subscribe .n2-input-button {
336
+ display: inline-block;
337
+ margin-top: 20px;
338
+ }
339
+
340
+ .n2-input-button > *,
341
+ .n2-ss-preview-subscribe .n2-input-button > *,
342
+ .n2-ss-modal-subscribe .n2-input-button > * {
343
+ display: inline-block;
344
+ white-space: nowrap;
345
+ }
346
+
347
+ .n2-input-button input,
348
+ .n2-input-button input:focus,
349
+ .n2-ss-preview-subscribe input,
350
+ .n2-ss-preview-subscribe input:focus,
351
+ .n2-ss-modal-subscribe input,
352
+ .n2-ss-modal-subscribe input:focus {
353
+ margin: 0 auto;
354
+ width: 250px;
355
+ height: 36px;
356
+ border: 2px solid #b9c3c9;
357
+ border-right: 0;
358
+ border-top-left-radius: 3px;
359
+ border-bottom-left-radius: 3px;
360
+ overflow: hidden;
361
+ padding: 0 10px;
362
+ line-height: 36px;
363
+ box-shadow: none;
364
+ color: #7b8898;
365
+ font-size: 12px;
366
+ background: #ffffff;
367
+ }
368
+
369
+ .n2-input-button .n2-button,
370
+ .n2-ss-preview-subscribe .n2-input-button .n2-button,
371
+ .n2-ss-modal-subscribe .n2-input-button .n2-button {
372
+ border-top-left-radius: 0;
373
+ border-bottom-left-radius: 0;
374
+ }
375
+
376
+ .n2-ss-preview-subscribe {
377
+ position: fixed;
378
+ left: 50%;
379
+ margin-left: -500px;
380
+ bottom: -100px;
381
+ transition: bottom 0.5s ease;
382
+ background: url('../images/free/subscribepreview.png');
383
+ width: 1000px;
384
+ height: 90px;
385
+ z-index: 1000;
386
+ }
387
+
388
+ .n2-ss-preview-subscribe.n2-active {
389
+ bottom: 10px;
390
+ }
391
+
392
+ .n2-ss-preview-subscribe-close {
393
+ position: absolute;
394
+ top: -12px;
395
+ right: -12px;
396
+ width: 24px;
397
+ height: 24px;
398
+ cursor: pointer;
399
+ background: url('../images/free/close.png') no-repeat center center;
400
+ }
401
+
402
+ .n2-ss-preview-subscribe .n2-input-button {
403
+ position: absolute;
404
+ right: 20px;
405
+ top: 0;
406
+ margin-top: 28px;
407
+ }
408
+
409
+ .n2-ss-select-layer-mode .n2-list li.n2-active {
410
+
411
+ }
412
+
413
+ .n2-ss-slider-edit > .n2-form > .n2-form-tab {
414
+ margin: 20px 0 0 0;
415
+ border-radius: 0;
416
+ border: 0;
417
+ }
418
+
419
+ .n2-ss-slider-edit > .n2-form > .n2-form-tab .n2-form-matrix-views {
420
+ border-radius: 0;
421
+ }
422
+
423
+ .n2-box-add-license.n2-ss-license-has-active-key,
424
+ .n2-box-license-activated.n2-ss-license-no-active-key {
425
+ display: none;
426
+ }
427
+
428
+ #n2-ss-slider-container {
429
+ position: relative;
430
+ padding: 25px;
431
+ }
432
+
433
+ .n2-ss-sliders .n2-box-new-slider > a:before {
434
+ content: "\e952";
435
+ }
436
+
437
+ .n2-ss-sliders .n2-box-template-library > a:before {
438
+ content: "\e951";
439
+ }
440
+
441
+ .n2-box-up-group > a:before {
442
+ content: "\e958";
443
+ }
444
+
445
+ .n2-box-insert-group > a:before {
446
+ content: "\e959";
447
+ }
448
+
449
+ .n2-ss-sliders-header > * {
450
+ margin: 0 10px;
451
+ }
452
+
453
+ html[data-sliders='0'] .n2-ss-sliders-header {
454
+ visibility: hidden;
455
+ }
456
+
457
+ .n2-ss-box-slider {
458
+ cursor: pointer;
459
+ }
460
+
461
+ .n2-ss-box-slider-group .n2-ss-add-to-group,
462
+ .n2-ss-box-slider-group .n2-ss-remove-from-group {
463
+ display: none;
464
+ }
465
+
466
+ #n2-ss-slider-container[data-groupid="0"] .n2-ss-remove-from-group {
467
+ display: none;
468
+ }
469
+
470
+ .n2-ss-slider-over-group .n2-box-sortable-placeholder {
471
+ display: none;
472
+ }
473
+ html[data-slides='0'] .n2-ss-slider-edit {
474
+ display: none;
475
+ }
476
+
477
+ .n2-ss-slides-outer-container {
478
+ display: block;
479
+ }
480
+
481
+ .n2-modal-window .n2-ss-slides-outer-container {
482
+ height: 100%;
483
+ overflow: auto;
484
+ }
485
+
486
+ #n2-ss-slides {
487
+ position: relative;
488
+ padding: 25px;
489
+ }
490
+
491
+ .n2-ss-slides-container {
492
+ position: relative;
493
+ margin: 0 -10px;
494
+ }
495
+
496
+ .n2-slide-first.n2-i {
497
+ font-size: 16px;
498
+ line-height: 16px;
499
+ padding: 3px;
500
+ }
501
+
502
+ .n2-slide-published {
503
+ font-size: 16px;
504
+ padding: 3px;
505
+ }
506
+
507
+ .n2-i-unpublished {
508
+ color: #c54633;
509
+ }
510
+
511
+ .n2-slide-state-published .n2-i-unpublished {
512
+ color: #6fbc49;
513
+ }
514
+
515
+ .n2-slide-state-published .n2-i-unpublished:before {
516
+ content: "\e60c";
517
+ }
518
+
519
+ .n2-slide-is-first,
520
+ .n2-slide-first,
521
+ .n2-box.n2-first-slide:HOVER .n2-slide-first {
522
+ display: none;
523
+ }
524
+
525
+ .n2-first-slide .n2-slide-is-first {
526
+ display: inline-block;
527
+ }
528
+
529
+ .n2-slide-duplicate {
530
+ margin-right: 5px;
531
+ }
532
+
533
+ .n2-slide-duplicate, .n2-slide-delete, .n2-slide-selected {
534
+ padding: 0;
535
+ width: 24px;
536
+ }
537
+
538
+ #n2-ss-slides .n2-box.n2-ss-slide-active {
539
+ box-shadow: 0 0 0 3px #0c92df;
540
+ }
541
+
542
+ #n2-ss-slides .n2-box-slide-dummy {
543
+ background: #e9edf0;
544
+ border: 2px dashed #b2bfc9;
545
+ box-sizing: border-box;
546
+ }
547
+
548
+ #n2-ss-slides .n2-box-slide-dummy {
549
+ background-image: url('../images/dummy-slide.png');
550
+ background-repeat: no-repeat;
551
+ background-position: center 36px;
552
+ color: #7b8898;
553
+ font-size: 14px;
554
+ text-align: center;
555
+ line-height: 200px;
556
+ }
557
+
558
+ #n2-ss-slides .n2-box-slide-drag-images {
559
+ background: url('../images/drag.png') no-repeat center 4px;
560
+ text-align: center;
561
+ color: #7b8898;
562
+ box-sizing: border-box;
563
+ padding: 90px 60px 0;
564
+ line-height: 12px;
565
+ }
566
+
567
+ html:not([data-slides='0']) #n2-ss-slides-container .n2-box-slide-drag-images,
568
+ html:not([data-slides='0']) #n2-ss-slides-container .n2-box-slide-dummy {
569
+ display: none;
570
+ }
571
+
572
+ .n2-ss-slides-control {
573
+ position: relative;
574
+ padding: 22px 10px;
575
+ border-bottom: 1px solid RGBA(0, 0, 0, 0.3);
576
+ }
577
+
578
+ .n2-ss-slides-control .n2-button {
579
+ margin: 0 10px;
580
+ }
581
+
582
+ .n2-slides-add {
583
+ vertical-align: bottom;
584
+ margin: -2px;
585
+ }
586
+
587
+ #n2-ss-slides .n2-box-slide-drag-upload {
588
+ display: none;
589
+ position: absolute;
590
+ z-index: 101;
591
+ left: 0;
592
+ top: 0;
593
+ width: 100%;
594
+ height: 100%;
595
+ background-color: rgba(32, 41, 52, 0.9);
596
+ border: 0px;
597
+ right: 0;
598
+ bottom: 0;
599
+ margin: 0px;
600
+ vertical-align: bottom;
601
+ line-height: 130px;
602
+ text-align: center;
603
+ color: #fff;
604
+ }
605
+
606
+ #n2-ss-slides .n2-drag-over .n2-box-slide-drag-upload {
607
+ display: block;
608
+ }
609
+
610
+ html:not([data-slides='0']) #n2-ss-slides .n2-box-dummy {
611
+ display: none;
612
+ }
613
+
614
+ .n2-box-slide .n2-button.n2-sidebar-list-bg:HOVER {
615
+ background-color: #0c92df;
616
+ }
617
+
618
+ .n2-ss-quick-slides-edit-modal .n2-modal-content table {
619
+ border-spacing: 10px;
620
+ border-collapse: separate;
621
+ margin: 10px auto;
622
+ }
623
+
624
+ .n2-ss-quick-slides-edit-modal .n2-modal-content table td {
625
+ padding: 0;
626
+ }
627
+
628
+ .n2-ss-quick-slides-edit-modal .n2-modal-content .n2-mixed-label {
629
+ margin-top: 0;
630
+ margin-bottom: 3px;
631
+ }
632
+
633
+ .n2-ss-quick-slides-edit-modal .n2-modal-content .n2-mixed-label label {
634
+ font-size: 11px;
635
+ }
636
+
637
+ .n2-slide-state-published .n2-ss-publish,
638
+ .n2-ss-unpublish,
639
+ .n2-ss-generator,
640
+ .n2-slide-state-first .n2-ss-setFirst {
641
+ display: none;
642
+ }
643
+
644
+ .n2-slide-state-published .n2-ss-unpublish,
645
+ .n2-slide-state-has-generator .n2-ss-generator {
646
+ display: block;
647
+ }
648
+
649
+ .n2-box-slide .n2-i-star {
650
+ display: none;
651
+ }
652
+
653
+ .n2-box-slide.n2-slide-state-first .n2-i-star {
654
+ display: inline;
655
+ color: #e19f21;
656
+ font-size: 16px;
657
+ }
658
+
659
+ #n2-ss-slides .n2-box:HOVER img {
660
+ opacity: 0.1;
661
+ }
662
+
663
+ .n2-ss-slides-header {
664
+ position: relative;
665
+ z-index: 9;
666
+ color: #6b7989;
667
+ margin-top: -10px;
668
+ visibility: hidden;
669
+ }
670
+
671
+ .n2-ss-has-box-selection .n2-ss-slides-header {
672
+ visibility: visible;
673
+ }
674
+
675
+ .n2-ss-slides-header .n2-button-menu-open .n2-button-menu {
676
+ right: -90px;
677
+ }
678
+
679
+ #n2-ss-slides .n2-box-slide-add {
680
+ display: inline-block;
681
+ color: #b2bfc9;
682
+ background: transparent;
683
+ text-align: center;
684
+ z-index: 5;
685
+ }
686
+
687
+ #n2-ss-slides .n2-box-slide-add > .n2-add-quick-image {
688
+ width: 100%;
689
+ height: 135px;
690
+ padding: 0;
691
+ }
692
+
693
+ #n2-ss-slides .n2-box-slide-add > .n2-add-quick-image:before {
694
+ display: block;
695
+ font-family: 'Nextend' !important;
696
+ font-size: 48px;
697
+ line-height: 68px;
698
+ content: "\e91c";
699
+ margin-top: 20px;
700
+ }
701
+
702
+ #n2-ss-slides .n2-box-slide-add .n2-button-menu-open {
703
+ position: absolute;
704
+ right: 5px;
705
+ top: 5px;
706
+ width: 28px;
707
+ height: 28px;
708
+ line-height: 28px;
709
+ background: #3e9021;
710
+ border-radius: 3px;
711
+ cursor: pointer;
712
+ }
713
+
714
+ #n2-ss-slides .n2-box-slide-add .n2-button-menu-open .n2-i:before {
715
+ content: "\e911";
716
+ color: #fff;
717
+ font-size: 16px;
718
+ line-height: 28px;
719
+ }
720
+
721
+ .n2-add-quick-image {
722
+ width: 123px;
723
+ }
724
+
725
+ .n2-button-menu-inner .n2-add-quick-image {
726
+ width: auto;
727
+ }
728
+
729
+ .n2-ss-slides-header > * {
730
+ vertical-align: middle;
731
+ display: inline-block;
732
+ }
733
+
734
+ .n2-ss-slides-header .n2-h5,
735
+ .n2-ss-slides-header .n2-h5 a {
736
+ margin-right: 10px;
737
+ color: #6b7986;
738
+ }
739
+
740
+ .n2-ss-slides-header .n2-h5 .n2-i {
741
+ font-size: 16px;
742
+ }
743
+
744
+ .n2-top-bar-menu .n2-ss-back-dashboard:before {
745
+ content: "\e94a";
746
+ }
747
+
748
+ .n2-top-bar-menu .n2-ss-back-slider:before {
749
+ content: "\e94b";
750
+ }
751
+
752
+ .n2-top-bar-menu .n2-ss-back-slides:before {
753
+ content: "\e91a";
754
+ }
755
+
756
+ .n2-top-bar-menu > #n2-ss-preview:before {
757
+ content: "\e92d";
758
+ }
759
+
760
+ .n2-ss-block-slides-notice {
761
+ display: none;
762
+ color: #7b8898;
763
+ }
764
+
765
+ html:not([data-slides='0']):not([data-slides='1']) #n2-admin[data-slider-type="block"] .n2-ss-block-slides-notice {
766
+ display: block;
767
+ }
768
+
769
+ html[data-slides='0'] .n2-ss-create-static-slide {
770
+ display: none;
771
+ }
772
+ .n2-ss-layers-add {
773
+ text-align: center;
774
+ }
775
+
776
+ .n2-ss-core-item {
777
+ display: inline-block;
778
+ margin: 5px;
779
+ background-color: #6b7986;
780
+ color: #ffffff;
781
+ line-height: 20px;
782
+ cursor: pointer;
783
+ text-align: center;
784
+
785
+ -webkit-border-radius: 3px;
786
+ -moz-border-radius: 3px;
787
+ border-radius: 3px;
788
+
789
+ width: 90px;
790
+ height: 80px;
791
+ }
792
+
793
+ .n2-ss-core-item div:before {
794
+ font-family: 'Nextend';
795
+ font-size: 32px;
796
+ content: "\e943";
797
+ display: block;
798
+ line-height: 32px;
799
+ margin-top: 20px;
800
+ }
801
+
802
+ .n2-ss-core-item[data-item="heading"] div:before {
803
+ content: "\e945";
804
+ }
805
+
806
+ .n2-ss-core-item[data-item="text"] div:before {
807
+ content: "\e944";
808
+ }
809
+
810
+ .n2-ss-core-item[data-item="button"] div:before {
811
+ content: "\e942";
812
+ }
813
+
814
+ .n2-ss-core-item[data-item="imagearea"] div:before {
815
+ content: "\e950";
816
+ }
817
+
818
+ .n2-ss-core-item[data-item="icon"] div:before {
819
+ content: "\e941";
820
+ }
821
+
822
+ .n2-ss-core-item[data-item="input"] div:before {
823
+ content: "\e939";
824
+ }
825
+
826
+ .n2-ss-core-item[data-item="iframe"] div:before {
827
+ content: "\e938";
828
+ }
829
+
830
+ .n2-ss-core-item[data-item="area"] div:before {
831
+ content: "\e937";
832
+ }
833
+
834
+ .n2-ss-core-item[data-item="list"] div:before {
835
+ content: "\e93e";
836
+ }
837
+
838
+ .n2-ss-core-item[data-item="caption"] div:before {
839
+ content: "\e940";
840
+ }
841
+
842
+ .n2-ss-core-item[data-item="transition"] div:before {
843
+ content: "\e93f";
844
+ }
845
+
846
+ .n2-ss-core-item[data-item="youtube"] div:before {
847
+ content: "\e93d";
848
+ }
849
+
850
+ .n2-ss-core-item[data-item="vimeo"] div:before {
851
+ content: "\e93c";
852
+ }
853
+
854
+ .n2-ss-core-item[data-item="video"] div:before {
855
+ content: "\e93b";
856
+ }
857
+
858
+ .n2-ss-core-item[data-item="html"] div:before {
859
+ content: "\e93a";
860
+ }
861
+
862
+ #n2-ss-layers .sortable-placeholder {
863
+ border: 0;
864
+ position: relative;
865
+ height: 0;
866
+ overflow: visible;
867
+ z-index: 1001;
868
+ }
869
+
870
+ #n2-ss-layers .sortable-placeholder div {
871
+ position: absolute;
872
+ left: 0px;
873
+ top: -1px;
874
+ width: 100%;
875
+ height: 0;
876
+ border-bottom: 1px solid RGBA(254, 254, 254, 0.8);
877
+ box-shadow: 0 0 3px 0px RGBA(254, 254, 254, 0.8);
878
+ }
879
+
880
+ #n2-ss-layers .ui-sortable-helper {
881
+ opacity: 0.5;
882
+ }
883
+
884
+ /*
885
+ .n2-ss-layer-group-row > .n2-ss-layer-title,
886
+ .n2-list .n2-ss-layer-row {
887
+ border-bottom: 1px solid #343f4c;
888
+ }
889
+ */
890
+ .n2-list .n2-ss-layer-group-row {
891
+ border-bottom: 0px;
892
+ }
893
+
894
+ .n2-ss-layer-group-row > .n2-ss-layer-title {
895
+ border-bottom: 1px solid RGBA(0, 0, 0, 0.2);
896
+ }
897
+
898
+ .n2-list .n2-ss-layer-row.n2-active,
899
+ .n2-list .n2-ss-layer-row.n2-selected {
900
+ background: #1681c1;
901
+ }
902
+
903
+ .n2-ss-layer-group-row ul.n2-list {
904
+ min-height: 10px;
905
+ }
906
+
907
+ .n2-ss-layer-title {
908
+ display: block;
909
+ line-height: 39px;
910
+ position: relative;
911
+ cursor: pointer;
912
+ overflow: hidden;
913
+ }
914
+
915
+ .n2-ss-layer-title span {
916
+ margin: 0 30px;
917
+ display: block;
918
+ width: 170px;
919
+ white-space: nowrap;
920
+ overflow: hidden;
921
+ text-overflow: ellipsis;
922
+ }
923
+
924
+ .n2-ss-layer-group-row > .n2-ss-layer-title span {
925
+ margin: 0 30px;
926
+ }
927
+
928
+ .n2-ss-layer-group-row ul .n2-ss-layer-title span {
929
+ margin: 0 40px;
930
+ }
931
+
932
+ .n2-ss-layer-row .n2-inline-form {
933
+ margin: 0 30px;
934
+ }
935
+
936
+ .n2-ss-layer-row .n2-inline-form input {
937
+ background: #3c4958 none repeat scroll 0 0;
938
+ color: #b2bfc9;
939
+ font-size: 11px;
940
+ border: 2px solid #28313a;
941
+ line-height: 24px;
942
+ padding: 0 10px;
943
+
944
+ -webkit-border-radius: 3px;
945
+ -moz-border-radius: 3px;
946
+ border-radius: 3px;
947
+ }
948
+
949
+ .n2-ss-layer-row .n2-inline-form input:focus {
950
+ box-shadow: none;
951
+ }
952
+
953
+ .n2-ss-layer-title .n2-actions {
954
+ position: absolute;
955
+ top: 0;
956
+ right: 0;
957
+ padding: 0 6px;
958
+ cursor: default;
959
+ opacity: 0.2;
960
+ }
961
+
962
+ .n2-ss-layer-title:HOVER .n2-actions {
963
+ opacity: 1;
964
+ }
965
+
966
+ .n2-ss-layer-title .n2-actions-left {
967
+ position: absolute;
968
+ top: 0;
969
+ left: 0;
970
+ padding: 5px 0;
971
+ cursor: default;
972
+ line-height: 24px;
973
+ }
974
+
975
+ html[dir="rtl"] .n2-ss-layer-title .n2-actions-left {
976
+ padding: 0 16px 0 0;
977
+ }
978
+
979
+ .n2-ss-layer-row.n2-active > .n2-ss-layer-title,
980
+ .n2-ss-layer-row.n2-active > .n2-ss-layer-title .n2-actions-left .n2-i,
981
+ .n2-ss-layer-row.n2-active > .n2-ss-layer-title .n2-actions .n2-i,
982
+ .n2-ss-layer-row.n2-selected .n2-ss-layer-title,
983
+ .n2-ss-layer-row.n2-selected .n2-ss-layer-title .n2-actions-left .n2-i,
984
+ .n2-ss-layer-row.n2-selected .n2-ss-layer-title .n2-actions .n2-i {
985
+ color: #fff;
986
+ }
987
+
988
+ .n2-ss-layer-title .n2-actions a,
989
+ .n2-ss-layer-title .n2-actions-left a {
990
+ display: inline-block;
991
+ padding: 0;
992
+ }
993
+
994
+ .n2-ss-layer-title .n2-actions-left i {
995
+ padding: 0 2px;
996
+ vertical-align: middle;
997
+ }
998
+
999
+ .n2-ss-layer-title .n2-i-order {
1000
+ cursor: move;
1001
+ }
1002
+
1003
+ .n2-ss-animation-row {
1004
+ list-style: none;
1005
+ color: #b2bfc9;
1006
+ }
1007
+
1008
+ .n2-ss-animation-title {
1009
+ position: relative;
1010
+ line-height: 39px;
1011
+ background-color: #303b47;
1012
+ cursor: pointer;
1013
+ text-transform: capitalize;
1014
+ }
1015
+
1016
+ .n2-ss-animation-title span {
1017
+ padding: 0 40px;
1018
+ }
1019
+
1020
+ .n2-ss-animation-title .n2-actions {
1021
+ position: absolute;
1022
+ right: 0;
1023
+ top: 0;
1024
+ cursor: default;
1025
+ padding: 0 6px;
1026
+ }
1027
+
1028
+ .n2-ss-animation-title .n2-actions a,
1029
+ .n2-ss-animation-title .n2-actions-left a {
1030
+ display: inline-block;
1031
+ height: 100%;
1032
+ }
1033
+
1034
+ .n2-ss-animation-title .n2-actions-left {
1035
+ position: absolute;
1036
+ top: 0;
1037
+ left: 0;
1038
+ padding: 0 16px;
1039
+ cursor: default;
1040
+ font-size: 16px;
1041
+ line-height: 38px;
1042
+ }
1043
+
1044
+ .n2-ss-animation-title .n2-actions-left i {
1045
+ padding: 0 2px;
1046
+ vertical-align: middle;
1047
+ }
1048
+
1049
+ .smartslider-advanced-layer-mode-active #layersanditems li.layer-orderable.item-active.active .layerTitle {
1050
+ border-left: 5px solid #eef3f8;
1051
+ }
1052
+
1053
+ #layeritemeditorpanel,
1054
+ #smartslider-slide-toolbox-layer .n2-sidebar-pane-sizer {
1055
+ visibility: hidden;
1056
+ }
1057
+
1058
+ #layeritemeditorpanel > .n2-form {
1059
+ margin-bottom: 0;
1060
+ }
1061
+
1062
+ #layeritemeditorpanel .n2-form-element-radio .n2-radio-option {
1063
+ margin: 5px;
1064
+ }
1065
+
1066
+ #layer-animation-chain-in,
1067
+ #layer-animation-chain-out {
1068
+ position: relative;
1069
+ }
1070
+
1071
+ #layer-animation-chain-in .sortable-placeholder,
1072
+ #layer-animation-chain-loop .sortable-placeholder,
1073
+ #layer-animation-chain-out .sortable-placeholder {
1074
+ background-color: #212d3a;
1075
+ border-bottom: 1px solid #343f4c;
1076
+ border-width: 0 0 1px 0;
1077
+ }
1078
+
1079
+ #layer-animation-chain-in .n2-td,
1080
+ #layer-animation-chain-loop .n2-td,
1081
+ #layer-animation-chain-out .n2-td {
1082
+ vertical-align: middle;
1083
+ }
1084
+
1085
+ #n2-tab-smartslider-editor {
1086
+ background-color: #fff;
1087
+ margin: -21px 0 0 0;
1088
+ border-width: 1px 0 0 0;
1089
+ padding-bottom: 400px;
1090
+ padding-bottom: 40vh;
1091
+ position: relative;
1092
+ }
1093
+
1094
+ /*
1095
+ #n2-tab-smartslider-editor.n2-ss-theme-dark {
1096
+ background-color: #343F4C;
1097
+ }
1098
+ */
1099
+ .n2-ss-theme-dark #smartslider-adjust-height,
1100
+ .n2-ss-theme-dark .n2-ruler-vertical {
1101
+ background-color: #28313a;
1102
+ }
1103
+
1104
+ .n2-ss-theme-dark .n2-ruler > span span {
1105
+ color: #fff;
1106
+ }
1107
+
1108
+ #n2-tab-smartslider-editor .n2-heading-controls {
1109
+ z-index: 9;
1110
+ padding: 0;
1111
+ min-height: 0;
1112
+ border: 0;
1113
+ height: 0;
1114
+ background: #4d5d70;
1115
+ }
1116
+
1117
+ .n2-ss-slider-visible #n2-tab-smartslider-editor .n2-heading-controls {
1118
+ height: auto
1119
+ }
1120
+
1121
+ #n2-tab-smartslider-editor.n2-scroll-disable .n2-heading-controls {
1122
+ height: 54px;
1123
+ border-bottom: 0;
1124
+ }
1125
+
1126
+ .n2-ss-preview-mode .n2-main-top-bar {
1127
+ opacity: 0;
1128
+ }
1129
+
1130
+ #n2-ss-control-line {
1131
+ position: relative;
1132
+ height: 28px;
1133
+ white-space: nowrap;
1134
+ z-index: 1000;
1135
+ padding: 13px 10px;
1136
+ line-height: 28px;
1137
+ }
1138
+
1139
+ #n2-ss-control-line > * {
1140
+ line-height: 28px;
1141
+ height: 28px;
1142
+ vertical-align: top;
1143
+ }
1144
+
1145
+ #n2-ss-control-line .n2-ss-tool {
1146
+ margin: 0 5px;
1147
+ display: inline-block;
1148
+ vertical-align: top !important;
1149
+ }
1150
+
1151
+ #n2-ss-control-line .n2-ss-tool.n2-form-element-text {
1152
+ height: 24px;
1153
+ line-height: 24px;
1154
+ position: relative;
1155
+ }
1156
+
1157
+ #n2-ss-control-line .n2-text-sub-label {
1158
+ font-size: 16px;
1159
+ }
1160
+
1161
+ #n2-ss-slide-canvas-settings {
1162
+ display: inline-block;
1163
+ position: relative;
1164
+ }
1165
+
1166
+ #n2-ss-slide-canvas-settings > .n2-button {
1167
+ width: 28px;
1168
+ padding: 0;
1169
+ text-align: center;
1170
+ }
1171
+
1172
+ #n2-ss-slide-canvas-settings.n2-active > .n2-button {
1173
+ background-color: #0c92df;
1174
+ border-color: #0c92df;
1175
+ }
1176
+
1177
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel {
1178
+ position: absolute;
1179
+ left: 0;
1180
+ top: 28px;
1181
+ }
1182
+
1183
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner {
1184
+ margin-top: 6px;
1185
+ min-width: 180px;
1186
+ box-shadow: 0px 0px 5px 0 RGBA(0, 0, 0, 0.3);
1187
+ background-color: #fff;
1188
+ border-radius: 3px;
1189
+ }
1190
+
1191
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner > * {
1192
+ display: block;
1193
+ line-height: 32px;
1194
+ margin: 0 10px;
1195
+ position: relative;
1196
+ text-align: left;
1197
+ }
1198
+
1199
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner a {
1200
+ color: #7b8898;
1201
+ }
1202
+
1203
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-panel-action {
1204
+ color: #0c92df;
1205
+ }
1206
+
1207
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-setting-tick {
1208
+ display: block;
1209
+ position: absolute;
1210
+ right: 0px;
1211
+ top: 8px;
1212
+ border-radius: 3px;
1213
+ border: 2px solid #8793a2;
1214
+ width: 12px;
1215
+ height: 12px;
1216
+ }
1217
+
1218
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel {
1219
+ display: none;
1220
+ }
1221
+
1222
+ #n2-ss-slide-canvas-settings.n2-active .n2-ss-settings-panel {
1223
+ display: inline-block;
1224
+ }
1225
+
1226
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-setting-enabled .n2-setting-tick {
1227
+ border-color: #1999e3;
1228
+ background-color: #1999e3;
1229
+ }
1230
+
1231
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-setting-tick .n2-i {
1232
+ display: none;
1233
+ }
1234
+
1235
+ #n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-setting-enabled .n2-i {
1236
+ display: inline-block;
1237
+ color: #fff;
1238
+ font-size: 16px;
1239
+ line-height: 12px;
1240
+ margin: 0 -2px;
1241
+ }
1242
+
1243
+ #n2-ss-layer-show-on {
1244
+ display: inline-block;
1245
+ }
1246
+
1247
+ #n2-ss-control-line .n2-button-grey {
1248
+ background-color: #a1aeb5;
1249
+ }
1250
+
1251
+ #n2-ss-control-line .n2-radio-option {
1252
+ background-color: #a1aeb5;
1253
+ border-left: 1px solid #8c99a1;
1254
+ }
1255
+
1256
+ #n2-ss-control-line .n2-radio-option.n2-first {
1257
+ border-left-width: 0px;
1258
+ }
1259
+
1260
+ #n2-ss-control-line .n2-radio-option.n2-active {
1261
+ background-color: #0c92df;
1262
+ border-color: #0c92df;
1263
+ }
1264
+
1265
+ #n2-ss-control-line .n2-radio-option.n2-sub-active {
1266
+ background-color: #51b82d;
1267
+ border-color: #51b82d;
1268
+ }
1269
+
1270
+ #n2-ss-control-line .n2-ss-tool.n2-button {
1271
+ height: 28px;
1272
+ line-height: 28px;
1273
+ background-color: #a1aeb5;
1274
+ }
1275
+
1276
+ #n2-ss-control-line .n2-ss-tool.n2-button-icon {
1277
+ padding: 0;
1278
+ width: 28px;
1279
+ }
1280
+
1281
+ #n2-ss-control-line .n2-ss-tool.n2-button.n2-active {
1282
+ background-color: #0c92df;
1283
+ }
1284
+
1285
+ #n2-ss-control-line .n2-ss-tool.n2-button.n2-sub-active {
1286
+ background-color: #51b82d;
1287
+ }
1288
+
1289
+ #n2-ss-control-line .ui-autocomplete {
1290
+ max-width: 100%;
1291
+ }
1292
+
1293
+ .n2-ss-addlayer .n2-ss-available-layers {
1294
+ display: none;
1295
+ box-sizing: border-box;
1296
+ white-space: normal;
1297
+ text-align: left;
1298
+ }
1299
+
1300
+ #n2-ss-layer-parent-linker,
1301
+ #n2-ss-theme,
1302
+ #n2-ss-control-line #n2-ss-theme.n2-active {
1303
+ width: 28px;
1304
+ height: 28px;
1305
+ line-height: 28px;
1306
+ padding: 0;
1307
+ background-color: #a1aeb5;
1308
+ }
1309
+
1310
+ #n2-ss-theme.n2-active .n2-i:before {
1311
+ content: "\e64c";
1312
+ }
1313
+
1314
+ .ui-item-overlay {
1315
+ display: none;
1316
+ position: absolute;
1317
+ top: 0;
1318
+ left: 0;
1319
+ width: 100%;
1320
+ height: 100%;
1321
+ }
1322
+
1323
+ .n2-ss-layer.n2-highlight .ui-item-overlay {
1324
+ display: block;
1325
+ background-color: RGBA(0, 132, 255, 0.4);
1326
+ }
1327
+
1328
+ .n2-ss-select-layer-mode .n2-ss-layer-selected .ui-item-overlay {
1329
+ display: block;
1330
+ background-color: RGBA(0, 132, 255, 0.4);
1331
+ }
1332
+
1333
+ .n2-ss-preview-mode .n2-ss-layer.n2-highlight .ui-item-overlay {
1334
+ display: none;
1335
+ }
1336
+
1337
+ .n2-ss-item-html .ui-item-overlay,
1338
+ .n2-ss-item-iframe .ui-item-overlay {
1339
+ display: block;
1340
+ }
1341
+
1342
+ /*
1343
+ .n2-ss-layer .ui-resizable-n,
1344
+ .n2-ss-layer .ui-resizable-e,
1345
+ .n2-ss-layer .ui-resizable-s,
1346
+ .n2-ss-layer .ui-resizable-w {
1347
+ opacity: 0.5;
1348
+ }
1349
+ */
1350
+
1351
+ .n2-ss-layer .n2-ss-layer-cc,
1352
+ .n2-ss-layer .ui-resizable-ne,
1353
+ .n2-ss-layer .ui-resizable-se,
1354
+ .n2-ss-layer .ui-resizable-sw,
1355
+ .n2-ss-layer .ui-resizable-nw {
1356
+ opacity: 0;
1357
+ }
1358
+
1359
+ .n2-ss-layer-cc:HOVER,
1360
+ .ui-resizable-n:HOVER,
1361
+ .ui-resizable-e:HOVER,
1362
+ .ui-resizable-s:HOVER,
1363
+ .ui-resizable-w:HOVER,
1364
+ .n2-ss-layer .ui-resizable-ne:HOVER,
1365
+ .n2-ss-layer .ui-resizable-se:HOVER,
1366
+ .n2-ss-layer .ui-resizable-sw:HOVER,
1367
+ .n2-ss-layer .ui-resizable-nw:HOVER {
1368
+ opacity: 1;
1369
+ }
1370
+
1371
+ .n2-ss-layer[data-align="left"][data-valign="top"] .ui-resizable-nw,
1372
+ .n2-ss-layer[data-align="left"][data-valign="middle"] .ui-resizable-w,
1373
+ .n2-ss-layer[data-align="left"][data-valign="bottom"] .ui-resizable-sw,
1374
+ .n2-ss-layer[data-align="center"][data-valign="top"] .ui-resizable-n,
1375
+ .n2-ss-layer[data-align="center"][data-valign="middle"] .n2-ss-layer-cc,
1376
+ .n2-ss-layer[data-align="center"][data-valign="bottom"] .ui-resizable-s,
1377
+ .n2-ss-layer[data-align="right"][data-valign="top"] .ui-resizable-ne,
1378
+ .n2-ss-layer[data-align="right"][data-valign="middle"] .ui-resizable-e,
1379
+ .n2-ss-layer[data-align="right"][data-valign="bottom"] .ui-resizable-se {
1380
+ background: #0c92df;
1381
+ opacity: 1;
1382
+ border: 1px solid #fff;
1383
+ }
1384
+
1385
+ .n2-ss-layer-cc {
1386
+ position: absolute;
1387
+ font-size: 0.1px;
1388
+ display: block;
1389
+ z-index: 92;
1390
+ }
1391
+
1392
+ .n2-ss-layer .n2-ss-layer-cc,
1393
+ .n2-ss-layer .ui-resizable-handle {
1394
+ background-image: none;
1395
+ border: 1px solid #0c92df;
1396
+ height: 7px;
1397
+ width: 7px;
1398
+ background: #fff;
1399
+ }
1400
+
1401
+ .n2-ss-layer .ui-resizable-n {
1402
+ left: 50%;
1403
+ top: -4px;
1404
+ margin-left: -4px;
1405
+ }
1406
+
1407
+ .n2-ss-layer .ui-resizable-e {
1408
+ right: -4px;
1409
+ top: 50%;
1410
+ margin-top: -4px;
1411
+ }
1412
+
1413
+ .n2-ss-layer .ui-resizable-s {
1414
+ bottom: -4px;
1415
+ left: 50%;
1416
+ margin-left: -4px;
1417
+ }
1418
+
1419
+ .n2-ss-layer .ui-resizable-w {
1420
+ left: -4px;
1421
+ top: 50%;
1422
+ margin-top: -4px;
1423
+ }
1424
+
1425
+ .n2-ss-layer .ui-resizable-ne {
1426
+ right: -4px;
1427
+ top: -4px;
1428
+ }
1429
+
1430
+ .n2-ss-layer .ui-resizable-se {
1431
+ right: -4px;
1432
+ bottom: -4px;
1433
+ }
1434
+
1435
+ .n2-ss-layer .ui-resizable-sw {
1436
+ left: -4px;
1437
+ bottom: -4px;
1438
+ }
1439
+
1440
+ .n2-ss-layer .ui-resizable-nw {
1441
+ left: -4px;
1442
+ top: -4px;
1443
+ }
1444
+
1445
+ .n2-ss-layer .n2-ss-layer-cc {
1446
+ left: 50%;
1447
+ top: 50%;
1448
+ margin-top: -4px;
1449
+ margin-left: -4px;
1450
+ }
1451
+
1452
+ .n2-ss-layer-quick-panel {
1453
+ position: absolute;
1454
+ z-index: 1000;
1455
+ width: 72px;
1456
+ height: 28px;
1457
+ margin: -6px 0 0 -34px;
1458
+ padding: 5px;
1459
+ }
1460
+
1461
+ .n2-ss-layer-quick-panel .n2-ss-layer-quick-panel-option {
1462
+ display: inline-block;
1463
+ cursor: pointer;
1464
+ width: 26px;
1465
+ height: 26px;
1466
+ border-radius: 3px;
1467
+ background: RGBA(43, 52, 63, 0.9);
1468
+ text-align: center;
1469
+ font-size: 16px !important;
1470
+ line-height: 26px !important;
1471
+ color: #fff;
1472
+ margin: 1px;
1473
+ vertical-align: top;
1474
+ }
1475
+
1476
+ .n2-ss-layer-quick-panel .n2-ss-layer-quick-panel-option-center {
1477
+ width: 14px;
1478
+ overflow: hidden;
1479
+ }
1480
+
1481
+ .n2-ss-layer.n2-ss-picking-on-layer {
1482
+ z-index: 1000000 !important;
1483
+ }
1484
+
1485
+ .n2-ss-position-display {
1486
+ display: none;
1487
+ position: absolute;
1488
+ border-radius: 3px;
1489
+ z-index: 10000;
1490
+ line-height: 16px;
1491
+ padding: 4px 6px;
1492
+ color: #fff;
1493
+ font-size: 10px;
1494
+ background: RGBA(32, 41, 52, 0.95);
1495
+ }
1496
+
1497
+ .n2-ss-position-display.n2-active {
1498
+ display: block;
1499
+ }
1500
+
1501
+ .n2-ss-layer-border {
1502
+ display: none;
1503
+ position: absolute;
1504
+ left: 0;
1505
+ top: 0;
1506
+ right: 0;
1507
+ bottom: 0;
1508
+ border: 1px solid #0c92df;
1509
+ box-sizing: border-box;
1510
+ }
1511
+
1512
+ .n2-ss-resize-layer div#n2-ss-0 .n2-ss-layer .n2-ss-layer-border,
1513
+ .n2-ss-move-layer div#n2-ss-0 .n2-ss-layer .n2-ss-layer-border,
1514
+ .n2-ss-layer-edit-visible #n2-tab-smartslider-editor:HOVER /*div#n2-ss-0:HOVER*/ .n2-ss-layer.n2-active .n2-ss-layer-border,
1515
+ div#n2-ss-0 .n2-ss-layer:HOVER .n2-ss-layer-border {
1516
+ display: block;
1517
+ }
1518
+
1519
+ /**
1520
+ Layer editor interactions
1521
+ **/
1522
+
1523
+ .n2-ss-layer .ui-resizable-handle,
1524
+ .n2-ss-layer .ui-rotatable-handle,
1525
+ .n2-ss-layer .n2-ss-layer-cc {
1526
+ display: none !important;
1527
+ }
1528
+
1529
+ .n2-ss-resize-layer .n2-ss-layer.n2-active .ui-resizable-handle,
1530
+ .n2-ss-layer.n2-active:HOVER .ui-resizable-handle,
1531
+ .n2-ss-layer.n2-active:HOVER .n2-ss-layer-cc,
1532
+ .n2-ss-layer-edit-visible #n2-tab-smartslider-editor:HOVER /*#n2-ss-0:HOVER*/ .n2-ss-layer.n2-active .ui-resizable-handle,
1533
+ .n2-ss-resize-layer .n2-ss-layer.n2-active .ui-rotatable-handle,
1534
+ .n2-ss-layer-edit-visible #n2-ss-0:HOVER .n2-ss-layer.n2-active .ui-rotatable-handle,
1535
+ .n2-ss-layer-edit-visible #n2-tab-smartslider-editor:HOVER /*#n2-ss-0:HOVER*/ .n2-ss-layer.n2-active .n2-ss-layer-cc {
1536
+ display: block !important;
1537
+ }
1538
+
1539
+ .n2-ss-move-layer .n2-ss-layer.n2-active:HOVER .ui-resizable-handle,
1540
+ .n2-ss-move-layer .n2-ss-layer.n2-active:HOVER .ui-rotatable-handle,
1541
+ .n2-ss-move-layer .n2-ss-layer.n2-active:HOVER .n2-ss-layer-cc,
1542
+ .n2-ss-animation-play-single #n2-ss-0 .n2-ss-layer .ui-resizable-handle,
1543
+ .n2-ss-animation-play-single #n2-ss-0 .n2-ss-layer .n2-ss-layer-cc,
1544
+ .n2-ss-animation-play-single #n2-ss-0 .n2-ss-layer .n2-ss-layer-border {
1545
+ display: none !important;
1546
+ }
1547
+
1548
+ .n2-ss-layer-edit-visible #n2-ss-0:HOVER .n2-ss-layer.n2-active {
1549
+ overflow: visible !important;
1550
+ }
1551
+
1552
+ #n2-ss-0 .n2-ss-slide-border {
1553
+ display: none;
1554
+ position: absolute;
1555
+ background: #a1aeb5;
1556
+ width: 1px;
1557
+ height: 1px;
1558
+ }
1559
+
1560
+ #n2-ss-0:HOVER .n2-ss-slide-border {
1561
+ display: block;
1562
+ }
1563
+
1564
+ div#n2-ss-0:HOVER .n2-ss-static-slide {
1565
+ display: none;
1566
+ }
1567
+
1568
+ div#n2-ss-0:HOVER .n2-ss-static-slide.n2-ss-currently-edited-slide {
1569
+ display: block;
1570
+ }
1571
+
1572
+ .n2-ss-select-layer-mode #n2-ss-0 .n2-ss-layer-selected .n2-ss-layer-cc,
1573
+ .n2-ss-select-layer-mode #n2-ss-0 .n2-ss-layer-selected .ui-rotatable-handle,
1574
+ .n2-ss-select-layer-mode #n2-ss-0 .n2-ss-layer-selected .ui-resizable-handle {
1575
+ display: none !important;
1576
+ }
1577
+
1578
+ .n2-ss-layer-group-row li.n2-ss-layer-row {
1579
+ background: #28313a;
1580
+ }
1581
+
1582
+ .n2-ss-select-layer-mode-group .n2-list li.n2-ss-layer-row.n2-active.n2-selected {
1583
+ color: #b2bfc9;
1584
+ }
1585
+
1586
+ #n2-ss-0 .n2-ss-slide-border-left {
1587
+ left: 0;
1588
+ top: 0;
1589
+ height: 100%;
1590
+ }
1591
+
1592
+ #n2-ss-0 .n2-ss-slide-border-right {
1593
+ right: 0;
1594
+ top: 0;
1595
+ height: 100%;
1596
+ }
1597
+
1598
+ #n2-ss-0 .n2-ss-slide-border-top {
1599
+ left: 0;
1600
+ top: 0;
1601
+ width: 100%;
1602
+ }
1603
+
1604
+ #n2-ss-0 .n2-ss-slide-border-bottom {
1605
+ left: 0;
1606
+ bottom: 0;
1607
+ width: 100%;
1608
+ }
1609
+
1610
+ #n2-ss-0 .n2-ss-layer {
1611
+ cursor: not-allowed;
1612
+ }
1613
+
1614
+ #n2-ss-0 .n2-ss-currently-edited-slide .n2-ss-layer {
1615
+ cursor: move;
1616
+ background: RGBA(0, 0, 0, 0); /* IE fix, layer empty area doesnt trigger mouseenter when no background */
1617
+ }
1618
+
1619
+ #n2-ss-0 .n2-ss-static-slide .n2-ss-layer.n2-ss-layer-locked,
1620
+ #n2-ss-0 .n2-ss-slide.n2-ss-slide-active .n2-ss-layer.n2-ss-layer-locked {
1621
+ cursor: auto;
1622
+ }
1623
+
1624
+ /*
1625
+ #n2-ss-0 .n2-ss-static-slide {
1626
+ visibility: visible !important;
1627
+ }
1628
+ */
1629
+ .n2-ss-preview-mode #n2-ss-0 .n2-ss-layer {
1630
+ cursor: default;
1631
+ }
1632
+
1633
+ .n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .ui-resizable-handle,
1634
+ .n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .ui-rotatable-handle,
1635
+ .n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .n2-ss-layer-cc,
1636
+ .n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .n2-ss-layer-chain-parent,
1637
+ .n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .n2-ss-layer-border,
1638
+ #n2-ss-0 .n2-ss-static-slide .n2-ss-layer.n2-ss-layer-locked .n2-ss-layer-cc,
1639
+ #n2-ss-0 .n2-ss-slide.n2-ss-slide-active .n2-ss-layer.n2-ss-layer-locked .n2-ss-layer-cc {
1640
+ display: none !important;
1641
+ }
1642
+
1643
+ .n2-ss-item {
1644
+ position: relative;
1645
+ float: left;
1646
+ width: 100%;
1647
+ }
1648
+
1649
+ .n2-ss-item-video,
1650
+ .n2-ss-item-youtube,
1651
+ .n2-ss-item-vimeo,
1652
+ .n2-ss-item-area,
1653
+ .n2-ss-item-imagearea {
1654
+ height: 100%;
1655
+ }
1656
+
1657
+ #smartslider-slide-toolbox-layer {
1658
+ position: relative;
1659
+ }
1660
+
1661
+ #layeritemdraggable {
1662
+ top: 0;
1663
+ left: 0;
1664
+ height: 10px;
1665
+ width: 100%;
1666
+ background: #f04040;
1667
+ cursor: ns-resize;
1668
+ }
1669
+
1670
+ .n2-grid {
1671
+ background: #4affff;
1672
+ position: absolute;
1673
+ left: 0;
1674
+ top: 0;
1675
+ z-index: 1000000;
1676
+ display: none;
1677
+ }
1678
+
1679
+ .n2-grid-h {
1680
+ width: 100%;
1681
+ height: 1px;
1682
+ }
1683
+
1684
+ .n2-grid-v {
1685
+ height: 100%;
1686
+ width: 1px;
1687
+ }
1688
+
1689
+ ul.animation-list {
1690
+ margin: 0;
1691
+ padding: 0;
1692
+ padding-bottom: 20px;
1693
+ }
1694
+
1695
+ ul.animation-list li {
1696
+ margin: 0;
1697
+ padding: 0;
1698
+ background: #eef3f8;
1699
+ }
1700
+
1701
+ ul.animation-list li.sortable-animation {
1702
+ border-bottom: 1px solid #cdd1d6;
1703
+ }
1704
+
1705
+ .n2-ss-layer-solo-mode .n2-ss-layer {
1706
+ opacity: 0.5 !important;
1707
+ }
1708
+
1709
+ .n2-ss-layer-solo-mode .n2-ss-layer-solo {
1710
+ z-index: 100000000 !important;
1711
+ opacity: 1 !important;
1712
+ }
1713
+
1714
+ .n2-panel-titlebar {
1715
+ position: relative;
1716
+
1717
+ line-height: 60px;
1718
+ height: 60px;
1719
+ overflow: hidden;
1720
+ background: #202934;
1721
+
1722
+ font-size: 12px;
1723
+ color: #cbd6df;
1724
+ text-align: center;
1725
+ }
1726
+
1727
+ .n2-panel-titlebar-nav {
1728
+ position: absolute;
1729
+ top: 0;
1730
+ line-height: 30px;
1731
+ height: 30px;
1732
+ padding: 13px 11px;
1733
+ }
1734
+
1735
+ .n2-panel-titlebar-nav-left {
1736
+ left: 0;
1737
+ }
1738
+
1739
+ .n2-panel-titlebar-nav-right {
1740
+ right: 0;
1741
+ }
1742
+
1743
+ .n2-panel-titlebar-nav > * {
1744
+ display: inline-block;
1745
+ width: 20px;
1746
+ height: 30px;
1747
+ line-height: 30px;
1748
+ font-size: 16px;
1749
+ color: #fff;
1750
+ padding: 0;
1751
+ vertical-align: top;
1752
+ }
1753
+
1754
+ .n2-panel-titlebar-nav .n2-i {
1755
+ vertical-align: middle;
1756
+ }
1757
+
1758
+ .n2-panel-titlebar-title {
1759
+ display: block;
1760
+ white-space: nowrap;
1761
+ overflow: hidden;
1762
+ text-overflow: ellipsis;
1763
+ margin: 0 60px 0 60px;
1764
+ text-align: center;
1765
+ }
1766
+
1767
+ .n2-ss-panel-resizer {
1768
+ height: 6px;
1769
+ width: 100%;
1770
+ cursor: ns-resize;
1771
+ text-align: center;
1772
+ color: #95a1ab;
1773
+ bottom: 0px;
1774
+ background: #202934;
1775
+ border-bottom-left-radius: 5px;
1776
+ border-bottom-right-radius: 5px;
1777
+ }
1778
+
1779
+ #n2-ss-slide-sidebar .n2-ss-slide-sidebar-actions {
1780
+ position: absolute;
1781
+ top: 0;
1782
+ left: -35px;
1783
+ width: 32px;
1784
+ }
1785
+
1786
+ #n2-ss-slide-sidebar .n2-ss-slide-sidebar-actions {
1787
+ background-color: #202934;
1788
+ border-radius: 3px;
1789
+ }
1790
+
1791
+ #n2-ss-slide-sidebar .n2-ss-slide-sidebar-actions > .n2-button {
1792
+ width: 32px;
1793
+ height: 32px;
1794
+ line-height: 32px;
1795
+ color: #b0bdc7;
1796
+ }
1797
+
1798
+ #n2-ss-layer-edit-activate-row .n2-ss-layer-row {
1799
+ border-bottom: 0;
1800
+ }
1801
+
1802
+ #n2-ss-layer-edit-activate-row .n2-actions-left {
1803
+ padding: 0;
1804
+ margin: 0;
1805
+
1806
+ }
1807
+
1808
+ body:not(.n2-ss-has-layers) #n2-ss-slide-sidebar,
1809
+ body:not(.n2-ss-layer-edit-visible) #n2-ss-slide-sidebar {
1810
+ display: none;
1811
+ }
1812
+
1813
+ .n2-ss-has-layers.n2-ss-layer-edit-visible.n2-ss-preview-mode #n2-ss-slide-sidebar,
1814
+ .n2-ss-layer-edit-visible.n2-ss-move-layer #n2-ss-slide-sidebar,
1815
+ .n2-ss-layer-edit-visible.n2-ss-resize-layer #n2-ss-slide-sidebar {
1816
+ display: none;
1817
+ }
1818
+
1819
+ #n2-tabbed-slide-editor-settings .n2-tabs,
1820
+ .n2-ss-layers-add {
1821
+ position: relative;
1822
+ overflow-y: auto;
1823
+ overflow-x: hidden;
1824
+ }
1825
+
1826
+ #n2-tabbed-slide-editor-settings span {
1827
+
1828
+ }
1829
+
1830
+ .n2-sidebar {
1831
+ width: 340px;
1832
+ }
1833
+
1834
+ #n2-ss-slide-sidebar {
1835
+ width: 355px;
1836
+ }
1837
+
1838
+ #n2-ss-slide-sidebar .ui-resizable-handle {
1839
+
1840
+ }
1841
+
1842
+ #n2-ss-slide-sidebar table {
1843
+ display: block;
1844
+ }
1845
+
1846
+ #n2-ss-slide-sidebar tbody {
1847
+ display: block;
1848
+ }
1849
+
1850
+ #n2-ss-slide-sidebar tr {
1851
+ display: block;
1852
+ }
1853
+
1854
+ #n2-ss-slide-sidebar td {
1855
+ display: block;
1856
+ width: auto;
1857
+ }
1858
+
1859
+ #n2-ss-slide-sidebar .n2-label {
1860
+ background: #3c4958;
1861
+ border-top: 1px solid #303b47;
1862
+ padding: 3px 10px 0;
1863
+ }
1864
+
1865
+ #n2-ss-slide-sidebar .n2-empty-label {
1866
+ padding: 0;
1867
+ height: 4px;
1868
+ }
1869
+
1870
+ #n2-ss-slide-sidebar .n2-empty-group-label {
1871
+ padding: 0;
1872
+ height: 0;
1873
+ }
1874
+
1875
+ #n2-ss-slide-sidebar .n2-label label {
1876
+ color: #b2bfc9;
1877
+ font-size: 10px;
1878
+ }
1879
+
1880
+ #n2-ss-slide-sidebar .n2-element {
1881
+ background: #3c4958;
1882
+ border-top: 0;
1883
+ padding: 0;
1884
+ }
1885
+
1886
+ /*
1887
+ #n2-ss-slide-sidebar input {
1888
+ max-width: 120px !important;
1889
+ }
1890
+ */
1891
+ #n2-ss-slide-sidebar textarea {
1892
+ max-width: 290px !important;
1893
+ width: 290px !important;
1894
+ }
1895
+
1896
+ #n2-ss-slide-sidebar .n2-form-element-button {
1897
+ max-width: 38px;
1898
+ overflow: hidden;
1899
+ }
1900
+
1901
+ #n2-ss-slide-sidebar .n2-sidebar-row {
1902
+ line-height: 34px;
1903
+ background: #28313a;
1904
+ border-bottom: 1px solid RGBA(0, 0, 0, 0.2);
1905
+ }
1906
+
1907
+ #n2-ss-slide-sidebar .n2-list li {
1908
+ border-bottom: 1px solid RGBA(0, 0, 0, 0.2);
1909
+ }
1910
+
1911
+ #n2-ss-slide-sidebar .n2-button-m {
1912
+ height: 24px;
1913
+ line-height: 24px;
1914
+ }
1915
+
1916
+ #n2-ss-slide-sidebar .n2-sidebar-tab-switcher {
1917
+ border: 0;
1918
+ border-collapse: separate;
1919
+ }
1920
+
1921
+ #n2-ss-slide-sidebar .n2-sidebar-tab-switcher .n2-td {
1922
+ font-size: 11px;
1923
+ line-height: 47px;
1924
+ height: 47px;
1925
+ border: 1px solid #1a2028;
1926
+ border-left: 0;
1927
+ color: #b2bfc9;
1928
+ }
1929
+
1930
+ #n2-ss-slide-sidebar .n2-sidebar-tab-switcher .n2-td .n2-i {
1931
+ font-size: 32px;
1932
+ line-height: 47px;
1933
+ }
1934
+
1935
+ #n2-ss-slide-sidebar .n2-sidebar-tab-switcher .n2-td.n2-active {
1936
+ background: #0c92df;
1937
+ color: #fff;
1938
+ }
1939
+
1940
+ #n2-ss-slide-sidebar .n2-sidebar-tab-switcher .n2-td[data-tab="style"] {
1941
+ display: none;
1942
+ }
1943
+
1944
+ #n2-ss-slide-sidebar.n2-ss-has-design-option .n2-sidebar-tab-switcher .n2-td[data-tab="style"] {
1945
+ display: table-cell;
1946
+ }
1947
+
1948
+ #n2-ss-slide-sidebar .n2-has-underline > .n2-underline::after {
1949
+ display: none;
1950
+ }
1951
+
1952
+ /**
1953
+ WHEN SIDEBAR DETACHED
1954
+ **/
1955
+ .n2-sidebar-hidden .n2-panel-titlebar {
1956
+ line-height: 30px;
1957
+ height: 30px;
1958
+ cursor: move;
1959
+ border-top-left-radius: 5px;
1960
+ border-top-right-radius: 5px;
1961
+ }
1962
+
1963
+ .n2-sidebar-hidden .n2-panel-titlebar-nav {
1964
+ padding: 0 8px;
1965
+ }
1966
+
1967
+ .n2-sidebar-hidden #n2-ss-slide-sidebar {
1968
+ position: fixed;
1969
+ left: 100px;
1970
+ top: 100px;
1971
+ z-index: 100000;
1972
+ }
1973
+
1974
+ .n2-ss-slide-sidebar-crop {
1975
+ width: 100%;
1976
+ height: 100%;
1977
+ border-radius: 3px;
1978
+ box-shadow: 0px 1px 10px RGBA(0, 0, 0, 0.5);
1979
+ overflow: hidden;
1980
+ background: #3c4958;
1981
+ }
1982
+
1983
+ /*
1984
+ .n2-sidebar-hidden #n2-ss-slide-sidebar .n2-tabs > div {
1985
+ overflow-x: hidden;
1986
+ }
1987
+ */
1988
+ .n2-ss-edit-slide-top {
1989
+ background: #fff;
1990
+ border-bottom: 1px solid #ccd1d6;
1991
+ padding: 30px 20px 30px 40px;
1992
+ display: flex;
1993
+ flex-wrap: nowrap;
1994
+ justify-content: space-between;
1995
+ flex-flow: row;
1996
+ }
1997
+
1998
+ .n2-ss-edit-slide-top-thumbnail {
1999
+ width: 200px;
2000
+ height: 135px;
2001
+ cursor: pointer;
2002
+ }
2003
+
2004
+ .n2-ss-edit-slide-top-thumbnail img {
2005
+ width: 200px;
2006
+ height: 135px;
2007
+ border-radius: 5px;
2008
+ }
2009
+
2010
+ .n2-ss-edit-slide-top-actions {
2011
+ width: 180px;
2012
+ text-align: left;
2013
+ vertical-align: middle;
2014
+ flex: 1;
2015
+
2016
+ }
2017
+
2018
+ .n2-ss-edit-slide-top-actions > * {
2019
+ margin: 10px 0;
2020
+ }
2021
+
2022
+ .n2-ss-edit-slide-top-details {
2023
+ flex: 1;
2024
+ align-self: flex-end;
2025
+ padding: 0 20px;
2026
+ }
2027
+
2028
+ .n2-ss-edit-slide-top-details .n2-h1 {
2029
+ color: #606d7b;
2030
+ margin-bottom: 15px;
2031
+ cursor: pointer;
2032
+ line-height: 30px;
2033
+ }
2034
+
2035
+ .n2-ss-edit-slide-top-details .n2-h1:HOVER:after {
2036
+ font-family: 'Nextend' !important;
2037
+ content: "\e94f";
2038
+ font-size: 22px;
2039
+ vertical-align: top;
2040
+ margin: 0 5px;
2041
+ color: #b0b9bf;
2042
+ }
2043
+
2044
+ .n2-ss-edit-slide-top-details .n2-h4 a {
2045
+ color: #7b8898;
2046
+ }
2047
+
2048
+ .n2-ss-edit-slide-top-details .n2-h4 a .n2-i {
2049
+ font-size: 16px;
2050
+ }
2051
+
2052
+ .n2-ss-edit-slide-top-tabs {
2053
+ margin-top: 15px;
2054
+ }
2055
+
2056
+ .n2-ss-edit-slide-top-tabs a {
2057
+ margin: 0;
2058
+ }
2059
+
2060
+ .n2-ss-edit-slide-top-tabs a.n2-active {
2061
+ color: #fff;
2062
+ background-color: #0c92df;
2063
+ border-color: #0c92df;
2064
+ }
2065
+
2066
+ .n2-ss-edit-slide-top-tabs .n2-button {
2067
+ border-radius: 0;
2068
+ border-left: 0px;
2069
+ padding: 0 20px;
2070
+ }
2071
+
2072
+ .n2-ss-edit-slide-top-tabs .n2-button.n2-first {
2073
+ border-top-left-radius: 3px;
2074
+ border-bottom-left-radius: 3px;
2075
+ border-left: 2px solid #e0e6ed;
2076
+ }
2077
+
2078
+ .n2-ss-edit-slide-top-tabs .n2-button.n2-last {
2079
+ border-top-right-radius: 3px;
2080
+ border-bottom-right-radius: 3px;
2081
+ }
2082
+
2083
+ .n2-ss-edit-slide-top-tabs .n2-button.n2-active {
2084
+ background: #0c92df;
2085
+ color: #fff;
2086
+ border-color: #0c92df;
2087
+ }
2088
+
2089
+ .n2-ss-edit-slide-top-tabs .n2-button.n2-active:not(.n2-first) {
2090
+ border-left: 2px solid #0c92df;
2091
+ margin-left: -2px;
2092
+ }
2093
+
2094
+ #n2-form-matrix-slide-settings {
2095
+ margin: 0;
2096
+ border: 0;
2097
+ border-radius: 0;
2098
+ }
2099
+
2100
+ .n2-ss-editor-layer-mode-only,
2101
+ .n2-ss-editor-group-mode-only {
2102
+ display: none !important;
2103
+ }
2104
+
2105
+ .n2-ss-has-layers.n2-ss-editor-mode-LAYER .n2-ss-editor-layer-mode-only,
2106
+ .n2-ss-has-layers.n2-ss-editor-mode-GROUP .n2-ss-editor-group-mode-only {
2107
+ display: inline-block !important;
2108
+ }
2109
+
2110
+ #n2-ss-slide-vertical-bar {
2111
+ background: #212d3a;
2112
+ position: absolute;
2113
+ left: -1px;
2114
+ top: 54px;
2115
+ bottom: -1px;
2116
+ width: 50px;
2117
+ text-align: center;
2118
+ }
2119
+
2120
+ .n2-ss-slide-vertical-bar-inner {
2121
+ position: relative;
2122
+ padding-top: 0.01px;
2123
+ }
2124
+
2125
+ #n2-ss-slide-vertical-bar .n2-ss-slide-vertical-bar-inner > * {
2126
+ margin-top: 10px;
2127
+ color: #80a3b5;
2128
+ }
2129
+
2130
+ #n2-ss-slide-vertical-bar.n2-active .n2-ss-slide-vertical-bar-inner > * {
2131
+ margin-top: 0;
2132
+ }
2133
+
2134
+ #n2-ss-slide-vertical-bar.n2-active {
2135
+ width: 341px;
2136
+ z-index: 2;
2137
+ }
2138
+
2139
+ #n2-ss-slide-vertical-bar.n2-active .n2-ss-add-layer-button {
2140
+ margin: 0;
2141
+ background: transparent;
2142
+ position: absolute;
2143
+ top: 16px;
2144
+ right: 5px;
2145
+ }
2146
+
2147
+ #n2-ss-slide-vertical-bar.n2-active .n2-ss-add-layer-button .n2-i:before {
2148
+ content: "\e90a";
2149
+ color: #b2bfc9;
2150
+ }
2151
+
2152
+ #n2-ss-slide-vertical-bar.n2-active .n2-ss-slide-vertical-bar-inner > a {
2153
+ display: none;
2154
+ }
2155
+
2156
+ #n2-ss-slide-vertical-bar.n2-active .n2-ss-slide-vertical-bar-inner {
2157
+ width: 341px !important;
2158
+ }
2159
+
2160
+ #n2-ss-slide-vertical-bar.n2-active .n2-ss-available-layers {
2161
+ display: block;
2162
+ }
2163
+
2164
+ .n2-ss-available-layers .n2-sidebar-tab-switcher {
2165
+ border: 0;
2166
+ }
2167
+
2168
+ .n2-ss-available-layers-container {
2169
+ width: 300px;
2170
+ margin: 0 auto;
2171
+ padding: 10px 0;
2172
+ }
2173
+
2174
+ .n2-ss-slide-item-group {
2175
+ color: #b2bfc9;
2176
+ padding: 4px 5px 1px;
2177
+ }
2178
+
2179
+ #smartslider-adjust-height {
2180
+ position: relative;
2181
+ z-index: 1;
2182
+ overflow: hidden;
2183
+ border-bottom: 1px solid #ccd1d6;
2184
+ background-color: #e9edf0;
2185
+ margin-left: 49px;
2186
+ border-top: 1px solid #ccd1d6;
2187
+ }
2188
+
2189
+ .n2-ss-slider-real-container {
2190
+ position: relative;
2191
+ }
2192
+
2193
+ .n2-ss-slider-outer-container {
2194
+ position: relative;
2195
+ float: left;
2196
+ }
2197
+
2198
+ .n2-ss-slider-container {
2199
+ padding-bottom: 99px;
2200
+ float: left;
2201
+ margin: 10px;
2202
+ }
2203
+
2204
+ .n2-ss-has-ruler .n2-ss-slider-container {
2205
+ margin: 40px 0 0 40px;
2206
+ }
2207
+
2208
+ /*
2209
+ .n2-ss-slides-outer-container-visible .n2-ss-edit-slide-top,
2210
+ .n2-ss-slides-outer-container-visible #smartslider-form,
2211
+ .n2-ss-slides-outer-container-visible #n2-ss-layers,
2212
+ .n2-ss-slides-outer-container-visible #n2-ss-slide-sidebar,
2213
+ .n2-ss-slides-outer-container-visible .n2-sidebar,
2214
+ .n2-ss-slides-outer-container-visible #n2-tab-smartslider-editor,
2215
+ .n2-ss-slides-outer-container-visible #n2-ss-undo,
2216
+ .n2-ss-slides-outer-container-visible #n2-ss-redo,
2217
+ .n2-ss-slides-outer-container-visible .n2-ss-device-zoomer,
2218
+ .n2-ss-slides-outer-container-visible .n2-top-bar-actions {
2219
+ display: none !important;
2220
+ }
2221
+ */
2222
+ .n2-ss-layer-status {
2223
+ display: inline-block;
2224
+ position: relative;
2225
+ margin: 0 3px;
2226
+ }
2227
+
2228
+ .n2-ss-layer-status > a .n2-i,
2229
+ .n2-ss-layer-status > a:HOVER .n2-i {
2230
+ color: #b2bfc9;
2231
+ }
2232
+
2233
+ div.n2-ss-layer-status a.n2-ss-sc-hide {
2234
+
2235
+ }
2236
+
2237
+ .n2-ss-layer-status-hidden .n2-ss-layer-status .n2-ss-sc-hide .n2-i:before {
2238
+ content: "\e923";
2239
+ }
2240
+
2241
+ /*
2242
+ .n2-ss-layer-status-locked .n2-ss-layer-status .n2-ss-sc-bulk .n2-i:before {
2243
+ content: "\e609";
2244
+ }
2245
+
2246
+ .n2-ss-layer-row.n2-selected .n2-ss-layer-status .n2-ss-sc-bulk .n2-i:before {
2247
+ content: "\e90b";
2248
+ }
2249
+ */
2250
+ .n2-ss-layer-list-top-bar .n2-h2 {
2251
+ display: inline-block;
2252
+ line-height: 28px;
2253
+ color: #fff;
2254
+ padding: 0 5px;
2255
+ }
2256
+
2257
+ .n2-ss-layer-list-opener {
2258
+ width: 28px;
2259
+ display: inline-block;
2260
+ padding: 0;
2261
+ vertical-align: top;
2262
+ margin: 0 5px;
2263
+ }
2264
+
2265
+ #n2-ss-layers.n2-active .n2-ss-layer-list-opener > .n2-i:before {
2266
+ content: "\e92c";
2267
+ }
2268
+
2269
+ .n2-ss-layer-list-group-opener.n2-closed .n2-i:before {
2270
+ content: "\e921";
2271
+ }
2272
+
2273
+ #n2-ss-layers {
2274
+ position: fixed;
2275
+ bottom: 0;
2276
+ width: 340px;
2277
+ margin: 0 -1px;
2278
+ z-index: 1;
2279
+ height: 48px;
2280
+ user-select: none;
2281
+ -o-user-select: none;
2282
+ -moz-user-select: none;
2283
+ -khtml-user-select: none;
2284
+ -webkit-user-select: none;
2285
+ display: none;
2286
+ background-color: #28313a;
2287
+ z-index: 10000;
2288
+ }
2289
+
2290
+ #n2-ss-layers.n2-active {
2291
+ height: 100px;
2292
+ }
2293
+
2294
+ #n2-ss-layers:not(.n2-active) {
2295
+ width: 50px !important;
2296
+ }
2297
+
2298
+ #n2-ss-layers:not(.n2-active) .n2-ss-layers-sidebar {
2299
+ width: 50px;
2300
+ }
2301
+
2302
+ #n2-ss-layers:not(.n2-active) .n2-ss-layer-list-layers-top-bar > div {
2303
+ display: none !important;
2304
+ }
2305
+
2306
+ .n2-ss-has-layers #n2-ss-layers {
2307
+ display: block;
2308
+ }
2309
+
2310
+ #n2-ss-layers-table .n2-td {
2311
+ position: relative;
2312
+ vertical-align: top;
2313
+ }
2314
+
2315
+ #n2-ss-layers-table .n2-ss-layers-sidebar {
2316
+ width: 340px;
2317
+ }
2318
+
2319
+ .n2-ss-layer-list-top-bar {
2320
+ position: relative;
2321
+ padding: 10px 5px 9px 5px;
2322
+ height: 28px;
2323
+ background-color: #212d3a;
2324
+ border-bottom: 1px solid #20282f;
2325
+ }
2326
+
2327
+ #n2-ss-layers.n2-active .n2-ss-layer-list-layers-top-bar {
2328
+ cursor: n-resize;
2329
+ }
2330
+
2331
+ .n2-ss-editor-mode-LAYER .n2-ss-select-layer-mode #n2-ss-layers.n2-active .n2-ss-layer-list-layers-top-bar {
2332
+ display: none;
2333
+ }
2334
+
2335
+ .n2-ss-layer-list-bulk-top-bar {
2336
+ display: none;
2337
+ }
2338
+
2339
+ .n2-ss-editor-mode-LAYER .n2-ss-select-layer-mode #n2-ss-layers.n2-active .n2-ss-layer-list-bulk-top-bar {
2340
+ display: block;
2341
+ }
2342
+
2343
+ #n2-ss-layers.n2-active .n2-ss-layer-list-layers-top-bar {
2344
+ cursor: ns-resize;
2345
+ }
2346
+
2347
+ .n2-ss-layer-list-top-bar .n2-form-element-text {
2348
+ margin: 0;
2349
+ }
2350
+
2351
+ .n2-ss-layers-sidebar-rows {
2352
+ position: relative;
2353
+ height: 100%;
2354
+ overflow-x: hidden;
2355
+ overflow-y: visible;
2356
+ }
2357
+
2358
+ #n2-ss-layers .n2-form-element-text {
2359
+ margin: 0 10px;
2360
+ line-height: 2px;
2361
+ }
2362
+
2363
+ #n2-ss-layers .n2-text-sub-label {
2364
+ width: 30px;
2365
+ text-align: center;
2366
+ overflow: hidden;
2367
+ }
2368
+
2369
+ .n2-i-desktopPortrait:before {
2370
+ content: '\e926';
2371
+ }
2372
+
2373
+ .n2-i-desktopLandscape:before {
2374
+ content: '\e925';
2375
+ }
2376
+
2377
+ .n2-i-tabletPortrait:before {
2378
+ content: '\e928';
2379
+ }
2380
+
2381
+ .n2-i-tabletLandscape:before {
2382
+ content: '\e927';
2383
+ }
2384
+
2385
+ .n2-i-mobilePortrait:before {
2386
+ content: '\e92a';
2387
+ }
2388
+
2389
+ .n2-i-mobileLandscape:before {
2390
+ content: '\e929';
2391
+ }
2392
+
2393
+ #n2-ss-slide-sidebar .ui-autocomplete {
2394
+
2395
+ padding: 0;
2396
+ max-height: 200px;
2397
+ overflow-y: auto;
2398
+ overflow-x: hidden;
2399
+ }
2400
+
2401
+ #n2-ss-slide-sidebar .n2-form-element-autocomplete .ui-autocomplete .ui-menu-item {
2402
+ padding-right: 20px;
2403
+ }
2404
+
2405
+ /*
2406
+ .n2-ss-layer-menu {
2407
+ display: none;
2408
+ width: 160px;
2409
+ margin-left: -80px;
2410
+ height: 46px;
2411
+ position: absolute;
2412
+ left: 0;
2413
+ top: 0;
2414
+ z-index: 100000;
2415
+ white-space: nowrap;
2416
+ text-align: center;
2417
+ }
2418
+
2419
+ .n2-ss-layer-menu.n2-active {
2420
+ display: block;
2421
+ }
2422
+
2423
+ .n2-ss-resize-layer .n2-ss-layer-menu.n2-active,
2424
+ .n2-ss-move-layer .n2-ss-layer-menu.n2-active {
2425
+ display: none;
2426
+ }
2427
+
2428
+ .n2-ss-layer-menu a {
2429
+ font-size: 16px;
2430
+ line-height: 40px;
2431
+ text-decoration: none;
2432
+ padding: 0 12px;
2433
+ height: 40px;
2434
+ display: inline-block;
2435
+ background: RGBA(32, 41, 52, 0.95);
2436
+ }
2437
+
2438
+ .n2-ss-layer-menu a.n2-first {
2439
+ border-top-left-radius: 50px;
2440
+ border-bottom-left-radius: 50px;
2441
+ }
2442
+
2443
+ .n2-ss-layer-menu a.n2-last {
2444
+ border-top-right-radius: 50px;
2445
+ border-bottom-right-radius: 50px;
2446
+ }
2447
+
2448
+ .n2-ss-layer-menu a > * {
2449
+ vertical-align: middle;
2450
+ }
2451
+ */
2452
+ input#presets {
2453
+ max-width: none !important;
2454
+ width: 150px;
2455
+ }
2456
+
2457
+ #n2-tab-basiccsspreset {
2458
+ /*position: sticky;
2459
+ top: 0;*/
2460
+ background-color: #3c4958;
2461
+ /*border-bottom: 1px solid #28313a;*/
2462
+ z-index: 3;
2463
+ }
2464
+
2465
+ #n2-tab-basiccsspreset > .n2-h2 {
2466
+ margin-bottom: 0;
2467
+ }
2468
+
2469
+ .n2-basiccss-show-preset-list .n2-editor-header .n2-ss-button-container > .n2-basiccss-choose {
2470
+ display: none;
2471
+
2472
+ }
2473
+
2474
+ .n2-editor-header .n2-ss-button-container > .n2-basiccss-back {
2475
+ display: none;
2476
+ }
2477
+
2478
+ .n2-basiccss-show-preset-list .n2-editor-header .n2-ss-button-container > .n2-basiccss-back {
2479
+ display: inline-block;
2480
+ }
2481
+
2482
+ .n2-ss-layer-list-bulk-top-bar {
2483
+ text-align: right;
2484
+ color: #fff;
2485
+ vertical-align: top;
2486
+ padding: 10px 15px 9px 15px;
2487
+ }
2488
+
2489
+ .n2-ss-layer-list-bulk-top-bar .n2-button {
2490
+ vertical-align: middle;
2491
+ }
2492
+
2493
+ .n2-ss-layer-list-bulk-top-bar .n2-button + .n2-button {
2494
+ margin: 0 0 0 5px;
2495
+ }
2496
+
2497
+ html[dir="rtl"] .n2-ss-layer-list-top-bar .n2-button + .n2-button {
2498
+ margin: 0 5px 0 0;
2499
+ }
2500
+
2501
+ .n2-ss-layer-list-top-bar .n2-ss-layer-list-topbar-control {
2502
+ position: absolute;
2503
+ top: 10px;
2504
+ right: 5px;
2505
+ margin: 0 10px;
2506
+ }
2507
+
2508
+ html[dir="rtl"] .n2-ss-layer-list-top-bar .n2-ss-layer-list-topbar-control {
2509
+ right: auto;
2510
+ left: 5px;
2511
+ }
2512
+
2513
+ .n2-ss-layer-list-top-bar .n2-ss-layer-list-topbar-control .n2-button {
2514
+ margin: 0 0 0 5px;
2515
+ }
2516
+
2517
+ html[dir="rtl"] .n2-ss-layer-list-top-bar .n2-ss-layer-list-topbar-control .n2-button {
2518
+ margin: 0 5px 0 0;
2519
+ }
2520
+
2521
+ .n2-ss-layer-list-topbar-control {
2522
+ text-align: right;
2523
+ color: #fff;
2524
+ padding: 0 10px;
2525
+ vertical-align: top;
2526
+ }
2527
+
2528
+ #n2-ss-layers .n2-ss-layer-list-topbar-control {
2529
+ padding: 0;
2530
+ }
2531
+
2532
+ .n2-ss-layer-list-topbar-control .n2-button {
2533
+ padding: 0;
2534
+ width: 28px;
2535
+ font-size: 16px;
2536
+ vertical-align: middle;
2537
+ }
2538
+
2539
+ .n2-ss-layer-list-topbar-control .n2-button i {
2540
+ line-height: inherit;
2541
+ }
2542
+
2543
+ .n2-play.n2-active i:before {
2544
+ content: "\e607";
2545
+ }
2546
+
2547
+ .n2-ss-preview-modal .n2-modal-window {
2548
+ background-color: #e9edf0;
2549
+ }
2550
+
2551
+ #n2-tabbed-animations-tabbed > .n2-table {
2552
+ border-spacing: 8px;
2553
+ border-collapse: separate;
2554
+ background: #28313a;
2555
+ border-bottom: 1px solid #20282f;
2556
+ }
2557
+
2558
+ #n2-tabbed-animations-tabbed .n2-sidebar-tab-switcher .n2-td {
2559
+ line-height: 28px;
2560
+ height: 28px;
2561
+ border: 0px;
2562
+ border-radius: 50px;
2563
+ }
2564
+
2565
+ #n2-tabbed-animations-tabbed .n2-editor-header.n2-h2 {
2566
+ background: #303b47;
2567
+ border-bottom: 1px solid #28313a;
2568
+ position: relative;
2569
+ }
2570
+
2571
+ .n2-ss-small-more {
2572
+ float: right;
2573
+ margin: -38px 20px 0;
2574
+ }
2575
+
2576
+ .n2-button-single-animation-play.n2-active .n2-i:before {
2577
+ content: '\e607';
2578
+ }
2579
+
2580
+ div#n2-ss-0 .n2-ss-layer-chain-parent {
2581
+ position: absolute;
2582
+ z-index: 10;
2583
+ right: 10px;
2584
+ top: 10px;
2585
+ line-height: 18px;
2586
+ font-size: 12px;
2587
+ width: 18px;
2588
+ display: none;
2589
+ }
2590
+
2591
+ .n2-ss-layer-edit-visible .n2-ss-mode-desktopPortrait #n2-tab-smartslider-editor:HOVER .n2-ss-layer.n2-active.n2-ss-layer-has-parent .n2-ss-layer-chain-parent,
2592
+ .n2-ss-mode-desktopPortrait #n2-tab-smartslider-editor:HOVER .n2-ss-layer.n2-active.n2-ss-layer-has-parent:HOVER .n2-ss-layer-chain-parent {
2593
+ display: inline-block;
2594
+ }
2595
+
2596
+ .n2-ss-background-type-image .n2-ss-background-video-param {
2597
+ display: none;
2598
+ }
2599
+
2600
+ .n2-ss-background-type-color .n2-ss-background-video-param,
2601
+ .n2-ss-background-type-color .n2-ss-background-image-param {
2602
+ display: none;
2603
+ }
2604
+
2605
+ .n2-ss-background-type-gradient .n2-ss-background-video-param,
2606
+ .n2-ss-background-type-gradient .n2-ss-background-image-param {
2607
+ display: none;
2608
+ }
2609
+
2610
+ #n2-tab-animations-events td.n2-label {
2611
+ padding: 0;
2612
+ }
2613
+
2614
+ #n2-tab-animations-events td.n2-element {
2615
+ padding: 6px 0;
2616
+ }
2617
+
2618
+ #n2-ss-slide-sidebar .n2-ss-generator-param {
2619
+ display: none;
2620
+ }
2621
+
2622
+ .n2-ss-dynamic-slide #n2-ss-slide-sidebar .n2-ss-generator-param {
2623
+ display: block;
2624
+ }
2625
+
2626
+ #n2-admin.n2-ss-mode-desktopPortrait .n2-ss-responsive-helper {
2627
+ display: none;
2628
+ }
2629
+
2630
+ .n2-ss-editor-window-notice {
2631
+ padding: 8px 10px;
2632
+ line-height: 18px;
2633
+ background: #6b7986;
2634
+ color: #fff;
2635
+ }
2636
+
2637
+ .n2-ss-editor-window-notice a {
2638
+ color: #ffb527;
2639
+ }
2640
+
2641
+ #n2-ss-slide-edit-slides {
2642
+ display: none;
2643
+ border-bottom: 1px solid #e0e6ed;
2644
+ }
2645
+
2646
+ .n2-ss-show-slides #n2-ss-slide-edit-slides {
2647
+ display: block;
2648
+ }
2649
+
2650
+ .n2-ss-show-slides a.n2-ss-back-slides,
2651
+ .n2-ss-show-slides a.n2-ss-back-slides:before {
2652
+ color: #fff;
2653
+ }
2654
+
2655
+ .n2-ss-scrollbar-wrapper {
2656
+ background-color: #212d3a;
2657
+ padding: 4px;
2658
+ height: 8px;
2659
+ z-index: 10;
2660
+ }
2661
+
2662
+ .n2-scroll-disable .n2-ss-scrollbar-wrapper {
2663
+ visibility: hidden;
2664
+ height: 0;
2665
+ padding: 0;
2666
+ }
2667
+
2668
+ .n2-ss-scrollbar-wrapper .track {
2669
+ position: relative;
2670
+ height: 8px;
2671
+ }
2672
+
2673
+ .n2-ss-scrollbar-wrapper .thumb {
2674
+ position: absolute;
2675
+ top: 0;
2676
+ background-color: #49586a;
2677
+ height: 8px;
2678
+ cursor: default;
2679
+ width: 20px;
2680
+ z-index: 2;
2681
+ border: 0;
2682
+ -webkit-border-radius: 5px;
2683
+ -moz-border-radius: 5px;
2684
+ border-radius: 5px;
2685
+ }
2686
+
2687
+ .n2-ss-scrollbar-wrapper.n2-ss-scrollbar-light {
2688
+ background-color: #b9c3c9;
2689
+ }
2690
+
2691
+ .n2-ss-scrollbar-wrapper.n2-ss-scrollbar-light .thumb {
2692
+ background-color: #ffffff;
2693
+ }
2694
+
2695
+ #n2-ss-zoom {
2696
+ width: 280px;
2697
+ text-align: center;
2698
+ vertical-align: middle;
2699
+ }
2700
+
2701
+ #n2-ss-zoom .n2-ss-slider-zoom-container {
2702
+ position: relative;
2703
+ display: inline-block;
2704
+ vertical-align: middle;
2705
+ width: 150px;
2706
+ height: 34px;
2707
+ padding: 0 23px;
2708
+ }
2709
+
2710
+ #n2-ss-zoom .n2-ss-slider-zoom-container > .n2-i {
2711
+ position: absolute;
2712
+ top: 9px;
2713
+ color: #6b7986;
2714
+ font-size: 16px;
2715
+ cursor: pointer;
2716
+ }
2717
+
2718
+ #n2-ss-zoom .n2-ss-slider-zoom-container .n2-i-minus {
2719
+ left: -18px;
2720
+ }
2721
+
2722
+ #n2-ss-zoom .n2-ss-slider-zoom-container .n2-i-plus {
2723
+ right: -18px;
2724
+ }
2725
+
2726
+ .n2-ss-slider-zoom-bg {
2727
+ position: absolute;
2728
+ left: 0;
2729
+ top: 50%;
2730
+ margin-top: -3px;
2731
+ width: 100%;
2732
+ background: #505c69;
2733
+ height: 6px;
2734
+ border-radius: 3px;
2735
+ }
2736
+
2737
+ #n2-ss-slider-zoom {
2738
+ height: 100%;
2739
+ position: relative;
2740
+ margin: 0;
2741
+ background: transparent;
2742
+ border:none;
2743
+ border-radius: 0;
2744
+ }
2745
+
2746
+ #n2-ss-slider-zoom .ui-slider-range {
2747
+ display: none;
2748
+ }
2749
+
2750
+ #n2-ss-slider-zoom .ui-slider-handle {
2751
+ position: absolute;
2752
+ top: 50%;
2753
+ display: block;
2754
+ width: 47px;
2755
+ height: 22px;
2756
+ margin-top: -11px;
2757
+ margin-left: -23px;
2758
+ background-color: #e6eaee;
2759
+ background: #e6eaee;
2760
+ border:none;
2761
+ border-radius: 3px;
2762
+ z-index: 2;
2763
+ color: #7b8898;
2764
+ font-size: 10px;
2765
+ text-align: center;
2766
+ line-height: 22px;
2767
+ cursor: pointer;
2768
+ }
2769
+
2770
+ .n2-ss-slider-zoom-1 {
2771
+ position: absolute;
2772
+ left: 50%;
2773
+ top: 0;
2774
+ margin-left: -1.5px;
2775
+ width: 3px;
2776
+ height: 100%;
2777
+ background-color: #6b7986;
2778
+ }
2779
+
2780
+ #n2-ss-lock {
2781
+ display: inline-block;
2782
+ position: absolute;
2783
+ right: -36px;
2784
+ top: 9px;
2785
+ cursor: pointer;
2786
+ line-height: 16px;
2787
+ }
2788
+
2789
+ #n2-ss-lock .n2-i {
2790
+ color: #6b7986;
2791
+ font-size: 16px;
2792
+ }
2793
+
2794
+ #n2-ss-lock.n2-active .n2-i:before {
2795
+ content: "\e609";
2796
+ }
2797
+
2798
+ .n2-ss-device-zoomer {
2799
+ min-width: 280px;
2800
+ }
2801
+
2802
+ .n2-ss-device-zoomer #n2-ss-zoom {
2803
+ padding: 10px 0;
2804
+ background: #212d3a;
2805
+ margin: 0 auto;
2806
+ display: none;
2807
+ border-bottom-left-radius: 3px;
2808
+ border-bottom-right-radius: 3px;
2809
+ }
2810
+
2811
+ .n2-ss-device-zoomer:HOVER #n2-ss-zoom {
2812
+ display: block;
2813
+ }
2814
+
2815
+ .n2-ss-device-zoomer .n2-ss-slider-zoom-bg,
2816
+ .n2-ss-device-zoomer .n2-ss-slider-zoom-1 {
2817
+ background-color: #374d64;
2818
+ }
2819
+
2820
+ .n2-ss-device-zoomer #n2-ss-zoom .n2-ss-slider-zoom-container > .n2-i,
2821
+ .n2-ss-device-zoomer #n2-ss-zoom #n2-ss-lock > .n2-i {
2822
+ color: #4e667f;
2823
+ }
2824
+
2825
+ .n2-ss-device-zoomer #n2-ss-slider-zoom .ui-slider-handle {
2826
+ background-color: #526a80;
2827
+ color: #fff;
2828
+ }
2829
+
2830
+ #n2-ss-devices {
2831
+ height: 60px;
2832
+ }
2833
+
2834
+ #n2-ss-devices.n2-ss-devices-compact > .n2-controls-panel {
2835
+ width: 260px;
2836
+ }
2837
+
2838
+ #n2-ss-devices .n2-table {
2839
+ font-size: 32px;
2840
+ color: #80a3b5;
2841
+ margin: 0 auto;
2842
+ }
2843
+
2844
+ .n2-lb-header #n2-ss-devices .n2-table {
2845
+ color: #a4b0b7;
2846
+ }
2847
+
2848
+ html[dir="rtl"] #n2-ss-devices .n2-table {
2849
+ float: left;
2850
+ }
2851
+
2852
+ #n2-ss-devices .n2-td {
2853
+ height: 60px;
2854
+ vertical-align: middle;
2855
+ text-align: center;
2856
+ }
2857
+
2858
+ #n2-ss-devices .n2-td {
2859
+ padding: 0 15px;
2860
+ cursor: pointer;
2861
+ }
2862
+
2863
+ #n2-ss-devices .n2-td.n2-active {
2864
+ cursor: default;
2865
+ color: #0c92df;
2866
+ }
2867
+
2868
+ .n2-i-devices:before {
2869
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATEAAAAeCAMAAABzNtkNAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACdlBMVEUAAAChrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrWhrrUZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrUZmeOhrrUZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrUZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrUZmeOhrrUZmeMAAAA99lBfAAAA0XRSTlMAJ6DHzCgytbY2MLMnoMfMKDK1tjYws5+ytLGfsrSxxh0ixh0il5qXmgY7a5SvvspsB2aHBjtrlK++ymwHZod+wiN+wiMSgbh6SiYQAnl9DBKBuHpKJhACeX0MNbmdQwQzNbmdQwQzRrtLAUa7SwHIpRWkyKUVpJgKUqLDnk2YClKiw55Nhq2KhIatioTLLlgOT8suWA5PcH9ZX3B/WV+sJcQqrqwlxCquKSmjXqNeV1eRiZGJCQmIiLq6AzQDNIK3SYK3SSQkCG2hCG2hsLA3NxRx1r0AAAABYktHRACIBR1IAAAACXBIWXMAAAsSAAALEgHS3X78AAAE0UlEQVRo3s2a+18UVRTAN/eYJLmHJCAjS4pehG4vQrcHhq0bCrFu6BKkRmq+JSNTpBQpVlnjEY+wtAglFIjeWmCWZb7t8Se109z57Mzcc+eBLrPnl7nn3DOP8/3MvXPPueNyWZSbprhBKO4pU9W+N0+jnFJuIS47PVXrlDrd6gPp5NYZHhSKZ0aa2ve2mZRT+u3EZTMytU6ZGZafKAsMJUvtewftk0Jcdpbe6c4JEstGQ8lW+95F+6QTl52td7rb8hO5wagX7tFopC9pBZijVnPA8DYG4kGjXrxXo5G+pBXxPrWai4a3MY9X0BvT7te/Ow+IiNm5jRETtN4b0x7UvzsPiYiJ9YfzHsmfO8/rnTc3/9G8x6jQHhcNySd4YryTiBjnJ5AnC54qnL/A51swv/Dpgmeo0J4VDcnneGK8k4gY58ckp2ih+rEXFj3PExPPYhQx4vTrIJZbvEj92IuKX+CJiWcxihhxug1i/sVegMCLJUuWlpYuXVJSFgDwvlRuKWSqyxYxY12W4DIfYujliuUrwuEVyysqQ4i+V6oshUx12SJG6tWvAqxctTpuX71qJcC015KFWM3riGvWrosb1q1dgzjzDceIrXfDho2btD2bNm4A9/rkILbZg1u2btPatm3dgp7NDhGrroU3t/O+298Cd3UyEKupw7d38GfueAc9NY4Q8wdg5y5ZLa3f3dDw7nvsddu1EwJ+54kFQ7hnr9wMN+5ranr/A/a67d2DoaATxJohwub40v3y1+oAQ1YegWbnibVglM3x4YPy1+pDhqwqii0OEMtp9bYxrR7c7R0d7W74iBnavK05ThPL7fR1sWYjerp7ero9+DEzdPk6cyefWC8cUrQs+EQ6fBpPEhdDr9PEDuMRpZmNn0mHz+NJ4jI8PPnE+uALReuHDunQAf2K5Sgcc5rYAH6pNAexRzr04KBiOY4nJp9YBI6KiQ05TyyKx8XEhp0g1gtFijYij8qv4qPyUDKMymKlOSqPyq/jo/KIE6MyNvMPMe0bZeavZ4ah5Jj5h1nzW2Xmb2SGYUdm/tjqok9ZXXwnry6+L5X18r7kWF0MKKuLH+TVxY9hWa8acGR18f8K9iRD1j7S37+7ngE7ya9gE1G7MCMmrWBPMWTdo4OD+xoZsFP8CjYRtQtCj2VJI1SWNAK12ixpvwjYT4nOkkapLGkU67RZ0kERsJ8TkImPlegz8ZIxLhM3kERn4uMV+ky8YpzLxA3khld7xqRqz+m4/bRU7Un5xSwUQ2I3sAZbMy5Ve87EDWekak/6r0ahmRK7vhqs/7dYRfFsGaso/l52FqC1SFtRtLkz0mw2cu0QcwX/iFUUz1WyiuKflecQO4u1FUWbOyMtZiPXhJjLdV5ftT6vO9XO7putvSQLTjG5oK9aX9A52Nl9s7WXJNYv5l3Kj0g7I5H8S3kXuVOnXq4V86q9rNnhVYVNN3nXhgZjYi7XlYKrhVFpZyRaeLXgCteddq1OzKvuWpogbLrJuzY1GcE2FTkscXAJIWZD5LDEwSU1MTMrgF+t+iebmJkVMahWgxMhZmGv7C967KYSrql6p4n+RaCKkZqnNfI3PXYzCddMvZP1vwjsEGs7RgGbRf2p8k9AB2yif6rYIdZ1ggI2m/pT5d+QDljGf3zSNGZGqKPpAAAAAElFTkSuQmCC");
2870
+ }
2871
+
2872
+ .n2-i-devices-all:before {
2873
+ background-position: 0 0;
2874
+ }
2875
+
2876
+ .n2-i-devices-desktop:before {
2877
+ background-position: -40px 0;
2878
+ }
2879
+
2880
+ .n2-i-devices-tablet:before {
2881
+ background-position: -80px 0;
2882
+ }
2883
+
2884
+ .n2-i-devices-phone:before {
2885
+ background-position: -120px 0;
2886
+ }
2887
+
2888
+ .n2-active > .n2-i-devices-all:before {
2889
+ background-position: -160px 0;
2890
+ }
2891
+
2892
+ .n2-active > .n2-i-devices-desktop:before {
2893
+ background-position: -200px 0;
2894
+ }
2895
+
2896
+ .n2-active > .n2-i-devices-tablet:before {
2897
+ background-position: -240px 0;
2898
+ }
2899
+
2900
+ .n2-active > .n2-i-devices-phone:before {
2901
+ background-position: -280px 0;
2902
+ }
2903
+
2904
+ .n2-generator-insert-variable .n2-variable-container {
2905
+ height: 90px;
2906
+ overflow: auto;
2907
+ }
2908
+
2909
+ .n2-generator-insert-variable .n2-group-container {
2910
+ height: 40px;
2911
+ overflow: auto;
2912
+ }
2913
+
2914
+ .n2-generator-insert-variable .n2-variable-container .n2-button,
2915
+ .n2-generator-insert-variable .n2-group-container .n2-button {
2916
+ margin: 3px;
2917
+ }
2918
+
2919
+ .n2-generator-insert-variable .n2-variable-container .n2-button.n2-active,
2920
+ .n2-generator-insert-variable .n2-group-container .n2-button.n2-active {
2921
+ background: #0c92df;
2922
+ }
2923
+
2924
+ .n2-generator-result-container {
2925
+ height: 100px;
2926
+ overflow: auto;
2927
+ margin: 0 3px;
2928
+ }
2929
+
2930
+ .n2-ss-layer-picker {
2931
+ background: #6b7986;
2932
+ color: #fff;
2933
+ font-size: 16px;
2934
+ height: 28px;
2935
+ line-height: 28px;
2936
+ padding: 0;
2937
+ text-align: center;
2938
+ width: 28px;
2939
+ border-radius: 3px;
2940
+ margin: 0 10px;
2941
+ margin-bottom: 10px;
2942
+ cursor: pointer;
2943
+ }
2944
+
2945
+ .n2-ss-layer-picker.n2-active {
2946
+ background: #0c92df;
2947
+ }
2948
+
2949
+ #n2-ss-control-line #n2-ss-layer-parent-linker.n2-under-pick,
2950
+ .n2-ss-layer-picker.n2-under-pick {
2951
+ background-color: #51b82d;
2952
+ }
2953
+
2954
+ #n2-ss-layer-parent-linker.n2-under-pick .n2-i-layerlink:before,
2955
+ .n2-ss-layer-picker.n2-under-pick .n2-i-layerlink:before {
2956
+ content: "\e64b";
2957
+ }
2958
+
2959
+ .n2-ss-picker-overlay,
2960
+ .n2-ss-picker-overlay-tile {
2961
+ position: absolute;
2962
+ left: 0;
2963
+ top: 0;
2964
+ background: RGBA(25, 153, 227, 0.8);
2965
+ cursor: pointer;
2966
+ width: 100%;
2967
+ height: 100%;
2968
+ z-index: 1000000;
2969
+ box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.4);
2970
+ }
2971
+
2972
+ .n2-ss-picker-overlay-tile {
2973
+ width: 33%;
2974
+ height: 33%;
2975
+ }
2976
+
2977
+ .n2-ss-picker-overlay:HOVER,
2978
+ .n2-ss-picker-overlay-tile:HOVER {
2979
+ background: RGBA(42, 52, 63, 0.9);
2980
+ }
2981
+
2982
+ .n2-ss-picker-overlay-tile.n2-active,
2983
+ .n2-ss-picker-overlay-tile.n2-active:HOVER {
2984
+ background: RGBA(0, 52, 63, 0.9);
2985
+ }
2986
+
2987
+ #n2-ss-control-line #n2-ss-layer-parent-linker {
2988
+ display: none;
2989
+ }
2990
+
2991
+ .n2-ss-has-layers .n2-ss-mode-desktopPortrait #n2-ss-control-line #n2-ss-layer-parent-linker {
2992
+ display: inline-block;
2993
+ }
2994
+
2995
+ .n2-ruler-container {
2996
+ position: absolute;
2997
+ left: 0;
2998
+ top: 0;
2999
+ height: 100%;
3000
+ width: 100%;
3001
+ visibility: hidden;
3002
+ z-index: 10;
3003
+ }
3004
+
3005
+ .n2-ruler-container > * {
3006
+ visibility: visible;
3007
+ }
3008
+
3009
+ .n2-ruler {
3010
+ position: absolute;
3011
+ top: 0;
3012
+ left: 0;
3013
+ box-sizing: border-box;
3014
+ white-space: nowrap;
3015
+ }
3016
+
3017
+ .n2-ruler > span {
3018
+ position: relative;
3019
+ display: none;
3020
+ vertical-align: top;
3021
+ }
3022
+
3023
+ .n2-ss-has-ruler .n2-ruler > span {
3024
+ display: inline-block;
3025
+ }
3026
+
3027
+ .n2-ruler > span span {
3028
+ position: absolute;
3029
+ display: block;
3030
+ font-size: 10px;
3031
+ color: #7b8898;
3032
+ line-height: 10px;
3033
+ }
3034
+
3035
+ .n2-ruler-guide {
3036
+ display: none;
3037
+ position: absolute;
3038
+ left: 0;
3039
+ top: 0;
3040
+ z-index: 2;
3041
+ }
3042
+
3043
+ .n2-ss-show-guides .n2-ruler-guide {
3044
+ display: block;
3045
+ }
3046
+
3047
+ .n2-ruler-guide .n2-ruler-guide-handle {
3048
+ position: absolute;
3049
+ background: #e6b625;
3050
+ left: 0;
3051
+ top: 0;
3052
+ width: 9px;
3053
+ height: 9px;
3054
+ cursor: pointer;
3055
+ font-family: 'Nextend' !important;
3056
+ font-size: 9px;
3057
+ color: #fff;
3058
+ line-height: 9px;
3059
+ text-align: center;
3060
+ }
3061
+
3062
+ .n2-ruler-guide .n2-ruler-guide-handle:before {
3063
+ content: "\e90a";
3064
+ }
3065
+
3066
+ .n2-ruler-horizontal {
3067
+ padding-left: 1px;
3068
+ height: 0;
3069
+ width: 100%;
3070
+ }
3071
+
3072
+ .n2-ss-has-ruler .n2-ruler-horizontal {
3073
+ height: 39px;
3074
+ }
3075
+
3076
+ .n2-ruler-horizontal > span.n2-ss-ruler-mark-large {
3077
+ height: 20px;
3078
+ }
3079
+
3080
+ .n2-ruler-horizontal > span.n2-ss-ruler-mark-medium {
3081
+ height: 10px;
3082
+ }
3083
+
3084
+ .n2-ruler-horizontal > span {
3085
+ width: 9px;
3086
+ height: 5px;
3087
+ border-right: 1px solid #bcc4c8;
3088
+ }
3089
+
3090
+ .n2-ruler-horizontal span span {
3091
+ left: 12px;
3092
+ top: 10px;
3093
+ }
3094
+
3095
+ .n2-ruler-vertical .n2-ruler-guide {
3096
+ height: 0;
3097
+ width: 3000px;
3098
+ }
3099
+
3100
+ .n2-ss-lock-guides .n2-ruler-vertical .n2-ruler-guide {
3101
+ cursor: default;
3102
+ }
3103
+
3104
+ .n2-ruler-vertical .n2-ruler-guide .n2-ruler-guide-border {
3105
+ border-bottom: 1px solid #ccaa2b;
3106
+ width: 100%;
3107
+
3108
+ }
3109
+
3110
+ .n2-ruler-vertical .n2-ruler-guide-handle {
3111
+ top: -4px;
3112
+ }
3113
+
3114
+ .n2-ruler-vertical {
3115
+ padding-top: 1px;
3116
+ width: 0px;
3117
+ height: 100%;
3118
+ background: #e9edf0;
3119
+ z-index: 5;
3120
+ }
3121
+
3122
+ .n2-ss-has-ruler .n2-ruler-vertical {
3123
+ width: 40px;
3124
+ }
3125
+
3126
+ .n2-ruler-vertical > span.n2-ss-ruler-mark-large {
3127
+ width: 20px;
3128
+ }
3129
+
3130
+ .n2-ruler-vertical > span.n2-ss-ruler-mark-medium {
3131
+ width: 10px;
3132
+ }
3133
+
3134
+ .n2-ruler-vertical > span {
3135
+ display: none;
3136
+ width: 5px;
3137
+ height: 9px;
3138
+ border-bottom: 1px solid #bcc4c8;
3139
+ }
3140
+
3141
+ .n2-ss-has-ruler .n2-ruler-vertical > span {
3142
+ display: block;
3143
+ }
3144
+
3145
+ .n2-ruler-vertical span span {
3146
+ left: 8px;
3147
+ top: 12px;
3148
+ }
3149
+
3150
+ .n2-ruler-horizontal .n2-ruler-guide {
3151
+ width: 0px;
3152
+ height: 1600px;
3153
+ }
3154
+
3155
+ .n2-ss-lock-guides .n2-ruler-horizontal .n2-ruler-guide {
3156
+ cursor: default;
3157
+ }
3158
+
3159
+ .n2-ruler-horizontal .n2-ruler-guide .n2-ruler-guide-border {
3160
+ border-right: 1px solid #ccaa2b;
3161
+ height: 100%;
3162
+ }
3163
+
3164
+ .n2-ruler-horizontal .n2-ruler-guide-handle {
3165
+ left: -4px;
3166
+ }
3167
+
3168
+ .n2-ruler-guide-handle {
3169
+ display: none;
3170
+ }
3171
+
3172
+ .n2-ss-has-ruler .n2-ruler-guide-handle {
3173
+ display: block;
3174
+ }
library/media/admin/dist/smartslider-backend.min.css ADDED
@@ -0,0 +1 @@
 
1
+ #html-body header,.adminhtml-smartslider3-index #footer,.adminhtml-smartslider3-index .footer,.smartslider3-index-index footer{display:none}#html-body #anchor-content{padding-top:30px}.unselectable{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;user-select:none}.n2-definition-list dt.n2-ss-slider-ordering{color:#fff;background-color:#212d3a;border:0}.n2-definition-list dt.n2-ss-slider-ordering>div{padding:0 30px}.n2-definition-list .n2-ss-slider-ordering .n2-button{min-width:28px;line-height:28px;height:28px;margin-left:10px;background-color:#54667b;color:#fff}.n2-definition-list .n2-ss-slider-ordering .n2-button.n2-active{background:#0c92df}.n2-definition-list dt.n2-ss-slider-ordering .n2-actions{background-color:#212d3a;padding-top:16px}.n2-definition-list .n2-ss-slider-ordering>.n2-actions a{display:inline-block;padding:0}.n2-definition-list .n2-ss-slider-ordering>.n2-actions .n2-i{vertical-align:top}.n2-ss-slide2-list li .n2-actions .n2-i-delete,.n2-ss-slide2-list li .n2-actions .n2-i-duplicate,.n2-ss-slide2-list li .n2-actions .n2-i-star{visibility:hidden}.n2-ss-slide2-list li .n2-actions .n2-i-star.n2-active,.n2-ss-slide2-list li:HOVER .n2-actions .n2-i-delete,.n2-ss-slide2-list li:HOVER .n2-actions .n2-i-duplicate,.n2-ss-slide2-list li:HOVER .n2-actions .n2-i-star{visibility:visible}.n2-lightbox-sidebar-list{overflow-y:auto}#n2-tab-widgets{border-bottom:0;margin-bottom:1000px}.n2-i-edit.n2-active{color:#0c92df}.n2-ss-live-preview span{text-decoration:line-through;vertical-align:middle}.n2-ss-live-preview .n2-button,.n2-widget-area{vertical-align:middle;margin:0 20px}.n2-ss-live-preview.n2-active span{text-decoration:none}.n2-ss-live-preview.n2-active .n2-button{display:none}.n2-widget-area{display:inline-block;width:80px;height:80px;position:relative;margin:0 10px}.n2-form .n2-widget-area{margin-bottom:10px}.n2-widget-area-inner{position:absolute;top:14px;left:14px;width:46px;height:46px;border:3px solid #bbc3cc;border-radius:3px}.n2-widget-area .n2-area{position:absolute;background-color:#a1aeb5;border-radius:2px;cursor:pointer;width:10px;height:10px;left:0;top:0}.n2-widget-area .n2-area.n2-active{background-color:#0c92df;cursor:default}.n2-widget-area .n2-area-1{left:35px}.n2-widget-area .n2-area-2{left:21px;top:21px}.n2-widget-area .n2-area-3{left:35px;top:21px}.n2-widget-area .n2-area-4{left:49px;top:21px}.n2-widget-area .n2-area-5{top:35px}.n2-widget-area .n2-area-6{left:21px;top:35px}.n2-widget-area .n2-area-7{left:49px;top:35px}.n2-widget-area .n2-area-8{left:70px;top:35px}.n2-widget-area .n2-area-9{left:21px;top:49px}.n2-widget-area .n2-area-10{left:35px;top:49px}.n2-widget-area .n2-area-11{left:49px;top:49px}.n2-widget-area .n2-area-12{left:35px;top:70px}.n2-ss-slider-publish{border-collapse:collapse;overflow:hidden}.n2-ss-slider-publish .n2-td{text-align:center;border-right:1px solid #ccd1d6;color:#6b7989;padding:48px 0 0}.n2-ss-slider-publish .n2-td .n2-h2 a{color:#6b7989}.n2-ss-slider-publish .n2-td.n2-last{border-right:0}.n2-ss-slider-publish div.n2-h2{line-height:30px;font-size:18px}.n2-ss-slider-publish div.n2-h4{line-height:26px}.n2-ss-slider-publish .n2-code{display:inline-block;padding:16px 30px;line-height:20px;border-radius:3px;background-color:#f5e293;text-align:left;margin:17px 0;color:#6f653f;font-size:12px;border:0}.n2-ss-slider-publish img{margin-top:17px;margin-bottom:-10px}.n2-ss-generator-modal .n2-modal-content h3{text-align:left}.n2-generator-records td div{max-height:100px;overflow:hidden;padding:10px;margin:-10px}.n2-generator-records td:HOVER div{overflow-y:auto;overflow-x:visible}#n2-admin[data-slider-type=block] .n2-fm-arrow,#n2-admin[data-slider-type=block] .n2-fm-autoplay,#n2-admin[data-slider-type=block] .n2-fm-bar,#n2-admin[data-slider-type=block] .n2-fm-bullet,#n2-admin[data-slider-type=block] .n2-fm-indicator,#n2-admin[data-slider-type=block] .n2-fm-slides,#n2-admin[data-slider-type=block] .n2-fm-thumbnail{display:none}.n2-ss-container-device{position:relative;background-color:#fff;border:1px solid #ccd1d6;border-width:0 1px;margin:40px auto 0}.n2-modal.n2-ss-go-pro .n2-modal-window{text-align:center;line-height:2}.n2-modal.n2-ss-go-pro .n2-ss-rate{margin:50px -20px 0;background:url(../images/free/rate.png);height:90px;line-height:90px;color:#fff}.n2-modal.n2-ss-go-pro .n2-ss-rate .n2-h3{display:inline-block;margin-right:30px}.n2-modal.n2-ss-go-pro .n2-modal-controls{margin-bottom:40px}.n2-ss-create-slider-free-sample{float:left;height:70px;width:170px;cursor:pointer}.n2-ss-create-slider-free-sample:HOVER{background-position:0 -80px}.n2-ss-modal-subscribe>.n2-modal-window{text-align:center}.n2-ss-modal-subscribe .n2-form{margin:0 -20px}.n2-ss-modal-subscribe .n2-h3{margin:0 auto;width:95%;text-align:center;line-height:2}.n2-ss-preview-subscribe .n2-input-button{display:inline-block}.n2-input-button,.n2-ss-modal-subscribe .n2-input-button{display:inline-block;margin-top:20px}.n2-input-button>*,.n2-ss-modal-subscribe .n2-input-button>*,.n2-ss-preview-subscribe .n2-input-button>*{display:inline-block;white-space:nowrap}.n2-input-button input,.n2-input-button input:focus,.n2-ss-modal-subscribe input,.n2-ss-modal-subscribe input:focus,.n2-ss-preview-subscribe input,.n2-ss-preview-subscribe input:focus{margin:0 auto;width:250px;height:36px;border:2px solid #b9c3c9;border-right:0;border-top-left-radius:3px;border-bottom-left-radius:3px;overflow:hidden;padding:0 10px;line-height:36px;box-shadow:none;color:#7b8898;font-size:12px;background:#fff}.n2-input-button .n2-button,.n2-ss-modal-subscribe .n2-input-button .n2-button,.n2-ss-preview-subscribe .n2-input-button .n2-button{border-top-left-radius:0;border-bottom-left-radius:0}.n2-ss-preview-subscribe{position:fixed;left:50%;margin-left:-500px;bottom:-100px;transition:bottom .5s ease;background:url(../images/free/subscribepreview.png);width:1000px;height:90px;z-index:1000}.n2-ss-preview-subscribe.n2-active{bottom:10px}.n2-ss-preview-subscribe-close{position:absolute;top:-12px;right:-12px;width:24px;height:24px;cursor:pointer;background:url(../images/free/close.png) no-repeat center center}.n2-ss-preview-subscribe .n2-input-button{position:absolute;right:20px;top:0;margin-top:28px}.n2-ss-slider-edit>.n2-form>.n2-form-tab{margin:20px 0 0;border-radius:0;border:0}.n2-ss-slider-edit>.n2-form>.n2-form-tab .n2-form-matrix-views{border-radius:0}.n2-box-add-license.n2-ss-license-has-active-key,.n2-box-license-activated.n2-ss-license-no-active-key{display:none}#n2-ss-slider-container,#n2-ss-slides{position:relative;padding:25px}.n2-ss-sliders .n2-box-new-slider>a:before{content:"\e952"}.n2-ss-sliders .n2-box-template-library>a:before{content:"\e951"}.n2-box-up-group>a:before{content:"\e958"}.n2-box-insert-group>a:before{content:"\e959"}.n2-ss-sliders-header>*{margin:0 10px}html[data-sliders='0'] .n2-ss-sliders-header{visibility:hidden}.n2-ss-box-slider{cursor:pointer}#n2-ss-slider-container[data-groupid="0"] .n2-ss-remove-from-group,.n2-ss-box-slider-group .n2-ss-add-to-group,.n2-ss-box-slider-group .n2-ss-remove-from-group,.n2-ss-slider-over-group .n2-box-sortable-placeholder,html[data-slides='0'] .n2-ss-slider-edit{display:none}.n2-ss-slides-outer-container{display:block}.n2-modal-window .n2-ss-slides-outer-container{height:100%;overflow:auto}.n2-ss-slides-container{position:relative;margin:0 -10px}.n2-slide-first.n2-i{line-height:16px}.n2-slide-first.n2-i,.n2-slide-published{font-size:16px;padding:3px}.n2-i-unpublished{color:#c54633}.n2-slide-state-published .n2-i-unpublished{color:#6fbc49}.n2-slide-state-published .n2-i-unpublished:before{content:"\e60c"}.n2-box.n2-first-slide:HOVER .n2-slide-first,.n2-slide-first,.n2-slide-is-first{display:none}.n2-first-slide .n2-slide-is-first{display:inline-block}.n2-slide-duplicate{margin-right:5px}.n2-slide-delete,.n2-slide-duplicate,.n2-slide-selected{padding:0;width:24px}#n2-ss-slides .n2-box.n2-ss-slide-active{box-shadow:0 0 0 3px #0c92df}#n2-ss-slides .n2-box-slide-dummy{background:#e9edf0;border:2px dashed #b2bfc9;box-sizing:border-box;background-image:url(../images/dummy-slide.png);background-repeat:no-repeat;background-position:center 36px;color:#7b8898;font-size:14px;text-align:center;line-height:200px}#n2-ss-slides .n2-box-slide-drag-images{background:url(../images/drag.png) no-repeat center 4px;text-align:center;color:#7b8898;box-sizing:border-box;padding:90px 60px 0;line-height:12px}html:not([data-slides='0']) #n2-ss-slides .n2-box-dummy,html:not([data-slides='0']) #n2-ss-slides-container .n2-box-slide-drag-images,html:not([data-slides='0']) #n2-ss-slides-container .n2-box-slide-dummy{display:none}.n2-ss-slides-control{position:relative;padding:22px 10px;border-bottom:1px solid RGBA(0,0,0,.3)}.n2-ss-slides-control .n2-button{margin:0 10px}.n2-slides-add{vertical-align:bottom;margin:-2px}#n2-ss-slides .n2-box-slide-drag-upload{display:none;position:absolute;z-index:101;left:0;top:0;width:100%;height:100%;background-color:rgba(32,41,52,.9);border:0;right:0;bottom:0;margin:0;vertical-align:bottom;line-height:130px;text-align:center;color:#fff}#n2-ss-slides .n2-drag-over .n2-box-slide-drag-upload{display:block}.n2-box-slide .n2-button.n2-sidebar-list-bg:HOVER{background-color:#0c92df}.n2-ss-quick-slides-edit-modal .n2-modal-content table{border-spacing:10px;border-collapse:separate;margin:10px auto}.n2-ss-quick-slides-edit-modal .n2-modal-content table td{padding:0}.n2-ss-quick-slides-edit-modal .n2-modal-content .n2-mixed-label{margin-top:0;margin-bottom:3px}.n2-ss-quick-slides-edit-modal .n2-modal-content .n2-mixed-label label{font-size:11px}.n2-slide-state-first .n2-ss-setFirst,.n2-slide-state-published .n2-ss-publish,.n2-ss-generator,.n2-ss-unpublish{display:none}.n2-slide-state-has-generator .n2-ss-generator,.n2-slide-state-published .n2-ss-unpublish{display:block}.n2-box-slide .n2-i-star{display:none}.n2-box-slide.n2-slide-state-first .n2-i-star{display:inline;color:#e19f21;font-size:16px}#n2-ss-slides .n2-box:HOVER img{opacity:.1}.n2-ss-slides-header{position:relative;z-index:9;color:#6b7989;margin-top:-10px;visibility:hidden}.n2-ss-has-box-selection .n2-ss-slides-header{visibility:visible}.n2-ss-slides-header .n2-button-menu-open .n2-button-menu{right:-90px}#n2-ss-slides .n2-box-slide-add{display:inline-block;color:#b2bfc9;background:0 0;text-align:center;z-index:5}#n2-ss-slides .n2-box-slide-add>.n2-add-quick-image{width:100%;height:135px;padding:0}#n2-ss-slides .n2-box-slide-add>.n2-add-quick-image:before{display:block;font-family:'Nextend'!important;font-size:48px;line-height:68px;content:"\e91c";margin-top:20px}#n2-ss-slides .n2-box-slide-add .n2-button-menu-open{position:absolute;right:5px;top:5px;width:28px;height:28px;line-height:28px;background:#3e9021;border-radius:3px;cursor:pointer}#n2-ss-slides .n2-box-slide-add .n2-button-menu-open .n2-i:before{content:"\e911";color:#fff;font-size:16px;line-height:28px}.n2-add-quick-image{width:123px}.n2-button-menu-inner .n2-add-quick-image{width:auto}.n2-ss-slides-header>*{vertical-align:middle;display:inline-block}.n2-ss-slides-header .n2-h5,.n2-ss-slides-header .n2-h5 a{margin-right:10px;color:#6b7986}.n2-ss-slides-header .n2-h5 .n2-i{font-size:16px}.n2-top-bar-menu .n2-ss-back-dashboard:before{content:"\e94a"}.n2-top-bar-menu .n2-ss-back-slider:before{content:"\e94b"}.n2-top-bar-menu .n2-ss-back-slides:before{content:"\e91a"}.n2-top-bar-menu>#n2-ss-preview:before{content:"\e92d"}.n2-ss-block-slides-notice{display:none;color:#7b8898}html:not([data-slides='0']):not([data-slides='1']) #n2-admin[data-slider-type=block] .n2-ss-block-slides-notice{display:block}html[data-slides='0'] .n2-ss-create-static-slide{display:none}.n2-ss-core-item,.n2-ss-layers-add{text-align:center}.n2-ss-core-item{display:inline-block;margin:5px;background-color:#6b7986;color:#fff;line-height:20px;cursor:pointer;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:90px;height:80px}.n2-ss-core-item div:before{font-family:'Nextend';font-size:32px;content:"\e943";display:block;line-height:32px;margin-top:20px}.n2-ss-core-item[data-item=heading] div:before{content:"\e945"}.n2-ss-core-item[data-item=text] div:before{content:"\e944"}.n2-ss-core-item[data-item=button] div:before{content:"\e942"}.n2-ss-core-item[data-item=imagearea] div:before{content:"\e950"}.n2-ss-core-item[data-item=icon] div:before{content:"\e941"}.n2-ss-core-item[data-item=input] div:before{content:"\e939"}.n2-ss-core-item[data-item=iframe] div:before{content:"\e938"}.n2-ss-core-item[data-item=area] div:before{content:"\e937"}.n2-ss-core-item[data-item=list] div:before{content:"\e93e"}.n2-ss-core-item[data-item=caption] div:before{content:"\e940"}.n2-ss-core-item[data-item=transition] div:before{content:"\e93f"}.n2-ss-core-item[data-item=youtube] div:before{content:"\e93d"}.n2-ss-core-item[data-item=vimeo] div:before{content:"\e93c"}.n2-ss-core-item[data-item=video] div:before{content:"\e93b"}.n2-ss-core-item[data-item=html] div:before{content:"\e93a"}#n2-ss-layers .sortable-placeholder{border:0;position:relative;height:0;overflow:visible;z-index:1001}#n2-ss-layers .sortable-placeholder div{position:absolute;left:0;top:-1px;width:100%;height:0;border-bottom:1px solid RGBA(254,254,254,.8);box-shadow:0 0 3px 0 RGBA(254,254,254,.8)}#n2-ss-layers .ui-sortable-helper{opacity:.5}.n2-list .n2-ss-layer-group-row{border-bottom:0}.n2-ss-layer-group-row>.n2-ss-layer-title{border-bottom:1px solid RGBA(0,0,0,.2)}.n2-list .n2-ss-layer-row.n2-active,.n2-list .n2-ss-layer-row.n2-selected{background:#1681c1}.n2-ss-layer-group-row ul.n2-list{min-height:10px}.n2-ss-layer-title{display:block;line-height:39px;position:relative;cursor:pointer;overflow:hidden}.n2-ss-layer-title span{margin:0 30px;display:block;width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.n2-ss-layer-group-row>.n2-ss-layer-title span,.n2-ss-layer-row .n2-inline-form{margin:0 30px}.n2-ss-layer-group-row ul .n2-ss-layer-title span{margin:0 40px}.n2-ss-layer-row .n2-inline-form input{background:#3c4958 0 0;color:#b2bfc9;font-size:11px;border:2px solid #28313a;line-height:24px;padding:0 10px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.n2-ss-layer-row .n2-inline-form input:focus{box-shadow:none}.n2-ss-layer-title .n2-actions{position:absolute;top:0;right:0;padding:0 6px;cursor:default;opacity:.2}.n2-ss-layer-title:HOVER .n2-actions{opacity:1}.n2-ss-layer-title .n2-actions-left{position:absolute;top:0;left:0;padding:5px 0;cursor:default;line-height:24px}html[dir=rtl] .n2-ss-layer-title .n2-actions-left{padding:0 16px 0 0}.n2-ss-layer-row.n2-active>.n2-ss-layer-title,.n2-ss-layer-row.n2-active>.n2-ss-layer-title .n2-actions .n2-i,.n2-ss-layer-row.n2-active>.n2-ss-layer-title .n2-actions-left .n2-i,.n2-ss-layer-row.n2-selected .n2-ss-layer-title,.n2-ss-layer-row.n2-selected .n2-ss-layer-title .n2-actions .n2-i,.n2-ss-layer-row.n2-selected .n2-ss-layer-title .n2-actions-left .n2-i,.n2-ss-theme-dark .n2-ruler>span span{color:#fff}.n2-ss-layer-title .n2-actions a,.n2-ss-layer-title .n2-actions-left a{display:inline-block;padding:0}.n2-ss-animation-title .n2-actions-left i,.n2-ss-layer-title .n2-actions-left i{padding:0 2px;vertical-align:middle}.n2-ss-layer-title .n2-i-order{cursor:move}.n2-ss-animation-row{list-style:none;color:#b2bfc9}.n2-ss-animation-title{position:relative;line-height:39px;background-color:#303b47;cursor:pointer;text-transform:capitalize}.n2-ss-animation-title span{padding:0 40px}.n2-ss-animation-title .n2-actions{position:absolute;right:0;top:0;cursor:default;padding:0 6px}.n2-ss-animation-title .n2-actions a,.n2-ss-animation-title .n2-actions-left a{display:inline-block;height:100%}.n2-ss-animation-title .n2-actions-left{position:absolute;top:0;left:0;padding:0 16px;cursor:default;font-size:16px;line-height:38px}.smartslider-advanced-layer-mode-active #layersanditems li.layer-orderable.item-active.active .layerTitle{border-left:5px solid #eef3f8}#layeritemeditorpanel,#smartslider-slide-toolbox-layer .n2-sidebar-pane-sizer{visibility:hidden}#layeritemeditorpanel>.n2-form{margin-bottom:0}#layeritemeditorpanel .n2-form-element-radio .n2-radio-option{margin:5px}#layer-animation-chain-in,#layer-animation-chain-out{position:relative}#layer-animation-chain-in .sortable-placeholder,#layer-animation-chain-loop .sortable-placeholder,#layer-animation-chain-out .sortable-placeholder{background-color:#212d3a;border-bottom:1px solid #343f4c;border-width:0 0 1px}#layer-animation-chain-in .n2-td,#layer-animation-chain-loop .n2-td,#layer-animation-chain-out .n2-td{vertical-align:middle}#n2-tab-smartslider-editor{background-color:#fff;margin:-21px 0 0;border-width:1px 0 0;padding-bottom:400px;padding-bottom:40vh;position:relative}.n2-ss-theme-dark #smartslider-adjust-height,.n2-ss-theme-dark .n2-ruler-vertical{background-color:#28313a}#n2-tab-smartslider-editor .n2-heading-controls{z-index:9;padding:0;min-height:0;border:0;height:0;background:#4d5d70}.n2-ss-slider-visible #n2-tab-smartslider-editor .n2-heading-controls{height:auto}#n2-tab-smartslider-editor.n2-scroll-disable .n2-heading-controls{height:54px;border-bottom:0}.n2-ss-preview-mode .n2-main-top-bar{opacity:0}#n2-ss-control-line{position:relative;height:28px;white-space:nowrap;z-index:1000;padding:13px 10px;line-height:28px}#n2-ss-control-line>*{line-height:28px;height:28px;vertical-align:top}#n2-ss-control-line .n2-ss-tool{margin:0 5px;display:inline-block;vertical-align:top!important}#n2-ss-control-line .n2-ss-tool.n2-form-element-text{height:24px;line-height:24px;position:relative}#n2-ss-control-line .n2-text-sub-label{font-size:16px}#n2-ss-slide-canvas-settings{display:inline-block;position:relative}#n2-ss-slide-canvas-settings>.n2-button{width:28px;padding:0;text-align:center}#n2-ss-slide-canvas-settings.n2-active>.n2-button{background-color:#0c92df;border-color:#0c92df}#n2-ss-slide-canvas-settings .n2-ss-settings-panel{position:absolute;left:0;top:28px}#n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner{margin-top:6px;min-width:180px;box-shadow:0 0 5px 0 RGBA(0,0,0,.3);background-color:#fff;border-radius:3px}#n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner>*{display:block;line-height:32px;margin:0 10px;position:relative;text-align:left}#n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner a{color:#7b8898}#n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-panel-action{color:#0c92df}#n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-setting-tick{display:block;position:absolute;right:0;top:8px;border-radius:3px;border:2px solid #8793a2;width:12px;height:12px}#n2-ss-layer-show-on,#n2-ss-slide-canvas-settings.n2-active .n2-ss-settings-panel{display:inline-block}#n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-setting-enabled .n2-setting-tick{border-color:#1999e3;background-color:#1999e3}#n2-ss-slide-canvas-settings .n2-ss-settings-panel,#n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-setting-tick .n2-i,.n2-ss-preview-mode .n2-ss-layer.n2-highlight .ui-item-overlay{display:none}#n2-ss-slide-canvas-settings .n2-ss-settings-panel-inner .n2-setting-enabled .n2-i{display:inline-block;color:#fff;font-size:16px;line-height:12px;margin:0 -2px}#n2-ss-control-line .n2-button-grey{background-color:#a1aeb5}#n2-ss-control-line .n2-radio-option{background-color:#a1aeb5;border-left:1px solid #8c99a1}#n2-ss-control-line .n2-radio-option.n2-first{border-left-width:0}#n2-ss-control-line .n2-radio-option.n2-active{background-color:#0c92df;border-color:#0c92df}#n2-ss-control-line .n2-radio-option.n2-sub-active{background-color:#51b82d;border-color:#51b82d}#n2-ss-control-line .n2-ss-tool.n2-button{height:28px;line-height:28px;background-color:#a1aeb5}#n2-ss-control-line .n2-ss-tool.n2-button-icon{padding:0;width:28px}#n2-ss-control-line .n2-ss-tool.n2-button.n2-active{background-color:#0c92df}#n2-ss-control-line .n2-ss-tool.n2-button.n2-sub-active{background-color:#51b82d}#n2-ss-control-line .ui-autocomplete{max-width:100%}.n2-ss-addlayer .n2-ss-available-layers{display:none;box-sizing:border-box;white-space:normal;text-align:left}#n2-ss-control-line #n2-ss-theme.n2-active,#n2-ss-layer-parent-linker,#n2-ss-theme{width:28px;height:28px;line-height:28px;padding:0;background-color:#a1aeb5}#n2-ss-theme.n2-active .n2-i:before{content:"\e64c"}.ui-item-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%}.n2-ss-layer.n2-highlight .ui-item-overlay,.n2-ss-select-layer-mode .n2-ss-layer-selected .ui-item-overlay{display:block;background-color:RGBA(0,132,255,.4)}.n2-ss-item-html .ui-item-overlay,.n2-ss-item-iframe .ui-item-overlay{display:block}.n2-ss-layer .n2-ss-layer-cc,.n2-ss-layer .ui-resizable-ne,.n2-ss-layer .ui-resizable-nw,.n2-ss-layer .ui-resizable-se,.n2-ss-layer .ui-resizable-sw{opacity:0}.n2-ss-layer .ui-resizable-ne:HOVER,.n2-ss-layer .ui-resizable-nw:HOVER,.n2-ss-layer .ui-resizable-se:HOVER,.n2-ss-layer .ui-resizable-sw:HOVER,.n2-ss-layer-cc:HOVER,.ui-resizable-e:HOVER,.ui-resizable-n:HOVER,.ui-resizable-s:HOVER,.ui-resizable-w:HOVER{opacity:1}.n2-ss-layer[data-align=center][data-valign=bottom] .ui-resizable-s,.n2-ss-layer[data-align=center][data-valign=middle] .n2-ss-layer-cc,.n2-ss-layer[data-align=center][data-valign=top] .ui-resizable-n,.n2-ss-layer[data-align=left][data-valign=bottom] .ui-resizable-sw,.n2-ss-layer[data-align=left][data-valign=middle] .ui-resizable-w,.n2-ss-layer[data-align=left][data-valign=top] .ui-resizable-nw,.n2-ss-layer[data-align=right][data-valign=bottom] .ui-resizable-se,.n2-ss-layer[data-align=right][data-valign=middle] .ui-resizable-e,.n2-ss-layer[data-align=right][data-valign=top] .ui-resizable-ne{background:#0c92df;opacity:1;border:1px solid #fff}.n2-ss-layer-cc{position:absolute;font-size:.1px;display:block;z-index:92}.n2-ss-layer .n2-ss-layer-cc,.n2-ss-layer .ui-resizable-handle{background-image:none;border:1px solid #0c92df;height:7px;width:7px;background:#fff}.n2-ss-layer .ui-resizable-n{left:50%;top:-4px;margin-left:-4px}.n2-ss-layer .ui-resizable-e{right:-4px;top:50%;margin-top:-4px}.n2-ss-layer .ui-resizable-s{bottom:-4px;left:50%;margin-left:-4px}.n2-ss-layer .ui-resizable-w{left:-4px;top:50%;margin-top:-4px}.n2-ss-layer .ui-resizable-ne{right:-4px;top:-4px}.n2-ss-layer .ui-resizable-se{right:-4px;bottom:-4px}.n2-ss-layer .ui-resizable-sw{left:-4px;bottom:-4px}.n2-ss-layer .ui-resizable-nw{left:-4px;top:-4px}.n2-ss-layer .n2-ss-layer-cc{left:50%;top:50%;margin-top:-4px;margin-left:-4px}.n2-ss-layer-quick-panel{position:absolute;z-index:1000;width:72px;height:28px;margin:-6px 0 0 -34px;padding:5px}.n2-ss-layer-quick-panel .n2-ss-layer-quick-panel-option{display:inline-block;cursor:pointer;width:26px;height:26px;border-radius:3px;background:RGBA(43,52,63,.9);text-align:center;font-size:16px!important;line-height:26px!important;color:#fff;margin:1px;vertical-align:top}.n2-ss-layer-quick-panel .n2-ss-layer-quick-panel-option-center{width:14px;overflow:hidden}.n2-ss-layer.n2-ss-picking-on-layer{z-index:1000000!important}.n2-ss-position-display{display:none;position:absolute;border-radius:3px;z-index:10000;line-height:16px;padding:4px 6px;color:#fff;font-size:10px;background:RGBA(32,41,52,.95)}.n2-ss-position-display.n2-active{display:block}.n2-ss-layer-border{display:none;position:absolute;left:0;top:0;right:0;bottom:0;border:1px solid #0c92df;box-sizing:border-box}.n2-ss-layer-edit-visible #n2-tab-smartslider-editor:HOVER .n2-ss-layer.n2-active .n2-ss-layer-border,.n2-ss-move-layer div#n2-ss-0 .n2-ss-layer .n2-ss-layer-border,.n2-ss-resize-layer div#n2-ss-0 .n2-ss-layer .n2-ss-layer-border,div#n2-ss-0 .n2-ss-layer:HOVER .n2-ss-layer-border{display:block}.n2-ss-layer .n2-ss-layer-cc,.n2-ss-layer .ui-resizable-handle,.n2-ss-layer .ui-rotatable-handle{display:none!important}.n2-ss-layer-edit-visible #n2-ss-0:HOVER .n2-ss-layer.n2-active .ui-rotatable-handle,.n2-ss-layer-edit-visible #n2-tab-smartslider-editor:HOVER .n2-ss-layer.n2-active .n2-ss-layer-cc,.n2-ss-layer-edit-visible #n2-tab-smartslider-editor:HOVER .n2-ss-layer.n2-active .ui-resizable-handle,.n2-ss-layer.n2-active:HOVER .n2-ss-layer-cc,.n2-ss-layer.n2-active:HOVER .ui-resizable-handle,.n2-ss-resize-layer .n2-ss-layer.n2-active .ui-resizable-handle,.n2-ss-resize-layer .n2-ss-layer.n2-active .ui-rotatable-handle{display:block!important}.n2-ss-animation-play-single #n2-ss-0 .n2-ss-layer .n2-ss-layer-border,.n2-ss-animation-play-single #n2-ss-0 .n2-ss-layer .n2-ss-layer-cc,.n2-ss-animation-play-single #n2-ss-0 .n2-ss-layer .ui-resizable-handle,.n2-ss-move-layer .n2-ss-layer.n2-active:HOVER .n2-ss-layer-cc,.n2-ss-move-layer .n2-ss-layer.n2-active:HOVER .ui-resizable-handle,.n2-ss-move-layer .n2-ss-layer.n2-active:HOVER .ui-rotatable-handle{display:none!important}.n2-ss-layer-edit-visible #n2-ss-0:HOVER .n2-ss-layer.n2-active{overflow:visible!important}#n2-ss-0 .n2-ss-slide-border{display:none;position:absolute;background:#a1aeb5;width:1px;height:1px}#n2-ss-0:HOVER .n2-ss-slide-border,div#n2-ss-0:HOVER .n2-ss-static-slide.n2-ss-currently-edited-slide{display:block}div#n2-ss-0:HOVER .n2-ss-static-slide{display:none}.n2-ss-select-layer-mode #n2-ss-0 .n2-ss-layer-selected .n2-ss-layer-cc,.n2-ss-select-layer-mode #n2-ss-0 .n2-ss-layer-selected .ui-resizable-handle,.n2-ss-select-layer-mode #n2-ss-0 .n2-ss-layer-selected .ui-rotatable-handle{display:none!important}.n2-ss-layer-group-row li.n2-ss-layer-row{background:#28313a}.n2-ss-select-layer-mode-group .n2-list li.n2-ss-layer-row.n2-active.n2-selected{color:#b2bfc9}#n2-ss-0 .n2-ss-slide-border-left{left:0;top:0;height:100%}#n2-ss-0 .n2-ss-slide-border-right{right:0;top:0;height:100%}#n2-ss-0 .n2-ss-slide-border-top{left:0;top:0;width:100%}#n2-ss-0 .n2-ss-slide-border-bottom{left:0;bottom:0;width:100%}#n2-ss-0 .n2-ss-layer{cursor:not-allowed}#n2-ss-0 .n2-ss-currently-edited-slide .n2-ss-layer{cursor:move;background:RGBA(0,0,0,0)}#n2-ss-0 .n2-ss-slide.n2-ss-slide-active .n2-ss-layer.n2-ss-layer-locked,#n2-ss-0 .n2-ss-static-slide .n2-ss-layer.n2-ss-layer-locked{cursor:auto}.n2-ss-preview-mode #n2-ss-0 .n2-ss-layer{cursor:default}#n2-ss-0 .n2-ss-slide.n2-ss-slide-active .n2-ss-layer.n2-ss-layer-locked .n2-ss-layer-cc,#n2-ss-0 .n2-ss-static-slide .n2-ss-layer.n2-ss-layer-locked .n2-ss-layer-cc,.n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .n2-ss-layer-border,.n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .n2-ss-layer-cc,.n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .n2-ss-layer-chain-parent,.n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .ui-resizable-handle,.n2-ss-preview-mode #n2-tab-smartslider-editor #n2-ss-0 .n2-ss-layer .ui-rotatable-handle{display:none!important}.n2-ss-item{position:relative;float:left;width:100%}.n2-ss-item-area,.n2-ss-item-imagearea,.n2-ss-item-video,.n2-ss-item-vimeo,.n2-ss-item-youtube{height:100%}#smartslider-slide-toolbox-layer{position:relative}#layeritemdraggable{top:0;left:0;height:10px;width:100%;background:#f04040;cursor:ns-resize}.n2-grid{background:#4affff;position:absolute;left:0;top:0;z-index:1000000;display:none}.n2-grid-h{width:100%;height:1px}.n2-grid-v{height:100%;width:1px}ul.animation-list{margin:0;padding:0 0 20px}ul.animation-list li{margin:0;padding:0;background:#eef3f8}ul.animation-list li.sortable-animation{border-bottom:1px solid #cdd1d6}.n2-ss-layer-solo-mode .n2-ss-layer{opacity:.5!important}.n2-ss-layer-solo-mode .n2-ss-layer-solo{z-index:100000000!important;opacity:1!important}.n2-panel-titlebar{position:relative;line-height:60px;height:60px;overflow:hidden;background:#202934;font-size:12px;color:#cbd6df;text-align:center}.n2-panel-titlebar-nav{position:absolute;top:0;line-height:30px;height:30px;padding:13px 11px}.n2-panel-titlebar-nav-left{left:0}.n2-panel-titlebar-nav-right{right:0}.n2-panel-titlebar-nav>*{display:inline-block;width:20px;height:30px;line-height:30px;font-size:16px;color:#fff;padding:0;vertical-align:top}.n2-panel-titlebar-nav .n2-i{vertical-align:middle}.n2-panel-titlebar-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 60px;text-align:center}.n2-ss-panel-resizer{height:6px;width:100%;cursor:ns-resize;text-align:center;color:#95a1ab;bottom:0;background:#202934;border-bottom-left-radius:5px;border-bottom-right-radius:5px}#n2-ss-slide-sidebar .n2-ss-slide-sidebar-actions{position:absolute;top:0;left:-35px;width:32px;background-color:#202934;border-radius:3px}#n2-ss-slide-sidebar .n2-ss-slide-sidebar-actions>.n2-button{width:32px;height:32px;line-height:32px;color:#b0bdc7}#n2-ss-layer-edit-activate-row .n2-ss-layer-row{border-bottom:0}#n2-ss-layer-edit-activate-row .n2-actions-left{padding:0;margin:0}.n2-ss-has-layers.n2-ss-layer-edit-visible.n2-ss-preview-mode #n2-ss-slide-sidebar,.n2-ss-layer-edit-visible.n2-ss-move-layer #n2-ss-slide-sidebar,.n2-ss-layer-edit-visible.n2-ss-resize-layer #n2-ss-slide-sidebar,body:not(.n2-ss-has-layers) #n2-ss-slide-sidebar,body:not(.n2-ss-layer-edit-visible) #n2-ss-slide-sidebar{display:none}#n2-tabbed-slide-editor-settings .n2-tabs,.n2-ss-layers-add{position:relative;overflow-y:auto;overflow-x:hidden}.n2-sidebar{width:340px}#n2-ss-slide-sidebar{width:355px}#n2-ss-slide-sidebar table,#n2-ss-slide-sidebar tbody,#n2-ss-slide-sidebar tr{display:block}#n2-ss-slide-sidebar td{display:block;width:auto}#n2-ss-slide-sidebar .n2-label{background:#3c4958;border-top:1px solid #303b47;padding:3px 10px 0}#n2-ss-slide-sidebar .n2-empty-label{padding:0;height:4px}#n2-ss-slide-sidebar .n2-empty-group-label{padding:0;height:0}#n2-ss-slide-sidebar .n2-label label{color:#b2bfc9;font-size:10px}#n2-ss-slide-sidebar .n2-element{background:#3c4958;border-top:0;padding:0}#n2-ss-slide-sidebar textarea{max-width:290px!important;width:290px!important}#n2-ss-slide-sidebar .n2-form-element-button{max-width:38px;overflow:hidden}#n2-ss-slide-sidebar .n2-sidebar-row{line-height:34px;background:#28313a}#n2-ss-slide-sidebar .n2-list li,#n2-ss-slide-sidebar .n2-sidebar-row{border-bottom:1px solid RGBA(0,0,0,.2)}#n2-ss-slide-sidebar .n2-button-m{height:24px;line-height:24px}#n2-ss-slide-sidebar .n2-sidebar-tab-switcher{border:0;border-collapse:separate}#n2-ss-slide-sidebar .n2-sidebar-tab-switcher .n2-td{font-size:11px;line-height:47px;height:47px;border:1px solid #1a2028;border-left:0;color:#b2bfc9}#n2-ss-slide-sidebar .n2-sidebar-tab-switcher .n2-td .n2-i{font-size:32px;line-height:47px}#n2-ss-slide-sidebar .n2-sidebar-tab-switcher .n2-td.n2-active{background:#0c92df;color:#fff}#n2-ss-slide-sidebar .n2-has-underline>.n2-underline::after,#n2-ss-slide-sidebar .n2-sidebar-tab-switcher .n2-td[data-tab=style]{display:none}#n2-ss-slide-sidebar.n2-ss-has-design-option .n2-sidebar-tab-switcher .n2-td[data-tab=style]{display:table-cell}.n2-sidebar-hidden .n2-panel-titlebar{line-height:30px;height:30px;cursor:move;border-top-left-radius:5px;border-top-right-radius:5px}.n2-sidebar-hidden .n2-panel-titlebar-nav{padding:0 8px}.n2-sidebar-hidden #n2-ss-slide-sidebar{position:fixed;left:100px;top:100px;z-index:100000}.n2-ss-slide-sidebar-crop{width:100%;height:100%;border-radius:3px;box-shadow:0 1px 10px RGBA(0,0,0,.5);overflow:hidden;background:#3c4958}.n2-ss-edit-slide-top{background:#fff;border-bottom:1px solid #ccd1d6;padding:30px 20px 30px 40px;display:flex;flex-wrap:nowrap;justify-content:space-between;flex-flow:row}.n2-ss-edit-slide-top-thumbnail{width:200px;height:135px;cursor:pointer}.n2-ss-edit-slide-top-thumbnail img{width:200px;height:135px;border-radius:5px}.n2-ss-edit-slide-top-actions{width:180px;text-align:left;vertical-align:middle;flex:1}.n2-ss-edit-slide-top-actions>*{margin:10px 0}.n2-ss-edit-slide-top-details{flex:1;align-self:flex-end;padding:0 20px}.n2-ss-edit-slide-top-details .n2-h1{color:#606d7b;margin-bottom:15px;cursor:pointer;line-height:30px}.n2-ss-edit-slide-top-details .n2-h1:HOVER:after{font-family:'Nextend'!important;content:"\e94f";font-size:22px;vertical-align:top;margin:0 5px;color:#b0b9bf}.n2-ss-edit-slide-top-details .n2-h4 a{color:#7b8898}.n2-ss-edit-slide-top-details .n2-h4 a .n2-i{font-size:16px}.n2-ss-edit-slide-top-tabs{margin-top:15px}.n2-ss-edit-slide-top-tabs a{margin:0}.n2-ss-edit-slide-top-tabs a.n2-active{color:#fff;background-color:#0c92df;border-color:#0c92df}.n2-ss-edit-slide-top-tabs .n2-button{border-radius:0;border-left:0;padding:0 20px}.n2-ss-edit-slide-top-tabs .n2-button.n2-first{border-top-left-radius:3px;border-bottom-left-radius:3px;border-left:2px solid #e0e6ed}.n2-ss-edit-slide-top-tabs .n2-button.n2-last{border-top-right-radius:3px;border-bottom-right-radius:3px}.n2-ss-edit-slide-top-tabs .n2-button.n2-active{background:#0c92df;color:#fff;border-color:#0c92df}.n2-ss-edit-slide-top-tabs .n2-button.n2-active:not(.n2-first){border-left:2px solid #0c92df;margin-left:-2px}#n2-form-matrix-slide-settings{margin:0;border:0;border-radius:0}.n2-ss-editor-group-mode-only,.n2-ss-editor-layer-mode-only{display:none!important}.n2-ss-has-layers.n2-ss-editor-mode-GROUP .n2-ss-editor-group-mode-only,.n2-ss-has-layers.n2-ss-editor-mode-LAYER .n2-ss-editor-layer-mode-only{display:inline-block!important}#n2-ss-slide-vertical-bar{background:#212d3a;position:absolute;left:-1px;top:54px;bottom:-1px;width:50px;text-align:center}.n2-ss-slide-vertical-bar-inner{position:relative;padding-top:.01px}#n2-ss-slide-vertical-bar .n2-ss-slide-vertical-bar-inner>*{margin-top:10px;color:#80a3b5}#n2-ss-slide-vertical-bar.n2-active .n2-ss-slide-vertical-bar-inner>*{margin-top:0}#n2-ss-slide-vertical-bar.n2-active{width:341px;z-index:2}#n2-ss-slide-vertical-bar.n2-active .n2-ss-add-layer-button{margin:0;background:0 0;position:absolute;top:16px;right:5px}#n2-ss-slide-vertical-bar.n2-active .n2-ss-add-layer-button .n2-i:before{content:"\e90a";color:#b2bfc9}#n2-ss-slide-vertical-bar.n2-active .n2-ss-slide-vertical-bar-inner>a{display:none}#n2-ss-slide-vertical-bar.n2-active .n2-ss-slide-vertical-bar-inner{width:341px!important}#n2-ss-slide-vertical-bar.n2-active .n2-ss-available-layers{display:block}.n2-ss-available-layers .n2-sidebar-tab-switcher{border:0}.n2-ss-available-layers-container{width:300px;margin:0 auto;padding:10px 0}.n2-ss-slide-item-group{color:#b2bfc9;padding:4px 5px 1px}#smartslider-adjust-height{position:relative;z-index:1;overflow:hidden;border-bottom:1px solid #ccd1d6;background-color:#e9edf0;margin-left:49px;border-top:1px solid #ccd1d6}.n2-ss-slider-real-container{position:relative}.n2-ss-slider-outer-container{position:relative;float:left}.n2-ss-slider-container{padding-bottom:99px;float:left;margin:10px}.n2-ss-has-ruler .n2-ss-slider-container{margin:40px 0 0 40px}.n2-ss-layer-status{display:inline-block;position:relative;margin:0 3px}.n2-ss-layer-status>a .n2-i,.n2-ss-layer-status>a:HOVER .n2-i{color:#b2bfc9}.n2-ss-layer-status-hidden .n2-ss-layer-status .n2-ss-sc-hide .n2-i:before{content:"\e923"}.n2-ss-layer-list-top-bar .n2-h2{display:inline-block;line-height:28px;color:#fff;padding:0 5px}.n2-ss-layer-list-opener{width:28px;display:inline-block;padding:0;vertical-align:top;margin:0 5px}#n2-ss-layers.n2-active .n2-ss-layer-list-opener>.n2-i:before{content:"\e92c"}.n2-ss-layer-list-group-opener.n2-closed .n2-i:before{content:"\e921"}#n2-ss-layers{position:fixed;bottom:0;width:340px;margin:0 -1px;height:48px;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;display:none;background-color:#28313a;z-index:10000}#n2-ss-layers.n2-active{height:100px}#n2-ss-layers:not(.n2-active){width:50px!important}#n2-ss-layers:not(.n2-active) .n2-ss-layers-sidebar{width:50px}#n2-ss-layers:not(.n2-active) .n2-ss-layer-list-layers-top-bar>div{display:none!important}.n2-ss-has-layers #n2-ss-layers{display:block}#n2-ss-layers-table .n2-td{position:relative;vertical-align:top}#n2-ss-layers-table .n2-ss-layers-sidebar{width:340px}.n2-ss-layer-list-top-bar{position:relative;padding:10px 5px 9px;height:28px;background-color:#212d3a;border-bottom:1px solid #20282f}#n2-ss-layers.n2-active .n2-ss-layer-list-layers-top-bar{cursor:ns-resize}.n2-basiccss-show-preset-list .n2-editor-header .n2-ss-button-container>.n2-basiccss-choose,.n2-editor-header .n2-ss-button-container>.n2-basiccss-back,.n2-ss-editor-mode-LAYER .n2-ss-select-layer-mode #n2-ss-layers.n2-active .n2-ss-layer-list-layers-top-bar,.n2-ss-layer-list-bulk-top-bar{display:none}.n2-ss-editor-mode-LAYER .n2-ss-select-layer-mode #n2-ss-layers.n2-active .n2-ss-layer-list-bulk-top-bar{display:block}.n2-ss-layer-list-top-bar .n2-form-element-text{margin:0}.n2-ss-layers-sidebar-rows{position:relative;height:100%;overflow-x:hidden;overflow-y:visible}#n2-ss-layers .n2-form-element-text{margin:0 10px;line-height:2px}#n2-ss-layers .n2-text-sub-label{width:30px;text-align:center;overflow:hidden}.n2-i-desktopPortrait:before{content:'\e926'}.n2-i-desktopLandscape:before{content:'\e925'}.n2-i-tabletPortrait:before{content:'\e928'}.n2-i-tabletLandscape:before{content:'\e927'}.n2-i-mobilePortrait:before{content:'\e92a'}.n2-i-mobileLandscape:before{content:'\e929'}#n2-ss-slide-sidebar .ui-autocomplete{padding:0;max-height:200px;overflow-y:auto;overflow-x:hidden}#n2-ss-slide-sidebar .n2-form-element-autocomplete .ui-autocomplete .ui-menu-item{padding-right:20px}input#presets{max-width:none!important;width:150px}#n2-tab-basiccsspreset{background-color:#3c4958;z-index:3}#n2-tab-basiccsspreset>.n2-h2{margin-bottom:0}.n2-basiccss-show-preset-list .n2-editor-header .n2-ss-button-container>.n2-basiccss-back{display:inline-block}.n2-ss-layer-list-bulk-top-bar{text-align:right;color:#fff;vertical-align:top;padding:10px 15px 9px}.n2-ss-layer-list-bulk-top-bar .n2-button{vertical-align:middle}.n2-ss-layer-list-bulk-top-bar .n2-button+.n2-button,.n2-ss-layer-list-top-bar .n2-ss-layer-list-topbar-control .n2-button{margin:0 0 0 5px}html[dir=rtl] .n2-ss-layer-list-top-bar .n2-button+.n2-button,html[dir=rtl] .n2-ss-layer-list-top-bar .n2-ss-layer-list-topbar-control .n2-button{margin:0 5px 0 0}.n2-ss-layer-list-top-bar .n2-ss-layer-list-topbar-control{position:absolute;top:10px;right:5px;margin:0 10px}html[dir=rtl] .n2-ss-layer-list-top-bar .n2-ss-layer-list-topbar-control{right:auto;left:5px}.n2-ss-layer-list-topbar-control{text-align:right;color:#fff;padding:0 10px;vertical-align:top}#n2-ss-layers .n2-ss-layer-list-topbar-control{padding:0}.n2-ss-layer-list-topbar-control .n2-button{padding:0;width:28px;font-size:16px;vertical-align:middle}.n2-ss-layer-list-topbar-control .n2-button i{line-height:inherit}.n2-play.n2-active i:before{content:"\e607"}.n2-ss-preview-modal .n2-modal-window{background-color:#e9edf0}#n2-tabbed-animations-tabbed>.n2-table{border-spacing:8px;border-collapse:separate;background:#28313a;border-bottom:1px solid #20282f}#n2-tabbed-animations-tabbed .n2-sidebar-tab-switcher .n2-td{line-height:28px;height:28px;border:0;border-radius:50px}#n2-tabbed-animations-tabbed .n2-editor-header.n2-h2{background:#303b47;border-bottom:1px solid #28313a;position:relative}.n2-ss-small-more{float:right;margin:-38px 20px 0}.n2-button-single-animation-play.n2-active .n2-i:before{content:'\e607'}div#n2-ss-0 .n2-ss-layer-chain-parent{position:absolute;z-index:10;right:10px;top:10px;line-height:18px;font-size:12px;width:18px;display:none}.n2-ss-layer-edit-visible .n2-ss-mode-desktopPortrait #n2-tab-smartslider-editor:HOVER .n2-ss-layer.n2-active.n2-ss-layer-has-parent .n2-ss-layer-chain-parent,.n2-ss-mode-desktopPortrait #n2-tab-smartslider-editor:HOVER .n2-ss-layer.n2-active.n2-ss-layer-has-parent:HOVER .n2-ss-layer-chain-parent{display:inline-block}#n2-ss-slide-sidebar .n2-ss-generator-param,.n2-ss-background-type-color .n2-ss-background-image-param,.n2-ss-background-type-color .n2-ss-background-video-param,.n2-ss-background-type-gradient .n2-ss-background-image-param,.n2-ss-background-type-gradient .n2-ss-background-video-param,.n2-ss-background-type-image .n2-ss-background-video-param{display:none}#n2-tab-animations-events td.n2-label{padding:0}#n2-tab-animations-events td.n2-element{padding:6px 0}.n2-ss-dynamic-slide #n2-ss-slide-sidebar .n2-ss-generator-param,.n2-ss-show-slides #n2-ss-slide-edit-slides{display:block}#n2-admin.n2-ss-mode-desktopPortrait .n2-ss-responsive-helper{display:none}.n2-ss-editor-window-notice{padding:8px 10px;line-height:18px;background:#6b7986;color:#fff}.n2-ss-editor-window-notice a{color:#ffb527}#n2-ss-slide-edit-slides{display:none;border-bottom:1px solid #e0e6ed}.n2-ss-show-slides a.n2-ss-back-slides,.n2-ss-show-slides a.n2-ss-back-slides:before{color:#fff}.n2-ss-scrollbar-wrapper{background-color:#212d3a;padding:4px;height:8px;z-index:10}.n2-scroll-disable .n2-ss-scrollbar-wrapper{visibility:hidden;height:0;padding:0}.n2-ss-scrollbar-wrapper .track{position:relative;height:8px}.n2-ss-scrollbar-wrapper .thumb{position:absolute;top:0;background-color:#49586a;height:8px;cursor:default;width:20px;z-index:2;border:0;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.n2-ss-scrollbar-wrapper.n2-ss-scrollbar-light{background-color:#b9c3c9}.n2-ss-scrollbar-wrapper.n2-ss-scrollbar-light .thumb{background-color:#fff}#n2-ss-zoom{width:280px;text-align:center;vertical-align:middle}#n2-ss-zoom .n2-ss-slider-zoom-container{position:relative;display:inline-block;vertical-align:middle;width:150px;height:34px;padding:0 23px}#n2-ss-zoom .n2-ss-slider-zoom-container>.n2-i{position:absolute;top:9px;color:#6b7986;font-size:16px;cursor:pointer}#n2-ss-zoom .n2-ss-slider-zoom-container .n2-i-minus{left:-18px}#n2-ss-zoom .n2-ss-slider-zoom-container .n2-i-plus{right:-18px}.n2-ss-slider-zoom-bg{position:absolute;left:0;top:50%;margin-top:-3px;width:100%;background:#505c69;height:6px;border-radius:3px}#n2-ss-slider-zoom{height:100%;position:relative;margin:0;background:0 0;border:none;border-radius:0}#n2-ss-slider-zoom .ui-slider-range{display:none}#n2-ss-slider-zoom .ui-slider-handle{position:absolute;top:50%;display:block;width:47px;height:22px;margin-top:-11px;margin-left:-23px;background-color:#e6eaee;background:#e6eaee;border:none;border-radius:3px;z-index:2;color:#7b8898;font-size:10px;text-align:center;line-height:22px;cursor:pointer}.n2-ss-slider-zoom-1{position:absolute;left:50%;top:0;margin-left:-1.5px;width:3px;height:100%;background-color:#6b7986}#n2-ss-lock{display:inline-block;position:absolute;right:-36px;top:9px;cursor:pointer;line-height:16px}#n2-ss-lock .n2-i{color:#6b7986;font-size:16px}#n2-ss-lock.n2-active .n2-i:before{content:"\e609"}.n2-ss-device-zoomer{min-width:280px}.n2-ss-device-zoomer #n2-ss-zoom{padding:10px 0;background:#212d3a;margin:0 auto;display:none;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.n2-ss-device-zoomer:HOVER #n2-ss-zoom{display:block}.n2-ss-device-zoomer .n2-ss-slider-zoom-1,.n2-ss-device-zoomer .n2-ss-slider-zoom-bg{background-color:#374d64}.n2-ss-device-zoomer #n2-ss-zoom #n2-ss-lock>.n2-i,.n2-ss-device-zoomer #n2-ss-zoom .n2-ss-slider-zoom-container>.n2-i{color:#4e667f}.n2-ss-device-zoomer #n2-ss-slider-zoom .ui-slider-handle{background-color:#526a80;color:#fff}#n2-ss-devices{height:60px}#n2-ss-devices.n2-ss-devices-compact>.n2-controls-panel{width:260px}#n2-ss-devices .n2-table{font-size:32px;color:#80a3b5;margin:0 auto}.n2-lb-header #n2-ss-devices .n2-table{color:#a4b0b7}html[dir=rtl] #n2-ss-devices .n2-table{float:left}#n2-ss-devices .n2-td{height:60px;vertical-align:middle;text-align:center;padding:0 15px;cursor:pointer}#n2-ss-devices .n2-td.n2-active{cursor:default;color:#0c92df}.n2-i-devices:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATEAAAAeCAMAAABzNtkNAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACdlBMVEUAAAChrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrWhrrUZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeOhrrWhrrWhrrWhrrWhrrUZmeMZmeMZmeMZmeMZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrUZmeOhrrUZmeOhrrUZmeOhrrWhrrUZmeMZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrUZmeOhrrWhrrWhrrUZmeMZmeMZmeOhrrUZmeOhrrUZmeMAAAA99lBfAAAA0XRSTlMAJ6DHzCgytbY2MLMnoMfMKDK1tjYws5+ytLGfsrSxxh0ixh0il5qXmgY7a5SvvspsB2aHBjtrlK++ymwHZod+wiN+wiMSgbh6SiYQAnl9DBKBuHpKJhACeX0MNbmdQwQzNbmdQwQzRrtLAUa7SwHIpRWkyKUVpJgKUqLDnk2YClKiw55Nhq2KhIatioTLLlgOT8suWA5PcH9ZX3B/WV+sJcQqrqwlxCquKSmjXqNeV1eRiZGJCQmIiLq6AzQDNIK3SYK3SSQkCG2hCG2hsLA3NxRx1r0AAAABYktHRACIBR1IAAAACXBIWXMAAAsSAAALEgHS3X78AAAE0UlEQVRo3s2a+18UVRTAN/eYJLmHJCAjS4pehG4vQrcHhq0bCrFu6BKkRmq+JSNTpBQpVlnjEY+wtAglFIjeWmCWZb7t8Se109z57Mzcc+eBLrPnl7nn3DOP8/3MvXPPueNyWZSbprhBKO4pU9W+N0+jnFJuIS47PVXrlDrd6gPp5NYZHhSKZ0aa2ve2mZRT+u3EZTMytU6ZGZafKAsMJUvtewftk0Jcdpbe6c4JEstGQ8lW+95F+6QTl52td7rb8hO5wagX7tFopC9pBZijVnPA8DYG4kGjXrxXo5G+pBXxPrWai4a3MY9X0BvT7te/Ow+IiNm5jRETtN4b0x7UvzsPiYiJ9YfzHsmfO8/rnTc3/9G8x6jQHhcNySd4YryTiBjnJ5AnC54qnL/A51swv/Dpgmeo0J4VDcnneGK8k4gY58ckp2ih+rEXFj3PExPPYhQx4vTrIJZbvEj92IuKX+CJiWcxihhxug1i/sVegMCLJUuWlpYuXVJSFgDwvlRuKWSqyxYxY12W4DIfYujliuUrwuEVyysqQ4i+V6oshUx12SJG6tWvAqxctTpuX71qJcC015KFWM3riGvWrosb1q1dgzjzDceIrXfDho2btD2bNm4A9/rkILbZg1u2btPatm3dgp7NDhGrroU3t/O+298Cd3UyEKupw7d38GfueAc9NY4Q8wdg5y5ZLa3f3dDw7nvsddu1EwJ+54kFQ7hnr9wMN+5ranr/A/a67d2DoaATxJohwub40v3y1+oAQ1YegWbnibVglM3x4YPy1+pDhqwqii0OEMtp9bYxrR7c7R0d7W74iBnavK05ThPL7fR1sWYjerp7ero9+DEzdPk6cyefWC8cUrQs+EQ6fBpPEhdDr9PEDuMRpZmNn0mHz+NJ4jI8PPnE+uALReuHDunQAf2K5Sgcc5rYAH6pNAexRzr04KBiOY4nJp9YBI6KiQ05TyyKx8XEhp0g1gtFijYij8qv4qPyUDKMymKlOSqPyq/jo/KIE6MyNvMPMe0bZeavZ4ah5Jj5h1nzW2Xmb2SGYUdm/tjqok9ZXXwnry6+L5X18r7kWF0MKKuLH+TVxY9hWa8acGR18f8K9iRD1j7S37+7ngE7ya9gE1G7MCMmrWBPMWTdo4OD+xoZsFP8CjYRtQtCj2VJI1SWNAK12ixpvwjYT4nOkkapLGkU67RZ0kERsJ8TkImPlegz8ZIxLhM3kERn4uMV+ky8YpzLxA3khld7xqRqz+m4/bRU7Un5xSwUQ2I3sAZbMy5Ve87EDWekak/6r0ahmRK7vhqs/7dYRfFsGaso/l52FqC1SFtRtLkz0mw2cu0QcwX/iFUUz1WyiuKflecQO4u1FUWbOyMtZiPXhJjLdV5ftT6vO9XO7putvSQLTjG5oK9aX9A52Nl9s7WXJNYv5l3Kj0g7I5H8S3kXuVOnXq4V86q9rNnhVYVNN3nXhgZjYi7XlYKrhVFpZyRaeLXgCteddq1OzKvuWpogbLrJuzY1GcE2FTkscXAJIWZD5LDEwSU1MTMrgF+t+iebmJkVMahWgxMhZmGv7C967KYSrql6p4n+RaCKkZqnNfI3PXYzCddMvZP1vwjsEGs7RgGbRf2p8k9AB2yif6rYIdZ1ggI2m/pT5d+QDljGf3zSNGZGqKPpAAAAAElFTkSuQmCC)}.n2-i-devices-all:before{background-position:0 0}.n2-i-devices-desktop:before{background-position:-40px 0}.n2-i-devices-tablet:before{background-position:-80px 0}.n2-i-devices-phone:before{background-position:-120px 0}.n2-active>.n2-i-devices-all:before{background-position:-160px 0}.n2-active>.n2-i-devices-desktop:before{background-position:-200px 0}.n2-active>.n2-i-devices-tablet:before{background-position:-240px 0}.n2-active>.n2-i-devices-phone:before{background-position:-280px 0}.n2-generator-insert-variable .n2-variable-container{height:90px;overflow:auto}.n2-generator-insert-variable .n2-group-container{height:40px;overflow:auto}.n2-generator-insert-variable .n2-group-container .n2-button,.n2-generator-insert-variable .n2-variable-container .n2-button{margin:3px}.n2-generator-insert-variable .n2-group-container .n2-button.n2-active,.n2-generator-insert-variable .n2-variable-container .n2-button.n2-active,.n2-ss-layer-picker.n2-active{background:#0c92df}.n2-generator-result-container{height:100px;overflow:auto;margin:0 3px}.n2-ss-layer-picker{background:#6b7986;color:#fff;font-size:16px;height:28px;line-height:28px;padding:0;text-align:center;width:28px;border-radius:3px;margin:0 10px 10px;cursor:pointer}#n2-ss-control-line #n2-ss-layer-parent-linker.n2-under-pick,.n2-ss-layer-picker.n2-under-pick{background-color:#51b82d}#n2-ss-layer-parent-linker.n2-under-pick .n2-i-layerlink:before,.n2-ss-layer-picker.n2-under-pick .n2-i-layerlink:before{content:"\e64b"}.n2-ss-picker-overlay,.n2-ss-picker-overlay-tile{position:absolute;left:0;top:0;background:RGBA(25,153,227,.8);cursor:pointer;width:100%;height:100%;z-index:1000000;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}.n2-ss-picker-overlay-tile{width:33%;height:33%}.n2-ss-picker-overlay-tile:HOVER,.n2-ss-picker-overlay:HOVER{background:RGBA(42,52,63,.9)}.n2-ss-picker-overlay-tile.n2-active,.n2-ss-picker-overlay-tile.n2-active:HOVER{background:RGBA(0,52,63,.9)}#n2-ss-control-line #n2-ss-layer-parent-linker{display:none}.n2-ss-has-layers .n2-ss-mode-desktopPortrait #n2-ss-control-line #n2-ss-layer-parent-linker,.n2-ss-has-ruler .n2-ruler>span{display:inline-block}.n2-ruler-container{position:absolute;left:0;top:0;height:100%;width:100%;visibility:hidden;z-index:10}.n2-ruler-container>*{visibility:visible}.n2-ruler,.n2-ruler-guide{position:absolute;left:0;top:0}.n2-ruler{box-sizing:border-box;white-space:nowrap}.n2-ruler>span{position:relative;display:none;vertical-align:top}.n2-ruler>span span{position:absolute;display:block;font-size:10px;color:#7b8898;line-height:10px}.n2-ruler-guide{display:none;z-index:2}.n2-ss-show-guides .n2-ruler-guide{display:block}.n2-ruler-guide .n2-ruler-guide-handle{position:absolute;background:#e6b625;left:0;top:0;width:9px;height:9px;cursor:pointer;font-family:'Nextend'!important;font-size:9px;color:#fff;line-height:9px;text-align:center}.n2-ruler-guide .n2-ruler-guide-handle:before{content:"\e90a"}.n2-ruler-horizontal{padding-left:1px;height:0;width:100%}.n2-ss-has-ruler .n2-ruler-horizontal{height:39px}.n2-ruler-horizontal>span.n2-ss-ruler-mark-large{height:20px}.n2-ruler-horizontal>span.n2-ss-ruler-mark-medium{height:10px}.n2-ruler-horizontal>span{width:9px;height:5px;border-right:1px solid #bcc4c8}.n2-ruler-horizontal span span{left:12px;top:10px}.n2-ruler-vertical .n2-ruler-guide{height:0;width:3000px}.n2-ss-lock-guides .n2-ruler-vertical .n2-ruler-guide{cursor:default}.n2-ruler-vertical .n2-ruler-guide .n2-ruler-guide-border{border-bottom:1px solid #ccaa2b;width:100%}.n2-ruler-vertical .n2-ruler-guide-handle{top:-4px}.n2-ruler-vertical{padding-top:1px;width:0;height:100%;background:#e9edf0;z-index:5}.n2-ss-has-ruler .n2-ruler-vertical{width:40px}.n2-ruler-vertical>span.n2-ss-ruler-mark-large{width:20px}.n2-ruler-vertical>span.n2-ss-ruler-mark-medium{width:10px}.n2-ruler-vertical>span{display:none;width:5px;height:9px;border-bottom:1px solid #bcc4c8}.n2-ss-has-ruler .n2-ruler-vertical>span{display:block}.n2-ruler-vertical span span{left:8px;top:12px}.n2-ruler-horizontal .n2-ruler-guide{width:0;height:1600px}.n2-ss-lock-guides .n2-ruler-horizontal .n2-ruler-guide{cursor:default}.n2-ruler-horizontal .n2-ruler-guide .n2-ruler-guide-border{border-right:1px solid #ccaa2b;height:100%}.n2-ruler-horizontal .n2-ruler-guide-handle{left:-4px}.n2-ruler-guide-handle{display:none}.n2-ss-has-ruler .n2-ruler-guide-handle{display:block}
library/media/admin/images/AddLicense.png DELETED
Binary file
library/media/admin/images/Deauthorize.png DELETED
Binary file
library/media/admin/images/Documentation.png DELETED
Binary file
library/media/admin/images/Facebook.png DELETED
Binary file
library/media/admin/images/Help.png DELETED
Binary file
library/media/admin/images/Love.png DELETED
Binary file
library/media/admin/images/Newsletter.png DELETED
Binary file
library/media/admin/images/Update.png DELETED
Binary file
library/media/admin/images/Videos.png DELETED
Binary file
library/media/admin/images/add-demo.png DELETED
Binary file
library/media/admin/images/background/color.png ADDED
Binary file
library/media/admin/images/background/gradient.png ADDED
Binary file
library/media/admin/images/background/image.png ADDED
Binary file
library/media/admin/images/background/video.png ADDED
Binary file
library/media/admin/images/background/vimeo.png ADDED
Binary file
library/media/admin/images/background/youtube.png ADDED
Binary file
library/media/admin/images/create-slider.png DELETED
Binary file
library/media/admin/images/do-you-like.png ADDED
Binary file
library/media/admin/images/drag.png ADDED
Binary file
library/media/admin/images/dummy-slide.png ADDED
Binary file
library/media/admin/images/free/box.png DELETED
Binary file
library/media/admin/images/free/box2.png DELETED
Binary file
library/media/admin/images/free/why-upgrade.png ADDED
Binary file
library/media/admin/images/group.png ADDED
Binary file
library/media/admin/images/import-server.png DELETED
Binary file
library/media/admin/images/import-upload.png DELETED
Binary file
library/media/cursor/closedhand.cur DELETED
Binary file
library/media/cursor/openhand.cur DELETED
Binary file
library/media/dist/smartslider-backend.js CHANGED
@@ -46,7 +46,7 @@ NextendSmartSliderAdminStorage.prototype.startEditor = function (sliderElementID
46
  };
47
 
48
  window.nextend.pre = 'div#n2-ss-0 ';
49
- window.nextend.smartSlider = new NextendSmartSliderAdminStorage();
50
  ;
51
  (function (smartSlider, $, scope) {
52
 
@@ -78,7 +78,7 @@ window.nextend.smartSlider = new NextendSmartSliderAdminStorage();
78
  scope.NextendBackgroundAnimationManager = NextendBackgroundAnimationManager;
79
 
80
  })(nextend.smartSlider, n2, window);
81
-
82
  ;
83
  (function ($, scope) {
84
 
@@ -204,198 +204,7 @@ window.nextend.smartSlider = new NextendSmartSliderAdminStorage();
204
 
205
  })
206
  (n2, window);
207
-
208
- (function ($, scope) {
209
-
210
- function NextendSmartSliderCreateSlider(ajaxUrl) {
211
- this.createSliderModal = null;
212
- this.ajaxUrl = ajaxUrl;
213
- $('.n2-ss-create-slider').click($.proxy(function (e) {
214
- e.preventDefault();
215
- e.stopImmediatePropagation();
216
- this.showModal();
217
- }, this));
218
-
219
- this.notificationStack = new NextendNotificationCenterStackModal($('body'));
220
- $('.n2-ss-demo-slider').click($.proxy(function (e) {
221
- e.preventDefault();
222
- e.stopImmediatePropagation();
223
- this.showDemoSliders();
224
-
225
-
226
- }, this));
227
-
228
- if (window.location.hash.substring(1) == 'createslider') {
229
- this.showModal();
230
- }
231
- }
232
-
233
- NextendSmartSliderCreateSlider.prototype.showModal = function () {
234
- if (!this.createSliderModal) {
235
- var that = this;
236
- var ajaxUrl = this.ajaxUrl;
237
- var presets = [];
238
-
239
- presets.push({
240
- key: 'default',
241
- name: n2_('Default'),
242
- image: '$ss$/admin/images/sliderpresets/default.png'
243
- });
244
- presets.push({
245
- key: 'thumbnailhorizontal',
246
- name: n2_('Thumbnail - horizontal'),
247
- image: '$ss$/admin/images/sliderpresets/thumbnailhorizontal.png'
248
- });
249
- presets.push({
250
- key: 'caption',
251
- name: n2_('Caption'),
252
- image: '$ss$/admin/images/sliderpresets/caption.png'
253
- });
254
- this.createSliderModal = new NextendModal({
255
- zero: {
256
- size: [
257
- N2SSPRO ? 750 : 550,
258
- N2SSPRO ? 630 : 390 + 130
259
- ],
260
- title: n2_('Create Slider'),
261
- back: false,
262
- close: true,
263
- content: '<form class="n2-form"></form>',
264
- controls: [
265
- '<a href="#" class="n2-button n2-button-big n2-button-green n2-uc n2-h4">' + n2_('Create') + '</a>'
266
- ],
267
- fn: {
268
- show: function () {
269
-
270
- var button = this.controls.find('.n2-button-green'),
271
- form = this.content.find('.n2-form').on('submit', function (e) {
272
- e.preventDefault();
273
- button.trigger('click');
274
- });
275
-
276
- form.append(this.createInput(n2_('Slider name'), 'slidertitle', 'width: 240px;'));
277
- form.append(this.createInputUnit(n2_('Width'), 'sliderwidth', 'px', 'width: 30px;'));
278
- form.append(this.createInputUnit(n2_('Height'), 'sliderheight', 'px', 'width: 30px;'));
279
-
280
- new NextendElementAutocompleteSimple("sliderwidth", ["1920", "1400", "1000", "800", "600", "400"]);
281
- new NextendElementAutocompleteSimple("sliderheight", ["800", "600", "500", "400", "300", "200"]);
282
-
283
- var sliderTitle = $('#slidertitle').val(n2_('Slider')).focus(),
284
- sliderWidth = $('#sliderwidth').val(900),
285
- sliderHeight = $('#sliderheight').val(500);
286
-
287
- sliderWidth.parent().addClass('n2-form-element-autocomplete ui-front');
288
- sliderHeight.parent().addClass('n2-form-element-autocomplete ui-front');
289
-
290
- this.createHeading(n2_('Preset')).appendTo(this.content);
291
-
292
- var imageRadio = this.createImageRadio(presets)
293
- .css('height', N2SSPRO ? 360 : 100)
294
- .appendTo(this.content),
295
- sliderPreset = imageRadio.find('input');
296
- imageRadio.css('overflow', 'hidden');
297
- this.createHeading(n2_('Import Sample Sliders')).appendTo(this.content);
298
- $('<div class="n2-ss-create-slider-free-sample" style="background-image: url(\'' + nextend.imageHelper.fixed('$ss$/admin/images/free/sample1.png') + '\')"></div><div class="n2-ss-create-slider-free-sample" style="background-image: url(\'' + nextend.imageHelper.fixed('$ss$/admin/images/free/sample2.png') + '\')"></div><div class="n2-ss-create-slider-free-sample" style="background-image: url(\'' + nextend.imageHelper.fixed('$ss$/admin/images/free/sample3.png') + '\')"></div>')
299
- .on('click', $.proxy(function () {
300
- this.hide();
301
- that.showDemoSliders();
302
- }, this))
303
- .appendTo(this.content);
304
-
305
-
306
- button.on('click', $.proxy(function () {
307
-
308
- NextendAjaxHelper.ajax({
309
- type: "POST",
310
- url: NextendAjaxHelper.makeAjaxUrl(ajaxUrl, {
311
- nextendaction: 'create'
312
- }),
313
- data: {
314
- sliderTitle: sliderTitle.val(),
315
- sliderSizeWidth: sliderWidth.val(),
316
- sliderSizeHeight: sliderHeight.val(),
317
- preset: sliderPreset.val()
318
- },
319
- dataType: 'json'
320
- }).done($.proxy(function (response) {
321
- NextendAjaxHelper.startLoading();
322
- }, this));
323
-
324
- }, this));
325
- }
326
- }
327
- }
328
- });
329
- }
330
- this.createSliderModal.show();
331
- };
332
-
333
- NextendSmartSliderCreateSlider.prototype.showDemoSliders = function () {
334
- var that = this;
335
- $('body').css('overflow', 'hidden');
336
- var pro = 0;
337
- var frame = $('<iframe src="//smartslider3.com/demo-import/?pro=' + pro + '&utm_campaign=' + N2SS3C + '&utm_source=import-slider-frame&utm_medium=smartslider-' + N2PLATFORM + '-' + (pro ? 'pro' : 'free') + '" frameborder="0"></iframe>').css({
338
- position: 'fixed',
339
- zIndex: 100000,
340
- left: 0,
341
- top: 0,
342
- width: '100%',
343
- height: '100%'
344
- }).appendTo('body'),
345
- closeFrame = function () {
346
- $('body').css('overflow', '');
347
- frame.remove();
348
- window.removeEventListener("message", listener, false);
349
- that.notificationStack.popStack();
350
- },
351
- importSlider = function (href) {
352
- NextendAjaxHelper.ajax({
353
- type: "POST",
354
- url: NextendAjaxHelper.makeAjaxUrl(that.ajaxUrl, {
355
- nextendaction: 'importDemo'
356
- }),
357
- data: {
358
- key: Base64.encode(href.replace(/^(http(s)?:)?\/\//, '//'))
359
- },
360
- dataType: 'json'
361
- }).fail(function () {
362
- //closeFrame();
363
- });
364
- },
365
- listener = function (e) {
366
- if (e.origin !== "http://smartslider3.com" && e.origin !== "https://smartslider3.com")
367
- return;
368
- var msg = e.data;
369
- switch (msg.key) {
370
- case 'importSlider':
371
- if (typeof nextend.joinCommunity === 'function') {
372
- nextend.joinCommunity(function () {
373
- importSlider(msg.data.href);
374
- });
375
- } else {
376
- importSlider(msg.data.href);
377
- }
378
-
379
- return;
380
-
381
- break;
382
- case 'closeWindow':
383
- closeFrame();
384
- }
385
- };
386
-
387
- this.notificationStack.enableStack();
388
- NextendEsc.add($.proxy(function () {
389
- closeFrame();
390
- return true;
391
- }, this));
392
-
393
- window.addEventListener("message", listener, false);
394
- };
395
 
396
- scope.NextendSmartSliderCreateSlider = NextendSmartSliderCreateSlider;
397
-
398
- })(n2, window);
399
  function strip_tags(input, allowed) {
400
  allowed = (((allowed || '') + '')
401
  .toLowerCase()
@@ -433,7 +242,7 @@ if (!Array.prototype.filter) {
433
 
434
  return res;
435
  };
436
- }
437
  (function ($, scope, undefined) {
438
 
439
  function NextendSmartSliderAdminInlineField() {
@@ -481,11 +290,11 @@ if (!Array.prototype.filter) {
481
 
482
  scope.NextendSmartSliderAdminInlineField = NextendSmartSliderAdminInlineField;
483
 
484
- })(n2, window);
 
 
485
 
486
-
487
 
488
-
489
  (function (smartSlider, $, scope, undefined) {
490
  "use strict";
491
 
@@ -535,20 +344,22 @@ if (!Array.prototype.filter) {
535
  this.history.splice(this.index, this.history.length);
536
  }
537
  this.index = -1;
 
538
  if (!this.isBatched) {
539
- this.history.push([cb()]);
540
  this.isBatched = true;
541
  setTimeout($.proxy(function () {
542
  this.isBatched = false;
543
  }, this), 100);
544
  } else {
545
- this.history[this.history.length - 1].push(cb());
546
  }
547
- //this.history.push(smartSlider.slide.getLayout());
548
  if (this.history.length > this.historyStates) {
549
  this.history.unshift();
550
  }
551
  this.updateUI();
 
552
  };
553
 
554
  NextendSmartSliderSlideEditorHistory.prototype.off = function () {
@@ -618,9 +429,11 @@ if (!Array.prototype.filter) {
618
  if (this.history[i][j][0] === originalScope) {
619
  this.history[i][j][0] = newScope;
620
  }
621
- for (var k = 0; k < this.history[i][j][4].length; k++) {
622
- if (this.history[i][j][4][k] === originalScope) {
623
- this.history[i][j][4][k] = newScope;
 
 
624
  }
625
  }
626
  }
@@ -632,7 +445,7 @@ if (!Array.prototype.filter) {
632
  });
633
 
634
  })(nextend.smartSlider, n2, window);
635
-
636
  (function ($, scope, undefined) {
637
 
638
  function QuickSlides(ajaxUrl) {
@@ -666,7 +479,7 @@ if (!Array.prototype.filter) {
666
  close: true,
667
  content: '<form class="n2-form"><table></table></form>',
668
  controls: [
669
- '<a href="#" class="n2-button n2-button-big n2-button-green n2-uc n2-h4">' + n2_('Save') + '</a>'
670
  ],
671
  fn: {
672
  show: function () {
@@ -790,91 +603,418 @@ if (!Array.prototype.filter) {
790
  };
791
 
792
  scope.NextendSmartSliderQuickSlides = QuickSlides;
793
- })(n2, window);
794
  (function ($, scope, undefined) {
795
 
796
- function NextendSmartSliderAdminSidebarSlides(ajaxUrl, contentAjaxUrl, parameters, isUploadDisabled, uploadUrl, uploadDir) {
797
- this.quickPostModal = null;
798
- this.quickVideoModal = null;
799
- this.parameters = parameters;
800
- this.slides = [];
801
- this.ajaxUrl = ajaxUrl;
802
- this.contentAjaxUrl = contentAjaxUrl;
803
- this.slidesPanel = $('#n2-ss-slides');
804
- this.slidesContainer = this.slidesPanel.find('.n2-ss-slides-container');
805
 
806
- this.initSlidesOrderable();
807
 
808
- var slides = this.slidesContainer.find('.n2-box-slide');
809
- for (var i = 0; i < slides.length; i++) {
810
- this.slides.push(new NextendSmartSliderAdminSlide(this, slides.eq(i)));
811
- }
812
 
813
- if (this.slides.length > 0) {
814
- this.slidesPanel.addClass('n2-ss-has-slides');
815
- }
816
 
817
- $('.n2-add-quick-image').on('click', $.proxy(this.addQuickImage, this));
818
- $('.n2-box-slide-add').on('click', $.proxy(this.addQuickImage, this));
819
- $('.n2-add-quick-video').on('click', $.proxy(this.addQuickVideo, this));
820
- $('.n2-add-quick-post').on('click', $.proxy(this.addQuickPost, this));
821
 
822
- this.initBulk();
823
 
824
- if ($('#n2-ss-slide-editor-main-tab').length == 0) {
825
- new NextendSmartSliderSidebarSlides();
826
- }
827
 
 
 
 
 
 
828
 
829
- if (!isUploadDisabled) {
830
- var images = [];
831
- this.slidesContainer.fileupload({
832
- url: uploadUrl,
833
- pasteZone: false,
834
- dropZone: this.slidesContainer,
835
- dataType: 'json',
836
- paramName: 'image',
837
 
838
- add: $.proxy(function (e, data) {
839
- data.formData = {path: '/' + uploadDir};
840
- data.submit();
841
- }, this),
 
842
 
843
- done: $.proxy(function (e, data) {
844
- var response = data.result;
845
- if (response.data && response.data.name) {
846
- images.push({
847
- title: response.data.name,
848
- description: '',
849
- image: response.data.url
850
- });
851
- } else {
852
- NextendAjaxHelper.notification(response);
853
- }
854
 
855
- }, this),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
856
 
857
- fail: $.proxy(function (e, data) {
858
- NextendAjaxHelper.notification(data.jqXHR.responseJSON);
859
- }, this),
860
 
861
- start: function () {
862
- NextendAjaxHelper.startLoading();
863
- },
864
 
865
- stop: $.proxy(function () {
866
- if (images.length) {
867
- this._addQuickImages(images);
868
- } else {
869
- setTimeout(function () {
870
- NextendAjaxHelper.stopLoading();
871
- }, 100);
872
- }
873
- images = [];
874
- }, this)
875
- });
876
 
877
- var timeout = null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
878
  this.slidesContainer.on('dragover', $.proxy(function (e) {
879
  if (timeout !== null) {
880
  clearTimeout(timeout);
@@ -892,20 +1032,21 @@ if (!Array.prototype.filter) {
892
  };
893
 
894
  NextendSmartSliderAdminSidebarSlides.prototype.changed = function () {
895
- if (this.slides.length > 0) {
896
- this.slidesPanel.addClass('n2-ss-has-slides');
897
- } else {
898
- this.slidesPanel.removeClass('n2-ss-has-slides');
899
- }
900
  };
901
 
902
  NextendSmartSliderAdminSidebarSlides.prototype.initSlidesOrderable = function () {
903
  this.slidesContainer.sortable({
 
 
 
904
  items: ".n2-box-slide",
905
- tolerance: 'pointer',
 
 
906
  stop: $.proxy(this.saveSlideOrder, this),
907
- helper: 'clone',
908
- placeholder: 'n2-box-placeholder n2-box'
909
  });
910
  };
911
 
@@ -952,6 +1093,8 @@ if (!Array.prototype.filter) {
952
  this.slides = slides;
953
  this.changed();
954
  $(window).triggerHandler('SmartSliderSidebarSlidesChanged');
 
 
955
  };
956
 
957
  NextendSmartSliderAdminSidebarSlides.prototype.unsetFirst = function () {
@@ -966,6 +1109,18 @@ if (!Array.prototype.filter) {
966
  nextend.imageHelper.openMultipleLightbox($.proxy(this._addQuickImages, this));
967
  };
968
 
 
 
 
 
 
 
 
 
 
 
 
 
969
  NextendSmartSliderAdminSidebarSlides.prototype._addQuickImages = function (images) {
970
  NextendAjaxHelper.ajax({
971
  type: 'POST',
@@ -976,11 +1131,7 @@ if (!Array.prototype.filter) {
976
  images: Base64.encode(JSON.stringify(images))
977
  }
978
  }).done($.proxy(function (response) {
979
- var boxes = $(response.data).insertBefore(this.slidesContainer.find('.n2-clear'));
980
- boxes.each($.proxy(function (i, el) {
981
- new NextendSmartSliderAdminSlide(this, $(el));
982
- }, this));
983
- this.initSlides();
984
  }, this));
985
  };
986
 
@@ -998,7 +1149,7 @@ if (!Array.prototype.filter) {
998
  back: false,
999
  close: true,
1000
  content: '<form class="n2-form"></form>',
1001
- controls: ['<a href="#" class="n2-button n2-button-big n2-button-green n2-uc n2-h4">' + n2_('Add video') + '</a>'],
1002
  fn: {
1003
  show: function () {
1004
  var button = this.controls.find('.n2-button'),
@@ -1077,8 +1228,7 @@ if (!Array.prototype.filter) {
1077
  video: Base64.encode(JSON.stringify(video))
1078
  }
1079
  }).done($.proxy(function (response) {
1080
- var box = $(response.data).insertBefore(this.slidesContainer.find('.n2-clear'));
1081
- new NextendSmartSliderAdminSlide(this, box);
1082
 
1083
  this.initSlides();
1084
  }, this));
@@ -1124,29 +1274,29 @@ if (!Array.prototype.filter) {
1124
  searchString = '';
1125
 
1126
  search.on('keyup', $.proxy(function () {
1127
- searchString = search.val();
1128
- getContent(searchString).done($.proxy(function (r) {
1129
- if (search.val() == searchString) {
1130
- if (searchString == '') {
1131
- heading.html(n2_('No search term specified. Showing recent items.'));
1132
- } else {
1133
- heading.html(n2_printf(n2_('Showing items match for "%s"'), searchString));
1134
- }
1135
-
1136
- var rows = r.data,
1137
- data = [],
1138
- modal = this;
1139
- for (var i = 0; i < rows.length; i++) {
1140
- data.push([rows[i].title, rows[i].info, $('<div class="n2-button n2-button-green n2-button-x-small n2-uc n2-h5">' + n2_('Select') + '</div>')
1141
- .on('click', {post: rows[i]}, function (e) {
1142
- manager._addQuickPost(modal, e.data.post);
1143
- })]);
1144
- }
1145
- result.html('');
1146
- this.createTable(data, ['width:100%;', '', '']).appendTo(this.createTableWrap().appendTo(result));
1147
  }
1148
- }, this));
1149
- }, this))
 
 
 
 
 
 
 
 
 
 
 
 
 
1150
  .trigger('keyup').focus();
1151
  }
1152
  }
@@ -1169,8 +1319,7 @@ if (!Array.prototype.filter) {
1169
  post: post
1170
  }
1171
  }).done($.proxy(function (response) {
1172
- var box = $(response.data).insertBefore(this.slidesContainer.find('.n2-clear'));
1173
- new NextendSmartSliderAdminSlide(this, box);
1174
 
1175
  this.initSlides();
1176
  }, this));
@@ -1178,21 +1327,15 @@ if (!Array.prototype.filter) {
1178
  };
1179
 
1180
  NextendSmartSliderAdminSidebarSlides.prototype.initBulk = function () {
1181
- $('.n2-slides-bulk').on('click', $.proxy(this.enterBulk, this));
1182
- $('.n2-bulk-cancel').on('click', $.proxy(this.leaveBulk, this));
1183
 
1184
- var selects = $('.n2-bulk-select').find('a');
1185
 
1186
- // Invert
1187
- selects.eq(0).on('click', $.proxy(function (e) {
1188
- e.preventDefault();
1189
- this.bulkSelect(function (slide) {
1190
- slide.invertSelection();
1191
- });
1192
- }, this));
1193
 
1194
  //Select all
1195
- selects.eq(1).on('click', $.proxy(function (e) {
1196
  e.preventDefault();
1197
  this.bulkSelect(function (slide) {
1198
  slide.select();
@@ -1200,7 +1343,7 @@ if (!Array.prototype.filter) {
1200
  }, this));
1201
 
1202
  //Select none
1203
- selects.eq(2).on('click', $.proxy(function (e) {
1204
  e.preventDefault();
1205
  this.bulkSelect(function (slide) {
1206
  slide.deSelect();
@@ -1208,10 +1351,10 @@ if (!Array.prototype.filter) {
1208
  }, this));
1209
 
1210
  //Select published
1211
- selects.eq(3).on('click', $.proxy(function (e) {
1212
  e.preventDefault();
1213
  this.bulkSelect(function (slide) {
1214
- if (slide.publishElement.hasClass('n2-active')) {
1215
  slide.select();
1216
  } else {
1217
  slide.deSelect();
@@ -1220,10 +1363,10 @@ if (!Array.prototype.filter) {
1220
  }, this));
1221
 
1222
  //Select unpublished
1223
- selects.eq(4).on('click', $.proxy(function (e) {
1224
  e.preventDefault();
1225
  this.bulkSelect(function (slide) {
1226
- if (slide.publishElement.hasClass('n2-active')) {
1227
  slide.deSelect();
1228
  } else {
1229
  slide.select();
@@ -1231,7 +1374,7 @@ if (!Array.prototype.filter) {
1231
  });
1232
  }, this));
1233
 
1234
- var actions = $('.n2-bulk-action').find('a');
1235
 
1236
  //Delete
1237
  actions.eq(0).on('click', $.proxy(function (e) {
@@ -1258,6 +1401,20 @@ if (!Array.prototype.filter) {
1258
  }, this));
1259
  };
1260
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1261
  NextendSmartSliderAdminSidebarSlides.prototype.bulkSelect = function (cb) {
1262
  for (var i = 0; i < this.slides.length; i++) {
1263
  cb(this.slides[i]);
@@ -1281,25 +1438,29 @@ if (!Array.prototype.filter) {
1281
  };
1282
 
1283
  NextendSmartSliderAdminSidebarSlides.prototype.enterBulk = function () {
1284
- this.slidesContainer.sortable('option', 'disabled', true);
1285
- $('#n2-admin').addClass('n2-slide-bulk-mode');
1286
-
1287
- for (var i = 0; i < this.slides.length; i++) {
1288
- this.slides[i].selectMode();
1289
  }
1290
  };
1291
 
1292
  NextendSmartSliderAdminSidebarSlides.prototype.leaveBulk = function () {
1293
- this.slidesContainer.sortable('option', 'disabled', false);
1294
- $('#n2-admin').removeClass('n2-slide-bulk-mode');
 
1295
 
1296
- for (var i = 0; i < this.slides.length; i++) {
1297
- this.slides[i].normalMode();
 
 
 
1298
  }
1299
  };
1300
 
1301
  NextendSmartSliderAdminSidebarSlides.prototype.deleteSlides = function (ids, slides) {
1302
- var title = slides[0].box.find('.n2-box-button a').text();
 
1303
  if (slides.length > 1) {
1304
  title += ' and ' + (slides.length - 1) + ' more';
1305
  }
@@ -1317,6 +1478,7 @@ if (!Array.prototype.filter) {
1317
  slides[i].deleted();
1318
  }
1319
  this.initSlides();
 
1320
  }, this));
1321
  }, this));
1322
  };
@@ -1325,10 +1487,8 @@ if (!Array.prototype.filter) {
1325
  for (var i = 0; i < this.slides.length; i++) {
1326
  if (this.slides[i].selected) {
1327
  this.slides[i].duplicate($.Event("click", {
1328
- currentTarget: this.slides[i].box.find('.n2-slide-duplicate')
1329
- })).done(function (slide) {
1330
- slide.selectMode();
1331
- });
1332
  }
1333
  }
1334
  };
@@ -1366,6 +1526,58 @@ if (!Array.prototype.filter) {
1366
  this.changed();
1367
  }, this));
1368
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1369
  scope.NextendSmartSliderAdminSidebarSlides = NextendSmartSliderAdminSidebarSlides;
1370
 
1371
  function NextendSmartSliderAdminSlide(manager, box) {
@@ -1374,15 +1586,25 @@ if (!Array.prototype.filter) {
1374
 
1375
  this.box = box.data('slide', this)
1376
  .addClass('n2-clickable');
1377
- this.normalMode();
1378
- this.box.find('.n2-slide-first')
1379
- .on('click', $.proxy(this.setFirst, this));
 
 
 
 
 
 
 
1380
  this.publishElement = this.box.find('.n2-slide-published')
1381
  .on('click', $.proxy(this.switchPublished, this));
1382
- this.box.find('.n2-slide-duplicate')
1383
- .on('click', $.proxy(this.duplicate, this));
1384
- this.box.find('.n2-slide-delete')
1385
- .on('click', $.proxy(this.delete, this));
 
 
 
1386
  };
1387
 
1388
  NextendSmartSliderAdminSlide.prototype.getId = function () {
@@ -1401,11 +1623,11 @@ if (!Array.prototype.filter) {
1401
  }
1402
  }).done($.proxy(function () {
1403
  this.manager.unsetFirst();
1404
- this.box.addClass('n2-first-slide');
1405
  }, this));
1406
  };
1407
  NextendSmartSliderAdminSlide.prototype.unsetFirst = function () {
1408
- this.box.removeClass('n2-first-slide');
1409
  };
1410
 
1411
  NextendSmartSliderAdminSlide.prototype.switchPublished = function (e) {
@@ -1419,24 +1641,25 @@ if (!Array.prototype.filter) {
1419
  };
1420
 
1421
  NextendSmartSliderAdminSlide.prototype.isPublished = function () {
1422
- return this.publishElement.hasClass('n2-active');
1423
  };
1424
 
1425
  NextendSmartSliderAdminSlide.prototype.published = function () {
1426
- this.publishElement.addClass('n2-active');
1427
  };
1428
 
1429
  NextendSmartSliderAdminSlide.prototype.unPublished = function () {
1430
- this.publishElement.removeClass('n2-active');
1431
  };
1432
 
1433
  NextendSmartSliderAdminSlide.prototype.goToEdit = function (e, isBlank) {
1434
- if(e.target.tagName != 'A'){
1435
- if (typeof isBlank !== 'undefined' && isBlank) {
1436
- window.open(this.box.data('editurl'), '_blank');
1437
- } else {
1438
- window.location = this.box.data('editurl');
1439
- }
 
1440
  }
1441
  };
1442
 
@@ -1445,7 +1668,7 @@ if (!Array.prototype.filter) {
1445
  e.preventDefault();
1446
  var deferred = $.Deferred();
1447
  NextendAjaxHelper.ajax({
1448
- url: NextendAjaxHelper.makeAjaxUrl($(e.currentTarget).attr('href'), {
1449
  nextendaction: 'duplicate'
1450
  })
1451
  }).done($.proxy(function (response) {
@@ -1466,25 +1689,6 @@ if (!Array.prototype.filter) {
1466
  this.box.remove();
1467
  };
1468
 
1469
- NextendSmartSliderAdminSlide.prototype.selectMode = function () {
1470
- this.box.off('.n2-slide');
1471
- this.box.on('click.n2-slide', $.proxy(this.invertSelection, this));
1472
- };
1473
-
1474
- NextendSmartSliderAdminSlide.prototype.normalMode = function () {
1475
- this.box.off('.n2-slide');
1476
- this.box.on({
1477
- 'click.n2-slide': $.proxy(this.goToEdit, this),
1478
- 'mousedown.n2-slide': $.proxy(function (e) {
1479
- if (e.which == 2 || e.which == 4) {
1480
- e.preventDefault();
1481
- this.goToEdit(e, true);
1482
- }
1483
- }, this)
1484
- });
1485
- this.deSelect();
1486
- };
1487
-
1488
  NextendSmartSliderAdminSlide.prototype.invertSelection = function (e) {
1489
  if (e) {
1490
  e.preventDefault();
@@ -1498,409 +1702,652 @@ if (!Array.prototype.filter) {
1498
  };
1499
 
1500
  NextendSmartSliderAdminSlide.prototype.select = function () {
1501
- this.selected = true;
1502
- this.box.addClass('n2-active');
 
 
 
1503
  };
1504
 
1505
  NextendSmartSliderAdminSlide.prototype.deSelect = function () {
1506
- this.selected = false;
1507
- this.box.removeClass('n2-active');
 
 
 
1508
  };
1509
 
1510
  scope.NextendSmartSliderAdminSlide = NextendSmartSliderAdminSlide;
1511
- })(n2, window);
 
 
1512
  (function (smartSlider, $, scope, undefined) {
1513
 
1514
- function NextendSmartSliderSidebar() {
1515
- NextendAdminVerticalPane.prototype.constructor.call(this, $('.n2-layers-tab'), $('#n2-ss-layers-items-list').css('overflow', 'auto'), $('#n2-tabbed-layer-item-animation-tabs > .n2-tabs').css('overflow', 'auto'));
 
 
 
 
 
 
 
 
 
 
 
1516
 
 
 
 
 
 
 
1517
  smartSlider.sidebarManager = this;
1518
 
1519
- this.panelHeading = $('#layeritemeditorpanel').find('.n2-sidebar-tab-switcher .n2-td');
1520
 
 
 
 
1521
 
1522
- var sidebar = $('#n2-ss-slide-sidebar');
 
 
1523
 
1524
- var contentTop = sidebar.parent().siblings('.n2-td').offset().top - $('#wpadminbar, .navbar').height();
 
 
 
 
 
 
 
1525
 
1526
- var onScrollCB = $.proxy(function () {
1527
- if ($(window).scrollTop() > contentTop) {
1528
- sidebar.addClass("n2-sidebar-fixed");
1529
- } else {
1530
- sidebar.removeClass("n2-sidebar-fixed");
1531
- }
1532
- }, this);
1533
 
1534
- this.lateInit();
1535
- $(window).scroll(onScrollCB);
1536
- onScrollCB();
 
 
 
 
1537
 
1538
- new NextendSmartSliderEditorSidebarSlides();
1539
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1540
 
1541
- NextendSmartSliderSidebar.prototype = Object.create(NextendAdminVerticalPane.prototype);
1542
- NextendSmartSliderSidebar.prototype.constructor = NextendSmartSliderSidebar;
1543
 
1544
- NextendSmartSliderSidebar.prototype.loadDefaults = function () {
1545
 
1546
- NextendAdminVerticalPane.prototype.loadDefaults.apply(this, arguments);
 
 
1547
 
1548
- this.key = 'smartsliderSlideSidebarRatio';
1549
  };
1550
 
1551
- NextendSmartSliderSidebar.prototype.switchTab = function (tab) {
1552
- this.panelHeading.eq(tab).trigger('click');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1553
  };
1554
 
1555
- NextendSmartSliderSidebar.prototype.getExcludedHeight = function () {
1556
- var h = 0;
1557
- h += $('#n2-ss-slide-editor-main-tab').outerHeight();
1558
- h += $('#n2-ss-item-container').outerHeight();
1559
- h += $('#n2-tabbed-layer-item-animation-tabs > .n2-labels').outerHeight();
1560
- h += this.tab.find('.n2-sidebar-pane-sizer').outerHeight();
1561
- h += 1; // border
1562
- return h;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1563
  };
 
 
1564
  scope.NextendSmartSliderSidebar = NextendSmartSliderSidebar;
1565
 
1566
- function NextendSmartSliderEditorSidebarSlides() {
 
 
1567
 
1568
- var tab = $('#n2-ss-slides');
1569
 
1570
- NextendAdminSinglePane.prototype.constructor.call(this, tab, tab.find('.n2-ss-slides-container').css('overflow', 'auto'));
1571
 
1572
- $('.n2-slides-tab-label').on('click.n2-slides-init', $.proxy(function (e) {
1573
- this.lateInit();
1574
- $(e.target).off('click.n2-slides-init');
1575
- }, this));
1576
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1577
 
1578
- NextendSmartSliderEditorSidebarSlides.prototype = Object.create(NextendAdminSinglePane.prototype);
1579
- NextendSmartSliderEditorSidebarSlides.prototype.constructor = NextendSmartSliderEditorSidebarSlides;
1580
 
1581
- NextendSmartSliderEditorSidebarSlides.prototype.getExcludedHeight = function () {
1582
- var h = 0;
1583
- h += $('#n2-ss-slide-editor-main-tab').outerHeight();
1584
- h += $('.n2-slides-tab .n2-definition-list').outerHeight(true);
1585
- h += 2; // border
1586
- return h;
1587
  };
1588
 
1589
- scope.NextendSmartSliderEditorSidebarSlides = NextendSmartSliderEditorSidebarSlides;
 
 
1590
 
 
 
1591
 
1592
- function NextendSmartSliderSidebarSlides() {
 
 
 
1593
 
1594
- var tab = $('#n2-ss-slides');
1595
 
1596
- var sidebar = tab.parents('.n2-sidebar-inner');
1597
- var contentTop = sidebar.parent().siblings('.n2-td').offset().top - $('#wpadminbar, .navbar').height();
 
 
 
 
 
 
 
 
1598
 
1599
- $(window).scroll($.proxy(function () {
1600
- if ($(window).scrollTop() > contentTop) {
1601
- sidebar.addClass("n2-sidebar-fixed");
 
 
 
 
1602
  } else {
1603
- sidebar.removeClass("n2-sidebar-fixed");
 
 
 
 
 
1604
  }
1605
- }, this)).trigger('scroll');
 
1606
 
1607
- NextendAdminSinglePane.prototype.constructor.call(this, tab, tab.find('.n2-ss-slides-container').css('overflow', 'auto'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1608
 
1609
- this.lateInit();
1610
  }
1611
 
1612
- NextendSmartSliderSidebarSlides.prototype = Object.create(NextendAdminSinglePane.prototype);
1613
- NextendSmartSliderSidebarSlides.prototype.constructor = NextendSmartSliderSidebarSlides;
1614
-
1615
- NextendSmartSliderSidebarSlides.prototype.getExcludedHeight = function () {
1616
- var h = 0;
1617
- h += $('#n2-ss-slide-editor-main-tab').outerHeight();
1618
- h += $('.n2-sidebar .n2-definition-list').outerHeight(true);
1619
- h += 2; // border
1620
- return h;
1621
- };
1622
-
1623
- scope.NextendSmartSliderSidebarSlides = NextendSmartSliderSidebarSlides;
1624
-
1625
- })(nextend.smartSlider, n2, window);
1626
- ;
1627
- (function (smartSlider, $, scope, undefined) {
1628
-
1629
-
1630
- function SmartSliderAdminSlide(sliderElementID, slideContentElementID, isUploadDisabled, uploadUrl, uploadDir, options) {
1631
-
1632
- this.options = $.extend({
1633
- slideAsFile: 0
1634
- }, options);
1635
-
1636
- this.readyDeferred = $.Deferred();
1637
- smartSlider.slide = this;
1638
-
1639
- this._warnInternetExplorerUsers();
1640
-
1641
- this.$slideContentElement = $('#' + slideContentElementID);
1642
- this.slideStartValue = this.$slideContentElement.val();
1643
- this.$sliderElement = $('#' + sliderElementID);
1644
-
1645
-
1646
- smartSlider.frontend = window["n2-ss-0"];
1647
-
1648
- var fontSize = this.$sliderElement.data('fontsize');
1649
-
1650
- nextend.fontManager.setFontSize(fontSize);
1651
- nextend.styleManager.setFontSize(fontSize);
1652
-
1653
-
1654
- smartSlider.$currentSlideElement = smartSlider.frontend.adminGetCurrentSlideElement();
1655
-
1656
- new SmartSliderAdminGenerator();
1657
-
1658
- smartSlider.$currentSlideElement.addClass('n2-ss-currently-edited-slide');
1659
- var staticSlide = smartSlider.frontend.parameters.isStaticEdited;
1660
- new NextendSmartSliderAdminSlideLayerManager(smartSlider.$currentSlideElement.data('slide'), staticSlide, isUploadDisabled, uploadUrl, uploadDir);
1661
-
1662
- if (!staticSlide) {
1663
- this._initializeBackgroundChanger();
1664
- }
1665
-
1666
- this.readyDeferred.resolve();
1667
-
1668
- $('#smartslider-form').on({
1669
- checkChanged: $.proxy(this.prepareFormForCheck, this),
1670
- submit: $.proxy(this.onSlideSubmit, this)
1671
- });
1672
-
1673
- this.createHistory();
1674
- };
1675
-
1676
- SmartSliderAdminSlide.prototype.ready = function (fn) {
1677
- this.readyDeferred.done(fn);
1678
- };
1679
-
1680
- SmartSliderAdminSlide.prototype.prepareFormForCheck = function () {
1681
- var data = JSON.stringify(smartSlider.layerManager.getData()),
1682
- startData = JSON.stringify(JSON.parse(Base64.decode(this.slideStartValue)));
1683
-
1684
- this.$slideContentElement.val(startData == data ? this.slideStartValue : Base64.encode(data));
1685
- };
1686
-
1687
- SmartSliderAdminSlide.prototype.onSlideSubmit = function (e) {
1688
- if (!nextend.isPreview) {
1689
- this.prepareForm();
1690
- e.preventDefault();
1691
-
1692
- nextend.askToSave = false;
1693
-
1694
- if (this.options.slideAsFile && typeof window.FormData !== undefined && typeof window.File !== 'undefined') {
1695
- var fd = new FormData();
1696
- var data = $('#smartslider-form').serializeArray();
1697
- $.each(data, function (key, input) {
1698
- if (input.name == 'slide[slide]') {
1699
- fd.append('slide', new File([input.value], "slide.txt"));
1700
- } else {
1701
- fd.append(input.name, input.value);
1702
- }
1703
- });
1704
-
1705
- NextendAjaxHelper.ajax({
1706
- url: NextendAjaxHelper.makeAjaxUrl(window.location.href),
1707
- type: 'POST',
1708
- data: fd,
1709
- contentType: false,
1710
- processData: false
1711
- }).done(function () {
1712
- nextend.askToSave = true;
1713
- $('#smartslider-form').trigger('saved');
1714
- });
1715
- } else {
1716
- NextendAjaxHelper.ajax({
1717
- type: 'POST',
1718
- url: NextendAjaxHelper.makeAjaxUrl(window.location.href),
1719
- data: $('#smartslider-form').serialize(),
1720
- dataType: 'json'
1721
- }).done(function () {
1722
- nextend.askToSave = true;
1723
- $('#smartslider-form').trigger('saved');
1724
- });
1725
- }
1726
- }
1727
- };
1728
-
1729
- SmartSliderAdminSlide.prototype.prepareForm = function () {
1730
- this.$slideContentElement.val(Base64.encode(JSON.stringify(smartSlider.layerManager.getData())));
1731
- };
1732
-
1733
- SmartSliderAdminSlide.prototype._initializeBackgroundChanger = function () {
1734
- this.background = {
1735
- slideBackgroundColorField: $('#slidebackgroundColor'),
1736
- slideBackgroundImageField: $('#slidebackgroundImage'),
1737
- slideBackgroundImageOpacity: $('#slidebackgroundImageOpacity'),
1738
- slidebackgroundFocusX: $('#slidebackgroundFocusX'),
1739
- slidebackgroundFocusY: $('#slidebackgroundFocusY'),
1740
- slideBackgroundModeField: $('#slidebackgroundMode'),
1741
- backgroundImageElement: smartSlider.$currentSlideElement.find('.nextend-slide-bg'),
1742
- canvas: smartSlider.$currentSlideElement.find('.n2-ss-slide-background')
1743
- };
1744
-
1745
- this.background.slideBackgroundColorField.on('nextendChange', $.proxy(this.__onAfterBackgroundColorChange, this));
1746
- this.background.slideBackgroundImageField.on('nextendChange', $.proxy(this.__onAfterBackgroundImageChange, this));
1747
- this.background.slideBackgroundImageOpacity.on('nextendChange', $.proxy(this.__onAfterBackgroundImageOpacityChange, this));
1748
- this.background.slideBackgroundModeField.on('nextendChange', $.proxy(this.__onAfterBackgroundImageChange, this));
1749
- this.background.slidebackgroundFocusX.on('nextendChange', $.proxy(this.__onAfterBackgroundImageChange, this));
1750
- this.background.slidebackgroundFocusY.on('nextendChange', $.proxy(this.__onAfterBackgroundImageChange, this));
1751
-
1752
- // Auto fill thumbnail if empty
1753
- var thumbnail = $('#slidethumbnail');
1754
- if (thumbnail.val() == '') {
1755
- var itemImage = $('#item_imageimage'),
1756
- cb = $.proxy(function (image) {
1757
- if (image != '' && image != '$system$/images/placeholder/image.png') {
1758
- thumbnail.val(image).trigger('change');
1759
- this.background.slideBackgroundImageField.off('.slidethumbnail');
1760
- itemImage.off('.slidethumbnail');
1761
- }
1762
- }, this);
1763
- this.background.slideBackgroundImageField.on('nextendChange.slidethumbnail', $.proxy(function () {
1764
- cb(this.background.slideBackgroundImageField.val());
1765
- }, this));
1766
- itemImage.on('nextendChange.slidethumbnail', $.proxy(function () {
1767
- cb(itemImage.val());
1768
- }, this));
1769
- }
1770
- };
1771
-
1772
- SmartSliderAdminSlide.prototype.__onAfterBackgroundColorChange = function () {
1773
- var backgroundColor = this.background.slideBackgroundColorField.val();
1774
- if (backgroundColor.substr(6, 8) == '00') {
1775
- this.background.canvas.css('background', '');
1776
- } else {
1777
- this.background.canvas.css('background', '#' + backgroundColor.substr(0, 6))
1778
- .css('background', N2Color.hex2rgbaCSS(backgroundColor));
1779
- }
1780
- };
1781
-
1782
- SmartSliderAdminSlide.prototype.__onAfterBackgroundImageOpacityChange = function () {
1783
- smartSlider.$currentSlideElement.data('slideBackground').setOpacity(this.background.slideBackgroundImageOpacity.val() / 100);
1784
- };
1785
-
1786
- /**
1787
- * This event callback is responsible for the slide editor to show the apropiate background color and image.
1788
- * @private
1789
- */
1790
- SmartSliderAdminSlide.prototype.__onAfterBackgroundImageChange = function () {
1791
- smartSlider.$currentSlideElement.data('slideBackground').changeDesktop(smartSlider.generator.fill(this.background.slideBackgroundImageField.val()), '', this.background.slideBackgroundModeField.val(), this.background.slidebackgroundFocusX.val(), this.background.slidebackgroundFocusY.val());
1792
- this.__onAfterBackgroundImageOpacityChange();
1793
- };
1794
-
1795
- /**
1796
- * Warn old version IE users that the editor may fail to wrok in their browser.
1797
- * @private
1798
- */
1799
- SmartSliderAdminSlide.prototype._warnInternetExplorerUsers = function () {
1800
- var ie = this.__isInternetExplorer();
1801
- if (ie && ie < 10) {
1802
- alert(window.ss2lang.The_editor_was_tested_under_Internet_Explorer_10_Firefox_and_Chrome_Please_use_one_of_the_tested_browser);
1803
- }
1804
- };
1805
-
1806
- /**
1807
- * @returns Internet Explorer version number or false
1808
- * @private
1809
- */
1810
- SmartSliderAdminSlide.prototype.__isInternetExplorer = function () {
1811
- var myNav = navigator.userAgent.toLowerCase();
1812
- return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
1813
- };
1814
-
1815
- SmartSliderAdminSlide.prototype.getLayout = function () {
1816
- var propertiesRaw = $('#smartslider-form').serializeArray(),
1817
- properties = {};
1818
-
1819
- for (var i = 0; i < propertiesRaw.length; i++) {
1820
- var m = propertiesRaw[i].name.match(/slide\[(.*?)\]/);
1821
- if (m) {
1822
- properties[m[1]] = propertiesRaw[i].value;
1823
- }
1824
- }
1825
- delete properties['generator'];
1826
- delete properties['published'];
1827
- delete properties['publishdates'];
1828
- delete properties['record-start'];
1829
- delete properties['record-slides'];
1830
- delete properties['slide'];
1831
-
1832
- properties['slide'] = smartSlider.layerManager.getData();
1833
- return properties;
1834
- };
1835
-
1836
- SmartSliderAdminSlide.prototype.loadLayout = function (properties, slideDataOverwrite, layerOverwrite) {
1837
- // we are working on references!
1838
- var slide = properties['slide'];
1839
- delete properties['slide'];
1840
- if (layerOverwrite) {
1841
- smartSlider.layerManager.loadData(slide, true);
1842
- } else {
1843
- smartSlider.layerManager.loadData(slide, false);
1844
- }
1845
- if (slideDataOverwrite) {
1846
- for (var k in properties) {
1847
- $('#slide' + k).val(properties[k]).trigger('change');
1848
- }
1849
- }
1850
- properties['slide'] = slide;
1851
- };
1852
-
1853
- SmartSliderAdminSlide.prototype.createHistory = function () {
1854
- this.slideValues = {};
1855
- n2('#smartslider-form').find('input[id][name^="slide"], textarea[id][name^="slide"]').not('#slideslide').each($.proxy(function (i, el) {
1856
- var $input = $(el),
1857
- field = $input.data('field'),
1858
- id = $input.attr('id');
1859
- this.slideValues[id] = $input.val();
1860
- $input.on('nextendChange', $.proxy(function () {
1861
- var newValue = $input.val(),
1862
- oldValue = this.slideValues[id];
1863
- this.slideValues[id] = newValue;
1864
- smartSlider.history.add($.proxy(function () {
1865
- return [this, 'slideValueChange', newValue, oldValue, [$input, field]];
1866
- }, this));
1867
- }, this));
1868
- }, this));
1869
- };
1870
-
1871
-
1872
- SmartSliderAdminSlide.prototype.history = function (method, value, other) {
1873
- switch (method) {
1874
- case 'slideValueChange':
1875
- other[1].insideChange(value);
1876
- break;
1877
- }
1878
- };
1879
-
1880
- scope.SmartSliderAdminSlide = SmartSliderAdminSlide;
1881
-
1882
- })(nextend.smartSlider, n2, window);
1883
  (function (smartSlider, $, scope, undefined) {
 
 
1884
  nextend['ssBeforeResponsive'] = function () {
1885
- new NextendSmartSliderAdminZoom(this);
 
 
 
1886
  };
1887
 
1888
  function NextendSmartSliderAdminZoom(responsive) {
 
1889
  this.key = 'n2-ss-editor-device-lock-mode';
1890
  this.devices = {
1891
  unknownUnknown: $('<div />')
1892
  };
1893
- this.responsive = responsive;
1894
- this.responsive.setOrientation('portrait');
1895
- this.responsive.parameters.onResizeEnabled = 0;
1896
- this.responsive.parameters.forceFull = 0; // We should disable force full feature on admin dashboard as it won't render before the sidebar
1897
- this.responsive._getDevice = this.responsive._getDeviceZoom;
1898
 
1899
  this.lock = $('#n2-ss-lock').on('click', $.proxy(this.switchLock, this));
1900
 
1901
  var desktopWidth = responsive.parameters.sliderWidthToDevice['desktopPortrait'];
1902
 
1903
- this.container = this.responsive.containerElement.closest('.n2-ss-container-device').addBack();
1904
  this.container.width(desktopWidth);
1905
  this.containerWidth = desktopWidth;
1906
 
@@ -1909,49 +2356,63 @@ if (!Array.prototype.filter) {
1909
  var tr = $('#n2-ss-devices .n2-tr'),
1910
  modes = responsive.parameters.deviceModes;
1911
 
1912
- this.devices.desktopPortrait = $('<div class="n2-td n2-panel-option" data-device="desktop" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-desktop"></i></div>').appendTo(tr);
1913
  if (modes.desktopLandscape) {
1914
- this.devices.desktopLandscape = $('<div class="n2-td n2-panel-option" data-device="desktop" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-desktop-landscape"></i></div>').appendTo(tr);
1915
  } else {
1916
  this.devices.desktopLandscape = this.devices.desktopPortrait;
1917
  }
1918
 
1919
  if (modes.tabletPortrait) {
1920
- this.devices.tabletPortrait = $('<div class="n2-td n2-panel-option" data-device="tablet" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-tablet"></i></div>').appendTo(tr);
1921
  } else {
1922
  this.devices.tabletPortrait = this.devices.desktopPortrait;
1923
  }
1924
  if (modes.tabletLandscape) {
1925
- this.devices.tabletLandscape = $('<div class="n2-td n2-panel-option" data-device="tablet" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-tablet-landscape"></i></div>').appendTo(tr);
1926
  } else {
1927
  this.devices.tabletLandscape = this.devices.desktopLandscape;
1928
  }
1929
 
1930
  if (modes.mobilePortrait) {
1931
- this.devices.mobilePortrait = $('<div class="n2-td n2-panel-option" data-device="mobile" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-mobile"></i></div>').appendTo(tr);
1932
  } else {
1933
  this.devices.mobilePortrait = this.devices.tabletPortrait;
1934
  }
1935
  if (modes.mobileLandscape) {
1936
- this.devices.mobileLandscape = $('<div class="n2-td n2-panel-option" data-device="mobile" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-mobile-landscape"></i></div>').appendTo(tr);
1937
  } else {
1938
  this.devices.mobileLandscape = this.devices.tabletLandscape;
1939
  }
1940
 
1941
  this.deviceOptions = $('#n2-ss-devices .n2-panel-option');
1942
 
1943
- $('#n2-ss-devices').css('width', (this.deviceOptions.length * 62) + 'px');
1944
 
1945
  this.deviceOptions.each($.proxy(function (i, el) {
1946
- $(el).on('click', $.proxy(this.setDeviceMode, this));
 
 
 
1947
  }, this));
1948
 
1949
  responsive.sliderElement.on('SliderDeviceOrientation', $.proxy(this.onDeviceOrientationChange, this));
1950
  };
1951
 
 
 
 
 
 
 
 
 
 
 
 
1952
  NextendSmartSliderAdminZoom.prototype.onDeviceOrientationChange = function (e, modes) {
1953
- $('#n2-admin').removeClass('n2-ss-mode-' + modes.lastDevice)
1954
- .addClass('n2-ss-mode-' + modes.device);
1955
  this.devices[modes.lastDevice + modes.lastOrientation].removeClass('n2-active');
1956
  this.devices[modes.device + modes.orientation].addClass('n2-active');
1957
  };
@@ -1962,8 +2423,10 @@ if (!Array.prototype.filter) {
1962
  var orientation = el.data('orientation');
1963
  smartSlider.layerManager.copyOrResetMode(el.data('device') + orientation[0].toUpperCase() + orientation.substr(1));
1964
  } else {
1965
- this.responsive.setOrientation(el.data('orientation'));
1966
- this.responsive.setMode(el.data('device'));
 
 
1967
  }
1968
  };
1969
 
@@ -1990,7 +2453,7 @@ if (!Array.prototype.filter) {
1990
  }
1991
 
1992
  this.zoom =
1993
- zoom.slider({
1994
  range: "min",
1995
  step: 1,
1996
  value: 1,
@@ -1998,7 +2461,7 @@ if (!Array.prototype.filter) {
1998
  max: 102
1999
  });
2000
 
2001
- this.responsive.sliderElement.on('SliderResize', $.proxy(this.sliderResize, this));
2002
 
2003
  if ($.jStorage.get(this.key, 'sync') == 'fix') {
2004
  this.setZoomFixMode();
@@ -2019,9 +2482,6 @@ if (!Array.prototype.filter) {
2019
  }, this);
2020
  parent.find('.n2-i-minus').on({
2021
  mousedown: $.proxy(mouseDown, this, -1),
2022
- mouseup: function(e){
2023
- console.log(e);
2024
- },
2025
  'mouseup mouseleave': function () {
2026
  if (interval) {
2027
  clearInterval(interval);
@@ -2080,13 +2540,19 @@ if (!Array.prototype.filter) {
2080
  var width = parseInt(ratio * this.containerWidth);
2081
  this.container.width(width);
2082
 
2083
- switch (mode) {
2084
- case 'sync':
2085
- this.responsive.doResize();
2086
- break;
2087
- default:
2088
- this.responsive.doResize(true);
2089
- break;
 
 
 
 
 
 
2090
  }
2091
  if (ui) {
2092
  ui.handle.innerHTML = width + 'px';
@@ -2094,7 +2560,7 @@ if (!Array.prototype.filter) {
2094
  };
2095
 
2096
  NextendSmartSliderAdminZoom.prototype.setZoom = function () {
2097
- var ratio = this.responsive.containerElement.width() / this.containerWidth;
2098
  var v = 50;
2099
  if (ratio < 1) {
2100
  v = (ratio - nextend.smallestZoom / this.containerWidth) / (1 - nextend.smallestZoom / this.containerWidth) * 50;
@@ -2105,4073 +2571,5912 @@ if (!Array.prototype.filter) {
2105
  this.zoom.slider('value', v);
2106
  };
2107
  })
2108
- (nextend.smartSlider, n2, window);
2109
- ;
2110
  (function ($, scope) {
2111
 
2112
- function NextendElementAnimationManager(id, managerIdentifier) {
2113
- this.element = $('#' + id);
2114
- this.managerIdentifier = managerIdentifier;
2115
-
2116
- this.element.parent()
2117
- .on('click', $.proxy(this.show, this));
2118
-
2119
- this.element.siblings('.n2-form-element-clear')
2120
- .on('click', $.proxy(this.clear, this));
 
2121
 
2122
- this.name = this.element.siblings('input');
 
 
 
 
 
2123
 
2124
- this.updateName(this.element.val());
2125
 
2126
- NextendElement.prototype.constructor.apply(this, arguments);
2127
- };
 
 
2128
 
 
 
 
 
 
2129
 
2130
- NextendElementAnimationManager.prototype = Object.create(NextendElement.prototype);
2131
- NextendElementAnimationManager.prototype.constructor = NextendElementAnimationManager;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2132
 
 
 
 
 
 
2133
 
2134
- NextendElementAnimationManager.prototype.show = function (e) {
2135
- e.preventDefault();
2136
- nextend[this.managerIdentifier].show(this.element.val(), $.proxy(this.save, this));
2137
- };
2138
 
2139
- NextendElementAnimationManager.prototype.clear = function (e) {
2140
- e.preventDefault();
2141
- e.stopPropagation();
2142
- this.val('');
2143
- };
2144
 
2145
- NextendElementAnimationManager.prototype.save = function (e, value) {
2146
- this.val(value);
2147
- };
2148
 
2149
- NextendElementAnimationManager.prototype.val = function (value) {
2150
- this.element.val(value);
2151
- this.updateName(value);
2152
- this.triggerOutsideChange();
2153
- };
2154
 
2155
- NextendElementAnimationManager.prototype.insideChange = function (value) {
2156
- this.element.val(value);
2157
 
2158
- this.updateName(value);
 
 
 
 
 
 
 
 
 
 
 
 
2159
 
2160
- this.triggerInsideChange();
2161
- };
2162
 
2163
- NextendElementAnimationManager.prototype.updateName = function (value) {
2164
- if (value == '') {
2165
- value = n2_('Disabled');
2166
- } else if (value.split('||').length > 1) {
2167
- value = n2_('Multiple animations')
2168
- } else {
2169
- value = n2_('Single animation');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2170
  }
2171
- this.name.val(value);
2172
  };
2173
 
2174
- scope.NextendElementAnimationManager = NextendElementAnimationManager;
2175
-
2176
- function NextendElementPostAnimationManager() {
2177
- NextendElementAnimationManager.prototype.constructor.apply(this, arguments);
2178
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2179
 
 
 
 
 
 
2180
 
2181
- NextendElementPostAnimationManager.prototype = Object.create(NextendElementAnimationManager.prototype);
2182
- NextendElementPostAnimationManager.prototype.constructor = NextendElementPostAnimationManager;
 
 
 
2183
 
2184
- NextendElementPostAnimationManager.prototype.clear = function (e) {
2185
- e.preventDefault();
2186
- e.stopPropagation();
2187
- var data = this.element.val().split('|*|');
2188
- data[2] = '';
2189
- this.val(data.join('|*|'));
2190
- };
2191
- NextendElementPostAnimationManager.prototype.updateName = function (value) {
2192
- var data = value.split('|*|');
2193
- value = data[2];
2194
- if (value == '') {
2195
- value = n2_('Disabled');
2196
- } else if (value.split('||').length > 1) {
2197
- value = n2_('Multiple animations');
2198
- } else {
2199
- value = n2_('Single animation');
2200
- }
2201
- this.name.val(value);
2202
  };
2203
 
2204
- scope.NextendElementPostAnimationManager = NextendElementPostAnimationManager;
2205
 
2206
- })(n2, window);
2207
  (function ($, scope) {
2208
 
2209
- var STATUS = {
2210
- INITIALIZED: 0,
2211
- UNDER_PICK_PARENT: 1,
2212
- UNDER_PICK_CHILD: 2
2213
- },
2214
- OVERLAYS = '<div class="n2-ss-picker-overlay" data-align="left" data-valign="top" />' +
2215
- '<div class="n2-ss-picker-overlay" data-align="center" data-valign="top" style="left:33%;top:0;" />' +
2216
- '<div class="n2-ss-picker-overlay" data-align="right" data-valign="top" style="left:66%;top:0;width:34%;" />' +
2217
- '<div class="n2-ss-picker-overlay" data-align="left" data-valign="middle" style="left:0;top:33%;" />' +
2218
- '<div class="n2-ss-picker-overlay" data-align="center" data-valign="middle" style="left:33%;top:33%; " />' +
2219
- '<div class="n2-ss-picker-overlay" data-align="right" data-valign="middle" style="left:66%;top:33%;width:34%;" />' +
2220
- '<div class="n2-ss-picker-overlay" data-align="left" data-valign="bottom" style="left:0;top:66%;height:34%;" />' +
2221
- '<div class="n2-ss-picker-overlay" data-align="center" data-valign="bottom" style="left:33%;top:66%;height:34%;" />' +
2222
- '<div class="n2-ss-picker-overlay" data-align="right" data-valign="bottom" style="left:66%;top:66%;width:34%;height:34%;" />';
2223
-
2224
- function NextendElementLayerPicker(id) {
2225
- this.status = 0;
2226
- this.element = $('#' + id);
2227
- this.overlays = null;
2228
-
2229
- this.aligns = this.element.parent().parent().siblings();
2230
 
2231
- this.globalPicker = $('#n2-ss-parent-linker');
2232
- this.picker = this.element.siblings('.n2-ss-layer-picker')
2233
- .on({
2234
- click: $.proxy(this.click, this),
2235
- mouseenter: $.proxy(function () {
2236
- var value = this.element.val();
2237
- if (value != '') {
2238
- $('#' + value).addClass('n2-highlight');
2239
- }
2240
- }, this),
2241
- mouseleave: $.proxy(function () {
2242
- var value = this.element.val();
2243
- if (value != '') {
2244
- $('#' + value).removeClass('n2-highlight');
2245
- }
2246
- }, this)
2247
- });
2248
 
 
2249
 
2250
- NextendElement.prototype.constructor.apply(this, arguments);
2251
- };
2252
 
 
2253
 
2254
- NextendElementLayerPicker.prototype = Object.create(NextendElement.prototype);
2255
- NextendElementLayerPicker.prototype.constructor = NextendElementLayerPicker;
 
2256
 
2257
- NextendElementLayerPicker.prototype.click = function (e) {
2258
- if (this.status == STATUS.INITIALIZED) {
2259
- $('body').on('mousedown.n2-ss-parent-linker', $.proxy(function (e) {
2260
- var el = $(e.target),
2261
- parent = el.parent();
2262
- if (!el.hasClass('n2-ss-picker-overlay') && !parent.hasClass('n2-under-pick')) {
2263
- this.endSelection();
2264
- }
2265
- }, this));
2266
- var layers = nextend.activeLayer.parent().find('.n2-ss-layer').not(nextend.activeLayer),
2267
- cb = function (id) {
2268
- layers.each(function () {
2269
- var layer = $(this),
2270
- layerObject = layer.data('layerObject');
2271
- if (layerObject.getProperty(false, 'parentid') == id) {
2272
- layers = layers.not(layer);
2273
- var id2 = layerObject.getProperty(false, 'id');
2274
- if (id2 && id2 != '') {
2275
- cb(id2);
2276
- }
2277
- }
2278
- });
2279
- };
2280
- var cID = nextend.activeLayer.data('layerObject').getProperty(false, 'id');
2281
- if (cID && cID != '') {
2282
- cb(cID);
2283
- }
2284
-
2285
- if (layers.length > 0) {
2286
- this.globalPicker.addClass('n2-under-pick');
2287
- this.picker.addClass('n2-under-pick');
2288
-
2289
- layers.addClass('n2-ss-picking-on-layer');
2290
- this.overlays = $(OVERLAYS).appendTo(layers);
2291
- this.overlays.on('mousedown', $.proxy(function (e) {
2292
- var selectedOverlay = $(e.currentTarget),
2293
- parentAlign = selectedOverlay.data('align'),
2294
- parentValign = selectedOverlay.data('valign'),
2295
- parentObject = selectedOverlay.parent().data('layerObject');
2296
- this.status = STATUS.UNDER_PICK_CHILD;
2297
- this.overlays.remove();
2298
-
2299
- layers.removeClass('n2-ss-picking-on-layer');
2300
- nextend.activeLayer.addClass('n2-ss-picking-on-layer');
2301
- this.overlays = $(OVERLAYS).appendTo(nextend.activeLayer);
2302
- this.overlays.on('mousedown', $.proxy(function (e) {
2303
- var selectedChildOverlay = $(e.currentTarget),
2304
- align = selectedChildOverlay.data('align'),
2305
- valign = selectedChildOverlay.data('valign');
2306
-
2307
- nextend.activeLayer.removeClass('n2-ss-picking-on-layer');
2308
- nextend.activeLayer.data('layerObject').parentPicked(parentObject, parentAlign, parentValign, align, valign);
2309
-
2310
- //this.change(parentObject.requestID());
2311
 
2312
- e.preventDefault();
2313
- e.stopPropagation();
2314
- this.endSelection();
2315
- }, this));
2316
- e.preventDefault();
2317
- e.stopPropagation();
2318
- }, this));
2319
 
2320
- NextendEsc.add($.proxy(function () {
2321
- this.endSelection();
2322
- return false;
2323
- }, this));
 
 
 
 
 
 
 
 
2324
 
2325
- this.status = STATUS.UNDER_PICK_PARENT;
2326
- }
2327
- } else if (this.status == STATUS.UNDER_PICK_PARENT) {
2328
- this.change('');
2329
- this.endSelection();
2330
- } else if (this.status == STATUS.UNDER_PICK_CHILD) {
2331
- this.change('');
2332
- this.endSelection();
 
 
 
 
 
 
 
2333
  }
2334
  };
2335
 
2336
- NextendElementLayerPicker.prototype.endSelection = function () {
2337
- $('body').off('mousedown.n2-ss-parent-linker');
2338
- nextend.activeLayer.parent().find('.n2-ss-layer').removeClass('n2-ss-picking-on-layer');
2339
- this.globalPicker.removeClass('n2-under-pick');
2340
- this.picker.removeClass('n2-under-pick');
2341
- if (this.overlays) {
2342
- this.overlays.remove();
 
 
 
 
 
 
 
 
 
 
2343
  }
2344
- this.overlays = null;
2345
- this.status = STATUS.INITIALIZED;
2346
- NextendEsc.pop();
2347
- };
2348
 
2349
- NextendElementLayerPicker.prototype.change = function (value) {
2350
- this.picker.trigger('mouseleave');
2351
- this.element.val(value).trigger('change');
2352
- this._setValue(value);
2353
- this.triggerOutsideChange();
 
 
 
 
 
 
 
 
 
 
 
 
2354
  };
2355
 
2356
- NextendElementLayerPicker.prototype.insideChange = function (value) {
2357
- this.element.val(value);
2358
- this._setValue(value);
2359
 
2360
- this.triggerInsideChange();
2361
- };
 
2362
 
2363
- NextendElementLayerPicker.prototype._setValue = function (value) {
2364
- if (value && value != '') {
2365
- this.picker.addClass('n2-active');
2366
- this.aligns.css('display', '');
2367
- } else {
2368
- this.picker.removeClass('n2-active');
2369
- this.aligns.css('display', 'none');
2370
- }
2371
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2372
 
2373
- scope.NextendElementLayerPicker = NextendElementLayerPicker;
2374
 
2375
- })(n2, window);
2376
- ;
2377
- (function ($, scope) {
 
2378
 
2379
- function NextendElementSliderType(id) {
2380
- this.element = $('#' + id);
 
 
 
 
2381
 
2382
- this.setAttribute();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2383
 
2384
- this.element.on('nextendChange', $.proxy(this.setAttribute, this));
 
 
 
 
 
 
 
2385
  };
2386
 
2387
- NextendElementSliderType.prototype.setAttribute = function () {
2388
 
2389
- $('#n2-admin').attr('data-slider-type', this.element.val());
 
 
 
2390
  };
2391
 
2392
- scope.NextendElementSliderType = NextendElementSliderType;
2393
-
2394
- })(n2, window);
2395
-
2396
- ;
2397
- (function ($, scope) {
2398
 
2399
- function NextendElementSliderWidgetArea(id) {
2400
- this.element = $('#' + id);
2401
 
2402
- this.area = $('#' + id + '_area');
2403
 
2404
- this.areas = this.area.find('.n2-area');
2405
 
2406
- this.areas.on('click', $.proxy(this.chooseArea, this));
2407
 
2408
- NextendElement.prototype.constructor.apply(this, arguments);
2409
- };
 
 
 
 
 
2410
 
 
 
 
 
 
 
 
2411
 
2412
- NextendElementSliderWidgetArea.prototype = Object.create(NextendElement.prototype);
2413
- NextendElementSliderWidgetArea.prototype.constructor = NextendElementSliderWidgetArea;
 
2414
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2415
 
2416
- NextendElementSliderWidgetArea.prototype.chooseArea = function (e) {
2417
- var value = parseInt($(e.target).data('area'));
 
 
 
 
2418
 
2419
- this.element.val(value);
2420
- this.setSelected(value);
 
 
 
 
2421
 
2422
- this.triggerOutsideChange();
 
 
 
2423
  };
2424
 
2425
- NextendElementSliderWidgetArea.prototype.insideChange = function (value) {
2426
- value = parseInt(value);
2427
- this.element.val(value);
2428
- this.setSelected(value);
2429
-
2430
- this.triggerInsideChange();
 
 
 
 
 
 
 
 
 
 
 
 
 
2431
  };
2432
 
2433
- NextendElementSliderWidgetArea.prototype.setSelected = function (index) {
2434
- this.areas.removeClass('n2-active');
2435
- this.areas.eq(index - 1).addClass('n2-active');
 
 
 
 
 
2436
  };
2437
 
2438
- scope.NextendElementSliderWidgetArea = NextendElementSliderWidgetArea;
2439
-
2440
- })(n2, window);
2441
-
2442
- "use strict";
2443
- (function ($, scope) {
2444
- function NextendElementWidgetPosition(id) {
2445
 
2446
- this.element = $('#' + id + '-mode');
2447
- this.container = this.element.closest('.n2-form-element-mixed');
 
 
 
 
 
2448
 
2449
- this.tabs = this.container.find('> .n2-mixed-group');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2450
 
2451
- this.element.on('nextendChange', $.proxy(this.onChange, this));
 
 
 
 
 
 
 
 
 
 
 
 
 
2452
 
2453
- this.onChange();
2454
- };
 
 
2455
 
2456
- NextendElementWidgetPosition.prototype.onChange = function () {
2457
- var value = this.element.val();
2458
 
2459
- if (value == 'advanced') {
2460
- this.tabs.eq(2).css('display', '');
2461
- this.tabs.eq(1).css('display', 'none');
2462
- } else {
2463
- this.tabs.eq(1).css('display', '');
2464
- this.tabs.eq(2).css('display', 'none');
2465
- }
2466
  };
2467
 
2468
- scope.NextendElementWidgetPosition = NextendElementWidgetPosition;
 
 
 
2469
 
2470
- })(n2, window);
2471
-
2472
- (function (smartSlider, $, scope, undefined) {
2473
- "use strict";
2474
- function Generator() {
2475
- this._refreshTimeout = null;
2476
- this.modal = false;
2477
- this.group = 0;
2478
- smartSlider.generator = this;
2479
- var variables = smartSlider.$currentSlideElement.data('variables');
2480
- if (variables) {
2481
- this.variables = variables;
 
 
 
 
 
 
 
2482
 
2483
- for (var i in this.variables) {
2484
- if (!isNaN(parseFloat(i)) && isFinite(i)) {
2485
- this.group = Math.max(this.group, parseInt(i) + 1);
2486
- }
2487
- }
2488
 
2489
- this.fill = this.generatorFill;
2490
- if (this.group > 0) {
2491
- this.registerField = this.generatorRegisterField;
 
 
2492
 
2493
- this.button = $('<a href="#" class="n2-form-element-button n2-form-element-button-inverted n2-h5 n2-uc" style="position:absolute; left: -26px; top:50%;margin-top: -14px;font-size: 14px; padding:0; width: 28px;text-align: center;">$</a>')
2494
- .on('click', $.proxy(function (e) {
2495
- e.preventDefault();
2496
- this.showModal();
2497
- }, this));
2498
- this.registerField($('#slidetitle'));
2499
- this.registerField($('#slidedescription'));
2500
- this.registerField($('#slidethumbnail'));
2501
- this.registerField($('#slidebackgroundImage'));
2502
- this.registerField($('#slidebackgroundAlt'));
2503
- this.registerField($('#slidebackgroundTitle'));
2504
- this.registerField($('#slidebackgroundVideoMp4'));
2505
- this.registerField($('#slidebackgroundVideoWebm'));
2506
- this.registerField($('#slidebackgroundVideoOgg'));
2507
- this.registerField($('#linkslidelink_0'));
2508
 
2509
- //this.showModal();
2510
- }
2511
 
2512
- this.initSlideDataRefresh();
2513
- } else {
2514
- this.variables = null;
2515
- }
2516
- };
2517
 
2518
- Generator.prototype.fill = function (value) {
2519
- return value;
2520
- };
2521
 
2522
- Generator.prototype.generatorFill = function (value) {
2523
- return value.replace(/{((([a-z]+)\(([0-9a-zA-Z_,\/\(\)]+)\))|([a-zA-Z0-9][a-zA-Z0-9_\/]*))}/g, $.proxy(this.parseFunction, this));
2524
- };
 
2525
 
2526
- Generator.prototype.parseFunction = function (s, s2, s3, functionName, argumentString, variable) {
2527
- if (typeof variable == 'undefined') {
2528
- var args = argumentString.split(/,(?!.*\))/);
2529
- for (var i = 0; i < args.length; i++) {
2530
- args[i] = this.parseVariable(args[i]);
2531
  }
2532
- return this[functionName].apply(this, args);
2533
- } else {
2534
- return this.parseVariable(variable);
2535
- }
2536
- };
2537
 
2538
- Generator.prototype.parseVariable = function (variable) {
2539
 
2540
- var functionMatch = variable.match(/((([a-z]+)\(([0-9a-zA-Z_,\/\(\)]+)\)))/);
2541
- if (functionMatch) {
2542
- return this.parseFunction.apply(this, functionMatch);
2543
- } else {
2544
- var variableMatch = variable.match(/([a-zA-Z][0-9a-zA-Z_]*)(\/([0-9a-z]+))?/);
2545
- if (variableMatch) {
2546
- var index = variableMatch[3];
2547
- if (typeof index == 'undefined') {
2548
- index = 0;
2549
- } else {
2550
- var i = parseInt(index);
2551
- if (!isNaN(i)) {
2552
- index = Math.max(index, 1) - 1;
2553
- }
2554
- }
2555
- if (typeof this.variables[index] != 'undefined' && typeof this.variables[index][variableMatch[1]] != 'undefined') {
2556
- return this.variables[index][variableMatch[1]];
2557
- }
2558
- return '';
2559
  }
2560
- return variable;
2561
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2562
  };
2563
 
2564
- Generator.prototype.cleanhtml = function (variable) {
2565
- return strip_tags(variable, '<p><a><b><br /><br/><i>');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2566
  };
2567
 
2568
- Generator.prototype.removehtml = function (variable) {
2569
- return $('<div>' + variable + '</div>').text();
2570
  };
2571
 
2572
- Generator.prototype.splitbychars = function (s, start, length) {
2573
- return s.substr(start, length);
 
 
 
 
 
2574
  };
2575
 
2576
- Generator.prototype.splitbywords = function (variable, start, length) {
2577
- var s = variable,
2578
- len = s.length,
2579
- posStart = Math.max(0, start == 0 ? 0 : s.indexOf(' ', start)),
2580
- posEnd = Math.max(0, length > len ? len : s.indexOf(' ', length));
2581
- return s.substr(posStart, posEnd);
 
2582
  };
2583
 
2584
- Generator.prototype.findimage = function (variable, index) {
2585
- var s = variable,
2586
- re = /(<img.*?src=[\'"](.*?)[\'"][^>]*>)|(background(-image)??\s*?:.*?url\((["|\']?)?(.+?)(["|\']?)?\))/gi,
2587
- r = [],
2588
- tmp = null;
2589
 
2590
- index = typeof index != 'undefined' ? parseInt(index) - 1 : 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2591
 
2592
- while (tmp = re.exec(s)) {
2593
- if (typeof tmp[2] != 'undefined') {
2594
- r.push(tmp[2]);
2595
- } else if (typeof tmp[6] != 'undefined') {
2596
- r.push(tmp[6]);
2597
- }
 
 
 
 
 
 
2598
  }
2599
 
2600
- if (r.length) {
2601
- if (r.length > index) {
2602
- return r[index];
2603
- } else {
2604
- return r[r.length - 1];
2605
- }
2606
  } else {
2607
- return '';
2608
  }
2609
  };
2610
-
2611
- Generator.prototype.findlink = function (variable, index) {
2612
- var s = variable,
2613
- re = /href=["\']?([^"\'>]+)["\']?/gi,
2614
- r = [],
2615
- tmp = null;
2616
 
2617
- index = typeof index != 'undefined' ? parseInt(index) - 1 : 0;
2618
-
2619
- while (tmp = re.exec(s)) {
2620
- if (typeof tmp[1] != 'undefined') {
2621
- r.push(tmp[1]);
2622
- }
2623
  }
 
2624
 
2625
- if (r.length) {
2626
- if (r.length > index) {
2627
- return r[index];
2628
- } else {
2629
- return r[r.length - 1];
2630
- }
2631
- } else {
2632
- return '';
2633
  }
2634
  };
2635
 
2636
- Generator.prototype.removevarlink = function (variable) {
2637
- var s = variable,
2638
- re = /<a href=\"(.*?)\">(.*?)<\/a>/g;
 
2639
 
2640
- return s.replace(re, '');
2641
- };
 
2642
 
2643
- Generator.prototype.registerField = function (field) {
2644
- };
2645
 
2646
- Generator.prototype.generatorRegisterField = function (field) {
2647
- var parent = field.parent();
2648
- parent.on({
2649
- mouseenter: $.proxy(function () {
2650
- this.activeField = field;
2651
- this.button.prependTo(parent);
2652
- }, this)
2653
- });
2654
- };
2655
 
2656
- Generator.prototype.getModal = function () {
2657
- var that = this;
2658
- if (!this.modal) {
2659
- var active = {
2660
- key: '',
2661
- group: 1,
2662
- filter: 'no',
2663
- split: 'no',
2664
- splitStart: 0,
2665
- splitLength: 300,
2666
- findImage: 0,
2667
- findImageIndex: 1,
2668
- findLink: 0,
2669
- findLinkIndex: 1,
2670
- removeVarLink: 0
2671
- },
2672
- getVariableString = function () {
2673
- var variable = active.key + '/' + active.group;
2674
- if (active.findImage) {
2675
- variable = 'findimage(' + variable + ',' + Math.max(1, active.findImageIndex) + ')';
2676
- }
2677
- if (active.findLink) {
2678
- variable = 'findlink(' + variable + ',' + Math.max(1, active.findLinkIndex) + ')';
2679
- }
2680
- if (active.removeVarLink) {
2681
- variable = 'removevarlink(' + variable + ')';
2682
- }
2683
- if (active.filter != 'no') {
2684
- variable = active.filter + '(' + variable + ')';
2685
- }
2686
- if (active.split != 'no' && active.splitStart >= 0 && active.splitLength > 0) {
2687
- variable = active.split + '(' + variable + ',' + active.splitStart + ',' + active.splitLength + ')';
2688
- }
2689
- return '{' + variable + '}';
2690
- },
2691
- resultContainer = $('<div class="n2-generator-result-container" />'),
2692
- updateResult = function () {
2693
- resultContainer.html($('<div/>').text(that.fill(getVariableString())).html());
2694
- };
2695
 
2696
- var group = that.group,
2697
- variables = null,
2698
- groups = null,
2699
- content = $('<div class="n2-generator-insert-variable"/>');
2700
 
 
 
2701
 
2702
- var groupHeader = NextendModal.prototype.createHeading(n2_('Choose the group')).appendTo(content);
2703
- var groupContainer = $('<div class="n2-group-container" />').appendTo(content);
2704
 
 
 
2705
 
2706
- content.append(NextendModal.prototype.createHeading(n2_('Choose the variable')));
2707
- var variableContainer = $('<div class="n2-variable-container" />').appendTo(content);
2708
 
2709
- //content.append(NextendModal.prototype.createHeading('Functions'));
2710
- var functionsContainer = $('<div class="n2-generator-functions-container n2-form-element-mixed" />')
2711
- .appendTo($('<div class="n2-form" />').appendTo(content));
 
2712
 
2713
- content.append(NextendModal.prototype.createHeading(n2_('Result')));
2714
- resultContainer.appendTo(content);
 
 
 
2715
 
 
 
 
2716
 
2717
- $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Filter') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select autocomplete="off" name="filter" id="n2-generator-function-filter"><option selected="selected" value="no">' + n2_('No') + '</option><option value="cleanhtml">' + n2_('Clean HTML') + '</option><option value="removehtml">' + n2_('Remove HTML') + '</option></select></div></div></div>')
2718
- .appendTo(functionsContainer);
2719
- var filter = functionsContainer.find('#n2-generator-function-filter');
2720
- filter.on('change', $.proxy(function () {
2721
- active.filter = filter.val();
2722
- updateResult();
2723
- }, this));
2724
 
 
 
2725
 
2726
- $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Split by chars') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select autocomplete="off" name="split" id="n2-generator-function-split"><option selected="selected" value="no">' + n2_('No') + '</option><option value="splitbychars">' + n2_('Strict') + '</option><option value="splitbywords">' + n2_('Respect words') + '</option></select></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">' + n2_('Start') + '</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="0" id="n2-generator-function-split-start"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">' + n2_('Length') + '</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="300" id="n2-generator-function-split-length"></div></div></div>')
2727
- .appendTo(functionsContainer);
2728
- var split = functionsContainer.find('#n2-generator-function-split');
2729
- split.on('change', $.proxy(function () {
2730
- active.split = split.val();
2731
- updateResult();
2732
- }, this));
2733
- var splitStart = functionsContainer.find('#n2-generator-function-split-start');
2734
- splitStart.on('change', $.proxy(function () {
2735
- active.splitStart = parseInt(splitStart.val());
2736
- updateResult();
2737
- }, this));
2738
- var splitLength = functionsContainer.find('#n2-generator-function-split-length');
2739
- splitLength.on('change', $.proxy(function () {
2740
- active.splitLength = parseInt(splitLength.val());
2741
- updateResult();
2742
- }, this));
2743
 
 
 
2744
 
2745
- $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Find image') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-findimage"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">' + n2_('Index') + '</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="1" id="n2-generator-function-findimage-index"></div></div></div>')
2746
- .appendTo(functionsContainer);
2747
-
2748
- var findImage = functionsContainer.find('#n2-generator-function-findimage');
2749
- findImage.on('nextendChange', $.proxy(function () {
2750
- active.findImage = parseInt(findImage.val());
2751
- updateResult();
2752
- }, this));
2753
- var findImageIndex = functionsContainer.find('#n2-generator-function-findimage-index');
2754
- findImageIndex.on('change', $.proxy(function () {
2755
- active.findImageIndex = parseInt(findImageIndex.val());
2756
- updateResult();
2757
- }, this));
2758
 
 
2759
 
2760
- $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Find link') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-findlink"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">' + n2_('Index') + '</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="1" id="n2-generator-function-findlink-index"></div></div></div>')
2761
- .appendTo(functionsContainer);
 
2762
 
2763
- var findLink = functionsContainer.find('#n2-generator-function-findlink');
2764
- findLink.on('nextendChange', $.proxy(function () {
2765
- active.findLink = parseInt(findLink.val());
2766
- updateResult();
2767
- }, this));
2768
- var findLinkIndex = functionsContainer.find('#n2-generator-function-findlink-index');
2769
- findLinkIndex.on('change', $.proxy(function () {
2770
- active.findLinkIndex = parseInt(findLinkIndex.val());
2771
- updateResult();
2772
- }, this));
2773
 
 
 
2774
 
2775
- $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Remove links') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-removevarlink"></div></div></div>')
2776
- .appendTo(functionsContainer);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2777
 
2778
- var removeVarLink = functionsContainer.find('#n2-generator-function-removevarlink');
2779
- removeVarLink.on('nextendChange', $.proxy(function () {
2780
- active.removeVarLink = parseInt(removeVarLink.val());
2781
- updateResult();
2782
- }, this));
2783
- var removeVarLinkIndex = functionsContainer.find('#n2-generator-function-removevarlink-index');
2784
- removeVarLinkIndex.on('change', $.proxy(function () {
2785
- active.removeVarLinkIndex = parseInt(removeVarLinkIndex.val());
2786
- updateResult();
2787
- }, this));
2788
 
2789
- for (var k in this.variables[0]) {
2790
- $('<a href="#" class="n2-button n2-button-small n2-button-grey">' + k + '</a>')
2791
- .on('click', $.proxy(function (key, e) {
2792
- e.preventDefault();
2793
- variables.removeClass('n2-active');
2794
- $(e.currentTarget).addClass('n2-active');
2795
- active.key = key;
2796
- updateResult();
2797
- }, this, k))
2798
- .appendTo(variableContainer);
2799
- }
2800
 
2801
- variables = variableContainer.find('a');
2802
- variables.eq(0).trigger('click');
 
2803
 
2804
- if (group == 1) {
2805
- groupHeader.css('display', 'none');
2806
- groupContainer.css('display', 'none');
2807
- }
2808
- for (var i = 0; i < group; i++) {
2809
- $('<a href="#" class="n2-button n2-button-small n2-button-grey">' + (i + 1) + '</a>')
2810
- .on('click', $.proxy(function (groupIndex, e) {
2811
- e.preventDefault();
2812
- groups.removeClass('n2-active');
2813
- $(e.currentTarget).addClass('n2-active');
2814
- active.group = groupIndex + 1;
2815
- updateResult();
2816
- }, this, i))
2817
- .appendTo(groupContainer);
2818
- }
2819
- groups = groupContainer.find('a');
2820
- groups.eq(0).trigger('click');
2821
 
2822
- var inited = false;
 
 
2823
 
2824
- this.modal = new NextendModal({
2825
- zero: {
2826
- size: [
2827
- 1000,
2828
- group > 1 ? 560 : 490
2829
- ],
2830
- title: n2_('Insert variable'),
2831
- back: false,
2832
- close: true,
2833
- content: content,
2834
- controls: ['<a href="#" class="n2-button n2-button-big n2-button-green">' + n2_('Insert') + '</a>'],
2835
- fn: {
2836
- show: function () {
2837
- if (!inited) {
2838
- new NextendElementOnoff("n2-generator-function-findimage");
2839
- new NextendElementOnoff("n2-generator-function-findlink");
2840
- new NextendElementOnoff("n2-generator-function-removevarlink");
2841
- inited = true;
2842
- }
2843
- this.controls.find('.n2-button').on('click', $.proxy(function (e) {
2844
- e.preventDefault();
2845
- that.insert(getVariableString());
2846
- this.hide(e);
2847
- }, this));
2848
- }
2849
- }
2850
- }
2851
- }, false);
2852
 
2853
- this.modal.setCustomClass('n2-ss-generator-modal');
2854
- }
2855
- return this.modal;
2856
  };
2857
 
2858
- Generator.prototype.showModal = function () {
2859
-
2860
- this.getModal().show();
2861
- };
2862
 
2863
- Generator.prototype.insert = function (value) {
2864
- this.activeField.val(value).trigger('change');
2865
- };
2866
 
2867
- Generator.prototype.initSlideDataRefresh = function () {
 
2868
 
2869
- var name = $('#slidetitle').on('nextendChange', $.proxy(function () {
2870
- this.variables.slide.name = name.val();
2871
- this.refresh();
2872
- }, this));
2873
 
2874
- var description = $('#slidedescription').on('nextendChange', $.proxy(function () {
2875
- this.variables.slide.description = description.val();
2876
- this.refresh();
2877
- }, this));
2878
 
 
2879
  };
 
 
 
 
 
2880
 
 
 
2881
 
2882
- Generator.prototype.refresh = function () {
2883
- if (this._refreshTimeout) {
2884
- clearTimeout(this._refreshTimeout);
2885
- this._refreshTimeout = null;
2886
- }
2887
- this._refreshTimeout = setTimeout($.proxy(this._refresh, this), 100);
2888
  };
2889
 
2890
- Generator.prototype._refresh = function () {
2891
- var layers = smartSlider.layerManager.layerList;
2892
- for (var j = 0; j < layers.length; j++) {
2893
- var items = layers[j].items;
2894
- for (var i = 0; i < items.length; i++) {
2895
- items[i].reRender();
2896
- }
2897
- }
2898
  };
2899
 
 
2900
 
2901
- scope.SmartSliderAdminGenerator = Generator;
2902
 
2903
- })(nextend.smartSlider, n2, window);
2904
- (function ($, scope, undefined) {
2905
 
2906
- function GeneratorRecords(ajaxUrl) {
2907
- this.ajaxUrl = ajaxUrl;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2908
 
2909
- $("#generatorrecord-viewer").on("click", $.proxy(this.showRecords, this));
2910
- };
 
 
 
2911
 
2912
- GeneratorRecords.prototype.showRecords = function (e) {
2913
- e.preventDefault();
2914
- NextendAjaxHelper.ajax({
2915
- type: "POST",
2916
- url: this.ajaxUrl,
2917
- data: $("#smartslider-form").serialize(),
2918
- dataType: "json"
2919
- }).done(function (response) {
2920
- var modal = new NextendModal({
2921
- zero: {
2922
- size: [
2923
- 1300,
2924
- 700
2925
- ],
2926
- title: "Records",
2927
- content: response.data.html
2928
- }
2929
- }, true);
2930
- modal.content.css('overflow', 'auto');
2931
- }).error(function (response) {
2932
- if (response.status == 200) {
2933
- var modal = new NextendModal({
2934
- zero: {
2935
- size: [
2936
- 1300,
2937
- 700
2938
- ],
2939
- title: "Response",
2940
- content: response.responseText
2941
- }
2942
- }, true);
2943
- modal.content.css('overflow', 'auto');
2944
- }
2945
- });
2946
- };
2947
 
2948
- scope.NextendSmartSliderGeneratorRecords = GeneratorRecords;
2949
- })(n2, window);
2950
- (function (smartSlider, $, scope, undefined) {
 
 
 
2951
 
2952
- function Item(item, layer, itemEditor, createPosition) {
2953
- this.item = item;
2954
- this.layer = layer;
2955
- this.itemEditor = itemEditor;
2956
 
2957
- this.type = this.item.data('item');
2958
- this.values = this.item.data('itemvalues');
2959
 
2960
- if (typeof this.values !== 'object') {
2961
- this.values = $.parseJSON(this.values);
2962
- }
2963
 
2964
- if (scope['NextendSmartSliderItemParser_' + this.type] !== undefined) {
2965
- this.parser = new scope['NextendSmartSliderItemParser_' + this.type](this);
2966
- } else {
2967
- this.parser = new scope['NextendSmartSliderItemParser'](this);
2968
- }
2969
- this.item.data('item', this);
2970
 
2971
- if (typeof createPosition !== 'undefined') {
2972
- if (this.layer.items.length == 0 || this.layer.items.length <= createPosition) {
2973
- this.item.appendTo(this.layer.layer);
2974
- } else {
2975
- this.layer.items[createPosition].item.before(this.item);
2976
- }
2977
  }
 
 
 
 
 
 
 
 
 
2978
 
2979
- if (typeof createPosition === 'undefined' || this.layer.items.length == 0 || this.layer.items.length <= createPosition) {
2980
- this.layer.items.push(this);
 
 
 
 
 
 
 
 
 
 
 
 
2981
  } else {
2982
- this.layer.items.splice(createPosition, 0, this);
 
 
2983
  }
 
2984
 
2985
- if (this.item.children().length === 0) {
2986
- this.reRender();
2987
- }
 
 
 
2988
 
 
 
2989
 
2990
- $('<div/>')
2991
- .addClass('ui-helper ui-item-overlay')
2992
- .css('zIndex', 89)
2993
- .appendTo(this.item);
 
 
2994
 
2995
- $(window).trigger('ItemCreated');
2996
- };
2997
 
2998
- Item.prototype.changeValue = function (property, value) {
2999
- if (this == this.itemEditor.activeItem) {
3000
- $('#item_' + this.type + property).data('field')
3001
- .insideChange(value);
3002
- } else {
3003
- this.values[property] = value;
3004
  }
3005
- };
3006
 
3007
- Item.prototype.activate = function (e, force) {
3008
- this.itemEditor.setActiveItem(this, force);
3009
- };
3010
 
3011
- Item.prototype.deActivate = function () {
3012
- };
 
 
3013
 
3014
- Item.prototype.render = function (html, data, originalData) {
3015
- this.layer.layer.triggerHandler('itemRender');
3016
- this.item.html(this.parser.render(html, data));
 
3017
 
3018
- // These will be available on the backend render
3019
- this.values = originalData;
 
 
3020
 
3021
- $('<div/>')
3022
- .addClass('ui-helper ui-item-overlay')
3023
- .css('zIndex', 89)
3024
- .appendTo(this.item);
3025
 
3026
- var layerName = this.parser.getName(data);
3027
- if (layerName === false) {
3028
- layerName = this.type;
3029
- } else {
3030
- layerName = layerName.replace(/[<> ]/gi, '');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3031
  }
3032
- this.layer.rename(layerName, false);
3033
 
3034
- this.layer.update();
3035
- };
 
 
 
 
3036
 
3037
- Item.prototype.reRender = function (newData) {
3038
 
3039
- var data = {},
3040
- itemEditor = this.itemEditor,
3041
- form = itemEditor.getItemType(this.type),
3042
- html = form.template;
3043
 
3044
- for (var name in this.values) {
3045
- data[name] = this.values[name];
3046
- //$.extend(data, this.parser.parse(name, data[name]));
3047
- }
3048
 
3049
- data = $.extend({}, this.parser.getDefault(), data, newData);
 
3050
 
3051
- var originalData = $.extend({}, data);
3052
 
3053
- this.parser.parseAll(data, this);
3054
- this.values = originalData;
 
 
3055
 
3056
- for (var k in data) {
3057
- var reg = new RegExp('\\{' + k + '\\}', 'g');
3058
- html = html.replace(reg, data[k]);
3059
- }
3060
 
3061
- this.render($(html), data, this.values);
3062
- };
3063
 
3064
- Item.prototype.duplicate = function () {
3065
- this.layer.addItem(this.getHTML(), true);
3066
- };
3067
 
3068
- Item.prototype.delete = function () {
3069
- this.item.trigger('mouseleave');
3070
- this.item.remove();
 
3071
 
3072
- if (this.itemEditor.activeItem == this) {
3073
- this.itemEditor.activeItem = null;
3074
- }
 
 
3075
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3076
  };
3077
 
3078
- Item.prototype.getHTML = function (base64) {
3079
- var item = '';
3080
- if (base64) {
3081
 
3082
- item = '[' + this.type + ' values="' + Base64.encode(JSON.stringify(this.values)) + '"]';
 
 
 
 
 
3083
  } else {
3084
- item = $('<div class="n2-ss-item n2-ss-item-' + this.type + '"></div>')
3085
- .attr('data-item', this.type)
3086
- .attr('data-itemvalues', JSON.stringify(this.values));
3087
  }
3088
- return item;
3089
  };
3090
 
3091
- Item.prototype.getData = function () {
3092
- return {
3093
- type: this.type,
3094
- values: this.values
3095
- };
 
 
 
 
 
 
 
3096
  };
3097
 
 
3098
 
3099
- Item.prototype.history = function (method, value, other) {
3100
- switch (method) {
3101
- case 'updateCurrentItem':
3102
- this.reRender($.extend(true, {}, value));
3103
- this.values = value;
3104
- this.itemEditor.setActiveItem(this, true);
3105
- break;
3106
  }
3107
  };
3108
 
3109
- scope.NextendSmartSliderItem = Item;
3110
- })(nextend.smartSlider, n2, window);
3111
- (function (smartSlider, $, scope, undefined) {
3112
 
3113
- function ItemManager(layerEditor) {
3114
- this.suppressChange = false;
3115
 
3116
- this.activeItemOriginalData = null;
 
3117
 
3118
- this.layerEditor = layerEditor;
 
3119
 
3120
- this._initInstalledItems();
3121
 
3122
- this.form = {};
3123
- this.activeForm = {
3124
- form: $('<div></div>')
3125
- };
3126
- }
3127
 
3128
- ItemManager.prototype.setActiveItem = function (item, force) {
3129
- if (item != this.activeItem || force) {
3130
- this.activeItemOriginalData = null;
3131
 
3132
- var type = item.type,
3133
- values = item.values;
3134
 
3135
- this.activeForm.form.css('display', 'none');
3136
 
3137
- this.activeForm = this.getItemType(type);
 
3138
 
3139
- if (this.activeItem) {
3140
- this.activeItem.deActivate();
3141
- }
3142
 
3143
- this.activeItem = item;
 
3144
 
3145
- this.suppressChange = true;
 
3146
 
3147
- for (var key in values) {
3148
- var field = $('#item_' + type + key).data('field');
3149
- if (field) {
3150
- field.insideChange(values[key]);
3151
- }
3152
- }
3153
 
3154
- this.suppressChange = false;
 
 
 
3155
 
3156
- this.activeForm.form.css('display', 'block');
3157
- }
3158
  };
3159
 
3160
- ItemManager.prototype._initInstalledItems = function () {
3161
-
3162
- $('#n2-ss-item-container .n2-ss-core-item')
3163
- .on('click', $.proxy(function (e) {
3164
- this.createLayerItem($(e.currentTarget).data('item'));
3165
- }, this));
3166
  };
3167
 
3168
- ItemManager.prototype.createLayerItem = function (type) {
3169
- var itemData = this.getItemType(type),
3170
- layer = this.layerEditor.createLayer($('.n2-ss-core-item-' + type).data('layerproperties'));
3171
 
3172
- var itemNode = $('<div></div>').data('item', type).data('itemvalues', $.extend(true, {}, itemData.values))
3173
- .addClass('n2-ss-item n2-ss-item-' + type);
3174
 
3175
- var item = new scope.NextendSmartSliderItem(itemNode, layer, this, 0);
3176
- layer.activate();
 
3177
 
3178
- smartSlider.sidebarManager.switchTab(0);
 
3179
 
3180
- smartSlider.history.add($.proxy(function () {
3181
- return [this, 'createLayer', 'create', 'delete', [item, type]];
3182
- }, this));
3183
 
3184
- return item;
 
 
3185
  };
3186
 
3187
- /**
3188
- * Initialize an item type and subscribe the field changes on that type.
3189
- * We use event normalization to stop not necessary rendering.
3190
- * @param type
3191
- * @private
3192
- */
3193
- ItemManager.prototype.getItemType = function (type) {
3194
- if (this.form[type] === undefined) {
3195
- var form = $('#smartslider-slide-toolbox-item-type-' + type),
3196
- formData = {
3197
- form: form,
3198
- template: form.data('itemtemplate'),
3199
- values: form.data('itemvalues'),
3200
- fields: form.find('[name^="item_' + type + '"]'),
3201
- fieldNameRegexp: new RegExp('item_' + type + "\\[(.*?)\\]", "")
3202
- };
3203
- formData.fields.on({
3204
- nextendChange: $.proxy(this.updateCurrentItem, this),
3205
- keydown: $.proxy(this.updateCurrentItemDeBounced, this)
3206
- });
3207
 
3208
- this.form[type] = formData;
 
 
 
 
 
3209
  }
3210
- return this.form[type];
3211
  };
3212
 
3213
- /**
3214
- * This function renders the current item with the current values of the related form field.
3215
- */
3216
- ItemManager.prototype.updateCurrentItem = function (e) {
3217
- if (!this.suppressChange) {
3218
- if (this.activeItemOriginalData === null) {
3219
- this.activeItemOriginalData = $.extend({}, this.activeItem.values);
3220
- }
3221
- var data = {},
3222
- originalData = {},
3223
- form = this.form[this.activeItem.type],
3224
- html = form.template,
3225
- parser = this.activeItem.parser;
3226
-
3227
- // Get the current values of the fields
3228
- // Run through the related item filter
3229
- // Replace the variables in the template of the item type
3230
- form.fields.each($.proxy(function (i, field) {
3231
- var field = $(field),
3232
- name = field.attr('name').match(form.fieldNameRegexp)[1];
3233
-
3234
- originalData[name] = data[name] = field.val();
3235
 
3236
- }, this));
3237
 
3238
- data = $.extend({}, parser.getDefault(), data);
 
 
 
 
 
 
 
 
 
3239
 
3240
- parser.parseAll(data, this.activeItem);
3241
- for (var k in data) {
3242
- var reg = new RegExp('\\{' + k + '\\}', 'g');
3243
- html = html.replace(reg, data[k]);
3244
  }
3245
- if (e && e.type == 'nextendChange') {
3246
- smartSlider.history.add($.proxy(function () {
3247
- return [this.activeItem, 'updateCurrentItem', $.extend({}, originalData), this.activeItemOriginalData, []];
3248
- }, this));
3249
 
3250
- this.activeItemOriginalData = null;
3251
- }
3252
- this.activeItem.render($(html), data, originalData);
3253
- }
3254
- };
3255
 
3256
- ItemManager.prototype.updateCurrentItemDeBounced = NextendDeBounce(function (e) {
3257
- this.updateCurrentItem(e);
3258
- }, 100);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3259
 
 
 
 
3260
 
3261
- ItemManager.prototype.history = function (method, value, other) {
3262
- switch (method) {
3263
- case 'createLayer':
3264
- switch (value) {
3265
- case 'delete':
3266
- other[0].layer.delete();
3267
- break;
3268
- case 'create':
3269
- var item = this.createLayerItem(other[1]);
3270
- smartSlider.history.changeFuture(other[0].layer, item.layer);
3271
- smartSlider.history.changeFuture(other[0], item);
3272
- break;
3273
- }
3274
- break;
3275
  }
3276
  };
3277
 
3278
- scope.NextendSmartSliderItemManager = ItemManager;
3279
-
3280
- })(nextend.smartSlider, n2, window);
3281
- (function ($, scope, undefined) {
3282
-
3283
- function ItemParser(item) {
3284
- this.pre = 'div#' + nextend.smartSlider.frontend.sliderElement.attr('id') + ' ';
3285
-
3286
- this.item = item;
3287
-
3288
- this.fonts = [];
3289
- this.styles = [];
3290
-
3291
- this.needFill = [];
3292
- this.added();
3293
- }
3294
-
3295
- ItemParser.prototype.getDefault = function () {
3296
- return {};
3297
- };
3298
-
3299
- ItemParser.prototype.added = function () {
3300
-
3301
- };
3302
-
3303
- ItemParser.prototype.addedFont = function (mode, name) {
3304
- this.fonts.push({
3305
- mode: mode,
3306
- name: name
3307
- });
3308
- $.when(nextend.fontManager.addVisualUsage(mode, this.item.values[name], this.pre))
3309
- .done($.proxy(function (existsFont) {
3310
- if (!existsFont) {
3311
- this.item.changeValue(name, '');
3312
- }
3313
- }, this));
3314
- };
3315
-
3316
- ItemParser.prototype.addedStyle = function (mode, name) {
3317
- this.styles.push({
3318
- mode: mode,
3319
- name: name
3320
- });
3321
- $.when(nextend.styleManager.addVisualUsage(mode, this.item.values[name], this.pre))
3322
- .done($.proxy(function (existsStyle) {
3323
- if (!existsStyle) {
3324
- this.item.changeValue(name, '');
3325
- }
3326
- }, this));
3327
-
3328
- };
3329
-
3330
- ItemParser.prototype.parseAll = function (data, item) {
3331
-
3332
- for (var i = 0; i < this.fonts.length; i++) {
3333
- data[this.fonts[i].name + 'class'] = nextend.fontManager.getClass(data[this.fonts[i].name], this.fonts[i].mode) + ' ';
3334
- }
3335
-
3336
- for (var i = 0; i < this.styles.length; i++) {
3337
- data[this.styles[i].name + 'class'] = nextend.styleManager.getClass(data[this.styles[i].name], this.styles[i].mode) + ' ';
3338
- }
3339
- for (var i = 0; i < this.needFill.length; i++) {
3340
- data[this.needFill[i]] = nextend.smartSlider.generator.fill(data[this.needFill[i]]);
3341
- }
3342
- };
3343
-
3344
- ItemParser.prototype.render = function (node, data) {
3345
- return node;
3346
- };
3347
-
3348
- ItemParser.prototype.getName = function (data) {
3349
- return false;
3350
- };
3351
-
3352
- ItemParser.prototype.resizeLayerToImage = function (item, image) {
3353
- $("<img/>")
3354
- .attr("src", image)
3355
- .load(function () {
3356
- var slideSize = item.layer.layerEditor.slideSize;
3357
- var maxWidth = slideSize.width,
3358
- maxHeight = slideSize.height;
3359
-
3360
- if (this.width > 0 && this.height > 0) {
3361
- maxWidth = parseInt(Math.min(this.width, maxWidth));
3362
- maxHeight = parseInt(Math.min(this.height, maxHeight));
3363
- nextend.smartSlider.history.off();
3364
- if (slideSize.width / slideSize.height <= maxWidth / maxHeight) {
3365
- item.layer.setProperty('width', maxWidth);
3366
- item.layer.setProperty('height', this.height * maxWidth / this.width);
3367
- } else {
3368
- var width = Math.min(this.width * slideSize.height / this.height, maxWidth);
3369
- item.layer.setProperty('width', width);
3370
- item.layer.setProperty('height', this.height * width / this.width);
3371
- }
3372
- nextend.smartSlider.history.on();
3373
- }
3374
- });
3375
- };
3376
-
3377
- ItemParser.prototype.fitLayer = function (item) {
3378
- return false;
3379
- };
3380
-
3381
- scope.NextendSmartSliderItemParser = ItemParser;
3382
-
3383
- })(n2, window);
3384
- (function ($, scope, undefined) {
3385
-
3386
- function ItemParserButton() {
3387
- NextendSmartSliderItemParser.apply(this, arguments);
3388
- };
3389
-
3390
- ItemParserButton.prototype = Object.create(NextendSmartSliderItemParser.prototype);
3391
- ItemParserButton.prototype.constructor = ItemParserButton;
3392
-
3393
- ItemParserButton.prototype.added = function () {
3394
- this.needFill = ['content', 'url'];
3395
- this.addedFont('link', 'font');
3396
- this.addedStyle('button', 'style');
3397
-
3398
- nextend.smartSlider.generator.registerField($('#item_buttoncontent'));
3399
- nextend.smartSlider.generator.registerField($('#linkitem_buttonlink_0'));
3400
- };
3401
-
3402
- ItemParserButton.prototype.getName = function (data) {
3403
- return data.content;
3404
- };
3405
-
3406
- ItemParserButton.prototype.parseAll = function (data) {
3407
- var link = data.link.split('|*|');
3408
- data.url = link[0];
3409
- data.target = link[1];
3410
- delete data.link;
3411
-
3412
- if (data.fullwidth | 0) {
3413
- data.display = 'block;';
3414
- } else {
3415
- data.display = 'inline-block;';
3416
- }
3417
-
3418
- data.extrastyle = data.nowrap | 0 ? 'white-space: nowrap;' : '';
3419
-
3420
- NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
3421
- };
3422
-
3423
- scope.NextendSmartSliderItemParser_button = ItemParserButton;
3424
- })(n2, window);
3425
- (function ($, scope, undefined) {
3426
-
3427
- function ItemParserHeading() {
3428
- NextendSmartSliderItemParser.apply(this, arguments);
3429
- };
3430
-
3431
- ItemParserHeading.prototype = Object.create(NextendSmartSliderItemParser.prototype);
3432
- ItemParserHeading.prototype.constructor = ItemParserHeading;
3433
-
3434
- ItemParserHeading.prototype.getDefault = function () {
3435
- return {
3436
- link: '#|*|_self',
3437
- font: '',
3438
- style: ''
3439
- }
3440
- };
3441
-
3442
- ItemParserHeading.prototype.added = function () {
3443
- this.needFill = ['heading', 'url'];
3444
-
3445
- this.addedFont('hover', 'font');
3446
- this.addedStyle('heading', 'style');
3447
-
3448
- nextend.smartSlider.generator.registerField($('#item_headingheading'));
3449
- nextend.smartSlider.generator.registerField($('#linkitem_headinglink_0'));
3450
-
3451
- };
3452
-
3453
- ItemParserHeading.prototype.getName = function (data) {
3454
- return data.heading;
3455
- };
3456
-
3457
- ItemParserHeading.prototype.parseAll = function (data) {
3458
-
3459
- data.uid = $.fn.uid();
3460
-
3461
- var link = data.link.split('|*|');
3462
- data.url = link[0];
3463
- data.target = link[1];
3464
- delete data.link;
3465
-
3466
-
3467
- if (data.fullwidth | 0) {
3468
- data.display = 'block;';
3469
- } else {
3470
- data.display = 'inline-block;';
3471
- }
3472
-
3473
- data.extrastyle = data.nowrap | 0 ? 'white-space: nowrap;' : '';
3474
-
3475
- data.heading = $('<div>' + data.heading + '</div>').text().replace(/\n/g, '<br />');
3476
- data.priority = 2;
3477
- data.class = '';
3478
-
3479
-
3480
- NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
3481
-
3482
- if (data['url'] == '#') {
3483
- data['afontclass'] = '';
3484
- } else {
3485
- data['afontclass'] = data['fontclass'];
3486
- data['fontclass'] = '';
3487
- }
3488
- };
3489
-
3490
- ItemParserHeading.prototype.render = function (node, data) {
3491
- if (data['url'] == '#') {
3492
- var a = node.find('a');
3493
- a.parent().html(a.html());
3494
- }
3495
- return node;
3496
- }
3497
-
3498
- scope.NextendSmartSliderItemParser_heading = ItemParserHeading;
3499
- })(n2, window);
3500
- (function ($, scope, undefined) {
3501
-
3502
- function ItemParserImage() {
3503
- NextendSmartSliderItemParser.apply(this, arguments);
3504
- };
3505
-
3506
- ItemParserImage.prototype = Object.create(NextendSmartSliderItemParser.prototype);
3507
- ItemParserImage.prototype.constructor = ItemParserImage;
3508
-
3509
- ItemParserImage.prototype.getDefault = function () {
3510
- return {
3511
- size: '100%|*|auto',
3512
- link: '#|*|_self',
3513
- style: ''
3514
- }
3515
- };
3516
-
3517
- ItemParserImage.prototype.added = function () {
3518
- this.needFill = ['image', 'url'];
3519
-
3520
- this.addedStyle('box', 'style');
3521
-
3522
- nextend.smartSlider.generator.registerField($('#item_imageimage'));
3523
- nextend.smartSlider.generator.registerField($('#item_imagealt'));
3524
- nextend.smartSlider.generator.registerField($('#item_imagetitle'));
3525
- nextend.smartSlider.generator.registerField($('#linkitem_imagelink_0'));
3526
- };
3527
-
3528
- ItemParserImage.prototype.getName = function (data) {
3529
- return data.image.split('/').pop();
3530
- };
3531
-
3532
- ItemParserImage.prototype.parseAll = function (data, item) {
3533
- var size = data.size.split('|*|');
3534
- data.width = size[0];
3535
- data.height = size[1];
3536
- delete data.size;
3537
-
3538
- var link = data.link.split('|*|');
3539
- data.url = link[0];
3540
- data.target = link[1];
3541
- delete data.link;
3542
-
3543
- NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
3544
-
3545
- if (item && item.values.image == '$system$/images/placeholder/image.png' && data.image != item.values.image) {
3546
- data.image = nextend.imageHelper.fixed(data.image);
3547
- this.resizeLayerToImage(item, data.image);
3548
- } else {
3549
- data.image = nextend.imageHelper.fixed(data.image);
3550
- }
3551
-
3552
- };
3553
-
3554
- ItemParserImage.prototype.fitLayer = function (item) {
3555
- this.resizeLayerToImage(item, nextend.imageHelper.fixed(item.values.image));
3556
- return true;
3557
- };
3558
-
3559
- ItemParserImage.prototype.render = function (node, data) {
3560
- if (data['url'] == '#') {
3561
- node.html(node.children('a').html());
3562
- }
3563
- return node;
3564
- };
3565
-
3566
- scope.NextendSmartSliderItemParser_image = ItemParserImage;
3567
- })(n2, window);
3568
-
3569
- (function ($, scope, undefined) {
3570
-
3571
- function ItemParserText() {
3572
- NextendSmartSliderItemParser.apply(this, arguments);
3573
- };
3574
-
3575
- ItemParserText.prototype = Object.create(NextendSmartSliderItemParser.prototype);
3576
- ItemParserText.prototype.constructor = ItemParserText;
3577
-
3578
- ItemParserText.prototype.getDefault = function () {
3579
- return {
3580
- contentmobile: '',
3581
- contenttablet: '',
3582
- font: '',
3583
- style: ''
3584
- }
3585
- };
3586
-
3587
- ItemParserText.prototype.added = function () {
3588
- this.needFill = ['content', 'contenttablet', 'contentmobile'];
3589
-
3590
- this.addedFont('paragraph', 'font');
3591
- this.addedStyle('heading', 'style');
3592
-
3593
- nextend.smartSlider.generator.registerField($('#item_textcontent'));
3594
- nextend.smartSlider.generator.registerField($('#item_textcontenttablet'));
3595
- nextend.smartSlider.generator.registerField($('#item_textcontentmobile'));
3596
- };
3597
-
3598
- ItemParserText.prototype.getName = function (data) {
3599
- return data.content;
3600
- };
3601
-
3602
- ItemParserText.prototype.parseAll = function (data) {
3603
- NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
3604
-
3605
- data['p'] = _wp_Autop(data['content']);
3606
- data['ptablet'] = _wp_Autop(data['contenttablet']);
3607
- data['pmobile'] = _wp_Autop(data['contentmobile']);
3608
- };
3609
- ItemParserText.prototype.render = function (node, data) {
3610
- if (data['contenttablet'] == '') {
3611
- node = node.filter(':not(.n2-ss-tablet)');
3612
- node.filter('.n2-ss-desktop').addClass('n2-ss-tablet');
3613
- }
3614
- if (data['contentmobile'] == '') {
3615
- node = node.filter(':not(.n2-ss-mobile)');
3616
- node.filter('.n2-ss-tablet, .n2-ss-desktop').last().addClass('n2-ss-mobile');
3617
- }
3618
-
3619
- node.find('p').addClass(data['fontclass'] + ' ' + data['styleclass']);
3620
- node.find('a').on('click', function (e) {
3621
- e.preventDefault();
3622
- });
3623
- return node;
3624
- };
3625
-
3626
- scope.NextendSmartSliderItemParser_text = ItemParserText;
3627
-
3628
- function _wp_Autop(pee) {
3629
- var preserve_linebreaks = false,
3630
- preserve_br = false,
3631
- blocklist = 'table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre' +
3632
- '|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section' +
3633
- '|article|aside|hgroup|header|footer|nav|figure|details|menu|summary';
3634
-
3635
- if (pee.indexOf('<object') !== -1) {
3636
- pee = pee.replace(/<object[\s\S]+?<\/object>/g, function (a) {
3637
- return a.replace(/[\r\n]+/g, '');
3638
- });
3639
- }
3640
-
3641
- pee = pee.replace(/<[^<>]+>/g, function (a) {
3642
- return a.replace(/[\r\n]+/g, ' ');
3643
- });
3644
-
3645
- // Protect pre|script tags
3646
- if (pee.indexOf('<pre') !== -1 || pee.indexOf('<script') !== -1) {
3647
- preserve_linebreaks = true;
3648
- pee = pee.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function (a) {
3649
- return a.replace(/(\r\n|\n)/g, '<wp-line-break>');
3650
- });
3651
- }
3652
-
3653
- // keep <br> tags inside captions and convert line breaks
3654
- if (pee.indexOf('[caption') !== -1) {
3655
- preserve_br = true;
3656
- pee = pee.replace(/\[caption[\s\S]+?\[\/caption\]/g, function (a) {
3657
- // keep existing <br>
3658
- a = a.replace(/<br([^>]*)>/g, '<wp-temp-br$1>');
3659
- // no line breaks inside HTML tags
3660
- a = a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function (b) {
3661
- return b.replace(/[\r\n\t]+/, ' ');
3662
- });
3663
- // convert remaining line breaks to <br>
3664
- return a.replace(/\s*\n\s*/g, '<wp-temp-br />');
3665
- });
3666
- }
3667
-
3668
- pee = pee + '\n\n';
3669
- pee = pee.replace(/<br \/>\s*<br \/>/gi, '\n\n');
3670
- pee = pee.replace(new RegExp('(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi'), '\n$1');
3671
- pee = pee.replace(new RegExp('(</(?:' + blocklist + ')>)', 'gi'), '$1\n\n');
3672
- pee = pee.replace(/<hr( [^>]*)?>/gi, '<hr$1>\n\n'); // hr is self closing block element
3673
- pee = pee.replace(/\r\n|\r/g, '\n');
3674
- pee = pee.replace(/\n\s*\n+/g, '\n\n');
3675
- pee = pee.replace(/([\s\S]+?)\n\n/g, '<p>$1</p>\n');
3676
- pee = pee.replace(/<p>\s*?<\/p>/gi, '');
3677
- pee = pee.replace(new RegExp('<p>\\s*(</?(?:' + blocklist + ')(?: [^>]*)?>)\\s*</p>', 'gi'), '$1');
3678
- pee = pee.replace(/<p>(<li.+?)<\/p>/gi, '$1');
3679
- pee = pee.replace(/<p>\s*<blockquote([^>]*)>/gi, '<blockquote$1><p>');
3680
- pee = pee.replace(/<\/blockquote>\s*<\/p>/gi, '</p></blockquote>');
3681
- pee = pee.replace(new RegExp('<p>\\s*(</?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi'), '$1');
3682
- pee = pee.replace(new RegExp('(</?(?:' + blocklist + ')(?: [^>]*)?>)\\s*</p>', 'gi'), '$1');
3683
- pee = pee.replace(/\s*\n/gi, '<br />\n');
3684
- pee = pee.replace(new RegExp('(</?(?:' + blocklist + ')[^>]*>)\\s*<br />', 'gi'), '$1');
3685
- pee = pee.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1');
3686
- pee = pee.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi, '[caption$1[/caption]');
3687
-
3688
- pee = pee.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function (a, b, c) {
3689
- if (c.match(/<p( [^>]*)?>/)) {
3690
- return a;
3691
- }
3692
-
3693
- return b + '<p>' + c + '</p>';
3694
- });
3695
-
3696
- // put back the line breaks in pre|script
3697
- if (preserve_linebreaks) {
3698
- pee = pee.replace(/<wp-line-break>/g, '\n');
3699
- }
3700
-
3701
- if (preserve_br) {
3702
- pee = pee.replace(/<wp-temp-br([^>]*)>/g, '<br$1>');
3703
- }
3704
-
3705
- return pee;
3706
- };
3707
- })(n2, window);
3708
- (function ($, scope, undefined) {
3709
-
3710
- function ItemParserVimeo() {
3711
- NextendSmartSliderItemParser.apply(this, arguments);
3712
  };
3713
 
3714
- ItemParserVimeo.prototype = Object.create(NextendSmartSliderItemParser.prototype);
3715
- ItemParserVimeo.prototype.constructor = ItemParserVimeo;
3716
-
3717
- ItemParserVimeo.prototype.added = function () {
3718
- this.needFill = ['vimeourl'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3719
 
3720
- nextend.smartSlider.generator.registerField($('#item_vimeovimeourl'));
 
3721
  };
3722
 
3723
- ItemParserVimeo.prototype.getName = function (data) {
3724
- return data.vimeourl;
3725
  };
3726
 
3727
- ItemParserVimeo.prototype.parseAll = function (data, item) {
3728
- var vimeoChanged = item.values.vimeourl != data.vimeourl;
3729
-
3730
- NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
3731
 
3732
- if (data.image == '') {
3733
- data.image = '$system$/images/placeholder/video.png';
 
 
 
 
 
3734
  }
 
3735
 
3736
- data.image = nextend.imageHelper.fixed(data.image);
3737
-
3738
- if (vimeoChanged && data.vimeourl != '') {
3739
- var vimeoRegexp = /https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/,
3740
- vimeoMatch = data.vimeourl.match(vimeoRegexp);
3741
 
3742
- var videoCode = false;
3743
- if (vimeoMatch) {
3744
- videoCode = vimeoMatch[3];
3745
- } else if (data.vimeourl.match(/^[0-9]+$/)) {
3746
- videoCode = data.vimeourl;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3747
  }
 
 
 
3748
 
3749
- if (videoCode) {
3750
- NextendAjaxHelper.getJSON('https://vimeo.com/api/v2/video/' + encodeURI(videoCode) + '.json').done($.proxy(function (data) {
3751
- $('#item_vimeoimage').val(data[0].thumbnail_large).trigger('change');
3752
- }, this)).fail(function (data) {
3753
- nextend.notificationCenter.error(data.responseText);
3754
- });
3755
- } else {
3756
- nextend.notificationCenter.error('The provided URL does not match any known Vimeo url or code!');
3757
- }
3758
  }
 
3759
  };
3760
 
3761
- ItemParserVimeo.prototype.fitLayer = function (item) {
3762
- return true;
3763
  };
3764
 
3765
- scope.NextendSmartSliderItemParser_vimeo = ItemParserVimeo;
3766
- })(n2, window);
3767
- (function ($, scope, undefined) {
3768
-
3769
- function ItemParserYouTube() {
3770
- NextendSmartSliderItemParser.apply(this, arguments);
3771
- };
3772
-
3773
- ItemParserYouTube.prototype = Object.create(NextendSmartSliderItemParser.prototype);
3774
- ItemParserYouTube.prototype.constructor = ItemParserYouTube;
3775
-
3776
- ItemParserYouTube.prototype.added = function () {
3777
- this.needFill = ['youtubeurl'];
3778
-
3779
- nextend.smartSlider.generator.registerField($('#item_youtubeyoutubeurl'));
3780
- nextend.smartSlider.generator.registerField($('#item_youtubestart'));
3781
- };
3782
-
3783
- ItemParserYouTube.prototype.getName = function (data) {
3784
- return data.youtubeurl;
3785
- };
3786
-
3787
- ItemParserYouTube.prototype.parseAll = function (data, item) {
3788
-
3789
- var youTubeChanged = item.values.youtubeurl != data.youtubeurl;
3790
-
3791
- NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
3792
-
3793
- if (data.image == '') {
3794
- data.image = '$system$/images/placeholder/video.png';
3795
- }
3796
-
3797
- data.image = nextend.imageHelper.fixed(data.image);
3798
-
3799
- if (youTubeChanged) {
3800
- var youtubeRegexp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/,
3801
- youtubeMatch = data.youtubeurl.match(youtubeRegexp);
3802
-
3803
- if (youtubeMatch) {
3804
- NextendAjaxHelper.getJSON('https://www.googleapis.com/youtube/v3/videos?id=' + encodeURI(youtubeMatch[2]) + '&part=snippet&key=AIzaSyC3AolfvPAPlJs-2FgyPJdEEKS6nbPHdSM').done($.proxy(function (data) {
3805
- if (data.items.length) {
3806
-
3807
- var thumbnails = data.items[0].snippet.thumbnails,
3808
- thumbnail = thumbnails.maxres || thumbnails.standard || thumbnails.high || thumbnails.medium || thumbnails.default;
3809
-
3810
- $('#item_youtubeimage').val(thumbnail.url).trigger('change');
3811
- }
3812
- }, this)).fail(function (data) {
3813
- nextend.notificationCenter.error(data.error.errors[0].message);
3814
- });
3815
- } else {
3816
- nextend.notificationCenter.error('The provided URL does not match any known YouTube url or code!');
3817
- }
3818
- }
3819
- };
3820
-
3821
- ItemParserYouTube.prototype.fitLayer = function (item) {
3822
- return true;
3823
- };
3824
-
3825
- scope.NextendSmartSliderItemParser_youtube = ItemParserYouTube;
3826
- })(n2, window);
3827
- (function (smartSlider, $, scope, undefined) {
3828
- "use strict";
3829
- function LayerAnimation(animations, group, data) {
3830
- this.$ = $(this);
3831
- this.animations = animations;
3832
- this.group = group;
3833
- this.data = data;
3834
 
3835
- this.row = $('<li class="n2-ss-animation-row"></li>')
3836
- .data('animation', this);
 
3837
 
3838
- var handle = $('<div class="n2-ss-animation-title"></div>')
3839
- .appendTo(this.row);
 
 
 
 
 
 
3840
 
3841
- this.label = $('<span>' + this.data.name + '</span>')
3842
- .appendTo(handle);
 
 
 
3843
 
3844
- var actions = $('<div class="n2-actions"></div>')
3845
- .append($('<a onclick="return false;" href="#"><i class="n2-i n2-i-delete n2-i-grey-opacity"></i></a>')
3846
- .on('click', $.proxy(this.delete, this)))
3847
- .appendTo(handle);
3848
 
3849
- };
 
 
 
 
 
 
3850
 
3851
- LayerAnimation.prototype.getRow = function () {
3852
- return this.row;
 
 
 
 
 
 
 
3853
  };
3854
 
3855
- LayerAnimation.prototype.edit = function () {
3856
- this.animations.edit(this.group, this.animations[this.group + 'Rows'].index(this.row));
3857
- };
 
 
3858
 
3859
- LayerAnimation.prototype.save = function (data) {
3860
- if (data !== false) {
3861
- this.data = data;
3862
- this.label.html(data.name);
3863
 
3864
- this.$.trigger('animationChanged');
 
 
 
3865
  }
3866
- };
3867
 
3868
- LayerAnimation.prototype.delete = function (e) {
3869
- if (e) {
3870
- e.stopPropagation();
 
 
 
 
 
3871
  }
3872
- this.row.remove();
3873
- this.animations.removeAnimation(this);
3874
- smartSlider.layerAnimationManager.update(this.group);
3875
-
3876
- this.$.trigger('animationDeleted');
3877
  };
3878
 
3879
- LayerAnimation.prototype.setDelay = function (newDelay) {
3880
- this.data.delay = newDelay;
3881
- };
3882
 
3883
- LayerAnimation.prototype.setDuration = function (newDuration) {
3884
- this.data.duration = newDuration;
3885
  };
3886
 
3887
- scope.NextendSmartSliderLayerAnimation = LayerAnimation;
 
3888
 
3889
- })(nextend.smartSlider, n2, window);
3890
- (function (smartSlider, $, scope, undefined) {
3891
- function LayerAnimationManager(layerEditor) {
 
 
 
 
 
 
3892
 
3893
- this.layerEditor = layerEditor;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3894
 
3895
- this.createGroup('in', n2_('in'), '#layer-animation-chain-in');
3896
- this.lists = this.in.list;
 
 
3897
 
3898
- this.createGroup('loop', n2_('loop'), '#layer-animation-chain-loop');
3899
- this.createGroup('out', n2_('out'), '#layer-animation-chain-out');
3900
- this.lists = this.lists.add(this.loop.list).add(this.out.list);
3901
 
 
 
3902
 
3903
- smartSlider.layerAnimationManager = this;
3904
- };
3905
 
3906
- LayerAnimationManager.prototype.createGroup = function (identifier, label, container) {
3907
- container = $(container);
3908
- var header = $('<div class="n2-sidebar-row n2-sidebar-header-bg n2-form-dark n2-sets-header"><div class="n2-table"><div class="n2-tr"><div class="n2-td"><div class="n2-h3 n2-uc">' + label + '</div></div><div style="text-align: ' + (nextend.isRTL() ? 'left' : 'right') + ';" class="n2-td"></div></div></div></div>').appendTo(container),
3909
- buttonPlaceholder = header.find('.n2-td').eq(1);
3910
 
3911
- this[identifier] = {
3912
- container: container,
3913
- header: header,
3914
- list: $('<ul class="n2-list n2-h4 n2-list-orderable n2-ss-animation-list"></ul>')
3915
- .on('click', $.proxy(this.editGroup, this, identifier))
3916
- .data('group', identifier)
3917
- .appendTo(container),
3918
- add: this.getAddButton(identifier, n2_('Add')).appendTo(buttonPlaceholder),
3919
- clear: this.getClearButton(identifier).appendTo(buttonPlaceholder)
3920
- };
3921
- };
3922
 
3923
- LayerAnimationManager.prototype.getAddButton = function (identifier, label) {
3924
- var button = $('<a href="#" class="n2-button n2-button-medium n2-button-green n2-h5 n2-uc">' + label + '</a>')
3925
- .on('click', $.proxy(this.createAnimation, this, identifier));
3926
- return button;
3927
- };
3928
 
3929
- LayerAnimationManager.prototype.getClearButton = function (identifier) {
3930
- var button = $('<a href="#" class="n2-button n2-button-medium n2-button-grey n2-h5 n2-uc">' + n2_('Clear') + '</a>')
3931
- .on('click', $.proxy(this.clear, this, identifier));
3932
- return button;
3933
- };
3934
 
3935
- LayerAnimationManager.prototype.getActiveLayer = function () {
3936
- return this.layerEditor.layerList[this.layerEditor.activeLayerIndex];
3937
- };
 
 
 
 
3938
 
3939
- LayerAnimationManager.prototype.editGroup = function (identifier, e) {
3940
- var index = 0;
3941
- if (e) {
3942
- e.preventDefault();
3943
- index = $(e.target).closest('.n2-ss-animation-row').index();
3944
- }
3945
- if (index != -1) {
3946
- var layerAnimations = this.getActiveLayer().animation;
3947
- layerAnimations.edit(identifier, index);
3948
- }
3949
- };
3950
 
3951
- LayerAnimationManager.prototype.clear = function (group, e) {
3952
- if (e) {
3953
- e.preventDefault();
3954
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
3955
 
3956
- this.getActiveLayer().animation.clear(group);
3957
- };
3958
 
3959
- LayerAnimationManager.prototype.createAnimation = function (group, e) {
3960
- if (e) {
3961
- e.preventDefault();
3962
- }
3963
- var activeLayer = this.getActiveLayer(),
3964
- $layer = activeLayer.layer,
3965
- animationManager = nextend.animationManager;
 
 
 
 
 
 
3966
 
3967
- animationManager.controller
3968
- .setPreviewSize($layer.width(), $layer.height())
3969
- .setGroup(group);
3970
 
3971
- var features = {
3972
- repeatable: 1
3973
- };
3974
 
3975
- if (group == 'in') {
3976
- features.specialZero = 1;
3977
- features.playEvent = 1;
3978
- animationManager.changeSetById(1000);
3979
- animationManager.setTitle(n2_('In animation'));
3980
- } else if (group == 'loop') {
3981
- features.repeat = 1;
3982
-
3983
- features.playEvent = 1;
3984
- features.pauseEvent = 1;
3985
- features.stopEvent = 1;
3986
- animationManager.changeSetById(1200);
3987
- animationManager.setTitle(n2_('Loop animation'));
3988
- } else if (group == 'out') {
3989
- features.playEvent = 1;
3990
- features.instantOut = 1;
3991
- animationManager.changeSetById(1000);
3992
- animationManager.setTitle(n2_('Out animation'));
3993
- }
3994
-
3995
- animationManager.show(features, {
3996
- animations: [],
3997
- transformOrigin: '50|*|50|*|0',
3998
- specialZero: activeLayer.animation.data.specialZero,
3999
- repeatCount: activeLayer.animation.data.repeatCount,
4000
- repeatDelay: activeLayer.animation.data.repeatDelay,
4001
- playEvent: '',
4002
- pauseEvent: '',
4003
- stopEvent: '',
4004
- repeatable: activeLayer.animation.data.repeatable,
4005
- instantOut: activeLayer.animation.data.instantOut
4006
- }, $.proxy(this.storeNewAnimation, this, group), {
4007
- previewMode: false,
4008
- previewHTML: false
4009
- });
4010
- };
4011
 
4012
- LayerAnimationManager.prototype.storeNewAnimation = function (group, e, animationStack) {
4013
- if (animationStack.animations.length > 0) {
4014
- var layerAnimations = this.getActiveLayer().animation;
4015
- layerAnimations.setTransformOrigin(group, animationStack.transformOrigin);
4016
- layerAnimations.setRepeatable(animationStack.repeatable);
4017
 
4018
- if (group == 'in') {
4019
- layerAnimations.setSpecialZero(group, animationStack.specialZero);
4020
- layerAnimations.setEvent(group, 'PlayEvent', animationStack.playEvent);
4021
- } else if (group == 'loop') {
4022
- layerAnimations.setRepeatCount(group, animationStack.repeatCount);
4023
- layerAnimations.setRepeatStartDelay(group, animationStack.repeatStartDelay);
4024
 
4025
- layerAnimations.setEvent(group, 'PlayEvent', animationStack.playEvent);
4026
- layerAnimations.setEvent(group, 'PauseEvent', animationStack.pauseEvent);
4027
- layerAnimations.setEvent(group, 'StopEvent', animationStack.stopEvent);
4028
- } else if (group == 'out') {
4029
- layerAnimations.setEvent(group, 'PlayEvent', animationStack.playEvent);
4030
- layerAnimations.setInstantOut(animationStack.instantOut);
4031
- }
 
 
 
4032
 
4033
- for (var i = 0; i < animationStack.animations.length; i++) {
4034
- layerAnimations.addAnimation(group, animationStack.animations[i]);
 
 
 
 
 
 
 
 
4035
  }
4036
 
4037
- this.update(group);
4038
- $(window).triggerHandler('AnimationAdded');
4039
- }
4040
 
4041
- this.update(group);
4042
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4043
 
4044
- /**
4045
- * @param animations {NextendSmartSliderLayerAnimations}
4046
- */
4047
- LayerAnimationManager.prototype.activateAnimations = function (animations) {
4048
- animations.inRows.prependTo(this.in.list);
4049
 
4050
- animations.loopRows.prependTo(this.loop.list);
4051
- animations.outRows.prependTo(this.out.list);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4052
 
 
 
 
 
4053
 
4054
- this.update('in');
4055
- this.update('loop');
4056
- this.update('out');
4057
 
 
4058
  };
4059
 
4060
- LayerAnimationManager.prototype.update = function (group) {
4061
- if (this[group].list.children().length) {
4062
- this[group].add.css('display', 'none');
4063
- this[group].clear.css('display', '');
4064
- } else {
4065
- this[group].add.css('display', '');
4066
- this[group].clear.css('display', 'none');
4067
- }
4068
  };
4069
 
4070
- scope.NextendSmartSliderLayerAnimationManager = LayerAnimationManager;
4071
-
4072
- })(nextend.smartSlider, n2, window);
4073
- (function (smartSlider, $, scope, undefined) {
4074
 
4075
- var defaults = {
4076
- repeatable: 0,
 
 
4077
 
4078
- in: [],
4079
- specialZeroIn: 0,
4080
- transformOriginIn: '50|*|50|*|0',
4081
- inPlayEvent: '',
4082
 
4083
- loop: [],
4084
- repeatCount: 0,
4085
- repeatStartDelay: 0,
4086
- transformOriginLoop: '50|*|50|*|0',
4087
- loopPlayEvent: '',
4088
- loopPauseEvent: '',
4089
- loopStopEvent: '',
4090
 
4091
- out: [],
4092
- transformOriginOut: '50|*|50|*|0',
4093
- outPlayEvent: '',
4094
- instantOut: 1
4095
 
 
 
 
 
 
 
4096
  };
4097
 
4098
- function LayerAnimations(layer) {
4099
- this._loaded = false;
4100
- this.active = false;
4101
- this.layer = layer;
4102
-
4103
- this.data = null;
 
 
 
4104
 
4105
- layer.layer.data('adminLayerAnimations', this);
4106
 
4107
- this.inRows = $();
4108
- this.loopRows = $();
4109
- this.outRows = $();
4110
 
4111
- //this.load();
4112
- };
4113
 
4114
- /**
4115
- * Here should we remove the nodes what we have added previously
4116
- */
4117
- LayerAnimations.prototype.deActivate = function () {
4118
 
4119
- this.active = false;
4120
- this.inRows.detach();
4121
- this.loopRows.detach();
4122
- this.outRows.detach();
4123
  };
4124
 
4125
- /**
4126
- * Add nodes to the layer animation panel when it is activated
4127
- */
4128
- LayerAnimations.prototype.activate = function () {
4129
-
4130
- // Lazy load...
4131
- //this.load();
4132
-
4133
- this.active = true;
4134
-
4135
- smartSlider.layerAnimationManager.activateAnimations(this);
4136
- };
4137
-
4138
- LayerAnimations.prototype.addAnimation = function (group, data) {
4139
- var animation = new NextendSmartSliderLayerAnimation(this, group, data),
4140
- row = animation.getRow();
4141
-
4142
- this[group + 'Rows'] = this[group + 'Rows']
4143
- .add(row);
4144
-
4145
- if (this.active) {
4146
- row.appendTo(smartSlider.layerAnimationManager[group].list);
4147
- }
4148
-
4149
- this.layer.$.trigger('layerAnimationAdded', [group, animation]);
4150
- };
4151
-
4152
- /**
4153
- * @param {NextendSmartSliderLayerAnimation} animationObject
4154
- */
4155
- LayerAnimations.prototype.removeAnimation = function (animationObject) {
4156
- var group = animationObject.group;
4157
- this[group + 'Rows'] = this[group + 'Rows'].not(animationObject.row);
 
4158
  };
4159
 
4160
- LayerAnimations.prototype.clearAll = function () {
4161
- this._startHistory();
4162
-
4163
- this._clear('in');
4164
- this._clear('loop');
4165
- this._clear('out');
4166
 
4167
- this._endHistory();
4168
- };
 
 
4169
 
4170
- LayerAnimations.prototype.clear = function (group) {
4171
- this._startHistory();
4172
 
4173
- this._clear(group);
 
 
4174
 
4175
- this._endHistory();
4176
- };
 
 
 
 
4177
 
4178
- LayerAnimations.prototype._clear = function (group) {
4179
- var rows = this[group + 'Rows'];
4180
- for (var i = 0; i < rows.length; i++) {
4181
- rows.eq(i).data('animation').delete();
 
 
4182
  }
4183
- };
4184
 
4185
- LayerAnimations.prototype.getCurrentData = function (group) {
4186
- var animations = [];
4187
- for (var i = 0; i < this[group + 'Rows'].length; i++) {
4188
- animations.push(this[group + 'Rows'].eq(i).data('animation').data);
4189
  }
4190
 
4191
- var data = {
4192
- animations: animations,
4193
- transformOrigin: this.data['transformOrigin' + this.ucfirst(group)],
4194
- repeatable: this.data.repeatable
4195
- };
4196
 
4197
- if (group == 'in') {
4198
- data.specialZero = this.data.specialZeroIn;
4199
 
4200
- data.playEvent = this.data.inPlayEvent;
4201
- } else if (group == 'loop') {
4202
- data.repeatCount = this.data.repeatCount;
4203
- data.repeatStartDelay = this.data.repeatStartDelay;
4204
 
4205
- data.playEvent = this.data.loopPlayEvent;
4206
- data.pauseEvent = this.data.loopPauseEvent;
4207
- data.stopEvent = this.data.loopStopEvent;
4208
- } else if (group == 'out') {
4209
- data.playEvent = this.data.outPlayEvent;
4210
- data.instantOut = this.data.instantOut;
4211
- }
4212
- return data;
4213
  };
4214
 
4215
- LayerAnimations.prototype.edit = function (group, index) {
4216
- var animations = [];
4217
- for (var i = 0; i < this[group + 'Rows'].length; i++) {
4218
- animations.push(this[group + 'Rows'].eq(i).data('animation').data);
 
 
4219
  }
 
4220
 
4221
- var animationManager = nextend.animationManager;
4222
- animationManager.controller
4223
- .setPreviewSize(this.layer.layer.width(), this.layer.layer.height())
4224
- .setGroup(group);
4225
-
4226
- var features = {
4227
- repeatable: 1
4228
- },
4229
- data = {
4230
- animations: animations,
4231
- transformOrigin: this.data['transformOrigin' + this.ucfirst(group)],
4232
- repeatable: this.data.repeatable
4233
- };
4234
-
4235
- if (group == 'in') {
4236
- features.specialZero = 1;
4237
- data.specialZero = this.data.specialZeroIn;
4238
-
4239
- features.playEvent = 1;
4240
- data.playEvent = this.data.inPlayEvent;
4241
- animationManager.changeSetById(1000);
4242
- animationManager.setTitle(n2_('In animation'));
4243
- } else if (group == 'loop') {
4244
- features.repeat = 1;
4245
- data.repeatCount = this.data.repeatCount;
4246
- data.repeatStartDelay = this.data.repeatStartDelay;
4247
-
4248
- features.playEvent = 1;
4249
- data.playEvent = this.data.loopPlayEvent;
4250
- features.pauseEvent = 1;
4251
- data.pauseEvent = this.data.loopPauseEvent;
4252
- features.stopEvent = 1;
4253
- data.stopEvent = this.data.loopStopEvent;
4254
- animationManager.changeSetById(1200);
4255
- animationManager.setTitle(n2_('Loop animation'));
4256
- } else if (group == 'out') {
4257
- features.playEvent = 1;
4258
- features.instantOut = 1;
4259
- data.playEvent = this.data.outPlayEvent;
4260
- data.instantOut = this.data.instantOut;
4261
- animationManager.changeSetById(1000);
4262
- animationManager.setTitle(n2_('Out animation'));
4263
- }
4264
- animationManager.show(features, data, $.proxy(this.storeAnimations, this, group, data), {
4265
- previewMode: false,
4266
- previewHTML: false
4267
- });
4268
- if (index > 0) {
4269
- animationManager.controller.tabField.options.eq(index).trigger('click');
4270
  }
4271
  };
4272
 
4273
- LayerAnimations.prototype.storeAnimations = function (group, originalAnimationStack, e, animationStack) {
4274
- smartSlider.history.add($.proxy(function () {
4275
- return [this.layer, 'storeAnimations', $.extend(true, {}, animationStack), $.extend(true, {}, originalAnimationStack), [group]];
4276
- }, this));
4277
 
4278
- var i = 0,
4279
- rows = this[group + 'Rows'];
 
4280
 
4281
- this.setTransformOrigin(group, animationStack.transformOrigin);
4282
- this.setRepeatable(animationStack.repeatable);
4283
 
4284
- if (group == 'in') {
4285
- this.setSpecialZero(group, animationStack.specialZero);
4286
- this.setEvent(group, 'PlayEvent', animationStack.playEvent);
4287
- } else if (group == 'loop') {
4288
- this.setRepeatCount(group, animationStack.repeatCount);
4289
- this.setRepeatStartDelay(group, animationStack.repeatStartDelay);
4290
- this.setEvent(group, 'PlayEvent', animationStack.playEvent);
4291
- this.setEvent(group, 'PauseEvent', animationStack.pauseEvent);
4292
- this.setEvent(group, 'StopEvent', animationStack.stopEvent);
4293
- } else if (group == 'out') {
4294
- this.setEvent(group, 'PlayEvent', animationStack.playEvent);
4295
- this.setInstantOut(animationStack.instantOut);
4296
- }
4297
 
4298
- for (; i < animationStack.animations.length && i < rows.length; i++) {
4299
- rows.eq(i).data('animation').save(animationStack.animations[i]);
4300
- }
4301
- for (; i < animationStack.animations.length; i++) {
4302
- this.addAnimation(group, animationStack.animations[i]);
4303
- }
4304
- for (; i < rows.length; i++) {
4305
- rows.eq(i).data('animation').delete();
4306
  }
 
4307
 
4308
- smartSlider.layerAnimationManager.update(group);
4309
  };
4310
 
4311
- LayerAnimations.prototype.load = function () {
4312
- if (this._loaded === false) {
4313
- var animationsRaw = this.layer.layer.data('animations');
4314
 
4315
- this.data = {};
 
 
 
4316
 
4317
- $.extend(this.data, defaults);
 
 
 
4318
 
4319
- if (typeof animationsRaw !== 'undefined') {
4320
- $.extend(this.data, $.parseJSON(Base64.decode(animationsRaw)));
4321
- }
4322
 
4323
- this._load('in');
4324
- this._load('loop');
4325
- this._load('out');
4326
 
 
 
4327
 
4328
- this._loaded = true;
 
 
4329
  }
4330
- };
4331
 
4332
- LayerAnimations.prototype._load = function (group) {
 
4333
 
4334
- if (typeof this.data[group] !== 'undefined') {
4335
- for (var i = 0; i < this.data[group].length; i++) {
4336
- this.addAnimation(group, this.data[group][i]);
4337
- }
4338
- delete this.data[group];
4339
- }
4340
  };
4341
 
4342
- LayerAnimations.prototype.getAnimationsCode = function () {
4343
- if (this._loaded === false) {
4344
- return this.layer.layer.data('animations');
4345
- } else {
4346
- var animations = $.extend({}, this.data, {
4347
- in: [],
4348
- loop: [],
4349
- out: []
4350
- });
4351
 
4352
- for (var i = 0; i < this.inRows.length; i++) {
4353
- var animation = this.inRows.eq(i).data('animation');
4354
- animations.in.push(animation.data);
4355
- }
4356
 
4357
- for (var i = 0; i < this.loopRows.length; i++) {
4358
- var animation = this.loopRows.eq(i).data('animation');
4359
- animations.loop.push(animation.data)
4360
- }
4361
 
4362
- for (var i = 0; i < this.outRows.length; i++) {
4363
- var animation = this.outRows.eq(i).data('animation');
4364
- animations.out.push(animation.data)
4365
- }
4366
 
4367
- return Base64.encode(JSON.stringify(animations));
 
 
 
 
4368
  }
 
4369
  };
4370
 
4371
- LayerAnimations.prototype._startHistory = function () {
4372
- this._oldData = {
4373
- in: $.extend(true, {}, this.getCurrentData('in')),
4374
- loop: $.extend(true, {}, this.getCurrentData('loop')),
4375
- out: $.extend(true, {}, this.getCurrentData('out'))
4376
  };
4377
  };
4378
 
4379
- LayerAnimations.prototype._endHistory = function () {
4380
 
4381
- var currentData = {
4382
- in: this.getCurrentData('in'),
4383
- loop: this.getCurrentData('loop'),
4384
- out: this.getCurrentData('out')
4385
- };
4386
- for (var k in currentData) {
4387
- smartSlider.history.add($.proxy(function () {
4388
- return [this.layer, 'storeAnimations', $.extend(true, {}, currentData[k]), $.extend(true, {}, this._oldData[k]), [k]];
4389
- }, this));
4390
  }
4391
- this._oldData = null;
4392
  };
4393
 
4394
- LayerAnimations.prototype.loadData = function (data) {
 
 
 
 
 
4395
 
4396
- this._startHistory();
4397
 
4398
- this._clear('in');
4399
- this._clear('loop');
4400
- this._clear('out');
4401
 
4402
- this.data = {};
4403
- $.extend(this.data, defaults);
4404
- $.extend(this.data, data);
4405
 
 
 
 
 
 
4406
 
4407
- this._load('in');
4408
- this._load('loop');
4409
- this._load('out');
4410
 
4411
- this._endHistory();
4412
- };
4413
 
4414
- LayerAnimations.prototype.getData = function () {
4415
- var animations = $.extend({}, this.data, {
4416
- in: [],
4417
- loop: [],
4418
- out: []
4419
- });
4420
 
4421
- for (var i = 0; i < this.inRows.length; i++) {
4422
- var animation = this.inRows.eq(i).data('animation');
4423
- animations.in.push($.extend(true, {}, animation.data));
4424
- }
4425
 
4426
- for (var i = 0; i < this.loopRows.length; i++) {
4427
- var animation = this.loopRows.eq(i).data('animation');
4428
- animations.loop.push($.extend(true, {}, animation.data))
4429
- }
4430
 
4431
- for (var i = 0; i < this.outRows.length; i++) {
4432
- var animation = this.outRows.eq(i).data('animation');
4433
- animations.out.push($.extend(true, {}, animation.data))
4434
- }
4435
- return animations;
4436
- };
4437
 
4438
- LayerAnimations.prototype.setSpecialZero = function (group, value) {
4439
- value = parseInt(value) ? 1 : 0;
4440
- if (value != this.data['transformOrigin' + this.ucfirst(group)]) {
4441
- this.data.specialZeroIn = value;
4442
- this.layer.$.trigger('layerAnimationSpecialZeroInChanged');
4443
- }
4444
- };
4445
 
4446
- LayerAnimations.prototype.setRepeatCount = function (group, value) {
4447
- this.data.repeatCount = value;
4448
- };
 
 
 
4449
 
4450
- LayerAnimations.prototype.setRepeatStartDelay = function (group, value) {
4451
- this.data.repeatStartDelay = value;
4452
- };
4453
 
4454
- LayerAnimations.prototype.setEvent = function (group, event, value) {
4455
- this.data[group + event] = value;
 
 
 
 
4456
  };
4457
 
4458
- LayerAnimations.prototype.setTransformOrigin = function (group, value) {
4459
- this.data['transformOrigin' + this.ucfirst(group)] = value;
4460
- };
4461
 
4462
- LayerAnimations.prototype.setRepeatable = function (value) {
4463
- this.data.repeatable = parseInt(value) ? 1 : 0;
4464
- };
 
4465
 
4466
- LayerAnimations.prototype.setInstantOut = function (value) {
4467
- this.data.instantOut = parseInt(value) ? 1 : 0;
4468
- };
4469
 
4470
- LayerAnimations.prototype.ucfirst = function (string) {
4471
- return string.charAt(0).toUpperCase() + string.slice(1);
 
 
4472
  };
4473
 
4474
- scope.NextendSmartSliderLayerAnimations = LayerAnimations;
4475
 
4476
- })(nextend.smartSlider, n2, window);
4477
- (function (smartSlider, $, scope, undefined) {
4478
 
4479
- var highlighted = false,
4480
- timeout = null;
4481
- window.nextendPreventClick = false;
4482
 
4483
- var UNDEFINED,
4484
- rAFShim = (function () {
4485
- var timeLast = 0;
4486
 
4487
- return window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (callback) {
4488
- var timeCurrent = (new Date()).getTime(),
4489
- timeDelta;
 
 
 
4490
 
4491
- /* Dynamically set delay on a per-tick basis to match 60fps. */
4492
- /* Technique by Erik Moller. MIT license: https://gist.github.com/paulirish/1579671 */
4493
- timeDelta = Math.max(0, 16 - (timeCurrent - timeLast));
4494
- timeLast = timeCurrent + timeDelta;
4495
 
4496
- return setTimeout(function () {
4497
- callback(timeCurrent + timeDelta);
4498
- }, timeDelta);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4499
  };
4500
- })(),
4501
- resizeCollection = {
4502
- raf: false,
4503
- ratios: null,
4504
- isThrottled: false,
4505
- layers: []
4506
- },
4507
- requestRender = function () {
4508
- if (resizeCollection.raf === false) {
4509
- resizeCollection.raf = true;
4510
- rAFShim(function () {
4511
- for (var i = 0; i < resizeCollection.layers.length; i++) {
4512
- if (!resizeCollection.layers[i].isDeleted) {
4513
- resizeCollection.layers[i].doTheResize(resizeCollection.ratios, true, resizeCollection.isThrottled);
4514
- }
4515
- }
4516
- resizeCollection = {
4517
- raf: false,
4518
- ratios: null,
4519
- isThrottled: false,
4520
- layers: []
4521
- };
4522
- });
4523
- }
4524
- };
4525
 
4526
- function Layer(layerEditor, layer, itemEditor, properties) {
4527
- this.isDeleted = false;
4528
- //this.resize = NextendDeBounce(this.resize, 200);
4529
- //this.triggerLayerResized = NextendThrottle(this.triggerLayerResized, 30);
4530
- this._triggerLayerResizedThrottled = NextendThrottle(this._triggerLayerResized, 30);
4531
- //this.doThrottledTheResize = NextendThrottle(this.doTheResize, 16.6666);
4532
- this.doThrottledTheResize = this.doTheResize;
4533
- this.eye = false;
4534
- this.lock = false;
4535
- this.parent = false;
4536
- this.parentIsVisible = true;
4537
 
4538
- this.$ = $(this);
 
 
 
 
 
 
 
 
 
 
 
 
4539
 
4540
- this.layerEditor = layerEditor;
 
 
 
 
 
4541
 
4542
- /** @type {NextendSmartSliderTimelineLayer} */
4543
- this.timelineLayer = null;
4544
 
4545
- if (!layer) {
4546
- layer = $('<div class="n2-ss-layer" style="z-index: ' + layerEditor.zIndexList.length + ';"></div>')
4547
- .appendTo(layerEditor.layerContainerElement);
4548
- this.property = $.extend({
4549
- id: null,
4550
- class: '',
4551
- parentid: null,
4552
- parentalign: 'center',
4553
- parentvalign: 'middle',
4554
- name: 'New layer',
4555
- nameSynced: 1,
4556
- crop: 'visible',
4557
- inneralign: 'left',
4558
- parallax: 0,
4559
- align: 'center',
4560
- valign: 'middle',
4561
- fontsize: 100,
4562
- adaptivefont: 0,
4563
- desktopPortrait: 1,
4564
- desktopLandscape: 1,
4565
- tabletPortrait: 1,
4566
- tabletLandscape: 1,
4567
- mobilePortrait: 1,
4568
- mobileLandscape: 1,
4569
- left: 0,
4570
- top: 0,
4571
- responsiveposition: 1,
4572
- width: 'auto',
4573
- height: 'auto',
4574
- responsivesize: 1,
4575
- mouseenter: UNDEFINED,
4576
- click: UNDEFINED,
4577
- mouseleave: UNDEFINED,
4578
- play: UNDEFINED,
4579
- pause: UNDEFINED,
4580
- stop: UNDEFINED
4581
- }, properties);
4582
- } else {
4583
- this.property = {
4584
- id: layer.attr('id'),
4585
- class: layer.data('class'),
4586
- parentid: layer.data('parentid'),
4587
- parentalign: layer.data('desktopportraitparentalign'),
4588
- parentvalign: layer.data('desktopportraitparentvalign'),
4589
- name: layer.data('name') + '',
4590
- nameSynced: layer.data('namesynced'),
4591
- crop: layer.data('crop'),
4592
- inneralign: layer.data('inneralign'),
4593
- parallax: layer.data('parallax'),
4594
- align: layer.data('desktopportraitalign'),
4595
- valign: layer.data('desktopportraitvalign'),
4596
- fontsize: layer.data('desktopportraitfontsize'),
4597
- adaptivefont: layer.data('adaptivefont'),
4598
- desktopPortrait: parseFloat(layer.data('desktopportrait')),
4599
- desktopLandscape: parseFloat(layer.data('desktoplandscape')),
4600
- tabletPortrait: parseFloat(layer.data('tabletportrait')),
4601
- tabletLandscape: parseFloat(layer.data('tabletlandscape')),
4602
- mobilePortrait: parseFloat(layer.data('mobileportrait')),
4603
- mobileLandscape: parseFloat(layer.data('mobilelandscape')),
4604
- left: parseInt(layer.data('desktopportraitleft')),
4605
- top: parseInt(layer.data('desktopportraittop')),
4606
- responsiveposition: parseInt(layer.data('responsiveposition')),
4607
- responsivesize: parseInt(layer.data('responsivesize')),
4608
- mouseenter: layer.data('mouseenter'),
4609
- click: layer.data('click'),
4610
- mouseleave: layer.data('mouseleave'),
4611
- play: layer.data('play'),
4612
- pause: layer.data('pause'),
4613
- stop: layer.data('stop')
4614
- };
4615
 
4616
- var width = layer.data('desktopportraitwidth');
4617
- if (this.isDimensionPropertyAccepted(width)) {
4618
- this.property.width = width;
4619
- } else {
4620
- this.property.width = parseInt(width);
 
4621
  }
 
 
 
 
4622
 
4623
- var height = layer.data('desktopportraitheight');
4624
- if (this.isDimensionPropertyAccepted(height)) {
4625
- this.property.height = height;
4626
- } else {
4627
- this.property.height = parseInt(height);
4628
  }
 
4629
  }
 
4630
 
4631
- if (!this.property.id) {
4632
- this.property.id = null;
4633
- }
4634
 
4635
- this.subscribeParentCallbacks = {};
4636
- if (this.property.parentid) {
4637
- this.subscribeParent();
4638
- } else {
4639
- this.property.parentid = null;
4640
- }
4641
 
4642
- if (!this.property.parentalign) {
4643
- this.property.parentalign = 'center';
 
 
 
 
 
 
 
 
 
 
 
 
4644
  }
 
4645
 
4646
- if (!this.property.parentvalign) {
4647
- this.property.parentvalign = 'middle';
4648
- }
4649
 
4650
- if (typeof this.property.nameSynced === 'undefined') {
4651
- this.property.nameSynced = 1;
4652
- }
4653
 
4654
- if (typeof this.property.responsiveposition === 'undefined') {
4655
- this.property.responsiveposition = 1;
4656
- }
 
4657
 
4658
- if (typeof this.property.responsivesize === 'undefined') {
4659
- this.property.responsivesize = 1;
4660
- }
4661
 
4662
- if (!this.property.inneralign) {
4663
- this.property.inneralign = 'left';
4664
- }
4665
 
4666
- if (!this.property.crop) {
4667
- this.property.crop = 'visible';
4668
- }
4669
 
4670
- if (!this.property.parallax) {
4671
- this.property.parallax = 0;
4672
- }
4673
 
4674
- if (typeof this.property.fontsize == 'undefined') {
4675
- this.property.fontsize = 100;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4676
  }
 
4677
 
4678
- if (typeof this.property.adaptivefont == 'undefined') {
4679
- this.property.adaptivefont = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4680
  }
4681
 
4682
- if (!this.property.align) {
4683
- this.property.align = 'left';
 
 
 
 
4684
  }
4685
 
4686
- if (!this.property.valign) {
4687
- this.property.valign = 'top';
4688
  }
4689
- layer.attr('data-align', this.property.align);
4690
- layer.attr('data-valign', this.property.valign);
4691
 
4692
- this.layer = layer.data('layerObject', this);
4693
- this.layer.css('visibility', 'hidden');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4694
 
4695
- this.zIndex = parseInt(this.layer.css('zIndex'));
4696
- if (isNaN(this.zIndex)) {
4697
- this.zIndex = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4698
  }
 
 
 
4699
 
4700
- var eye = layer.data('eye'),
4701
- lock = layer.data('lock');
4702
- if (eye !== null && typeof eye != 'undefined') {
4703
- this.eye = !!eye;
 
4704
  }
4705
- if (lock !== null && typeof lock != 'undefined') {
4706
- this.lock = !!lock;
 
 
 
 
4707
  }
4708
- this.deviceProperty = {
4709
- desktopPortrait: {
4710
- left: this.property.left,
4711
- top: this.property.top,
4712
- width: this.property.width,
4713
- height: this.property.height,
4714
- align: this.property.align,
4715
- valign: this.property.valign,
4716
- parentalign: this.property.parentalign,
4717
- parentvalign: this.property.parentvalign,
4718
- fontsize: this.property.fontsize
4719
- },
4720
- desktopLandscape: {
4721
- left: layer.data('desktoplandscapeleft'),
4722
- top: layer.data('desktoplandscapetop'),
4723
- width: layer.data('desktoplandscapewidth'),
4724
- height: layer.data('desktoplandscapeheight'),
4725
- align: layer.data('desktoplandscapealign'),
4726
- valign: layer.data('desktoplandscapevalign'),
4727
- parentalign: layer.data('desktoplandscapeparentalign'),
4728
- parentvalign: layer.data('desktoplandscapeparentvalign'),
4729
- fontsize: layer.data('desktoplandscapefontsize')
4730
- },
4731
- tabletPortrait: {
4732
- left: layer.data('tabletportraitleft'),
4733
- top: layer.data('tabletportraittop'),
4734
- width: layer.data('tabletportraitwidth'),
4735
- height: layer.data('tabletportraitheight'),
4736
- align: layer.data('tabletportraitalign'),
4737
- valign: layer.data('tabletportraitvalign'),
4738
- parentalign: layer.data('tabletportraitparentalign'),
4739
- parentvalign: layer.data('tabletportraitparentvalign'),
4740
- fontsize: layer.data('tabletportraitfontsize')
4741
- },
4742
- tabletLandscape: {
4743
- left: layer.data('tabletlandscapeleft'),
4744
- top: layer.data('tabletlandscapetop'),
4745
- width: layer.data('tabletlandscapewidth'),
4746
- height: layer.data('tabletlandscapeheight'),
4747
- align: layer.data('tabletlandscapealign'),
4748
- valign: layer.data('tabletlandscapevalign'),
4749
- parentalign: layer.data('tabletlandscapeparentalign'),
4750
- parentvalign: layer.data('tabletlandscapeparentvalign'),
4751
- fontsize: layer.data('tabletlandscapefontsize')
4752
- },
4753
- mobilePortrait: {
4754
- left: layer.data('mobileportraitleft'),
4755
- top: layer.data('mobileportraittop'),
4756
- width: layer.data('mobileportraitwidth'),
4757
- height: layer.data('mobileportraitheight'),
4758
- align: layer.data('mobileportraitalign'),
4759
- valign: layer.data('mobileportraitvalign'),
4760
- parentalign: layer.data('mobileportraitparentalign'),
4761
- parentvalign: layer.data('mobileportraitparentvalign'),
4762
- fontsize: layer.data('mobileportraitfontsize')
4763
- },
4764
- mobileLandscape: {
4765
- left: layer.data('mobilelandscapeleft'),
4766
- top: layer.data('mobilelandscapetop'),
4767
- width: layer.data('mobilelandscapewidth'),
4768
- height: layer.data('mobilelandscapeheight'),
4769
- align: layer.data('mobilelandscapealign'),
4770
- valign: layer.data('mobilelandscapevalign'),
4771
- parentalign: layer.data('mobilelandscapeparentalign'),
4772
- parentvalign: layer.data('mobilelandscapeparentvalign'),
4773
- fontsize: layer.data('mobilelandscapefontsize')
4774
- }
4775
- };
4776
 
 
 
 
4777
 
4778
- this.layersItemsElement = layerEditor.layersItemsElement;
4779
- this.layersItemsUlElement = this.layersItemsElement.find('> ul');
 
4780
 
4781
- this.createRow();
 
 
 
 
 
 
 
 
 
 
 
 
4782
 
4783
- this.itemEditor = itemEditor;
 
4784
 
4785
- this.initItems();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4786
 
4787
- this.___makeLayerAlign();
4788
- this.___makeLayerResizeable();
4789
- this.___makeLayerDraggable();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4790
 
4791
- layerEditor.layerList.push(this);
4792
- //this.index = layerEditor.layerList.push(this) - 1;
4793
 
4794
- /**
4795
- * This is a fix for the editor load. The layers might not in the z-index order on the load,
4796
- * so we have to "mess up" the array and let the algorithm to fix it.
4797
- */
4798
- if (typeof layerEditor.zIndexList[this.zIndex] === 'undefined') {
4799
- layerEditor.zIndexList[this.zIndex] = this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4800
  } else {
4801
- layerEditor.zIndexList.splice(this.zIndex, 0, this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4802
  }
4803
 
4804
- this._lock();
 
 
 
 
 
4805
 
4806
- this.animation = new NextendSmartSliderLayerAnimations(this);
 
 
4807
 
 
 
 
4808
 
4809
- this.layerEditor.$.trigger('layerCreated', this);
4810
- $(window).triggerHandler('layerCreated');
 
4811
 
4812
- this.animation.load();
 
 
4813
 
4814
- this.layer.on({
4815
- mousedown: $.proxy(this.activate, this),
4816
- dblclick: $.proxy(this.fit, this)
4817
- });
4818
 
4819
- setTimeout($.proxy(function () {
4820
- this._resize(true);
4821
- this._eye();
4822
- }, this), 300);
4823
  };
4824
 
4825
- Layer.prototype.getIndex = function () {
4826
- return this.layerEditor.layerList.indexOf(this);
4827
  };
4828
 
4829
- Layer.prototype.getParent = function () {
4830
- return $('#' + this.getProperty(false, 'parentid')).data('layerObject');
4831
  };
4832
 
4833
- Layer.prototype.requestID = function () {
4834
- var id = this.getProperty(false, 'id');
4835
- if (!id) {
4836
- id = $.fn.uid();
4837
- this.setProperty('id', id, 'layer');
 
 
 
 
 
 
 
 
 
4838
  }
4839
- return id;
4840
  };
4841
 
4842
- Layer.prototype.createRow = function () {
4843
- var dblClickInterval = 300,
4844
- timeout = null,
4845
- unlink = $('<a class="n2-ss-parent-unlink" href="#" onclick="return false;"><i class="n2-i n2-i-layerunlink n2-i-grey-opacity"></i></a>').on('click', $.proxy(this.unlink, this)),
4846
- remove = $('<a href="#" onclick="return false;"><i class="n2-i n2-i-delete n2-i-grey-opacity"></i></a>').on('click', $.proxy(this.delete, this)),
4847
- duplicate = $('<a href="#" onclick="return false;"><i class="n2-i n2-i-duplicate n2-i-grey-opacity"></i></a>').on('click', $.proxy(this.duplicate, this, true, false));
 
4848
 
4849
- this.soloElement = $('<a href="#" onclick="return false;"><i class="n2-i n2-i-bulb n2-i-grey-opacity"></i></a>').css('opacity', 0.3).on('click', $.proxy(this.switchSolo, this));
4850
- this.eyeElement = $('<a href="#" onclick="return false;"><i class="n2-i n2-i-eye n2-i-grey-opacity"></i></a>').on('click', $.proxy(this.switchEye, this));
4851
- this.lockElement = $('<a href="#" onclick="return false;"><i class="n2-i n2-i-lock n2-i-grey-opacity"></i></a>').on('click', $.proxy(this.switchLock, this));
 
4852
 
4853
- this.layerRow = $('<li class="n2-ss-layer-row"></li>')
4854
- .on({
4855
- mouseenter: $.proxy(function () {
4856
- this.layer.addClass('n2-highlight');
4857
- }, this),
4858
- mouseleave: $.proxy(function (e) {
4859
- this.layer.removeClass('n2-highlight');
4860
- }, this)
4861
- })
4862
- .appendTo(this.layersItemsUlElement);
4863
- this.layerTitleSpan = $('<span class="n2-ucf">' + this.property.name + '</span>')
4864
- .on({
4865
- mouseup: $.proxy(function (e) {
4866
- if (timeout) {
4867
- clearTimeout(timeout);
4868
- timeout = null;
4869
- this.editName();
4870
- } else {
4871
- timeout = setTimeout($.proxy(function () {
4872
- this.activate();
4873
- timeout = null;
4874
- }, this), dblClickInterval);
4875
- }
4876
- }, this)
4877
- });
4878
 
4879
- this.layerTitle = $('<div class="n2-ss-layer-title"></div>')
4880
- .append(this.layerTitleSpan)
4881
- .append($('<div class="n2-actions"></div>').append(unlink).append(duplicate).append(remove))
4882
- .append($('<div class="n2-actions-left"></div>').append(this.eyeElement).append(this.soloElement).append(this.lockElement))
4883
- .appendTo(this.layerRow)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4884
  .on({
4885
- mouseup: $.proxy(function (e) {
4886
- if (e.target.tagName === 'DIV') {
4887
- this.activate();
 
 
 
 
 
 
4888
  }
 
 
 
 
 
 
4889
  }, this)
4890
  });
4891
-
4892
- this.editorVisibilityChange();
4893
  };
4894
 
4895
- Layer.prototype.editorVisibilityChange = function () {
4896
- switch (this.layersItemsUlElement.children().length) {
4897
- case 0:
4898
- $('body').removeClass('n2-has-layers');
4899
- break;
4900
- case 1:
4901
- $('body').addClass('n2-has-layers');
4902
- break;
4903
  }
 
 
4904
  };
4905
 
4906
- Layer.prototype.setZIndex = function (targetIndex) {
4907
- this.zIndex = targetIndex;
4908
- this.layer.css('zIndex', targetIndex);
4909
- this.layersItemsUlElement.append(this.layerRow);
4910
- this.$.trigger('layerIndexed', targetIndex);
 
 
 
4911
  };
4912
 
4913
- /**
4914
- *
4915
- * @param item {optional}
4916
- */
4917
- Layer.prototype.activate = function (e) {
4918
- if (document.activeElement) {
4919
- document.activeElement.blur();
 
 
 
 
 
 
 
 
4920
  }
4921
- if (this.items.length == 0) {
4922
- console.error('The layer do not have item on it!');
4923
- } else {
4924
- this.items[0].activate();
 
 
 
 
4925
  }
 
4926
 
4927
- // Set the layer active if it is not active currently
4928
- var currentIndex = this.getIndex();
4929
- if (this.layerEditor.activeLayerIndex !== currentIndex) {
4930
- this.layerRow.addClass('n2-active');
4931
- this.layer.triggerHandler('n2-ss-activate');
4932
- this.layerEditor.changeActiveLayer(currentIndex);
4933
- nextend.activeLayer = this.layer;
4934
 
4935
- var scroll = this.layersItemsUlElement.parent(),
4936
- scrollTop = scroll.scrollTop(),
4937
- top = this.layerRow.get(0).offsetTop;
4938
- if (top < scrollTop || top > scrollTop + scroll.height() - this.layerRow.height()) {
4939
- scroll.scrollTop(top);
4940
- }
4941
 
4942
- if (timeout) {
4943
- highlighted.removeClass('n2-highlight2');
4944
- clearTimeout(timeout);
4945
- timeout = null;
4946
- }
4947
- highlighted = this.layer.addClass('n2-highlight2');
4948
- timeout = setTimeout(function () {
4949
- highlighted.removeClass('n2-highlight2');
4950
- highlighted = null;
4951
- timeout = null;
4952
- }, 500);
4953
  }
4954
- };
4955
 
4956
- Layer.prototype.deActivate = function () {
4957
- if (this.animation) {
4958
- this.animation.deActivate();
 
4959
  }
4960
- this.layerRow.removeClass('n2-active');
4961
- this.layer.triggerHandler('n2-ss-deactivate');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4962
  };
 
4963
 
4964
- Layer.prototype.fit = function () {
4965
- var layer = this.layer.get(0);
4966
 
4967
- var slideSize = this.layerEditor.slideSize,
4968
- position = this.layer.position();
 
 
 
 
4969
 
4970
- if (layer.scrollWidth > 0 && layer.scrollHeight > 0) {
4971
- var resized = false;
4972
- for (var i = 0; i < this.items.length; i++) {
4973
- resized = this.items[i].parser.fitLayer(this.items[i]);
4974
- if (resized) {
4975
- break;
4976
- }
4977
- }
4978
- if (!resized) {
4979
- this.setProperty('width', 'auto', 'layer');
4980
- this.setProperty('height', 'auto', 'layer');
 
4981
 
4982
- var layerWidth = this.layer.width();
4983
- if (Math.abs(this.layerEditor.layerContainerElement.width() - this.layer.position().left - layerWidth) < 2) {
4984
- this.setProperty('width', layerWidth, 'layer');
4985
- }
4986
- }
 
 
 
 
 
 
 
 
 
4987
  }
4988
- };
4989
 
4990
- Layer.prototype.switchToAnimation = function () {
4991
- smartSlider.sidebarManager.switchTab(1);
 
 
4992
  };
4993
 
4994
- Layer.prototype.hide = function (targetMode) {
4995
- this.store(false, (targetMode ? targetMode : this.getMode()), 0, true);
4996
- };
 
 
 
 
 
4997
 
4998
- Layer.prototype.show = function (targetMode) {
4999
- this.store(false, (targetMode ? targetMode : this.getMode()), 1, true);
5000
  };
5001
 
5002
- Layer.prototype.switchSolo = function () {
5003
- this.layerEditor.setSolo(this);
5004
- };
 
 
 
 
5005
 
5006
- Layer.prototype.markSolo = function () {
5007
- this.soloElement.css('opacity', 1);
5008
- this.layer.addClass('n2-ss-layer-solo');
5009
- };
5010
 
5011
- Layer.prototype.unmarkSolo = function () {
5012
- this.soloElement.css('opacity', 0.3);
5013
- this.layer.removeClass('n2-ss-layer-solo');
5014
- };
5015
 
5016
- Layer.prototype.switchEye = function () {
5017
- this.eye = !this.eye;
5018
- this._eye();
5019
- };
 
 
 
 
 
5020
 
5021
- Layer.prototype._eye = function () {
5022
- if (this.eye) {
5023
- this.eyeElement.css('opacity', 0.3);
5024
- this.layer.css('visibility', 'hidden');
 
5025
  } else {
5026
- this.eyeElement.css('opacity', 1);
5027
- this.layer.css('visibility', '');
 
 
5028
  }
5029
- };
5030
 
5031
- Layer.prototype._hide = function () {
5032
- this.layer.css('display', 'none');
5033
  };
5034
 
5035
- Layer.prototype._show = function () {
5036
- if (parseInt(this.property[this.layerEditor.getMode()])) {
5037
- this.layer.css('display', 'block');
5038
- }
5039
  };
5040
 
5041
- Layer.prototype.switchLock = function () {
5042
- this.lock = !this.lock;
5043
- this._lock();
 
5044
  };
5045
 
5046
- Layer.prototype._lock = function () {
5047
- if (this.lock) {
5048
- this.lockElement.css('opacity', 1);
5049
- this.layer.nextenddraggable("disable");
5050
- this.layer.nextendResizable("disable");
5051
- this.layer.addClass('n2-ss-layer-locked');
5052
- } else {
5053
- this.lockElement.css('opacity', 0.3);
5054
- this.layer.nextenddraggable("enable");
5055
- this.layer.nextendResizable("enable");
5056
- this.layer.removeClass('n2-ss-layer-locked');
5057
 
 
 
5058
  }
5059
- };
5060
 
5061
- Layer.prototype.duplicate = function (needActivate, newParentId, newLayers) {
5062
- var layer = this.getHTML(true, false);
5063
 
5064
- var id = layer.attr('id');
5065
- if (id) {
5066
- id = $.fn.uid();
5067
- layer.attr('id', id);
5068
- }
 
 
 
 
5069
 
5070
- if (newParentId) {
5071
- layer.attr('data-parentid', newParentId);
5072
- }
5073
 
5074
- var newLayer = this.layerEditor._addLayer(layer, true);
 
 
 
 
 
 
 
5075
 
5076
- if (typeof newLayers === 'undefined') {
5077
- newLayers = [];
 
 
 
 
 
 
5078
  } else {
5079
- newLayers.push(newLayer);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5080
  }
5081
 
5082
- this.layer.triggerHandler('LayerDuplicated', [id, newLayers]);
5083
-
5084
- this.layerRow.trigger('mouseleave');
5085
 
5086
- if (needActivate) {
5087
- newLayer.activate();
 
 
 
 
 
 
 
 
 
 
5088
  }
 
 
5089
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5090
 
5091
- if (!newParentId) {
5092
- smartSlider.history.add($.proxy(function () {
5093
- return [this, 'duplicateLayer', 'duplicate', 'delete', [newLayer]];
5094
- }, this));
 
 
 
5095
  }
5096
  };
 
5097
 
5098
- Layer.prototype.delete = function (deleteChild, oldLayers) {
5099
-
5100
- smartSlider.history.add($.proxy(function () {
5101
- return [this, 'deleteLayer', 'delete', 'create', [this.getData(true)]];
5102
  }, this));
 
 
 
 
 
5103
 
5104
- this.deActivate();
5105
-
5106
- for (var i = 0; i < this.items.length; i++) {
5107
- this.items[i].delete();
5108
- }
5109
-
5110
- this.layerEditor.zIndexList.splice(this.zIndex, 1);
5111
-
5112
- var parentId = this.getProperty(false, 'parentid');
5113
- if (parentId) {
5114
- this.unSubscribeParent(true);
5115
- }
5116
- // If delete happen meanwhile layer dragged or resized, we have to cancel that.
5117
- this.layer.trigger('mouseup');
5118
- this.layerEditor.layerDeleted(this.getIndex());
5119
- if (typeof oldLayers === 'undefined') {
5120
- oldLayers = [];
5121
  } else {
5122
- oldLayers.push(this);
5123
  }
5124
- this.layer.triggerHandler('LayerDeleted', [typeof deleteChild !== 'undefined' ? deleteChild : false, oldLayers]);
5125
- this.layer.remove();
5126
- this.layerRow.remove();
5127
-
5128
- this.editorVisibilityChange();
5129
 
5130
- this.$.trigger('layerDeleted');
5131
 
5132
- //delete this.layerEditor;
5133
- delete this.layer;
5134
- delete this.itemEditor;
5135
- delete this.animation;
5136
- //delete this.items;
5137
- this.isDeleted = true;
5138
  };
5139
 
5140
- Layer.prototype.getHTML = function (itemsIncluded, base64) {
5141
- var layer = $('<div class="n2-ss-layer"></div>')
5142
- .attr('style', this.getStyleText());
5143
-
5144
- for (var k in this.property) {
5145
- if (k != 'width' && k != 'height' && k != 'left' && k != 'top') {
5146
- layer.attr('data-' + k.toLowerCase(), this.property[k]);
5147
- }
5148
- }
5149
-
5150
- for (var k in this.deviceProperty) {
5151
- for (var k2 in this.deviceProperty[k]) {
5152
- layer.attr('data-' + k.toLowerCase() + k2, this.deviceProperty[k][k2]);
5153
- }
5154
- }
5155
-
5156
- layer.css({
5157
- position: 'absolute',
5158
- zIndex: this.zIndex + 1
5159
- });
5160
 
5161
- for (var k in this.deviceProperty['desktop']) {
5162
- layer.css(k, this.deviceProperty['desktop'][k] + 'px');
5163
- }
5164
 
5165
- if (itemsIncluded) {
5166
- for (var i = 0; i < this.items.length; i++) {
5167
- layer.append(this.items[i].getHTML(base64));
 
 
5168
  }
5169
  }
5170
- var id = this.getProperty(false, 'id');
5171
- if (id && id != '') {
5172
- layer.attr('id', id);
5173
- }
5174
 
5175
- layer.attr('data-eye', this.eye);
5176
- layer.attr('data-lock', this.lock);
5177
 
5178
- //console.log(this.isDeleted);
5179
- layer.attr('data-animations', this.animation.getAnimationsCode());
5180
 
5181
- return layer;
 
 
 
5182
  };
5183
 
5184
- Layer.prototype.getData = function (itemsIncluded) {
5185
- var layer = {
5186
- zIndex: (this.zIndex + 1),
5187
- eye: this.eye,
5188
- lock: this.lock,
5189
- animations: this.animation.getData()
5190
- };
5191
  for (var k in this.property) {
5192
- switch (k) {
5193
- case 'width':
5194
- case 'height':
5195
- case 'left':
5196
- case 'top':
5197
- case 'align':
5198
- case 'valign':
5199
- case 'parentalign':
5200
- case 'parentvalign':
5201
- case 'fontsize':
5202
- break;
5203
- default:
5204
- layer[k.toLowerCase()] = this.property[k];
5205
- }
5206
  }
5207
 
5208
- // store the device based properties
5209
- for (var device in this.deviceProperty) {
5210
- for (var property in this.deviceProperty[device]) {
5211
- var value = this.deviceProperty[device][property];
5212
- if (typeof value === 'undefined') {
5213
- continue;
5214
- }
5215
- if (!(property == 'width' && this.isDimensionPropertyAccepted(value)) && !(property == 'height' && this.isDimensionPropertyAccepted(value)) && property != 'align' && property != 'valign' && property != 'parentalign' && property != 'parentvalign') {
5216
- value = parseFloat(value);
5217
- }
5218
- layer[device.toLowerCase() + property] = value;
5219
- }
5220
  }
5221
 
5222
- // Set the default styles for the layer
5223
- /*var defaultProperties = this.deviceProperty['desktopPortrait'];
5224
- layer.style += 'left:' + parseFloat(defaultProperties.left) + 'px;';
5225
- layer.style += 'top:' + parseFloat(defaultProperties.top) + 'px;';
5226
- if (this.isDimensionPropertyAccepted(defaultProperties.width)) {
5227
- layer.style += 'width:' + defaultProperties.width + ';';
5228
- } else {
5229
- layer.style += 'width:' + parseFloat(defaultProperties.width) + 'px;';
5230
- }
5231
- if (this.isDimensionPropertyAccepted(defaultProperties.height)) {
5232
- layer.style += 'height:' + defaultProperties.height + ';';
5233
- } else {
5234
- layer.style += 'height:' + parseFloat(defaultProperties.height) + 'px;';
5235
- }*/
5236
- if (itemsIncluded) {
5237
- layer.items = [];
5238
- for (var i = 0; i < this.items.length; i++) {
5239
- layer.items.push(this.items[i].getData());
5240
- }
5241
  }
5242
- return layer;
5243
  };
5244
 
5245
- Layer.prototype.getDataWithChildren = function (layers) {
5246
- layers.push(this.getData(true));
5247
- this.layer.triggerHandler('LayerGetDataWithChildren', [layers]);
5248
- return layers;
 
5249
  };
5250
 
5251
- Layer.prototype.initItems = function () {
5252
- this.items = [];
5253
- var items = this.layer.find('.n2-ss-item');
5254
- for (var i = 0; i < items.length; i++) {
5255
- this.addItem(items.eq(i), false);
5256
- }
5257
  };
5258
 
5259
- Layer.prototype.addItem = function (item, place) {
5260
- if (place) {
5261
- item.appendTo(this.layer);
 
 
5262
  }
5263
- new NextendSmartSliderItem(item, this, this.itemEditor);
5264
  };
5265
 
5266
- Layer.prototype.editName = function () {
5267
- var input = new NextendSmartSliderAdminInlineField();
 
 
 
5268
 
5269
- input.$input.on({
5270
- valueChanged: $.proxy(function (e, newName) {
5271
- this.rename(newName, true);
5272
- this.layerTitleSpan.css('display', 'inline');
5273
- }, this),
5274
- cancel: $.proxy(function () {
5275
- this.layerTitleSpan.css('display', 'inline');
5276
- }, this)
5277
- });
5278
 
5279
- this.layerTitleSpan.css('display', 'none');
5280
- input.injectNode(this.layerTitle, this.property.name);
 
 
 
 
5281
 
 
 
 
 
 
 
 
 
 
 
5282
  };
5283
 
5284
- Layer.prototype.rename = function (newName, force) {
5285
-
5286
- if (this.property.nameSynced || force) {
 
5287
 
5288
- if (force) {
5289
- this.property.nameSynced = 0;
 
 
 
 
 
5290
  }
 
 
5291
 
5292
- if (newName == '') {
5293
- if (force) {
5294
- this.property.nameSynced = 1;
5295
- if (this.items.length) {
5296
- this.items[0].reRender();
5297
- return false;
5298
- }
5299
- }
5300
- newName = 'Layer #' + (this.layerEditor.layerList.length + 1);
 
 
 
 
5301
  }
5302
- newName = newName.substr(0, 35);
5303
- if (this.property.name != newName) {
5304
- this.property.name = newName;
5305
- this.layerTitleSpan.html(newName);
 
 
5306
 
5307
- this.$.trigger('layerRenamed', newName);
 
 
 
 
 
 
 
 
 
5308
  }
 
5309
  }
 
5310
  };
5311
 
5312
- // from: manager or other
5313
- Layer.prototype.setProperty = function (name, value, from) {
5314
- switch (name) {
5315
- case 'responsiveposition':
5316
- case 'responsivesize':
5317
- value = parseInt(value);
5318
- case 'id':
5319
- case 'parentid':
5320
- case 'class':
5321
- case 'inneralign':
5322
- case 'crop':
5323
- case 'parallax':
5324
- case 'adaptivefont':
5325
- case 'mouseenter':
5326
- case 'click':
5327
- case 'mouseleave':
5328
- case 'play':
5329
- case 'pause':
5330
- case 'stop':
5331
- this.store(false, name, value, true);
5332
- break;
5333
- case 'parentalign':
5334
- case 'parentvalign':
5335
- case 'align':
5336
- case 'valign':
5337
- case 'fontsize':
5338
- this.store(true, name, value, true);
5339
- break;
5340
- case 'width':
5341
- var ratioSizeH = this.layerEditor.getResponsiveRatio('h')
5342
- if (!parseInt(this.getProperty(false, 'responsivesize'))) {
5343
- ratioSizeH = 1;
5344
- }
5345
 
5346
- var v = value;
5347
- if (!this.isDimensionPropertyAccepted(value)) {
5348
- v = ~~value;
5349
- if (v != value) {
5350
- this.$.trigger('propertyChanged', [name, v]);
5351
- }
5352
- }
5353
- this.storeWithModifier(name, v, ratioSizeH, true);
5354
- this._resize(false);
5355
- break;
5356
- case 'height':
5357
- var ratioSizeV = this.layerEditor.getResponsiveRatio('v')
5358
- if (!parseInt(this.getProperty(false, 'responsivesize'))) {
5359
- ratioSizeV = 1;
5360
- }
5361
 
5362
- var v = value;
5363
- if (!this.isDimensionPropertyAccepted(value)) {
5364
- v = ~~value;
5365
- if (v != value) {
5366
- this.$.trigger('propertyChanged', [name, v]);
5367
- }
5368
- }
5369
 
5370
- this.storeWithModifier(name, v, ratioSizeV, true);
5371
- this._resize(false);
5372
- break;
5373
- case 'left':
5374
- var ratioPositionH = this.layerEditor.getResponsiveRatio('h')
5375
- if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
5376
- ratioPositionH = 1;
5377
- }
5378
 
5379
- var v = ~~value;
5380
- if (v != value) {
5381
- this.$.trigger('propertyChanged', [name, v]);
5382
- }
 
 
 
 
5383
 
5384
- this.storeWithModifier(name, v, ratioPositionH, true);
5385
- break;
5386
- case 'top':
5387
- var ratioPositionV = this.layerEditor.getResponsiveRatio('v')
5388
- if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
5389
- ratioPositionV = 1;
5390
- }
 
5391
 
5392
- var v = ~~value;
5393
- if (v != value) {
5394
- this.$.trigger('propertyChanged', [name, v]);
5395
- }
5396
 
5397
- this.storeWithModifier(name, v, ratioPositionV, true);
5398
- break;
5399
- case 'showFieldDesktopPortrait':
5400
- this.store(false, 'desktopPortrait', parseInt(value), true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5401
  break;
5402
- case 'showFieldDesktopLandscape':
5403
- this.store(false, 'desktopLandscape', parseInt(value), true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5404
  break;
5405
- case 'showFieldTabletPortrait':
5406
- this.store(false, 'tabletPortrait', parseInt(value), true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5407
  break;
5408
- case 'showFieldTabletLandscape':
5409
- this.store(false, 'tabletLandscape', parseInt(value), true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5410
  break;
5411
- case 'showFieldMobilePortrait':
5412
- this.store(false, 'mobilePortrait', parseInt(value), true);
5413
  break;
5414
- case 'showFieldMobileLandscape':
5415
- this.store(false, 'mobileLandscape', parseInt(value), true);
 
 
 
 
 
 
 
5416
  break;
5417
  }
5418
-
5419
- if (from != 'manager') {
5420
- // jelezzuk a sidebarnak, hogy valamely property megvaltozott
5421
- this.$.trigger('propertyChanged', [name, value]);
5422
- }
5423
  };
5424
 
5425
- Layer.prototype.getProperty = function (deviceBased, name) {
 
5426
 
5427
- if (deviceBased) {
5428
- var properties = this.deviceProperty[this.getMode()],
5429
- fallbackProperties = this.deviceProperty['desktopPortrait'];
5430
- if (typeof properties[name] !== 'undefined') {
5431
- return properties[name];
5432
- } else if (typeof fallbackProperties[name] !== 'undefined') {
5433
- return fallbackProperties[name];
5434
- }
5435
  }
5436
- return this.property[name];
5437
- };
5438
 
5439
- Layer.prototype.store = function (deviceBased, name, value, needRender) {
 
 
5440
 
5441
- var oldValue = this.property[name];
5442
- this.property[name] = value;
5443
- if (deviceBased) {
5444
- var mode = this.getMode();
5445
- smartSlider.history.add($.proxy(function () {
5446
- return [this, 'store', value, this.deviceProperty[mode][name], [this.layer, deviceBased, name, mode]];
5447
- }, this));
5448
- this.deviceProperty[mode][name] = value;
5449
- } else {
5450
- smartSlider.history.add($.proxy(function () {
5451
- return [this, 'store', value, oldValue, [this.layer, deviceBased, name, this.getMode()]];
5452
- }, this));
5453
  }
5454
 
5455
- if (needRender) {
5456
- this.render(name, value);
5457
  }
5458
- };
5459
 
5460
- Layer.prototype.storeWithModifier = function (name, value, modifier, needRender) {
5461
- this.property[name] = value;
5462
- var mode = this.getMode();
5463
 
5464
- smartSlider.history.add($.proxy(function () {
5465
- return [this, 'storeWithModifier', value, this.deviceProperty[mode][name], [this.layer, name, mode]];
5466
- }, this));
5467
- this.deviceProperty[mode][name] = value;
5468
 
5469
- if (needRender) {
5470
- this.renderWithModifier(name, value, modifier);
5471
- }
5472
- };
5473
 
5474
- Layer.prototype.render = function (name, value) {
5475
- this['_sync' + name](value);
5476
- };
 
 
5477
 
5478
- Layer.prototype.renderWithModifier = function (name, value, modifier) {
5479
- if ((name == 'width' || name == 'height') && this.isDimensionPropertyAccepted(value)) {
5480
- this['_sync' + name](value);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5481
  } else {
5482
- this['_sync' + name](Math.round(value * modifier));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5483
  }
5484
- };
5485
 
5486
- Layer.prototype._syncclass = function (value) {
5487
- this.layer.removeClass();
5488
- this.layer.addClass('n2-ss-layer');
5489
- if (value && value != '') {
5490
- this.layer.addClass(value);
5491
- }
5492
- };
5493
 
5494
- Layer.prototype._syncid = function (value) {
5495
- if (!value || value == '') {
5496
- this.layer.removeAttr('id');
5497
- } else {
5498
- this.layer.attr('id', value);
5499
  }
5500
- };
5501
 
5502
- Layer.prototype.subscribeParent = function () {
5503
- var that = this;
5504
- this.subscribeParentCallbacks = {
5505
- LayerResized: function () {
5506
- that.resizeParent.apply(that, arguments);
5507
- },
5508
- LayerParent: function () {
5509
- that.layer.addClass('n2-ss-layer-parent');
5510
- that.layer.triggerHandler('LayerParent');
5511
- },
5512
- LayerUnParent: function () {
5513
- that.layer.removeClass('n2-ss-layer-parent');
5514
- that.layer.triggerHandler('LayerUnParent');
5515
- },
5516
- LayerDeleted: function (e, deleteChild, oldLayers) {
5517
- if (deleteChild) {
5518
- that.delete(deleteChild, oldLayers);
5519
- } else {
5520
- that.setProperty('parentid', '', 'layer');
5521
- }
5522
  },
5523
- LayerDuplicated: function (e, newParentId, newLayers) {
5524
- that.duplicate(false, newParentId, newLayers);
5525
  },
5526
- LayerShowChange: function (e, mode, value) {
5527
- if (that.getMode() == mode) {
5528
- that.parentIsVisible = value;
5529
- }
5530
  },
5531
- 'n2-ss-activate': function () {
5532
- that.layerRow.addClass('n2-parent-active');
5533
  },
5534
- 'n2-ss-deactivate': function () {
5535
- that.layerRow.removeClass('n2-parent-active');
5536
  },
5537
- 'LayerGetDataWithChildren': function (e, layers) {
5538
- that.getDataWithChildren(layers);
5539
  }
5540
  };
5541
- this.parent = n2('#' + this.property.parentid).on(this.subscribeParentCallbacks);
5542
- };
5543
-
5544
- Layer.prototype.unSubscribeParent = function (isDelete) {
5545
- this.layerRow.removeClass('n2-parent-active');
5546
- if (this.parent) {
5547
- this.parent.off(this.subscribeParentCallbacks);
5548
- }
5549
- this.parent = false;
5550
- this.subscribeParentCallbacks = {};
5551
- if (!isDelete) {
5552
- var position = this.layer.position();
5553
- this.setPosition(position.left, position.top);
5554
- }
5555
- };
5556
 
5557
- Layer.prototype.unlink = function (e) {
5558
- e.preventDefault();
5559
- this.setProperty('parentid', '', 'layer');
5560
- };
5561
 
5562
- Layer.prototype.parentPicked = function (parentObject, parentAlign, parentValign, align, valign) {
5563
- this.setProperty('parentid', '', 'layer');
5564
 
5565
- this.setProperty('align', align, 'layer');
5566
- this.setProperty('valign', valign, 'layer');
5567
- this.setProperty('parentalign', parentAlign, 'layer');
5568
- this.setProperty('parentvalign', parentValign, 'layer');
5569
 
5570
- this.setProperty('parentid', parentObject.requestID(), 'layer');
5571
- };
5572
 
5573
- Layer.prototype._syncparentid = function (value) {
5574
- if (!value || value == '') {
5575
- this.layer.removeAttr('data-parentid');
5576
- this.unSubscribeParent(false);
5577
- } else {
5578
- if ($('#' + value).length == 0) {
5579
- this.setProperty('parentid', '', 'layer');
5580
- } else {
5581
- this.layer.attr('data-parentid', value);
5582
- this.subscribeParent();
5583
- this.setPosition(this.layer.position().left, this.layer.position().top);
5584
  }
 
 
 
5585
  }
5586
- };
5587
 
5588
- Layer.prototype._syncparentalign = function (value) {
5589
- this.layer.data('parentalign', value);
5590
- var parent = this.getParent();
5591
- if (parent) {
5592
- parent._resize(false);
 
 
 
 
 
 
 
 
 
 
 
 
5593
  }
5594
- };
5595
 
5596
- Layer.prototype._syncparentvalign = function (value) {
5597
- this.layer.data('parentvalign', value);
5598
- var parent = this.getParent();
5599
- if (parent) {
5600
- parent._resize(false);
5601
  }
5602
- };
5603
 
5604
- Layer.prototype._syncinneralign = function (value) {
5605
- this.layer.css('text-align', value);
5606
- };
 
5607
 
5608
- Layer.prototype._synccrop = function (value) {
5609
- if (value == 'auto') {
5610
- value = 'hidden';
5611
  }
 
 
5612
 
5613
- var mask = this.layer.find('> .n2-ss-layer-mask');
5614
- if (value == 'mask') {
5615
- value = 'hidden';
5616
- if (!mask.length) {
5617
- mask = $("<div class='n2-ss-layer-mask'></div>").appendTo(this.layer);
5618
- for (var i = 0; i < this.items.length; i++) {
5619
- mask.append(this.items[i].item);
5620
- }
5621
- }
5622
- } else {
5623
- if (mask.length) {
5624
- for (var i = 0; i < this.items.length; i++) {
5625
- this.layer.append(this.items[i].item);
5626
- mask.remove();
5627
- }
5628
- }
5629
  }
5630
- this.layer.css('overflow', value);
5631
- };
5632
 
5633
- Layer.prototype._syncparallax = function (value) {
 
 
5634
 
5635
- };
 
 
 
5636
 
5637
- Layer.prototype._syncalign = function (value, lastValue) {
5638
- if (lastValue !== 'undefined' && value != lastValue) {
5639
- this.setPosition(this.layer.position().left, this.layer.position().top);
5640
- }
5641
- this.layer.attr('data-align', value);
5642
- };
5643
 
5644
- Layer.prototype._syncvalign = function (value, lastValue) {
5645
- if (lastValue !== 'undefined' && value != lastValue) {
5646
- this.setPosition(this.layer.position().left, this.layer.position().top);
5647
- }
5648
- this.layer.attr('data-valign', value);
5649
- };
5650
 
5651
- Layer.prototype._syncfontsize = function (value) {
5652
- this.adjustFontSize(this.getProperty(false, 'adaptivefont'), value, true);
5653
- };
5654
 
5655
- Layer.prototype._syncadaptivefont = function (value) {
5656
- this.adjustFontSize(value, this.getProperty(true, 'fontsize'), true);
5657
- };
 
 
 
 
 
 
 
 
 
 
 
5658
 
5659
- Layer.prototype.adjustFontSize = function (isAdaptive, fontSize, shouldUpdatePosition) {
5660
- fontSize = parseInt(fontSize);
5661
- if (parseInt(isAdaptive)) {
5662
- this.layer.css('font-size', (nextend.smartSlider.frontend.sliderElement.data('fontsize') * fontSize / 100) + 'px');
5663
- } else if (fontSize != 100) {
5664
- this.layer.css('font-size', fontSize + '%');
5665
- } else {
5666
- this.layer.css('font-size', '');
5667
- }
5668
- if (shouldUpdatePosition) {
5669
- this.update();
5670
- }
5671
- };
5672
 
5673
- Layer.prototype._syncleft = function (value) {
5674
- if (!this.parent || !this.parentIsVisible) {
5675
- switch (this.getProperty(true, 'align')) {
5676
- case 'right':
5677
- this.layer.css({
5678
- left: 'auto',
5679
- right: -value + 'px'
5680
- });
5681
- break;
5682
- case 'center':
5683
- this.layer.css({
5684
- left: (this.layer.parent().width() / 2 + value - this.layer.width() / 2) + 'px',
5685
- right: 'auto'
5686
- });
5687
- break;
5688
- default:
5689
- this.layer.css({
5690
- left: value + 'px',
5691
- right: 'auto'
5692
- });
5693
- }
5694
- } else {
5695
- var position = this.parent.position(),
5696
- align = this.getProperty(true, 'align'),
5697
- parentAlign = this.getProperty(true, 'parentalign'),
5698
- left = 0;
5699
- switch (parentAlign) {
5700
- case 'right':
5701
- left = position.left + this.parent.width();
5702
- break;
5703
- case 'center':
5704
- left = position.left + this.parent.width() / 2;
5705
- break;
5706
- default:
5707
- left = position.left;
5708
- }
5709
 
5710
- switch (align) {
5711
- case 'right':
5712
- this.layer.css({
5713
- left: 'auto',
5714
- right: (this.layer.parent().width() - left - value) + 'px'
5715
- });
5716
- break;
5717
- case 'center':
5718
- this.layer.css({
5719
- left: (left + value - this.layer.width() / 2) + 'px',
5720
- right: 'auto'
5721
- });
5722
- break;
5723
- default:
5724
- this.layer.css({
5725
- left: (left + value) + 'px',
5726
- right: 'auto'
5727
- });
5728
- }
5729
 
5730
- }
 
5731
 
5732
- this.triggerLayerResized();
 
 
5733
  };
5734
 
5735
- Layer.prototype._synctop = function (value) {
5736
- if (!this.parent || !this.parentIsVisible) {
5737
- switch (this.getProperty(true, 'valign')) {
5738
- case 'bottom':
5739
- this.layer.css({
5740
- top: 'auto',
5741
- bottom: -value + 'px'
5742
- });
5743
- break;
5744
- case 'middle':
5745
- this.layer.css({
5746
- top: (this.layer.parent().height() / 2 + value - this.layer.height() / 2) + 'px',
5747
- bottom: 'auto'
5748
- });
5749
- break;
5750
- default:
5751
- this.layer.css({
5752
- top: value + 'px',
5753
- bottom: 'auto'
5754
- });
5755
- }
5756
  } else {
5757
- var position = this.parent.position(),
5758
- valign = this.getProperty(true, 'valign'),
5759
- parentVAlign = this.getProperty(true, 'parentvalign'),
5760
- top = 0;
5761
- switch (parentVAlign) {
5762
- case 'bottom':
5763
- top = position.top + this.parent.height();
5764
- break;
5765
- case 'middle':
5766
- top = position.top + this.parent.height() / 2;
5767
- break;
5768
- default:
5769
- top = position.top;
5770
- }
5771
 
5772
- switch (valign) {
5773
- case 'bottom':
5774
- this.layer.css({
5775
- top: 'auto',
5776
- bottom: (this.layer.parent().height() - top - value) + 'px'
5777
- });
5778
- break;
5779
- case 'middle':
5780
- this.layer.css({
5781
- top: (top + value - this.layer.height() / 2) + 'px',
5782
- bottom: 'auto'
5783
- });
5784
- break;
5785
- default:
5786
- this.layer.css({
5787
- top: (top + value) + 'px',
5788
- bottom: 'auto'
5789
- });
5790
- }
5791
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5792
 
5793
- this.triggerLayerResized();
5794
- };
5795
 
5796
- Layer.prototype._syncresponsiveposition = function (value) {
5797
- this._resize(false);
5798
  };
5799
 
5800
- Layer.prototype._syncwidth = function (value) {
5801
- this.layer.css('width', value + (this.isDimensionPropertyAccepted(value) ? '' : 'px'));
 
 
 
 
 
 
 
5802
  };
5803
 
5804
- Layer.prototype._syncheight = function (value) {
5805
- this.layer.css('height', value + (this.isDimensionPropertyAccepted(value) ? '' : 'px'));
5806
- };
5807
 
5808
- Layer.prototype._syncresponsivesize = function (value) {
5809
- this._resize(false);
5810
- };
 
 
 
 
5811
 
5812
- Layer.prototype._syncdesktopPortrait = function (value) {
5813
- this.__syncShowOnDevice('desktopPortrait', value);
5814
- };
 
 
5815
 
5816
- Layer.prototype._syncdesktopLandscape = function (value) {
5817
- this.__syncShowOnDevice('desktopLandscape', value);
5818
- };
 
 
 
 
 
5819
 
5820
- Layer.prototype._synctabletPortrait = function (value) {
5821
- this.__syncShowOnDevice('tabletPortrait', value);
5822
- };
 
 
 
 
 
 
 
 
 
 
5823
 
5824
- Layer.prototype._synctabletLandscape = function (value) {
5825
- this.__syncShowOnDevice('tabletLandscape', value);
5826
- };
5827
 
5828
- Layer.prototype._syncmobilePortrait = function (value) {
5829
- this.__syncShowOnDevice('mobilePortrait', value);
5830
- };
5831
 
5832
- Layer.prototype._syncmobileLandscape = function (value) {
5833
- this.__syncShowOnDevice('mobileLandscape', value);
5834
- };
 
 
 
 
 
 
 
 
 
5835
 
5836
- Layer.prototype.__syncShowOnDevice = function (mode, value) {
5837
- if (this.getMode() == mode) {
5838
- var value = parseInt(value);
5839
- if (value) {
5840
- this._show();
5841
- } else {
5842
- this._hide();
5843
  }
5844
- this.layer.triggerHandler('LayerShowChange', [mode, value]);
5845
- this.triggerLayerResized();
5846
  }
5847
- };
5848
 
5849
- Layer.prototype._syncmouseenter =
5850
- Layer.prototype._syncclick =
5851
- Layer.prototype._syncmouseleave =
5852
- Layer.prototype._syncplay =
5853
- Layer.prototype._syncpause =
5854
- Layer.prototype._syncstop = function () {
5855
- };
5856
 
5857
- Layer.prototype.___makeLayerAlign = function () {
5858
- this.alignMarker = $('<div class="n2-ss-layer-align-marker" />').appendTo(this.layer);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5859
  };
5860
 
5861
- //<editor-fold desc="Makes layer resizable">
5862
 
5863
- /**
5864
- * Add resize handles to the specified layer
5865
- * @param {jQuery} layer
5866
- * @private
5867
- */
5868
- Layer.prototype.___makeLayerResizeable = function () {
5869
- this.layer.nextendResizable({
5870
- handles: 'n, e, s, w, ne, se, sw, nw',
5871
- _containment: this.layerEditor.layerContainerElement,
5872
- start: $.proxy(this.____makeLayerResizeableStart, this),
5873
- resize: $.proxy(this.____makeLayerResizeableResize, this),
5874
- stop: $.proxy(this.____makeLayerResizeableStop, this),
5875
- smartguides: $.proxy(function () {
5876
- this.layer.triggerHandler('LayerParent');
5877
- return this.layerEditor.getSnap();
5878
- }, this),
5879
- tolerance: 5
5880
- })
5881
- .on({
5882
- mousedown: $.proxy(function (e) {
5883
- if (!this.lock) {
5884
- this.layerEditor.positionDisplay
5885
- .css({
5886
- left: e.pageX + 10,
5887
- top: e.pageY + 10
5888
- })
5889
- .html('W: ' + parseInt(this.layer.width()) + 'px<br />H: ' + parseInt(this.layer.height()) + 'px')
5890
- .addClass('n2-active');
5891
- }
5892
- if (document.activeElement) {
5893
- document.activeElement.blur();
5894
- }
5895
- }, this),
5896
- mouseup: $.proxy(function (e) {
5897
- this.layerEditor.positionDisplay.removeClass('n2-active');
5898
- }, this)
5899
- });
5900
  };
5901
 
5902
- Layer.prototype.____makeLayerResizeableStart = function (event, ui) {
5903
- $('#n2-admin').addClass('n2-ss-resize-layer');
5904
- this.____makeLayerResizeableResize(event, ui);
5905
- this.layerEditor.positionDisplay.addClass('n2-active');
5906
  };
5907
 
5908
- Layer.prototype.____makeLayerResizeableResize = function (e, ui) {
5909
- this.layerEditor.positionDisplay
5910
- .css({
5911
- left: e.pageX + 10,
5912
- top: e.pageY + 10
5913
- })
5914
- .html('W: ' + ui.size.width + 'px<br />H: ' + ui.size.height + 'px');
5915
- this.triggerLayerResized();
5916
  };
5917
 
5918
- Layer.prototype.____makeLayerResizeableStop = function (event, ui) {
5919
- window.nextendPreventClick = true;
5920
- setTimeout(function () {
5921
- window.nextendPreventClick = false;
5922
- }, 50);
5923
- $('#n2-admin').removeClass('n2-ss-resize-layer');
 
 
 
5924
 
5925
- var isAutoWidth = false;
5926
- if (ui.originalSize.width == ui.size.width) {
5927
- var currentValue = this.getProperty(true, 'width');
5928
- if (this.isDimensionPropertyAccepted(currentValue)) {
5929
- isAutoWidth = true;
5930
- this['_syncwidth'](currentValue);
5931
- }
5932
  }
 
5933
 
5934
- var isAutoHeight = false;
5935
- if (ui.originalSize.height == ui.size.height) {
5936
- var currentValue = this.getProperty(true, 'height');
5937
- if (this.isDimensionPropertyAccepted(currentValue)) {
5938
- isAutoHeight = true;
5939
- this['_syncheight'](currentValue);
5940
- }
5941
  }
5942
- this.setPosition(ui.position.left, ui.position.top);
5943
 
 
 
5944
 
5945
- var ratioSizeH = this.layerEditor.getResponsiveRatio('h'),
5946
- ratioSizeV = this.layerEditor.getResponsiveRatio('v');
5947
 
5948
- if (!parseInt(this.getProperty(false, 'responsivesize'))) {
5949
- ratioSizeH = ratioSizeV = 1;
5950
  }
5951
 
5952
- if (!isAutoWidth) {
5953
- var value = Math.round(ui.size.width * (1 / ratioSizeH));
5954
- this.storeWithModifier('width', value, ratioSizeH, false);
5955
- this.$.trigger('propertyChanged', ['width', value]);
5956
- }
5957
- if (!isAutoHeight) {
5958
- var value = Math.round(ui.size.height * (1 / ratioSizeV));
5959
- this.storeWithModifier('height', value, ratioSizeV, false);
5960
- this.$.trigger('propertyChanged', ['height', value]);
5961
  }
5962
- this.triggerLayerResized();
5963
 
5964
- this.layer.triggerHandler('LayerUnParent');
 
 
 
 
 
5965
 
5966
- this.layerEditor.positionDisplay.removeClass('n2-active');
5967
- };
5968
- //</editor-fold>
5969
 
5970
- //<editor-fold desc="Makes layer draggable">
 
5971
 
5972
- /**
5973
- * Add draggable handles to the specified layer
5974
- * @param layer
5975
- * @private
5976
- */
5977
- Layer.prototype.___makeLayerDraggable = function () {
5978
 
5979
- this.layer.nextenddraggable({
5980
- _containment: this.layerEditor.layerContainerElement,
5981
- start: $.proxy(this.____makeLayerDraggableStart, this),
5982
- drag: $.proxy(this.____makeLayerDraggableDrag, this),
5983
- stop: $.proxy(this.____makeLayerDraggableStop, this),
5984
- smartguides: $.proxy(function () {
5985
- this.layer.triggerHandler('LayerParent');
5986
- return this.layerEditor.getSnap();
5987
- }, this),
5988
- tolerance: 5
5989
- });
5990
- };
5991
 
5992
- Layer.prototype.____makeLayerDraggableStart = function (event, ui) {
5993
- $('#n2-admin').addClass('n2-ss-move-layer');
5994
- this.____makeLayerDraggableDrag(event, ui);
5995
- this.layerEditor.positionDisplay.addClass('n2-active');
5996
 
5997
- var currentValue = this.getProperty(true, 'width');
5998
- if (this.isDimensionPropertyAccepted(currentValue)) {
5999
- this.layer.width(this.layer.width() + 0.5); // Center positioned element can wrap the last word to a new line if this fix not added
6000
- }
6001
 
6002
- var currentValue = this.getProperty(true, 'height');
6003
- if (this.isDimensionPropertyAccepted(currentValue)) {
6004
- this['_syncheight'](currentValue);
6005
- }
6006
  };
6007
 
6008
- Layer.prototype.____makeLayerDraggableDrag = function (e, ui) {
6009
- this.layerEditor.positionDisplay
6010
- .css({
6011
- left: e.pageX + 10,
6012
- top: e.pageY + 10
6013
- })
6014
- .html('L: ' + parseInt(ui.position.left | 0) + 'px<br />T: ' + parseInt(ui.position.top | 0) + 'px');
6015
- this.triggerLayerResized();
 
 
 
 
 
 
 
 
 
 
6016
  };
6017
 
6018
- Layer.prototype.____makeLayerDraggableStop = function (event, ui) {
6019
- window.nextendPreventClick = true;
6020
- setTimeout(function () {
6021
- window.nextendPreventClick = false;
6022
- }, 50);
6023
- $('#n2-admin').removeClass('n2-ss-move-layer');
6024
 
6025
- this.setPosition(ui.position.left, ui.position.top);
 
 
6026
 
6027
- var currentValue = this.getProperty(true, 'width');
6028
- if (this.isDimensionPropertyAccepted(currentValue)) {
6029
- this['_syncwidth'](currentValue);
 
 
 
 
 
6030
  }
6031
-
6032
- var currentValue = this.getProperty(true, 'height');
6033
- if (this.isDimensionPropertyAccepted(currentValue)) {
6034
- this['_syncheight'](currentValue);
6035
  }
 
6036
 
6037
- this.triggerLayerResized();
 
6038
 
6039
- this.layer.triggerHandler('LayerUnParent');
6040
- this.layerEditor.positionDisplay.removeClass('n2-active');
6041
  };
6042
 
6043
- Layer.prototype.moveX = function (x) {
6044
- this.setDeviceBasedAlign();
6045
- this.setProperty('left', this.getProperty(true, 'left') + x, 'layer');
6046
- this.triggerLayerResized();
6047
  };
6048
 
6049
- Layer.prototype.moveY = function (y) {
6050
- this.setDeviceBasedAlign();
6051
- this.setProperty('top', this.getProperty(true, 'top') + y, 'layer');
6052
- this.triggerLayerResized();
6053
  };
6054
 
6055
- Layer.prototype.setPosition = function (left, top) {
 
 
6056
 
6057
- var ratioH = this.layerEditor.getResponsiveRatio('h'),
6058
- ratioV = this.layerEditor.getResponsiveRatio('v');
 
6059
 
6060
- if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
6061
- ratioH = ratioV = 1;
6062
- }
6063
 
6064
- this.setDeviceBasedAlign();
 
 
 
 
 
 
 
 
 
 
6065
 
6066
- var parent = this.parent,
6067
- p = {
6068
- left: 0,
6069
- leftMultiplier: 1,
6070
- top: 0,
6071
- topMultiplier: 1
6072
- };
6073
- if (!parent || !parent.is(':visible')) {
6074
- parent = this.layer.parent();
6075
 
 
 
 
 
6076
 
6077
- switch (this.getProperty(true, 'align')) {
6078
- case 'center':
6079
- p.left += parent.width() / 2;
6080
- break;
6081
- case 'right':
6082
- p.left += parent.width();
6083
- break;
6084
- }
6085
 
6086
- switch (this.getProperty(true, 'valign')) {
6087
- case 'middle':
6088
- p.top += parent.height() / 2;
6089
- break;
6090
- case 'bottom':
6091
- p.top += parent.height();
6092
- break;
6093
- }
6094
- } else {
6095
- var position = parent.position();
6096
- switch (this.getProperty(true, 'parentalign')) {
6097
- case 'right':
6098
- p.left = position.left + parent.width();
6099
- break;
6100
- case 'center':
6101
- p.left = position.left + parent.width() / 2;
6102
- break;
6103
- default:
6104
- p.left = position.left;
6105
- }
6106
- switch (this.getProperty(true, 'parentvalign')) {
6107
- case 'bottom':
6108
- p.top = position.top + parent.height();
6109
- break;
6110
- case 'middle':
6111
- p.top = position.top + parent.height() / 2;
6112
- break;
6113
- default:
6114
- p.top = position.top;
6115
- }
6116
  }
 
6117
 
6118
-
6119
- var left, needRender = false;
6120
- switch (this.getProperty(true, 'align')) {
6121
- case 'left':
6122
- left = -Math.round((p.left - left) * (1 / ratioH));
 
 
6123
  break;
6124
- case 'center':
6125
- left = -Math.round((p.left - left - this.layer.width() / 2) * (1 / ratioH))
6126
  break;
6127
- case 'right':
6128
- left = -Math.round((p.left - left - this.layer.width()) * (1 / ratioH));
6129
- needRender = true;
6130
  break;
6131
- }
6132
- this.storeWithModifier('left', left, ratioH, needRender);
6133
- this.$.trigger('propertyChanged', ['left', left]);
6134
-
6135
- var top, needRender = false;
6136
- switch (this.getProperty(true, 'valign')) {
6137
- case 'top':
6138
- top = -Math.round((p.top - top) * (1 / ratioV));
6139
  break;
6140
- case 'middle':
6141
- top = -Math.round((p.top - top - this.layer.height() / 2) * (1 / ratioV));
6142
  break;
6143
- case 'bottom':
6144
- top = -Math.round((p.top - top - this.layer.height()) * (1 / ratioV));
6145
- needRender = true;
 
 
 
 
 
6146
  break;
6147
  }
6148
- this.storeWithModifier('top', top, ratioV, needRender);
6149
- this.$.trigger('propertyChanged', ['top', top]);
6150
- }
6151
 
6152
- Layer.prototype.setDeviceBasedAlign = function () {
6153
- var mode = this.getMode();
6154
- if (typeof this.deviceProperty[mode]['align'] == 'undefined') {
6155
- this.setProperty('align', this.getProperty(true, 'align'), 'layer');
6156
- }
6157
- if (typeof this.deviceProperty[mode]['valign'] == 'undefined') {
6158
- this.setProperty('valign', this.getProperty(true, 'valign'), 'layer');
6159
  }
6160
  };
6161
- //</editor-fold
6162
-
6163
- Layer.prototype.snap = function () {
6164
- this.layer.nextendResizable("option", "smartguides", $.proxy(function () {
6165
- this.layer.triggerHandler('LayerParent');
6166
- return this.layerEditor.getSnap();
6167
- }, this));
6168
- this.layer.nextenddraggable("option", "smartguides", $.proxy(function () {
6169
- this.layer.triggerHandler('LayerParent');
6170
- return this.layerEditor.getSnap();
6171
- }, this));
6172
- };
6173
 
6174
- Layer.prototype.changeEditorMode = function (mode) {
6175
  var value = parseInt(this.property[mode]);
6176
  if (value) {
6177
  this._show();
@@ -6184,9 +8489,46 @@ if (!Array.prototype.filter) {
6184
  this._renderModeProperties(false);
6185
  };
6186
 
6187
- Layer.prototype.resetMode = function (mode, currentMode) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6188
  if (mode != 'desktopPortrait') {
6189
  var undefined;
 
6190
  for (var k in this.property) {
6191
  this.deviceProperty[mode][k] = undefined;
6192
  }
@@ -6196,261 +8538,209 @@ if (!Array.prototype.filter) {
6196
  }
6197
  };
6198
 
6199
- Layer.prototype._renderModeProperties = function (isReset) {
 
6200
 
6201
- for (var k in this.property) {
6202
- this.property[k] = this.getProperty(true, k);
6203
- this.$.trigger('propertyChanged', [k, this.property[k]]);
 
 
6204
  }
 
6205
 
6206
- var fontSize = this.getProperty(true, 'fontsize');
6207
- this.adjustFontSize(this.getProperty(false, 'adaptivefont'), fontSize, false);
6208
 
6209
- this.layer.attr('data-align', this.property.align);
6210
- this.layer.attr('data-valign', this.property.valign);
6211
- if (isReset) {
6212
- this._resize(true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6213
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6214
 
6215
- };
 
6216
 
6217
- Layer.prototype.copyMode = function (from, to) {
6218
- if (from != to) {
6219
- this.deviceProperty[to] = $.extend({}, this.deviceProperty[to], this.deviceProperty[from]);
 
 
 
 
 
 
 
 
6220
  }
6221
- };
6222
 
6223
- Layer.prototype.getMode = function () {
6224
- return this.layerEditor.getMode();
6225
- };
 
6226
 
6227
- Layer.prototype._resize = function (isForced) {
6228
- this.resize({
6229
- slideW: this.layerEditor.getResponsiveRatio('h'),
6230
- slideH: this.layerEditor.getResponsiveRatio('v')
6231
- }, isForced);
6232
- };
6233
 
6234
- Layer.prototype.doLinearResize = function (ratios) {
6235
- this.doThrottledTheResize(ratios, true);
6236
- };
 
6237
 
6238
- Layer.prototype.resize = function (ratios, isForced) {
 
 
 
6239
 
6240
- if (!this.parent || isForced) {
6241
- //this.doThrottledTheResize(ratios, false);
6242
- this.addToResizeCollection(this, ratios, false);
6243
- }
6244
- };
6245
 
6246
- Layer.prototype.doTheResize = function (ratios, isLinear, isThrottled) {
6247
- var ratioPositionH = ratios.slideW,
6248
- ratioSizeH = ratioPositionH,
6249
- ratioPositionV = ratios.slideH,
6250
- ratioSizeV = ratioPositionV;
6251
 
6252
- if (!parseInt(this.getProperty(false, 'responsivesize'))) {
6253
- ratioSizeH = ratioSizeV = 1;
 
 
 
 
 
6254
  }
 
 
6255
 
6256
- //var width = this.getProperty(true, 'width');
6257
- //this.storeWithModifier('width', this.isDimensionPropertyAccepted(width) ? width : Math.round(width), ratioSizeH, true);
6258
- //var height = this.getProperty(true, 'height');
6259
- //this.storeWithModifier('height', this.isDimensionPropertyAccepted(height) ? height : Math.round(height), ratioSizeV, true);
6260
- this.renderWithModifier('width', this.getProperty(true, 'width'), ratioSizeH);
6261
- this.renderWithModifier('height', this.getProperty(true, 'height'), ratioSizeV);
6262
 
6263
- if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
6264
- ratioPositionH = ratioPositionV = 1;
6265
- }
6266
- //this.storeWithModifier('left', Math.round(this.getProperty(true, 'left')), ratioPositionH, true);
6267
- //this.storeWithModifier('top', Math.round(this.getProperty(true, 'top')), ratioPositionV, true);
6268
- this.renderWithModifier('left', this.getProperty(true, 'left'), ratioPositionH);
6269
- this.renderWithModifier('top', this.getProperty(true, 'top'), ratioPositionV);
6270
- if (!isLinear) {
6271
- this.triggerLayerResized(isThrottled, ratios);
6272
- }
6273
- };
6274
 
6275
- Layer.prototype.resizeParent = function (e, ratios, isThrottled) {
6276
- //this.doThrottledTheResize(ratios, false, isThrottled);
6277
- this.addToResizeCollection(this, ratios, isThrottled);
6278
- };
 
 
6279
 
6280
- Layer.prototype.addToResizeCollection = function (layer, ratios, isThrottled) {
6281
- resizeCollection.ratios = ratios;
6282
- resizeCollection.isThrottled = isThrottled;
6283
- for (var i = 0; i < resizeCollection.layers.length; i++) {
6284
- if (resizeCollection.layers[i] == this) {
6285
- resizeCollection.layers.splice(i, 1);
6286
- break;
6287
- }
6288
- }
6289
- resizeCollection.layers.push(layer);
6290
 
6291
- requestRender();
6292
- this.triggerLayerResized(isThrottled, ratios);
6293
- };
6294
 
6295
- Layer.prototype.update = function () {
6296
- var parent = this.parent;
6297
 
6298
- if (this.getProperty(true, 'align') == 'center') {
6299
- var left = 0;
6300
- if (parent) {
6301
- left = parent.position().left + parent.width() / 2;
6302
- } else {
6303
- left = this.layer.parent().width() / 2;
6304
- }
6305
- var ratio = this.layerEditor.getResponsiveRatio('h');
6306
- if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
6307
- ratio = 1;
6308
- }
6309
- this.layer.css('left', (left - this.layer.width() / 2 + this.getProperty(true, 'left') * ratio));
6310
- }
6311
 
6312
- if (this.getProperty(true, 'valign') == 'middle') {
6313
- var top = 0;
6314
- if (parent) {
6315
- top = parent.position().top + parent.height() / 2;
6316
- } else {
6317
- top = this.layer.parent().height() / 2;
6318
- }
6319
- var ratio = this.layerEditor.getResponsiveRatio('v');
6320
- if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
6321
- ratio = 1;
6322
- }
6323
- this.layer.css('top', (top - this.layer.height() / 2 + this.getProperty(true, 'top') * ratio));
6324
- }
6325
- this.triggerLayerResized();
6326
- };
6327
 
6328
- Layer.prototype.triggerLayerResized = function (isThrottled, ratios) {
6329
- if (isThrottled) {
6330
- this._triggerLayerResized(isThrottled, ratios);
6331
- } else {
6332
- this._triggerLayerResizedThrottled(true, ratios);
6333
- }
6334
- };
6335
 
6336
- Layer.prototype._triggerLayerResized = function (isThrottled, ratios) {
6337
- if (!this.isDeleted) {
6338
- this.layer.triggerHandler('LayerResized', [ratios || {
6339
- slideW: this.layerEditor.getResponsiveRatio('h'),
6340
- slideH: this.layerEditor.getResponsiveRatio('v')
6341
- }, isThrottled || false]);
6342
- }
6343
- };
6344
 
6345
- Layer.prototype.getStyleText = function () {
6346
- var style = '';
6347
- var crop = this.property.crop;
6348
- if (crop == 'auto') {
6349
- crop = 'hidden';
6350
  }
6351
- style += 'overflow:' + crop + ';';
6352
- style += 'text-align:' + this.property.inneralign + ';';
6353
- return style;
6354
- };
6355
 
6356
- Layer.prototype.isDimensionPropertyAccepted = function (value) {
6357
- if ((value + '').match(/[0-9]+%/) || value == 'auto') {
6358
- return true;
6359
- }
6360
- return false;
6361
- };
6362
 
6363
- Layer.prototype.history = function (method, value, other, context) {
6364
- switch (method) {
6365
- case 'store':
6366
- var mode = this.getMode();
6367
- if (!other[1] || other[3] == mode) {
6368
- this[method](other[1], other[2], value, true);
6369
- } else {
6370
- this.deviceProperty[other[3]][other[2]] = value;
6371
- }
6372
- this._renderModeProperties(true);
6373
- break;
6374
- case 'storeWithModifier':
6375
- var mode = this.getMode();
6376
- var ratio = 1;
6377
- switch (other[1]) {
6378
- case 'width':
6379
- case 'left':
6380
- ratio = this.layerEditor.getResponsiveRatio('h');
6381
- break;
6382
- case 'height':
6383
- case 'top':
6384
- ratio = this.layerEditor.getResponsiveRatio('v');
6385
- break;
6386
- }
6387
- if (other[2] == mode) {
6388
- this[method](other[1], value, ratio, true);
6389
- } else {
6390
- this.deviceProperty[other[2]][other[1]] = value;
6391
- }
6392
- this._renderModeProperties(true);
6393
- break;
6394
- case 'addLayer':
6395
- switch (value) {
6396
- case 'add':
6397
- this.layerEditor._zIndexOffset = -1;
6398
- this.layerEditor._idTranslation = {};
6399
- var layer = this.layerEditor.loadSingleData($.extend(true, {}, other[0]));
6400
- smartSlider.history.changeFuture(this, layer);
6401
- smartSlider.history.changeFuture(this.items[0], layer.items[0]);
6402
- this.layerEditor.reIndexLayers();
6403
- this.layerEditor.refreshMode();
6404
- break;
6405
- case 'delete':
6406
- this.delete();
6407
- break;
6408
- }
6409
- break;
6410
- case 'duplicateLayer':
6411
- switch (value) {
6412
- case 'duplicate':
6413
- var newLayers = [];
6414
- this.duplicate(true, false, newLayers);
6415
- for (var i = 0; i < newLayers.length; i++) {
6416
- smartSlider.history.changeFuture(context.oldLayers[i], newLayers[i]);
6417
- smartSlider.history.changeFuture(context.oldLayers[i].items[0], newLayers[i].items[0]);
6418
- }
6419
- context.oldLayers = [];
6420
- break;
6421
- case 'delete':
6422
- var oldLayers = [];
6423
- other[0].delete(true, oldLayers);
6424
- context.oldLayers = oldLayers;
6425
- break;
6426
- }
6427
- break;
6428
- case 'deleteLayer':
6429
- switch (value) {
6430
- case 'create':
6431
- this.layerEditor._zIndexOffset = -1;
6432
- this.layerEditor._idTranslation = {};
6433
- var layer = this.layerEditor.loadSingleData($.extend(true, {}, other[0]));
6434
- smartSlider.history.changeFuture(this, layer);
6435
- smartSlider.history.changeFuture(this.items[0], layer.items[0]);
6436
- this.layerEditor.reIndexLayers();
6437
- this.layerEditor.refreshMode();
6438
- break;
6439
- case 'delete':
6440
- this.delete();
6441
- break;
6442
- }
6443
- break;
6444
- case 'storeAnimations':
6445
- this.animation.storeAnimations(other[0], null, null, $.extend(true, {}, value));
6446
- break;
6447
- }
6448
- };
6449
 
6450
- scope.NextendSmartSliderLayer = Layer;
6451
 
 
6452
 
6453
- })(nextend.smartSlider, n2, window);
6454
  (function (smartSlider, $, scope, undefined) {
6455
  var layerClass = '.n2-ss-layer',
6456
  keys = {
@@ -6489,6 +8779,16 @@ if (!Array.prototype.filter) {
6489
  103: 'top',
6490
  104: 'top',
6491
  105: 'top'
 
 
 
 
 
 
 
 
 
 
6492
  };
6493
 
6494
  function AdminSlideLayerManager(layerManager, staticSlide, isUploadDisabled, uploadUrl, uploadDir) {
@@ -6496,23 +8796,18 @@ if (!Array.prototype.filter) {
6496
  this.snapToEnabled = true;
6497
  this.staticSlide = staticSlide;
6498
 
6499
- this.layerDefault = {
6500
- align: null,
6501
- valign: null
6502
- };
6503
-
6504
- this.solo = false;
6505
 
6506
  this.$ = $(this);
6507
  smartSlider.layerManager = this;
6508
 
6509
  this.responsive = smartSlider.frontend.responsive;
6510
 
6511
- new NextendSmartSliderSidebar();
6512
 
6513
  this.layerList = [];
6514
 
6515
- this.layersItemsElement = $('#n2-ss-layers-items-list');
6516
 
6517
  this.frontendSlideLayers = layerManager;
6518
 
@@ -6534,26 +8829,16 @@ if (!Array.prototype.filter) {
6534
 
6535
  smartSlider.frontend.sliderElement.on('SliderResize', $.proxy(this.refreshSlideSize, this));
6536
 
6537
- this.initToolbox();
6538
 
6539
- new NextendSmartSliderLayerAnimationManager(this);
6540
-
6541
- this.refreshLayers();
6542
 
6543
  smartSlider.itemEditor = this.itemEditor = new NextendSmartSliderItemManager(this);
6544
 
6545
  this.positionDisplay = $('<div class="n2 n2-ss-position-display"/>')
6546
  .appendTo('body');
6547
 
6548
- this.zIndexList = [];
6549
-
6550
- this.layers.each($.proxy(function (i, layer) {
6551
- new NextendSmartSliderLayer(this, $(layer), this.itemEditor);
6552
- }, this));
6553
-
6554
- this.reIndexLayers();
6555
-
6556
- this._makeLayersOrderable();
6557
 
6558
  $('#smartslider-slide-toolbox-layer').on('mouseenter', function () {
6559
  $('#n2-admin').addClass('smartslider-layer-highlight-active');
@@ -6563,19 +8848,16 @@ if (!Array.prototype.filter) {
6563
 
6564
  this._initDeviceModeChange();
6565
 
6566
- //this.initBatch();
6567
- this.initSnapTo();
6568
- this.initEditorTheme();
6569
- this.initAlign();
6570
- this.initParentLinker();
6571
- this.initEvents();
6572
 
6573
- var globalAdaptiveFont = $('#n2-ss-adaptive-font').on('click', $.proxy(function () {
6574
- this.toolboxForm.adaptivefont.data('field').onoff.trigger('click');
 
 
6575
  }, this));
6576
 
6577
- this.toolboxForm.adaptivefont.on('nextendChange', $.proxy(function () {
6578
- if (this.toolboxForm.adaptivefont.val() == 1) {
6579
  globalAdaptiveFont.addClass('n2-active');
6580
  } else {
6581
  globalAdaptiveFont.removeClass('n2-active');
@@ -6583,23 +8865,34 @@ if (!Array.prototype.filter) {
6583
  }, this));
6584
 
6585
 
6586
- new NextendElementNumber("n2-ss-font-size", -Number.MAX_VALUE, Number.MAX_VALUE);
6587
- new NextendElementAutocompleteSimple("n2-ss-font-size", ["60", "80", "100", "120", "140", "160", "180"]);
 
 
 
 
6588
 
6589
- var globalFontSize = $('#n2-ss-font-size').on('outsideChange', $.proxy(function () {
6590
  var value = parseInt(globalFontSize.val());
6591
- this.toolboxForm.fontsize.val(value).trigger('change');
 
 
 
 
 
 
 
 
 
 
 
6592
  }, this));
6593
 
6594
- this.toolboxForm.fontsize.on('nextendChange', $.proxy(function () {
6595
- globalFontSize.data('field').insideChange(this.toolboxForm.fontsize.val());
 
6596
  }, this));
6597
 
6598
- if (this.zIndexList.length > 0) {
6599
- this.zIndexList[this.zIndexList.length - 1].activate();
6600
- }
6601
-
6602
-
6603
  $(window).on({
6604
  keydown: $.proxy(function (e) {
6605
  if (e.target.tagName != 'TEXTAREA' && e.target.tagName != 'INPUT' && (!smartSlider.timelineControl || !smartSlider.timelineControl.isActivated())) {
@@ -6613,8 +8906,9 @@ if (!Array.prototype.filter) {
6613
  }
6614
  }
6615
 
6616
- if (keyCode == 46) {
6617
  this.delete();
 
6618
  } else if (keyCode == 35) {
6619
  this.duplicate();
6620
  e.preventDefault();
@@ -6623,7 +8917,8 @@ if (!Array.prototype.filter) {
6623
  } else if (keyCode == 38) {
6624
  if (!keys[keyCode]) {
6625
  var fn = $.proxy(function () {
6626
- this.layerList[this.activeLayerIndex].moveY(-1 * (keys[16] ? 10 : 1))
 
6627
  }, this);
6628
  fn();
6629
  keys[keyCode] = setInterval(fn, 100);
@@ -6632,7 +8927,8 @@ if (!Array.prototype.filter) {
6632
  } else if (keyCode == 40) {
6633
  if (!keys[keyCode]) {
6634
  var fn = $.proxy(function () {
6635
- this.layerList[this.activeLayerIndex].moveY((keys[16] ? 10 : 1))
 
6636
  }, this);
6637
  fn();
6638
  keys[keyCode] = setInterval(fn, 100);
@@ -6641,7 +8937,8 @@ if (!Array.prototype.filter) {
6641
  } else if (keyCode == 37) {
6642
  if (!keys[keyCode]) {
6643
  var fn = $.proxy(function () {
6644
- this.layerList[this.activeLayerIndex].moveX(-1 * (keys[16] ? 10 : 1))
 
6645
  }, this);
6646
  fn();
6647
  keys[keyCode] = setInterval(fn, 100);
@@ -6650,7 +8947,8 @@ if (!Array.prototype.filter) {
6650
  } else if (keyCode == 39) {
6651
  if (!keys[keyCode]) {
6652
  var fn = $.proxy(function () {
6653
- this.layerList[this.activeLayerIndex].moveX((keys[16] ? 10 : 1))
 
6654
  }, this);
6655
  fn();
6656
  keys[keyCode] = setInterval(fn, 100);
@@ -6661,28 +8959,27 @@ if (!Array.prototype.filter) {
6661
  var hAlign = horizontalAlign[keyCode],
6662
  vAlign = verticalAlign[keyCode],
6663
  toZero = false;
6664
- if (this.toolboxForm.align.val() == hAlign && this.toolboxForm.valign.val() == vAlign) {
6665
  toZero = true;
6666
  }
6667
  // numeric pad
6668
- this.horizontalAlign(hAlign, toZero);
6669
- this.verticalAlign(vAlign, toZero);
6670
 
6671
  } else if (keyCode == 34) {
6672
  e.preventDefault();
6673
- var targetIndex = this.layerList[this.activeLayerIndex].zIndex - 1;
6674
- if (targetIndex < 0) {
6675
- targetIndex = this.zIndexList.length - 1;
6676
- }
6677
- this.zIndexList[targetIndex].activate();
6678
 
6679
  } else if (keyCode == 33) {
6680
  e.preventDefault();
6681
- var targetIndex = this.layerList[this.activeLayerIndex].zIndex + 1;
6682
- if (targetIndex > this.zIndexList.length - 1) {
6683
- targetIndex = 0;
6684
- }
6685
- this.zIndexList[targetIndex].activate();
 
 
6686
 
6687
  } else if (e.ctrlKey || e.metaKey) {
6688
  if (keyCode == 90) {
@@ -6695,6 +8992,9 @@ if (!Array.prototype.filter) {
6695
  this.copy();
6696
  } else if (keyCode == 86) {
6697
  this.paste(0);
 
 
 
6698
  }
6699
  }
6700
  }
@@ -6724,686 +9024,1158 @@ if (!Array.prototype.filter) {
6724
  done: $.proxy(function (e, data) {
6725
  var response = data.result;
6726
  if (response.data && response.data.name) {
6727
- var item = this.itemEditor.createLayerItem('image');
6728
  item.reRender({
6729
  image: response.data.url
6730
  });
6731
- item.activate(null, true);
6732
  } else {
6733
  NextendAjaxHelper.notification(response);
6734
  }
6735
 
6736
- }, this),
6737
- fail: $.proxy(function (e, data) {
6738
- NextendAjaxHelper.notification(data.jqXHR.responseJSON);
6739
- }, this),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6740
 
6741
- start: function () {
6742
- NextendAjaxHelper.startLoading();
6743
- },
6744
 
6745
- stop: function () {
6746
- setTimeout(function () {
6747
- NextendAjaxHelper.stopLoading();
6748
- }, 100);
6749
- }
6750
- });
6751
  }
6752
 
6753
- this.initHideSidebar();
6754
- };
6755
 
6756
- AdminSlideLayerManager.prototype.initHideSidebar = function () {
6757
- var admin = $('#n2-admin'),
6758
- hideSidebarButtons = $('.n2-hide-sidebar')
6759
- .on('click', function () {
6760
- if (admin.hasClass('n2-sidebar-hidden')) {
6761
- admin.removeClass('n2-sidebar-hidden');
6762
- } else {
6763
- admin.addClass('n2-sidebar-hidden');
6764
- }
6765
- $(window).trigger('resize');
6766
- });
6767
  };
6768
 
6769
- AdminSlideLayerManager.prototype.getMode = function () {
6770
- return this.mode;
6771
- };
 
 
 
 
 
 
 
 
 
6772
 
6773
- AdminSlideLayerManager.prototype._getMode = function () {
6774
- return this.responsive.getNormalizedModeString();
6775
- };
6776
 
6777
- AdminSlideLayerManager.prototype.getResponsiveRatio = function (axis) {
6778
- if (axis == 'h') {
6779
- return this.responsive.lastRatios.slideW;
6780
- } else if (axis == 'v') {
6781
- return this.responsive.lastRatios.slideH;
6782
  }
6783
- return 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6784
  };
6785
 
6786
- AdminSlideLayerManager.prototype.createLayer = function (properties) {
6787
 
6788
- for (var k in this.layerDefault) {
6789
- if (this.layerDefault[k] !== null) {
6790
- properties[k] = this.layerDefault[k];
 
 
 
 
 
 
6791
  }
6792
  }
6793
- var newLayer = new NextendSmartSliderLayer(this, false, this.itemEditor, properties);
 
6794
 
6795
- this.reIndexLayers();
 
 
 
 
 
6796
 
6797
- this._makeLayersOrderable();
 
 
 
6798
 
6799
- return newLayer;
6800
  };
6801
 
6802
- AdminSlideLayerManager.prototype.addLayer = function (html, refresh) {
6803
- var layerObj = this._addLayer(html, refresh);
6804
 
6805
- smartSlider.history.add($.proxy(function () {
6806
- return [layerObj, 'addLayer', 'add', 'delete', [layerObj.getData(true)]];
6807
- }, this));
6808
 
6809
- return layerObj;
 
 
 
 
 
 
 
 
6810
  };
6811
 
6812
- AdminSlideLayerManager.prototype._addLayer = function (html, refresh) {
6813
- var newLayer = $(html);
6814
- this.layerContainerElement.append(newLayer);
6815
- var layerObj = new NextendSmartSliderLayer(this, newLayer, this.itemEditor);
6816
 
6817
- if (refresh) {
6818
- this.reIndexLayers();
6819
- this.refreshMode();
 
 
 
 
 
 
6820
  }
6821
- return layerObj;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6822
  };
6823
 
6824
- AdminSlideLayerManager.prototype.setSolo = function (layer) {
6825
- if (this.solo) {
6826
- this.solo.unmarkSolo();
6827
- if (this.solo === layer) {
6828
- this.solo = false;
6829
- smartSlider.$currentSlideElement.removeClass('n2-ss-layer-solo-mode');
6830
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6831
  } else {
6832
- this.solo = false;
6833
  }
6834
  }
6835
 
6836
- this.solo = layer;
6837
- layer.markSolo();
6838
- smartSlider.$currentSlideElement.addClass('n2-ss-layer-solo-mode');
 
 
 
 
 
 
 
 
 
 
6839
  };
6840
 
 
6841
  /**
6842
- * Force the view to change to the second mode (layer)
 
 
6843
  */
6844
- AdminSlideLayerManager.prototype.switchToLayerTab = function () {
6845
- smartSlider.slide._changeView(1);
 
 
 
6846
  };
6847
 
6848
- //<editor-fold desc="Initialize the device mode changer">
6849
-
6850
-
6851
- AdminSlideLayerManager.prototype._initDeviceModeChange = function () {
6852
- var resetButton = $('#layerresettodesktop').on('click', $.proxy(this.__onResetToDesktopClick, this));
6853
- this.resetToDesktopTRElement = resetButton.closest('tr');
6854
- this.resetToDesktopGlobalElement = $('#n2-ss-reset-to-desktop').on('click', $.proxy(function () {
6855
- if (this.resetToDesktopTRElement.css('display') == 'table-row') {
6856
- resetButton.trigger('click');
6857
- }
6858
- }, this));
6859
 
 
 
 
 
 
 
 
6860
 
6861
- var globalShowOnDevice = $('#n2-ss-show-on-device').on('click', $.proxy(function () {
6862
- this.toolboxForm['showField' + this.mode.charAt(0).toUpperCase() + this.mode.substr(1)].data('field').onoff.trigger('click');
6863
- }, this));
 
 
 
 
6864
 
6865
- this.globalShowOnDeviceCB = function (mode) {
6866
- if (this.mode == mode) {
6867
- if (this.toolboxForm['showField' + this.mode.charAt(0).toUpperCase() + this.mode.substr(1)].val() == 1) {
6868
- globalShowOnDevice.addClass('n2-active');
6869
- } else {
6870
- globalShowOnDevice.removeClass('n2-active');
6871
- }
6872
  }
6873
- };
 
6874
 
6875
- this.toolboxForm.showFieldDesktopPortrait.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'desktopPortrait'));
6876
- this.toolboxForm.showFieldDesktopLandscape.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'desktopLandscape'));
 
6877
 
6878
- this.toolboxForm.showFieldTabletPortrait.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'tabletPortrait'));
6879
- this.toolboxForm.showFieldTabletLandscape.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'tabletLandscape'));
6880
 
6881
- this.toolboxForm.showFieldMobilePortrait.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'mobilePortrait'));
6882
- this.toolboxForm.showFieldMobileLandscape.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'mobileLandscape'));
6883
 
6884
- this.__onChangeDeviceOrientation();
6885
- smartSlider.frontend.sliderElement.on('SliderDeviceOrientation', $.proxy(this.__onChangeDeviceOrientation, this));
 
 
 
6886
 
 
6887
 
6888
- //this.__onResize();
6889
- smartSlider.frontend.sliderElement.on('SliderResize', $.proxy(this.__onResize, this));
 
 
 
 
 
 
 
6890
  };
6891
 
6892
- /**
6893
- * Refresh the current responsive mode. Example: you are in tablet view and unpublish a layer for tablet, then you should need a refresh on the mode.
6894
- */
6895
- AdminSlideLayerManager.prototype.refreshMode = function () {
 
6896
 
6897
- this.__onChangeDeviceOrientation();
 
 
 
 
6898
 
6899
- smartSlider.frontend.responsive.reTriggerSliderDeviceOrientation();
 
 
 
6900
  };
6901
 
6902
- /**
6903
- * When the device mode changed we have to change the slider
6904
- * @param mode
6905
- * @private
6906
- */
6907
- AdminSlideLayerManager.prototype.__onChangeDeviceOrientation = function () {
6908
 
6909
- this.mode = this._getMode();
6910
- this.globalShowOnDeviceCB(this.mode);
 
6911
 
6912
- this.resetToDesktopTRElement.css('display', (this.mode == 'desktopPortrait' ? 'none' : 'table-row'));
6913
- this.resetToDesktopGlobalElement.css('display', (this.mode == 'desktopPortrait' ? 'none' : ''));
6914
- for (var i = 0; i < this.layerList.length; i++) {
6915
- this.layerList[i].changeEditorMode(this.mode);
 
 
 
 
 
 
 
 
 
 
6916
  }
6917
  };
6918
 
6919
- AdminSlideLayerManager.prototype.__onResize = function (e, ratios) {
6920
-
6921
- var sortedLayerList = this.getSortedLayers();
6922
-
6923
- for (var i = 0; i < sortedLayerList.length; i++) {
6924
- sortedLayerList[i].doLinearResize(ratios);
6925
  }
6926
  };
6927
 
6928
- /**
6929
- * Reset the custom values of the current mode on the current layer to the desktop values.
6930
- * @private
6931
- */
6932
- AdminSlideLayerManager.prototype.__onResetToDesktopClick = function () {
6933
- if (this.activeLayerIndex != -1) {
6934
- var mode = this.getMode();
6935
- this.layerList[this.activeLayerIndex].resetMode(mode, mode);
6936
  }
 
6937
  };
6938
 
6939
- AdminSlideLayerManager.prototype.copyOrResetMode = function (mode) {
 
6940
 
6941
- var currentMode = this.getMode();
6942
- if (mode != 'desktopPortrait' && mode == currentMode) {
6943
- for (var i = 0; i < this.layerList.length; i++) {
6944
- this.layerList[i].resetMode(mode, currentMode);
6945
- }
6946
- } else if (mode != 'desktopPortrait' && currentMode == 'desktopPortrait') {
6947
- for (var i = 0; i < this.layerList.length; i++) {
6948
- this.layerList[i].resetMode(mode, currentMode);
6949
- }
6950
- } else if (mode != currentMode) {
6951
- for (var i = 0; i < this.layerList.length; i++) {
6952
- this.layerList[i].copyMode(currentMode, mode);
6953
- }
6954
- }
6955
 
6956
- };
 
 
 
 
 
 
6957
 
6958
- AdminSlideLayerManager.prototype.refreshSlideSize = function () {
6959
- this.slideSize.width = smartSlider.frontend.dimensions.slide.width;
6960
- this.slideSize.height = smartSlider.frontend.dimensions.slide.height;
6961
- };
6962
 
6963
- //</editor-fold>
 
 
 
 
6964
 
6965
- AdminSlideLayerManager.prototype._makeLayersOrderable = function () {
6966
- this.layersOrderableElement = this.layersItemsElement.find(' > ul');
6967
- this.layersOrderableElement
6968
- .sortable({
6969
- axis: "y",
6970
- helper: 'clone',
6971
- placeholder: "sortable-placeholder",
6972
- forcePlaceholderSize: true,
6973
- tolerance: "pointer",
6974
- items: '.n2-ss-layer-row',
6975
- //handle: '.n2-i-order',
6976
- start: function (event, ui) {
6977
- $(ui.item).data("startindex", ui.item.index());
6978
- },
6979
- stop: $.proxy(function (event, ui) {
6980
- var startIndex = this.zIndexList.length - $(ui.item).data("startindex") - 1,
6981
- newIndex = this.zIndexList.length - $(ui.item).index() - 1;
6982
- if (startIndex != newIndex) {
6983
- this.zIndexList.splice(newIndex, 0, this.zIndexList.splice(startIndex, 1)[0]);
6984
- this.reIndexLayers();
6985
-
6986
- smartSlider.history.add($.proxy(function () {
6987
- return [this, 'changeZIndex', [startIndex, newIndex], [newIndex, startIndex], []];
6988
- }, this));
6989
  }
6990
- }, this)
6991
- });
6992
- };
 
 
 
 
 
 
 
 
 
 
 
6993
 
6994
- AdminSlideLayerManager.prototype.reIndexLayers = function () {
6995
- this.zIndexList = this.zIndexList.filter(function (item) {
6996
- return item != undefined
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6997
  });
 
6998
 
6999
- for (var i = this.zIndexList.length - 1; i >= 0; i--) {
7000
- this.zIndexList[i].setZIndex(i);
 
 
 
7001
  }
7002
  };
7003
 
7004
- AdminSlideLayerManager.prototype.initEvents = function () {
7005
- var parent = $('#n2-tab-events'),
7006
- content = parent.find('> table').css('display', 'none'),
7007
- heading = parent.find('.n2-h3'),
7008
- headingLabel = heading.html(),
7009
- row = $('<div class="n2-sidebar-row n2-sidebar-header-bg n2-form-dark n2-sets-header"><div class="n2-table"><div class="n2-tr"><div class="n2-td"><div class="n2-h3 n2-uc">' + headingLabel + '</div></div><div style="text-align: ' + (nextend.isRTL() ? 'left' : 'right') + ';" class="n2-td"></div></div></div></div>'),
7010
- button = $('<a href="#" class="n2-button n2-button-medium n2-button-green n2-h5 n2-uc">' + n2_('Show') + '</a>').on('click', function (e) {
7011
- e.preventDefault();
7012
- if (button.hasClass('n2-button-green')) {
7013
- content.css('display', '');
7014
- button.html(n2_('Hide'));
7015
- button.addClass('n2-button-grey');
7016
- button.removeClass('n2-button-green');
7017
- $.jStorage.set("n2-ss-events", 1);
7018
- } else {
7019
- content.css('display', 'none');
7020
- button.html(n2_('Show'));
7021
- button.addClass('n2-button-green');
7022
- button.removeClass('n2-button-grey');
7023
- $.jStorage.set("n2-ss-events", 0);
7024
- }
7025
- });
7026
- if ($.jStorage.get("n2-ss-events", 0)) {
7027
- content.css('display', '');
7028
- button.html(n2_('Hide'));
7029
- button.addClass('n2-button-grey');
7030
- button.removeClass('n2-button-green');
7031
- }
7032
- heading.replaceWith(row);
7033
- button.appendTo(row.find('.n2-td').eq(1));
7034
- }
7035
 
7036
- AdminSlideLayerManager.prototype.initSnapTo = function () {
 
 
7037
 
7038
- var field = new NextendElementOnoff("n2-ss-snap");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7039
 
7040
- if (!$.jStorage.get("n2-ss-snap-to-enabled", 1)) {
7041
- field.insideChange(0);
7042
- this.snapToDisable();
 
 
 
 
 
7043
  }
 
7044
 
7045
- field.element.on('outsideChange', $.proxy(this.switchSnapTo, this));
7046
- };
 
7047
 
7048
- AdminSlideLayerManager.prototype.switchSnapTo = function (e) {
7049
- e.preventDefault();
7050
- if (this.snapToEnabled) {
7051
- this.snapToDisable();
7052
- } else {
7053
- this.snapToEnable();
7054
- }
7055
- };
7056
 
7057
- AdminSlideLayerManager.prototype.snapToDisable = function () {
7058
- this.snapToEnabled = false;
7059
- this.snapToChanged(0);
7060
- };
7061
 
7062
- AdminSlideLayerManager.prototype.snapToEnable = function () {
7063
- this.snapToEnabled = true;
7064
- this.snapToChanged(1);
7065
- };
7066
- AdminSlideLayerManager.prototype.snapToChanged = function () {
7067
- for (var i = 0; i < this.layerList.length; i++) {
7068
- this.layerList[i].snap();
7069
- }
7070
- $.jStorage.set("n2-ss-snap-to-enabled", this.snapToEnabled);
7071
- };
7072
 
7073
- AdminSlideLayerManager.prototype.getSnap = function () {
7074
- if (!this.snapToEnabled) {
7075
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7076
  }
 
7077
 
7078
- if (this.staticSlide) {
7079
- return $('.n2-ss-static-slide .n2-ss-layer:not(.n2-ss-layer-locked):not(.n2-ss-layer-parent):visible');
 
7080
  }
7081
- return $('.n2-ss-slide.n2-ss-slide-active .n2-ss-layer:not(.n2-ss-layer-locked):not(.n2-ss-layer-parent):visible');
7082
- };
7083
 
7084
- AdminSlideLayerManager.prototype.initEditorTheme = function () {
7085
- this.themeElement = $('#n2-tab-smartslider-editor');
7086
- this.themeButton = $('#n2-ss-theme').on('click', $.proxy(this.switchEditorTheme, this));
7087
- if ($.jStorage.get("n2-ss-theme-dark", 0)) {
7088
- this.themeButton.addClass('n2-active');
7089
- this.themeElement.addClass('n2-ss-theme-dark');
 
7090
  }
7091
- };
7092
 
7093
- AdminSlideLayerManager.prototype.switchEditorTheme = function () {
7094
- $.jStorage.set("n2-ss-theme-dark", !this.themeButton.hasClass('n2-active'));
7095
- this.themeButton.toggleClass('n2-active');
7096
- this.themeElement.toggleClass('n2-ss-theme-dark');
7097
  };
7098
 
7099
- AdminSlideLayerManager.prototype.initAlign = function () {
7100
- var hAlignButton = $('#n2-ss-horizontal-align .n2-radio-option'),
7101
- vAlignButton = $('#n2-ss-vertical-align .n2-radio-option');
7102
-
7103
- hAlignButton.add(vAlignButton).on('click', $.proxy(function (e) {
7104
- if (e.ctrlKey || e.metaKey) {
7105
- var $el = $(e.currentTarget),
7106
- isActive = $el.hasClass('n2-sub-active'),
7107
- align = $el.data('align');
7108
- switch (align) {
7109
- case 'left':
7110
- case 'center':
7111
- case 'right':
7112
- hAlignButton.removeClass('n2-sub-active');
7113
- if (isActive) {
7114
- $.jStorage.set('ss-item-horizontal-align', null);
7115
- this.layerDefault.align = null;
7116
- } else {
7117
- $.jStorage.set('ss-item-horizontal-align', align);
7118
- this.layerDefault.align = align;
7119
- $el.addClass('n2-sub-active');
7120
- }
7121
- break;
7122
- case 'top':
7123
- case 'middle':
7124
- case 'bottom':
7125
- vAlignButton.removeClass('n2-sub-active');
7126
- if (isActive) {
7127
- $.jStorage.set('ss-item-vertical-align', null);
7128
- this.layerDefault.valign = null;
7129
- } else {
7130
- $.jStorage.set('ss-item-vertical-align', align);
7131
- this.layerDefault.valign = align;
7132
- $el.addClass('n2-sub-active');
7133
- }
7134
- break;
7135
- }
7136
- } else if (this.activeLayerIndex != -1) {
7137
- var align = $(e.currentTarget).data('align');
7138
- switch (align) {
7139
- case 'left':
7140
- case 'center':
7141
- case 'right':
7142
- this.horizontalAlign(align, true);
7143
- break;
7144
- case 'top':
7145
- case 'middle':
7146
- case 'bottom':
7147
- this.verticalAlign(align, true);
7148
- break;
7149
- }
7150
- }
7151
- }, this));
7152
 
7153
- this.toolboxForm.align.on('nextendChange', $.proxy(function () {
7154
- hAlignButton.removeClass('n2-active');
7155
- switch (this.toolboxForm.align.val()) {
7156
- case 'left':
7157
- hAlignButton.eq(0).addClass('n2-active');
7158
- break;
7159
- case 'center':
7160
- hAlignButton.eq(1).addClass('n2-active');
7161
- break;
7162
- case 'right':
7163
- hAlignButton.eq(2).addClass('n2-active');
7164
- break;
7165
  }
7166
- }, this));
7167
- this.toolboxForm.valign.on('nextendChange', $.proxy(function () {
7168
- vAlignButton.removeClass('n2-active');
7169
- switch (this.toolboxForm.valign.val()) {
7170
- case 'top':
7171
- vAlignButton.eq(0).addClass('n2-active');
7172
- break;
7173
- case 'middle':
7174
- vAlignButton.eq(1).addClass('n2-active');
7175
- break;
7176
- case 'bottom':
7177
- vAlignButton.eq(2).addClass('n2-active');
7178
- break;
7179
  }
7180
- }, this));
7181
 
 
 
 
 
 
7182
 
7183
- var hAlign = $.jStorage.get('ss-item-horizontal-align', null),
7184
- vAlign = $.jStorage.get('ss-item-vertical-align', null);
7185
- if (hAlign != null) {
7186
- hAlignButton.eq(nameToIndex[hAlign]).addClass('n2-sub-active');
7187
- this.layerDefault.align = hAlign;
 
 
 
 
7188
  }
7189
- if (vAlign != null) {
7190
- vAlignButton.eq(nameToIndex[vAlign]).addClass('n2-sub-active');
7191
- this.layerDefault.valign = vAlign;
7192
  }
7193
- };
7194
 
7195
- AdminSlideLayerManager.prototype.horizontalAlign = function (align, toZero) {
7196
- if (this.toolboxForm.align.val() != align) {
7197
- this.toolboxForm.align.data('field').options.eq(nameToIndex[align]).trigger('click');
7198
- } else if (toZero) {
7199
- this.toolboxForm.left.val(0).trigger('change');
7200
  }
7201
- };
7202
 
7203
- AdminSlideLayerManager.prototype.verticalAlign = function (align, toZero) {
7204
- if (this.toolboxForm.valign.val() != align) {
7205
- this.toolboxForm.valign.data('field').options.eq(nameToIndex[align]).trigger('click');
7206
- } else if (toZero) {
7207
- this.toolboxForm.top.val(0).trigger('change');
7208
  }
7209
- };
7210
 
7211
- AdminSlideLayerManager.prototype.initParentLinker = function () {
7212
- var field = this.toolboxForm.parentid.data('field'),
7213
- parentLinker = $('#n2-ss-parent-linker').on({
7214
- click: function (e) {
7215
- field.click(e);
7216
- },
7217
- mouseenter: function (e) {
7218
- field.picker.trigger(e);
7219
- },
7220
- mouseleave: function (e) {
7221
- field.picker.trigger(e);
7222
  }
7223
- });
7224
- };
7225
-
7226
- /**
7227
- * Delete all layers on the slide
7228
- */
7229
- AdminSlideLayerManager.prototype.deleteLayers = function () {
7230
- for (var i = this.zIndexList.length - 1; i >= 0; i--) {
7231
- this.zIndexList[i].delete();
7232
  }
7233
- };
7234
 
7235
- AdminSlideLayerManager.prototype.layerDeleted = function (index) {
 
7236
 
7237
- this.reIndexLayers();
 
 
 
 
 
 
 
 
 
 
 
7238
 
7239
- this.layerList.splice(index, 1);
 
 
 
 
 
7240
 
7241
- this.afterLayerDeleted(index);
7242
- };
7243
 
7244
- AdminSlideLayerManager.prototype.afterLayerDeleted = NextendThrottle(function (index) {
 
 
 
7245
 
7246
- var activeLayer = this.getSelectedLayer();
7247
 
7248
- if (index === this.activeLayerIndex) {
7249
- this.activeLayerIndex = -1;
7250
- if (this.zIndexList.length > 0) {
7251
- this.zIndexList[this.zIndexList.length - 1].activate();
7252
- } else {
7253
- this.changeActiveLayer(-1);
7254
- }
7255
- } else if (activeLayer) {
7256
- this.activeLayerIndex = activeLayer.getIndex();
7257
- }
7258
- }, 50);
7259
 
7260
- AdminSlideLayerManager.prototype.getSortedLayers = function () {
7261
- var list = this.layerList.slice(),
7262
- children = {};
7263
- for (var i = list.length - 1; i >= 0; i--) {
7264
- if (typeof list[i].property.parentid !== 'undefined' && list[i].property.parentid) {
7265
- if (typeof children[list[i].property.parentid] == 'undefined') {
7266
- children[list[i].property.parentid] = [];
7267
  }
7268
- children[list[i].property.parentid].push(list[i]);
7269
- list.splice(i, 1);
7270
  }
7271
- }
7272
- for (var i = 0; i < list.length; i++) {
7273
- if (typeof list[i].property.id !== 'undefined' && list[i].property.id && typeof children[list[i].property.id] !== 'undefined') {
7274
- children[list[i].property.id].unshift(0);
7275
- children[list[i].property.id].unshift(i + 1);
7276
- list.splice.apply(list, children[list[i].property.id]);
7277
- delete children[list[i].property.id];
7278
  }
7279
  }
7280
- return list;
7281
- };
7282
 
 
 
 
 
 
 
 
 
 
7283
 
7284
- AdminSlideLayerManager.prototype.getActiveLayerData = function () {
7285
- var layers = [];
7286
- if (typeof this.layerList[this.activeLayerIndex] !== 'undefined') {
7287
- return this.layerList[this.activeLayerIndex].getDataWithChildren(layers);
7288
- }
7289
- return layers;
7290
- };
7291
 
7292
- /**
7293
- * Get the HTML code of the whole slide
7294
- * @returns {string} HTML
7295
- */
7296
- AdminSlideLayerManager.prototype.getHTML = function () {
7297
- var node = $('<div></div>');
7298
 
7299
- var list = this.layerList;
7300
- for (var i = 0; i < list.length; i++) {
7301
- node.append(list[i].getHTML(true, true));
 
 
 
 
 
 
 
 
 
 
7302
  }
 
7303
 
7304
- return node.html();
7305
- };
 
 
 
 
 
 
 
7306
 
 
7307
 
7308
- AdminSlideLayerManager.prototype.getData = function () {
7309
- var layers = [];
 
 
 
 
7310
 
7311
- var list = this.layerList;
7312
- for (var i = 0; i < list.length; i++) {
7313
- layers.push(list[i].getData(true));
 
 
 
 
 
 
 
 
7314
  }
 
 
7315
 
7316
- return layers;
7317
- };
7318
 
7319
- AdminSlideLayerManager.prototype.loadData = function (data, overwrite) {
 
 
 
 
7320
 
7321
- smartSlider.history.add($.proxy(function () {
7322
- return [this, 'fixActiveLayer', '', '', []];
7323
- }, this));
7324
 
7325
- var layers = $.extend(true, [], data);
7326
- if (overwrite) {
7327
- this.deleteLayers();
7328
- }
7329
- this._zIndexOffset = this.zIndexList.length;
7330
- this._idTranslation = {};
7331
- for (var i = 0; i < layers.length; i++) {
7332
- this.loadSingleData(layers[i])
7333
- }
7334
- this.reIndexLayers();
7335
- this.refreshMode();
7336
 
7337
- if (this.activeLayerIndex == -1 && this.layerList.length > 0) {
7338
- this.layerList[0].activate();
7339
- }
7340
 
7341
- smartSlider.history.add($.proxy(function () {
7342
- return [this, 'fixActiveLayer', '', '', []];
7343
- }, this));
7344
 
7345
- };
 
 
7346
 
7347
- AdminSlideLayerManager.prototype.loadSingleData = function (layerData) {
 
 
 
 
7348
 
7349
- var layer = $('<div class="n2-ss-layer"></div>')
7350
- .attr('style', layerData.style);
 
7351
 
7352
- var storedZIndex = layer.css('zIndex');
7353
- if (storedZIndex == 'auto' || storedZIndex == '') {
7354
- if (layerData.zIndex) {
7355
- storedZIndex = layerData.zIndex;
7356
- } else {
7357
- storedZIndex = 1;
7358
- }
7359
- }
7360
- layer.css('zIndex', storedZIndex + this._zIndexOffset);
7361
- if (layerData.id) {
7362
- var id = $.fn.uid();
7363
- this._idTranslation[layerData.id] = id;
7364
- layer.attr('id', id);
7365
- }
7366
- if (layerData.parentid) {
7367
- if (typeof this._idTranslation[layerData.parentid] != 'undefined') {
7368
- layerData.parentid = this._idTranslation[layerData.parentid];
7369
- } else {
7370
- layerData.parentid = '';
7371
- }
7372
- }
7373
 
7374
- for (var j = 0; j < layerData.items.length; j++) {
7375
- $('<div class="n2-ss-item n2-ss-item-' + layerData.items[j].type + '"></div>')
7376
- .data('item', layerData.items[j].type)
7377
- .data('itemvalues', layerData.items[j].values)
7378
- .appendTo(layer);
7379
- }
7380
 
7381
- delete layerData.style;
7382
- delete layerData.items;
7383
- layerData.animations = Base64.encode(JSON.stringify(layerData.animations));
7384
- for (var k in layerData) {
7385
- layer.data(k, layerData[k]);
7386
  }
7387
- return this.addLayer(layer, false);
7388
- };
7389
 
7390
- /**
7391
- * Reloads the layers by the class name
7392
- */
7393
- AdminSlideLayerManager.prototype.refreshLayers = function () {
7394
- this.layers = this.layerContainerElement.find(layerClass);
7395
- };
7396
 
7397
- //<editor-fold desc="Toolbox fields and related stuffs">
 
 
 
 
 
 
 
 
 
7398
 
7399
- /**
7400
- * Initialize the sidebar Layer toolbox
7401
- */
7402
- AdminSlideLayerManager.prototype.initToolbox = function () {
7403
 
7404
  this.toolboxElement = $('#smartslider-slide-toolbox-layer');
7405
 
7406
- this.toolboxForm = {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7407
  id: $('#layerid'),
7408
  parentid: $('#layerparentid'),
7409
  parentalign: $('#layerparentalign'),
@@ -7415,6 +10187,7 @@ if (!Array.prototype.filter) {
7415
  height: $('#layerheight'),
7416
  responsivesize: $('#layerresponsive-size'),
7417
  class: $('#layerclass'),
 
7418
  showFieldDesktopPortrait: $('#layershow-desktop-portrait'),
7419
  showFieldDesktopLandscape: $('#layershow-desktop-landscape'),
7420
  showFieldTabletPortrait: $('#layershow-tablet-portrait'),
@@ -7422,6 +10195,7 @@ if (!Array.prototype.filter) {
7422
  showFieldMobilePortrait: $('#layershow-mobile-portrait'),
7423
  showFieldMobileLandscape: $('#layershow-mobile-landscape'),
7424
  crop: $('#layercrop'),
 
7425
  inneralign: $('#layerinneralign'),
7426
  parallax: $('#layerparallax'),
7427
  align: $('#layeralign'),
@@ -7429,270 +10203,326 @@ if (!Array.prototype.filter) {
7429
  fontsize: $('#layerfont-size'),
7430
  adaptivefont: $('#layeradaptive-font'),
7431
  mouseenter: $('#layeronmouseenter'),
7432
- click: $('#layeronclick'),
7433
- mouseleave: $('#layeronmouseleave'),
7434
- play: $('#layeronplay'),
7435
- pause: $('#layeronpause'),
7436
- stop: $('#layeronstop')
7437
- };
7438
-
7439
- for (var k in this.toolboxForm) {
7440
- this.toolboxForm[k].on('outsideChange', $.proxy(this.activateLayerPropertyChanged, this, k));
7441
- }
7442
-
7443
- if (!this.responsive.isEnabled('desktop', 'Landscape')) {
7444
- this.toolboxForm.showFieldDesktopLandscape.closest('.n2-mixed-group').css('display', 'none');
7445
- }
7446
- if (!this.responsive.isEnabled('tablet', 'Portrait')) {
7447
- this.toolboxForm.showFieldTabletPortrait.closest('.n2-mixed-group').css('display', 'none');
7448
- }
7449
- if (!this.responsive.isEnabled('tablet', 'Landscape')) {
7450
- this.toolboxForm.showFieldTabletLandscape.closest('.n2-mixed-group').css('display', 'none');
7451
- }
7452
- if (!this.responsive.isEnabled('mobile', 'Portrait')) {
7453
- this.toolboxForm.showFieldMobilePortrait.closest('.n2-mixed-group').css('display', 'none');
7454
- }
7455
- if (!this.responsive.isEnabled('mobile', 'Landscape')) {
7456
- this.toolboxForm.showFieldMobileLandscape.closest('.n2-mixed-group').css('display', 'none');
7457
- }
7458
- };
7459
-
7460
- AdminSlideLayerManager.prototype.activateLayerPropertyChanged = function (name, e) {
7461
- if (this.activeLayerIndex != -1) {
7462
- //@todo batch? throttle
7463
- var value = this.toolboxForm[name].val();
7464
- this.layerList[this.activeLayerIndex].setProperty(name, value, 'manager');
7465
- } else {
7466
- var field = this.toolboxForm[name].data('field');
7467
- if (typeof field !== 'undefined' && field !== null) {
7468
- field.insideChange('');
7469
- }
7470
- }
7471
- };
7472
-
7473
- /**
7474
- * getter for the currently selected layer
7475
- * @returns {jQuery|boolean} layer element in jQuery representation or false
7476
- * @private
7477
- */
7478
- AdminSlideLayerManager.prototype.getSelectedLayer = function () {
7479
- if (this.activeLayerIndex == -1) {
7480
- return false;
7481
- }
7482
- return this.layerList[this.activeLayerIndex];
7483
- };
7484
-
7485
- //</editor-fold>
7486
-
7487
- AdminSlideLayerManager.prototype.changeActiveLayer = function (index) {
7488
- var lastActive = this.activeLayerIndex;
7489
- if (lastActive != -1) {
7490
- var $layer = this.layerList[lastActive];
7491
- // There is a chance that the layer already deleted
7492
- if ($layer) {
7493
- $layer.$.off('propertyChanged.layerEditor');
7494
 
7495
- $layer.deActivate();
7496
- }
7497
  }
7498
- this.activeLayerIndex = index;
7499
-
7500
- if (index != -1) {
7501
- var $layer = this.layerList[index];
7502
- $layer.$.on('propertyChanged.layerEditor', $.proxy(this.activeLayerPropertyChanged, this));
7503
 
7504
- $layer.animation.activate();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7505
 
7506
- var properties = $layer.property;
7507
- for (var name in properties) {
7508
- this.activeLayerPropertyChanged({
7509
- target: $layer
7510
- }, name, properties[name]);
 
 
 
 
7511
  }
7512
  }
7513
  };
7514
 
7515
- AdminSlideLayerManager.prototype.activeLayerPropertyChanged = function (e, name, value) {
7516
- if (typeof this['_formSet' + name] === 'function') {
7517
- this['_formSet' + name](value, e.target);
7518
  } else {
7519
- var field = this.toolboxForm[name].data('field');
7520
  if (typeof field !== 'undefined') {
7521
  field.insideChange(value);
7522
  }
7523
  }
7524
  };
7525
 
7526
- AdminSlideLayerManager.prototype._formSetname = function (value) {
7527
 
7528
  };
7529
 
7530
- AdminSlideLayerManager.prototype._formSetnameSynced = function (value) {
7531
 
7532
  };
7533
 
7534
- AdminSlideLayerManager.prototype._formSetdesktopPortrait = function (value, layer) {
7535
- this.toolboxForm.showFieldDesktopPortrait.data('field').insideChange(value);
7536
  };
7537
 
7538
- AdminSlideLayerManager.prototype._formSetdesktopLandscape = function (value, layer) {
7539
- this.toolboxForm.showFieldDesktopLandscape.data('field').insideChange(value);
7540
  };
7541
 
7542
- AdminSlideLayerManager.prototype._formSettabletPortrait = function (value, layer) {
7543
- this.toolboxForm.showFieldTabletPortrait.data('field').insideChange(value);
7544
  };
7545
 
7546
- AdminSlideLayerManager.prototype._formSettabletLandscape = function (value, layer) {
7547
- this.toolboxForm.showFieldTabletLandscape.data('field').insideChange(value);
7548
  };
7549
 
7550
- AdminSlideLayerManager.prototype._formSetmobilePortrait = function (value, layer) {
7551
- this.toolboxForm.showFieldMobilePortrait.data('field').insideChange(value);
7552
  };
7553
 
7554
- AdminSlideLayerManager.prototype._formSetmobileLandscape = function (value, layer) {
7555
- this.toolboxForm.showFieldMobileLandscape.data('field').insideChange(value);
7556
  };
7557
 
7558
- AdminSlideLayerManager.prototype.delete = function () {
7559
- if (typeof this.layerList[this.activeLayerIndex] !== 'undefined') {
7560
- this.layerList[this.activeLayerIndex].delete();
7561
- }
7562
- };
7563
 
7564
- AdminSlideLayerManager.prototype.duplicate = function () {
7565
- if (typeof this.layerList[this.activeLayerIndex] !== 'undefined') {
7566
- this.layerList[this.activeLayerIndex].duplicate(true, false);
 
 
 
 
 
 
 
 
 
 
 
 
 
7567
  }
7568
- };
7569
 
7570
- AdminSlideLayerManager.prototype.copy = function (copied) {
7571
- if (typeof copied === 'undefined') {
7572
- copied = this.getCopied();
7573
  }
7574
- var layers = nextend.smartSlider.layerManager.getActiveLayerData();
7575
- if (layers.length) {
7576
- copied.unshift({
7577
- name: layers[0].name,
7578
- layers: layers
7579
- });
7580
- while (copied.length > 5) {
7581
- copied.pop();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7582
  }
7583
- $.jStorage.set('copied', JSON.stringify(copied));
7584
  }
7585
  };
7586
 
7587
- AdminSlideLayerManager.prototype.paste = function (index, copied) {
7588
- if (typeof copied === 'undefined') {
7589
- copied = this.getCopied();
7590
- }
7591
- if (copied.length && typeof copied[index] !== 'undefined') {
7592
- nextend.smartSlider.layerManager.loadData(copied[index].layers, false);
 
 
7593
  }
7594
  };
7595
 
7596
- AdminSlideLayerManager.prototype.getCopied = function () {
7597
 
7598
- var copied = $.jStorage.get('copied');
7599
- if (copied === null) {
7600
- return [];
7601
- }
7602
- return JSON.parse(copied);
7603
  };
7604
 
7605
- AdminSlideLayerManager.prototype.addContextMenu = function () {
7606
- var that = this;
 
7607
 
7608
- $.contextMenu({
7609
- selector: '#n2-ss-0',
7610
- build: function ($triggerElement, e) {
7611
 
7612
- var items = {};
 
 
7613
 
7614
- if (typeof that.layerList[that.activeLayerIndex] !== 'undefined') {
7615
- items['delete'] = {name: "Delete layer", icon: "delete"};
7616
- items['duplicate'] = {name: "Duplicate layer", icon: "duplicate"};
7617
- items['copy'] = {name: "Copy layer", icon: "copy"};
7618
- }
7619
 
 
 
 
7620
 
7621
- var copied = that.getCopied();
7622
- if (copied.length == 1) {
7623
- items['paste'] = {
7624
- name: "Paste layer",
7625
- icon: "paste",
7626
- callback: $.proxy(that.paste, this, 0, copied)
7627
- }
7628
- } else if (copied.length > 1) {
7629
- var pasteItems = {};
7630
- for (var i = 0; i < copied.length; i++) {
7631
- pasteItems['paste' + i] = {
7632
- name: copied[i].name,
7633
- callback: $.proxy(that.paste, this, i, copied)
7634
- }
7635
- }
7636
- items['paste'] = {
7637
- name: "Paste layer",
7638
- icon: "paste",
7639
- items: pasteItems
7640
- }
7641
- }
7642
 
7643
- if ($.isEmptyObject(items)) {
7644
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
7645
  }
 
 
7646
 
7647
- return {
7648
- animation: {duration: 0, show: 'show', hide: 'hide'},
7649
- zIndex: 1000000,
7650
- callback: function (key, options) {
7651
- that[key]();
7652
- },
7653
- positionSubmenu: function ($menu) {
7654
- if ($.ui && $.ui.position) {
7655
- // .position() is provided as a jQuery UI utility
7656
- // (...and it won't work on hidden elements)
7657
- $menu.css('display', 'block').position({
7658
- my: 'left+2 top',
7659
- at: 'right top',
7660
- of: this,
7661
- collision: 'flipfit fit'
7662
- }).css('display', '');
 
 
 
 
 
 
 
7663
  } else {
7664
- // determine contextMenu position
7665
- var offset = {
7666
- top: 0,
7667
- left: this.outerWidth()
7668
- };
7669
- $menu.css(offset);
7670
  }
7671
- },
7672
- items: items
7673
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7674
  }
7675
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7676
  };
7677
 
7678
- AdminSlideLayerManager.prototype.history = function (method, value, other) {
7679
- switch (method) {
7680
- case 'changeZIndex':
7681
- this.zIndexList.splice(value[1], 0, this.zIndexList.splice(value[0], 1)[0]);
7682
- this.reIndexLayers();
7683
- break;
7684
- case 'fixActiveLayer':
7685
- var selectedLayer = this.getSelectedLayer();
7686
- if (selectedLayer == false || selectedLayer.isDeleted) {
7687
 
7688
- if (this.activeLayerIndex == -1 && this.layerList.length > 0) {
7689
- this.zIndexList[this.zIndexList.length - 1].activate();
7690
- }
7691
- }
7692
- break;
7693
  }
7694
  };
7695
 
7696
- scope.NextendSmartSliderAdminSlideLayerManager = AdminSlideLayerManager;
 
 
 
 
 
 
 
 
7697
 
7698
  })(nextend.smartSlider, n2, window);
46
  };
47
 
48
  window.nextend.pre = 'div#n2-ss-0 ';
49
+ window.nextend.smartSlider = new NextendSmartSliderAdminStorage();
50
  ;
51
  (function (smartSlider, $, scope) {
52
 
78
  scope.NextendBackgroundAnimationManager = NextendBackgroundAnimationManager;
79
 
80
  })(nextend.smartSlider, n2, window);
81
+
82
  ;
83
  (function ($, scope) {
84
 
204
 
205
  })
206
  (n2, window);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
 
 
 
 
208
  function strip_tags(input, allowed) {
209
  allowed = (((allowed || '') + '')
210
  .toLowerCase()
242
 
243
  return res;
244
  };
245
+ }
246
  (function ($, scope, undefined) {
247
 
248
  function NextendSmartSliderAdminInlineField() {
290
 
291
  scope.NextendSmartSliderAdminInlineField = NextendSmartSliderAdminInlineField;
292
 
293
+ })(n2, window);
294
+
295
+
296
 
 
297
 
 
298
  (function (smartSlider, $, scope, undefined) {
299
  "use strict";
300
 
344
  this.history.splice(this.index, this.history.length);
345
  }
346
  this.index = -1;
347
+ var currentTask = cb();
348
  if (!this.isBatched) {
349
+ this.history.push([currentTask]);
350
  this.isBatched = true;
351
  setTimeout($.proxy(function () {
352
  this.isBatched = false;
353
  }, this), 100);
354
  } else {
355
+ this.history[this.history.length - 1].push(currentTask);
356
  }
357
+
358
  if (this.history.length > this.historyStates) {
359
  this.history.unshift();
360
  }
361
  this.updateUI();
362
+ return currentTask;
363
  };
364
 
365
  NextendSmartSliderSlideEditorHistory.prototype.off = function () {
429
  if (this.history[i][j][0] === originalScope) {
430
  this.history[i][j][0] = newScope;
431
  }
432
+ for (var k = 2; k < this.history[i][j].length; k++) {
433
+ for (var l = 0; l < this.history[i][j][k].length; l++) {
434
+ if (this.history[i][j][k][l] === originalScope) {
435
+ this.history[i][j][k][l] = newScope;
436
+ }
437
  }
438
  }
439
  }
445
  });
446
 
447
  })(nextend.smartSlider, n2, window);
448
+
449
  (function ($, scope, undefined) {
450
 
451
  function QuickSlides(ajaxUrl) {
479
  close: true,
480
  content: '<form class="n2-form"><table></table></form>',
481
  controls: [
482
+ '<a href="#" class="n2-button n2-button-normal n2-button-l n2-radius-s n2-button-green n2-uc n2-h4">' + n2_('Save') + '</a>'
483
  ],
484
  fn: {
485
  show: function () {
603
  };
604
 
605
  scope.NextendSmartSliderQuickSlides = QuickSlides;
606
+ })(n2, window);
607
  (function ($, scope, undefined) {
608
 
609
+ function ruler(stored) {
610
+ this.showGuides = 1;
611
+ this.guides = [];
612
+ this.ratios = {
613
+ w: 1,
614
+ h: 1
615
+ };
616
+ this.container = $('<div class="n2-ruler-container" />').appendTo('#smartslider-adjust-height .n2-ss-slider-outer-container');
 
617
 
618
+ this.scale = 10;
619
 
620
+ this.vertical = $('<div class="n2-ruler n2-ruler-vertical unselectable"></div>').appendTo('.n2-ss-slider-real-container');
621
+ this.horizontal = $('<div class="n2-ruler n2-ruler-horizontal unselectable"></div>').appendTo(this.container);
 
 
622
 
623
+ this.verticalSpans = $();
624
+ this.horizontalSpans = $();
 
625
 
626
+ this.onResize();
627
+ nextend.smartSlider.frontend.sliderElement.on('SliderResize', $.proxy(this.onSliderResize, this))
628
+ $(window).on('resize', $.proxy(this.onResize, this));
 
629
 
 
630
 
631
+ this.positionDisplay = $('<div class="n2 n2-ss-position-display"/>')
632
+ .appendTo('body');
 
633
 
634
+ this.horizontal.on('mousedown', $.proxy(function (e) {
635
+ if (this.showGuides) {
636
+ new GuideHorizontal(this, this.horizontal, this.ratios.w, e);
637
+ }
638
+ }, this));
639
 
 
 
 
 
 
 
 
 
640
 
641
+ this.vertical.on('mousedown', $.proxy(function (e) {
642
+ if (this.showGuides) {
643
+ new GuideVertical(this, this.vertical, this.ratios.h, e);
644
+ }
645
+ }, this));
646
 
 
 
 
 
 
 
 
 
 
 
 
647
 
648
+ try {
649
+ stored = $.extend({vertical: [], horizontal: []}, JSON.parse(Base64.decode(stored)));
650
+ for (var i = 0; i < stored.horizontal.length; i++) {
651
+ var guide = new GuideHorizontal(this, this.horizontal, this.ratios.w);
652
+ guide.setPosition(stored.horizontal[i]);
653
+ }
654
+ for (var i = 0; i < stored.vertical.length; i++) {
655
+ var guide = new GuideVertical(this, this.vertical, this.ratios.h);
656
+ guide.setPosition(stored.vertical[i]);
657
+ }
658
+ } catch (e) {
659
+ }
660
+ nextend.ruler = this;
661
+ this.measureToolVertical();
662
+ this.measureToolHorizontal();
663
+ }
664
 
665
+ ruler.prototype.addGuide = function (guide) {
666
+ this.guides.push(guide);
667
+ }
668
 
669
+ ruler.prototype.removeGuide = function (guide) {
670
+ this.guides.splice($.inArray(guide, this.guides), 1);
671
+ }
672
 
673
+ ruler.prototype.clearGuides = function () {
674
+ for (var i = this.guides.length - 1; i >= 0; i--) {
675
+ this.guides[i].delete();
676
+ }
677
+ }
 
 
 
 
 
 
678
 
679
+ ruler.prototype.onSliderResize = function (e, ratios) {
680
+ this.ratios = ratios;
681
+ for (var i = 0; i < this.guides.length; i++) {
682
+ this.guides[i].setRatio(ratios.w, ratios.h);
683
+ }
684
+ this.onResize();
685
+ }
686
+
687
+ ruler.prototype.onResize = function () {
688
+ var dimensions = nextend.smartSlider.frontend.responsive.responsiveDimensions,
689
+ width = Math.max(dimensions.slider.width, $('#n2-tab-smartslider-editor').outerWidth(true) - 40),
690
+ height = Math.max(dimensions.slider.height, $('#n2-tab-smartslider-editor').outerHeight(true));
691
+
692
+
693
+ this.container.css({
694
+ width: width + 40,
695
+ height: height + 40
696
+ });
697
+
698
+ for (var i = this.horizontalSpans.length - 3; i < width / this.scale; i++) {
699
+ var mark = $('<span />').appendTo(this.horizontal);
700
+ if (i % 10 == 0) {
701
+ mark.addClass('n2-ss-ruler-mark-large').append('<span>' + ((i / 10) * 100) + '</span>');
702
+ } else if (i % 2 == 0) {
703
+ mark.addClass('n2-ss-ruler-mark-medium');
704
+ }
705
+ this.horizontalSpans = this.horizontalSpans.add(mark);
706
+ }
707
+
708
+ for (var i = this.verticalSpans.length - 3; i < height / this.scale; i++) {
709
+ var mark = $('<span />').appendTo(this.vertical);
710
+ if (i % 10 == 0) {
711
+ mark.addClass('n2-ss-ruler-mark-large').append('<span>' + ((i / 10) * 100) + '</span>');
712
+ } else if (i % 2 == 0) {
713
+ mark.addClass('n2-ss-ruler-mark-medium');
714
+ }
715
+ this.verticalSpans = this.verticalSpans.add(mark);
716
+ }
717
+ }
718
+
719
+ ruler.prototype.toArray = function () {
720
+ var data = {
721
+ horizontal: [],
722
+ vertical: []
723
+ };
724
+ for (var i = 0; i < this.guides.length; i++) {
725
+ if (this.guides[i] instanceof GuideHorizontal) {
726
+ data.horizontal.push(this.guides[i].position);
727
+ } else if (this.guides[i] instanceof GuideVertical) {
728
+ data.vertical.push(this.guides[i].position);
729
+ }
730
+ }
731
+ return data;
732
+ }
733
+
734
+ ruler.prototype.measureToolVertical = function () {
735
+ var guide = $('<div class="n2-ruler-guide" style="z-index:1;"><div class="n2-ruler-guide-border" style="border-color: #f00;"></div></div>')
736
+ .css('display', 'none')
737
+ .appendTo(this.vertical);
738
+
739
+ var guideVisible = false,
740
+ showGuide = $.proxy(function () {
741
+ if (!guideVisible) {
742
+ guideVisible = true;
743
+ guide.css('display', '');
744
+ this.positionDisplay.addClass('n2-active');
745
+ }
746
+ }, this),
747
+ hideGuide = $.proxy(function () {
748
+ if (guideVisible) {
749
+ guideVisible = false;
750
+ guide.css('display', 'none');
751
+ this.positionDisplay.removeClass('n2-active');
752
+ }
753
+ }, this);
754
+ this.vertical.on({
755
+ mouseenter: $.proxy(function (e) {
756
+ if (!this.showGuides) return;
757
+ var lastY = 0,
758
+ offset = Math.round(this.vertical.offset().top);
759
+ showGuide();
760
+
761
+ this.vertical.on('mousemove.n2-ruler-measure-tool', $.proxy(function (e) {
762
+ if ($(e.target).hasClass('n2-ruler-guide-border') && $(e.target).parent()[0] != guide[0]) {
763
+ hideGuide();
764
+ } else {
765
+ showGuide();
766
+ if (lastY != e.pageY) {
767
+ var pos = e.pageY - offset;
768
+ guide.css('top', pos);
769
+ this.positionDisplay.html((pos - 40) + 'px').css({
770
+ left: e.pageX + 10,
771
+ top: e.pageY + 10
772
+ });
773
+ lastY = e.pageY;
774
+ }
775
+ }
776
+ }, this));
777
+ }, this),
778
+ mouseleave: $.proxy(function () {
779
+ this.vertical.off('.n2-ruler-measure-tool');
780
+ hideGuide();
781
+ }, this)
782
+ });
783
+ }
784
+
785
+ ruler.prototype.measureToolHorizontal = function () {
786
+ var guide = $('<div class="n2-ruler-guide" style="z-index:1;"><div class="n2-ruler-guide-border" style="border-color: #f00;"></div></div>')
787
+ .css('display', 'none')
788
+ .appendTo(this.horizontal);
789
+
790
+ var guideVisible = false,
791
+ showGuide = $.proxy(function () {
792
+ if (!guideVisible) {
793
+ guideVisible = true;
794
+ guide.css('display', '');
795
+ this.positionDisplay.addClass('n2-active');
796
+ }
797
+ }, this),
798
+ hideGuide = $.proxy(function () {
799
+ if (guideVisible) {
800
+ guideVisible = false;
801
+ guide.css('display', 'none');
802
+ this.positionDisplay.removeClass('n2-active');
803
+ }
804
+ }, this);
805
+
806
+ this.horizontal.on({
807
+ mouseenter: $.proxy(function (e) {
808
+ if (!this.showGuides) return;
809
+ var lastX = 0,
810
+ offset = Math.round(this.horizontal.offset().left);
811
+ showGuide();
812
+
813
+ this.horizontal.on('mousemove.n2-ruler-measure-tool', $.proxy(function (e) {
814
+ if ($(e.target).hasClass('n2-ruler-guide-border') && $(e.target).parent()[0] != guide[0]) {
815
+ hideGuide();
816
+ } else {
817
+ showGuide();
818
+ if (lastX != e.pageX) {
819
+ var pos = Math.max(e.pageX - offset, 40);
820
+ guide.css('left', pos);
821
+ this.positionDisplay.html((pos - 40) + 'px').css({
822
+ left: e.pageX + 10,
823
+ top: e.pageY + 10
824
+ });
825
+ lastX = e.pageX;
826
+ }
827
+ }
828
+ }, this));
829
+ }, this),
830
+ mouseleave: $.proxy(function () {
831
+ this.horizontal.off('.n2-ruler-measure-tool');
832
+ hideGuide();
833
+ }, this)
834
+ });
835
+ }
836
+
837
+ scope.NextendSmartSliderRuler = ruler;
838
+
839
+ function Guide(ruler, container, ratio, e) {
840
+ this.ruler = ruler;
841
+ this.container = container;
842
+ this.position = 0;
843
+ this.ratio = ratio;
844
+
845
+ this.guide = $('<div class="n2-ruler-guide"><div class="n2-ruler-guide-border"></div><div class="n2-ruler-guide-handle"></div></div>')
846
+ .appendTo(container)
847
+ .on('mousedown', $.proxy(function (e) {
848
+ e.preventDefault();
849
+ e.stopPropagation();
850
+ if (!nextend.smartSlider.layerManager.settings['n2-ss-lock-guides']) {
851
+ this.delete();
852
+ }
853
+ }, this));
854
+
855
+ this.ruler.addGuide(this);
856
+
857
+ if (e) {
858
+ this.create(e);
859
+ }
860
+
861
+ }
862
+
863
+ Guide.prototype._position = function (position, e) {
864
+ return Math.max(0, position);
865
+ }
866
+
867
+ Guide.prototype.setPosition = function (position) {
868
+ this.position = position;
869
+ this.refresh();
870
+ }
871
+
872
+ Guide.prototype.refresh = function () {
873
+ this.positionRender(this.position);
874
+ }
875
+
876
+ Guide.prototype.delete = function () {
877
+ this.ruler.removeGuide(this);
878
+ this.guide.remove();
879
+ }
880
+
881
+ function GuideHorizontal() {
882
+ Guide.prototype.constructor.apply(this, arguments);
883
+ }
884
+
885
+ GuideHorizontal.prototype = Object.create(Guide.prototype);
886
+ GuideHorizontal.prototype.constructor = GuideHorizontal;
887
+
888
+
889
+ GuideHorizontal.prototype.create = function (e) {
890
+
891
+ var offset = Math.round(this.container.offset().left) + 40;
892
+
893
+ this.position = this._position((e.pageX - offset) / this.ratio, e);
894
+ this.positionRender(this.position);
895
+ }
896
+
897
+ GuideHorizontal.prototype.rawPositionRender = function (value) {
898
+ this.guide.css('left', Math.max(0, value) + 40);
899
+ }
900
+
901
+ GuideHorizontal.prototype.positionRender = function (value) {
902
+ this.guide.css('left', Math.max(0, value) * this.ratio + 40);
903
+ }
904
+
905
+ GuideHorizontal.prototype.setRatio = function (w, h) {
906
+ this.ratio = h;
907
+ this.refresh();
908
+ }
909
+
910
+ function GuideVertical() {
911
+ Guide.prototype.constructor.apply(this, arguments);
912
+ }
913
+
914
+ GuideVertical.prototype = Object.create(Guide.prototype);
915
+ GuideVertical.prototype.constructor = GuideVertical;
916
+
917
+ GuideVertical.prototype.create = function (e) {
918
+
919
+ var offset = Math.round(this.container.offset().top) + 40;
920
+ this.position = this._position((e.pageY - offset) / this.ratio, e);
921
+ this.positionRender(this.position);
922
+ }
923
+
924
+ GuideVertical.prototype.rawPositionRender = function (value) {
925
+ this.guide.css('top', Math.max(0, value) + 40);
926
+ }
927
+
928
+ GuideVertical.prototype.positionRender = function (value) {
929
+ this.guide.css('top', Math.max(0, value) * this.ratio + 40);
930
+ }
931
+
932
+ GuideVertical.prototype.setRatio = function (w, h) {
933
+ this.ratio = w;
934
+ this.refresh();
935
+ }
936
+
937
+
938
+ })(n2, window);
939
+ (function ($, scope, undefined) {
940
+
941
+ function NextendSmartSliderAdminSidebarSlides(ajaxUrl, contentAjaxUrl, parameters, isUploadDisabled, uploadUrl, uploadDir) {
942
+ this.quickPostModal = null;
943
+ this.quickVideoModal = null;
944
+ this.parameters = parameters;
945
+ this.slides = [];
946
+ this.ajaxUrl = ajaxUrl;
947
+ this.contentAjaxUrl = contentAjaxUrl;
948
+ this.slidesPanel = $('#n2-ss-slides-container');
949
+ this.slidesContainer = this.slidesPanel.find('.n2-ss-slides-container');
950
+
951
+ this.initMenu();
952
+
953
+ this.initSlidesOrderable();
954
+
955
+ var slides = this.slidesContainer.find('.n2-box-slide');
956
+ for (var i = 0; i < slides.length; i++) {
957
+ this.slides.push(new NextendSmartSliderAdminSlide(this, slides.eq(i)));
958
+ }
959
+
960
+ $('html').attr('data-slides', this.slides.length);
961
+
962
+ $('.n2-add-quick-image, .n2-box-slide-dummy').on('click', $.proxy(this.addQuickImage, this));
963
+ $('.n2-add-quick-video').on('click', $.proxy(this.addQuickVideo, this));
964
+ $('.n2-add-quick-post').on('click', $.proxy(this.addQuickPost, this));
965
+
966
+ this.initBulk();
967
+
968
+
969
+ if (!isUploadDisabled) {
970
+ var images = [];
971
+ this.slidesContainer.fileupload({
972
+ url: uploadUrl,
973
+ pasteZone: false,
974
+ dataType: 'json',
975
+ paramName: 'image',
976
+ dropZone: typeof nextend.smartSlider == 'undefined' ? $(document) : $('.n2-ss-slides-outer-container'),
977
+
978
+ add: $.proxy(function (e, data) {
979
+ data.formData = {path: '/' + uploadDir};
980
+ data.submit();
981
+ }, this),
982
+
983
+ done: $.proxy(function (e, data) {
984
+ var response = data.result;
985
+ if (response.data && response.data.name) {
986
+ images.push({
987
+ title: response.data.name,
988
+ description: '',
989
+ image: response.data.url
990
+ });
991
+ } else {
992
+ NextendAjaxHelper.notification(response);
993
+ }
994
+
995
+ }, this),
996
+
997
+ fail: $.proxy(function (e, data) {
998
+ NextendAjaxHelper.notification(data.jqXHR.responseJSON);
999
+ }, this),
1000
+
1001
+ start: function () {
1002
+ NextendAjaxHelper.startLoading();
1003
+ },
1004
+
1005
+ stop: $.proxy(function () {
1006
+ if (images.length) {
1007
+ this._addQuickImages(images);
1008
+ } else {
1009
+ setTimeout(function () {
1010
+ NextendAjaxHelper.stopLoading();
1011
+ }, 100);
1012
+ }
1013
+ images = [];
1014
+ }, this)
1015
+ });
1016
+
1017
+ var timeout = null;
1018
  this.slidesContainer.on('dragover', $.proxy(function (e) {
1019
  if (timeout !== null) {
1020
  clearTimeout(timeout);
1032
  };
1033
 
1034
  NextendSmartSliderAdminSidebarSlides.prototype.changed = function () {
1035
+
 
 
 
 
1036
  };
1037
 
1038
  NextendSmartSliderAdminSidebarSlides.prototype.initSlidesOrderable = function () {
1039
  this.slidesContainer.sortable({
1040
+ helper: 'clone',
1041
+ forcePlaceholderSize: false,
1042
+ tolerance: "pointer",
1043
  items: ".n2-box-slide",
1044
+ start: function (event, ui) {
1045
+ ui.item.show();
1046
+ },
1047
  stop: $.proxy(this.saveSlideOrder, this),
1048
+ placeholder: 'n2-box-sortable-placeholder n2-box-sortable-placeholder-small',
1049
+ distance: 10
1050
  });
1051
  };
1052
 
1093
  this.slides = slides;
1094
  this.changed();
1095
  $(window).triggerHandler('SmartSliderSidebarSlidesChanged');
1096
+
1097
+ $('html').attr('data-slides', this.slides.length);
1098
  };
1099
 
1100
  NextendSmartSliderAdminSidebarSlides.prototype.unsetFirst = function () {
1109
  nextend.imageHelper.openMultipleLightbox($.proxy(this._addQuickImages, this));
1110
  };
1111
 
1112
+ NextendSmartSliderAdminSidebarSlides.prototype.addBoxes = function (boxes) {
1113
+
1114
+ boxes.insertBefore(this.slidesContainer.find('.n2-clear'));
1115
+ boxes.addClass('n2-ss-box-just-added').each($.proxy(function (i, el) {
1116
+ new NextendSmartSliderAdminSlide(this, $(el));
1117
+ }, this));
1118
+ this.initSlides();
1119
+ setTimeout(function () {
1120
+ boxes.removeClass('n2-ss-box-just-added');
1121
+ }, 200);
1122
+ }
1123
+
1124
  NextendSmartSliderAdminSidebarSlides.prototype._addQuickImages = function (images) {
1125
  NextendAjaxHelper.ajax({
1126
  type: 'POST',
1131
  images: Base64.encode(JSON.stringify(images))
1132
  }
1133
  }).done($.proxy(function (response) {
1134
+ this.addBoxes($(response.data));
 
 
 
 
1135
  }, this));
1136
  };
1137
 
1149
  back: false,
1150
  close: true,
1151
  content: '<form class="n2-form"></form>',
1152
+ controls: ['<a href="#" class="n2-button n2-button-normal n2-button-l n2-radius-s n2-button-green n2-uc n2-h4">' + n2_('Add video') + '</a>'],
1153
  fn: {
1154
  show: function () {
1155
  var button = this.controls.find('.n2-button'),
1228
  video: Base64.encode(JSON.stringify(video))
1229
  }
1230
  }).done($.proxy(function (response) {
1231
+ this.addBoxes($(response.data));
 
1232
 
1233
  this.initSlides();
1234
  }, this));
1274
  searchString = '';
1275
 
1276
  search.on('keyup', $.proxy(function () {
1277
+ searchString = search.val();
1278
+ getContent(searchString).done($.proxy(function (r) {
1279
+ if (search.val() == searchString) {
1280
+ if (searchString == '') {
1281
+ heading.html(n2_('No search term specified. Showing recent items.'));
1282
+ } else {
1283
+ heading.html(n2_printf(n2_('Showing items match for "%s"'), searchString));
 
 
 
 
 
 
 
 
 
 
 
 
 
1284
  }
1285
+
1286
+ var rows = r.data,
1287
+ data = [],
1288
+ modal = this;
1289
+ for (var i = 0; i < rows.length; i++) {
1290
+ data.push([rows[i].title, rows[i].info, $('<div class="n2-button n2-button-normal n2-button-xs n2-button-green n2-radius-s n2-uc n2-h5">' + n2_('Select') + '</div>')
1291
+ .on('click', {post: rows[i]}, function (e) {
1292
+ manager._addQuickPost(modal, e.data.post);
1293
+ })]);
1294
+ }
1295
+ result.html('');
1296
+ this.createTable(data, ['width:100%;', '', '']).appendTo(this.createTableWrap().appendTo(result));
1297
+ }
1298
+ }, this));
1299
+ }, this))
1300
  .trigger('keyup').focus();
1301
  }
1302
  }
1319
  post: post
1320
  }
1321
  }).done($.proxy(function (response) {
1322
+ this.addBoxes($(response.data));
 
1323
 
1324
  this.initSlides();
1325
  }, this));
1327
  };
1328
 
1329
  NextendSmartSliderAdminSidebarSlides.prototype.initBulk = function () {
 
 
1330
 
1331
+ this.selection = [];
1332
 
1333
+ this.isBulkSelection = false;
1334
+
1335
+ var selects = $('.n2-bulk-select').find('a');
 
 
 
 
1336
 
1337
  //Select all
1338
+ selects.eq(0).on('click', $.proxy(function (e) {
1339
  e.preventDefault();
1340
  this.bulkSelect(function (slide) {
1341
  slide.select();
1343
  }, this));
1344
 
1345
  //Select none
1346
+ selects.eq(1).on('click', $.proxy(function (e) {
1347
  e.preventDefault();
1348
  this.bulkSelect(function (slide) {
1349
  slide.deSelect();
1351
  }, this));
1352
 
1353
  //Select published
1354
+ selects.eq(2).on('click', $.proxy(function (e) {
1355
  e.preventDefault();
1356
  this.bulkSelect(function (slide) {
1357
+ if (slide.box.hasClass('n2-slide-state-published')) {
1358
  slide.select();
1359
  } else {
1360
  slide.deSelect();
1363
  }, this));
1364
 
1365
  //Select unpublished
1366
+ selects.eq(3).on('click', $.proxy(function (e) {
1367
  e.preventDefault();
1368
  this.bulkSelect(function (slide) {
1369
+ if (slide.box.hasClass('n2-slide-state-published')) {
1370
  slide.deSelect();
1371
  } else {
1372
  slide.select();
1374
  });
1375
  }, this));
1376
 
1377
+ var actions = $('.n2-bulk-actions').find('a');
1378
 
1379
  //Delete
1380
  actions.eq(0).on('click', $.proxy(function (e) {
1401
  }, this));
1402
  };
1403
 
1404
+ NextendSmartSliderAdminSidebarSlides.prototype.addSelection = function (slide) {
1405
+ if (this.selection.length == 0) {
1406
+ this.enterBulk();
1407
+ }
1408
+ this.selection.push(slide);
1409
+ }
1410
+
1411
+ NextendSmartSliderAdminSidebarSlides.prototype.removeSelection = function (slide) {
1412
+ this.selection.splice($.inArray(slide, this.selection), 1);
1413
+ if (this.selection.length == 0) {
1414
+ this.leaveBulk();
1415
+ }
1416
+ }
1417
+
1418
  NextendSmartSliderAdminSidebarSlides.prototype.bulkSelect = function (cb) {
1419
  for (var i = 0; i < this.slides.length; i++) {
1420
  cb(this.slides[i]);
1438
  };
1439
 
1440
  NextendSmartSliderAdminSidebarSlides.prototype.enterBulk = function () {
1441
+ if (!this.isBulkSelection) {
1442
+ this.isBulkSelection = true;
1443
+ this.slidesContainer.sortable('option', 'disabled', true);
1444
+ $('#n2-admin').addClass('n2-ss-has-box-selection');
 
1445
  }
1446
  };
1447
 
1448
  NextendSmartSliderAdminSidebarSlides.prototype.leaveBulk = function () {
1449
+ if (this.isBulkSelection) {
1450
+ this.slidesContainer.sortable('option', 'disabled', false);
1451
+ $('#n2-admin').removeClass('n2-ss-has-box-selection');
1452
 
1453
+ for (var i = 0; i < this.slides.length; i++) {
1454
+ this.slides[i].deSelect();
1455
+ }
1456
+ this.selection = [];
1457
+ this.isBulkSelection = false;
1458
  }
1459
  };
1460
 
1461
  NextendSmartSliderAdminSidebarSlides.prototype.deleteSlides = function (ids, slides) {
1462
+ this.hideMenu();
1463
+ var title = slides[0].box.find('.n2-box-placeholder-title a').text();
1464
  if (slides.length > 1) {
1465
  title += ' and ' + (slides.length - 1) + ' more';
1466
  }
1478
  slides[i].deleted();
1479
  }
1480
  this.initSlides();
1481
+ this.leaveBulk();
1482
  }, this));
1483
  }, this));
1484
  };
1487
  for (var i = 0; i < this.slides.length; i++) {
1488
  if (this.slides[i].selected) {
1489
  this.slides[i].duplicate($.Event("click", {
1490
+ currentTarget: null
1491
+ }));
 
 
1492
  }
1493
  }
1494
  };
1526
  this.changed();
1527
  }, this));
1528
  };
1529
+
1530
+ NextendSmartSliderAdminSidebarSlides.prototype.initMenu = function () {
1531
+ this.slide = null;
1532
+ this.menu = $('#n2-ss-slide-menu').detach().addClass('n2-inited');
1533
+
1534
+ this.menuActions = {
1535
+ publish: this.menu.find('.n2-ss-publish').on('click', $.proxy(function (e) {
1536
+ this.slide.switchPublished(e);
1537
+ }, this)),
1538
+ unpublish: this.menu.find('.n2-ss-unpublish').on('click', $.proxy(function (e) {
1539
+ this.slide.switchPublished(e);
1540
+ }, this)),
1541
+ generator: this.menu.find('.n2-ss-generator').on('click', $.proxy(function (e) {
1542
+ e.preventDefault();
1543
+ e.stopPropagation();
1544
+ window.location = this.slide.box.data('generator');
1545
+ }, this)),
1546
+ duplicate: this.menu.find('.n2-ss-duplicate').on('click', $.proxy(function (e) {
1547
+ this.slide.duplicate(e);
1548
+ }, this)),
1549
+ 'delete': this.menu.find('.n2-ss-delete').on('click', $.proxy(function (e) {
1550
+ this.slide.delete(e);
1551
+ }, this)),
1552
+ setFirst: this.menu.find('.n2-ss-setFirst').on('click', $.proxy(function (e) {
1553
+ this.slide.setFirst(e);
1554
+ }, this)),
1555
+ saveLayout: this.menu.find('.n2-ss-saveLayout')
1556
+ }
1557
+
1558
+ this.menu.find('.n2-button').on('click', $.proxy(function (e) {
1559
+ e.preventDefault();
1560
+ e.stopPropagation();
1561
+ if (this.menu.hasClass('n2-active')) {
1562
+ this.menu.removeClass('n2-active').off('mouseleave');
1563
+ } else {
1564
+ this.menu.addClass('n2-active').on('mouseleave', function () {
1565
+ $(this).removeClass('n2-active');
1566
+ });
1567
+ }
1568
+ }, this));
1569
+ }
1570
+
1571
+
1572
+ NextendSmartSliderAdminSidebarSlides.prototype.showMenu = function (slide) {
1573
+ this.slide = slide;
1574
+ this.menu.appendTo(slide.box);
1575
+ }
1576
+
1577
+ NextendSmartSliderAdminSidebarSlides.prototype.hideMenu = function () {
1578
+ this.menu.detach();
1579
+ }
1580
+
1581
  scope.NextendSmartSliderAdminSidebarSlides = NextendSmartSliderAdminSidebarSlides;
1582
 
1583
  function NextendSmartSliderAdminSlide(manager, box) {
1586
 
1587
  this.box = box.data('slide', this)
1588
  .addClass('n2-clickable');
1589
+
1590
+ this.box
1591
+ .on('mouseenter', $.proxy(function () {
1592
+ this.manager.showMenu(this);
1593
+ }, this))
1594
+ .on('mouseleave', $.proxy(function () {
1595
+ this.manager.hideMenu();
1596
+ }, this))
1597
+ .on('click.n2-slide', $.proxy(this.goToEdit, this));
1598
+
1599
  this.publishElement = this.box.find('.n2-slide-published')
1600
  .on('click', $.proxy(this.switchPublished, this));
1601
+
1602
+ this.box.find('.n2-ss-box-select').on('click', $.proxy(function (e) {
1603
+ e.stopPropagation();
1604
+ e.preventDefault();
1605
+
1606
+ this.invertSelection();
1607
+ }, this));
1608
  };
1609
 
1610
  NextendSmartSliderAdminSlide.prototype.getId = function () {
1623
  }
1624
  }).done($.proxy(function () {
1625
  this.manager.unsetFirst();
1626
+ this.box.addClass('n2-slide-state-first');
1627
  }, this));
1628
  };
1629
  NextendSmartSliderAdminSlide.prototype.unsetFirst = function () {
1630
+ this.box.removeClass('n2-slide-state-first');
1631
  };
1632
 
1633
  NextendSmartSliderAdminSlide.prototype.switchPublished = function (e) {
1641
  };
1642
 
1643
  NextendSmartSliderAdminSlide.prototype.isPublished = function () {
1644
+ return this.box.hasClass('n2-slide-state-published');
1645
  };
1646
 
1647
  NextendSmartSliderAdminSlide.prototype.published = function () {
1648
+ this.box.addClass('n2-slide-state-published');
1649
  };
1650
 
1651
  NextendSmartSliderAdminSlide.prototype.unPublished = function () {
1652
+ this.box.removeClass('n2-slide-state-published');
1653
  };
1654
 
1655
  NextendSmartSliderAdminSlide.prototype.goToEdit = function (e, isBlank) {
1656
+ var editUrl = this.box.data('editurl');
1657
+ if (typeof isBlank !== 'undefined' && isBlank) {
1658
+ window.open(editUrl, '_blank');
1659
+ } else if (editUrl == location.href) {
1660
+ n2("#n2-admin").toggleClass("n2-ss-slides-outer-container-visible");
1661
+ } else {
1662
+ window.location = editUrl;
1663
  }
1664
  };
1665
 
1668
  e.preventDefault();
1669
  var deferred = $.Deferred();
1670
  NextendAjaxHelper.ajax({
1671
+ url: NextendAjaxHelper.makeAjaxUrl(this.box.data('editurl'), {
1672
  nextendaction: 'duplicate'
1673
  })
1674
  }).done($.proxy(function (response) {
1689
  this.box.remove();
1690
  };
1691
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1692
  NextendSmartSliderAdminSlide.prototype.invertSelection = function (e) {
1693
  if (e) {
1694
  e.preventDefault();
1702
  };
1703
 
1704
  NextendSmartSliderAdminSlide.prototype.select = function () {
1705
+ if (!this.selected) {
1706
+ this.selected = true;
1707
+ this.box.addClass('n2-selected');
1708
+ this.manager.addSelection(this);
1709
+ }
1710
  };
1711
 
1712
  NextendSmartSliderAdminSlide.prototype.deSelect = function () {
1713
+ if (this.selected) {
1714
+ this.selected = false;
1715
+ this.box.removeClass('n2-selected');
1716
+ this.manager.removeSelection(this);
1717
+ }
1718
  };
1719
 
1720
  scope.NextendSmartSliderAdminSlide = NextendSmartSliderAdminSlide;
1721
+
1722
+
1723
+ })(n2, window);
1724
  (function (smartSlider, $, scope, undefined) {
1725
 
1726
+ var menuHideTimeout = false;
1727
+
1728
+ function NextendSmartSliderSidebar(layerManager) {
1729
+
1730
+ this.detachedPosition = {
1731
+ left: $.jStorage.get('ssPanelLeft') || 100,
1732
+ top: $.jStorage.get('ssPanelTop') || 100,
1733
+ height: $.jStorage.get('ssPanelHeight') || 400
1734
+ }
1735
+
1736
+ this.autoPosition = $.jStorage.get('ssPanelAutoPosition', 1);
1737
+
1738
+ this.lastHeight = this.detachedPosition.height;
1739
 
1740
+ this.admin = $('#n2-admin');
1741
+ this.sidebar = $('#n2-ss-slide-sidebar').on('mousedown', $.proxy(nextend.context.setMouseDownArea, nextend.context, 'sidebarClicked'));
1742
+ this.title = this.sidebar.find('.n2-panel-titlebar-title');
1743
+ this.sidebarTD = this.sidebar.parent();
1744
+
1745
+ this.layerManager = layerManager;
1746
  smartSlider.sidebarManager = this;
1747
 
1748
+ this.editorPanel = $('.n2-ss-editor-panel');
1749
 
1750
+ this.views = {
1751
+ layerEdit: $('#n2-ss-layer-edit')
1752
+ };
1753
 
1754
+ this.viewPanes = {
1755
+ layerEdit: $('#n2-tabbed-slide-editor-settings > .n2-tabs').addClass('n2-scrollable')
1756
+ };
1757
 
1758
+ for (var k in this.viewPanes) {
1759
+ this.viewPanes[k].on('DOMMouseScroll mousewheel', function (e) {
1760
+ var up = false;
1761
+ if (e.originalEvent) {
1762
+ if (e.originalEvent.wheelDelta) up = e.originalEvent.wheelDelta / -1 < 0;
1763
+ if (e.originalEvent.deltaY) up = e.originalEvent.deltaY < 0;
1764
+ if (e.originalEvent.detail) up = e.originalEvent.detail < 0;
1765
+ }
1766
 
1767
+ var prevent = function () {
1768
+ e.stopPropagation();
1769
+ e.preventDefault();
1770
+ e.returnValue = false;
1771
+ return false;
1772
+ }
 
1773
 
1774
+ if (!up && this.scrollHeight <= $(this).innerHeight() + this.scrollTop + 1) {
1775
+ return prevent();
1776
+ } else if (up && 0 >= this.scrollTop - 1) {
1777
+ return prevent();
1778
+ }
1779
+ });
1780
+ }
1781
 
1782
+ this.panelHeading = $('#n2-tabbed-slide-editor-settings').find('.n2-sidebar-tab-switcher .n2-td');
1783
+
1784
+
1785
+ var right = this.sidebar.find('.n2-panel-titlebar-nav-right');
1786
+
1787
+ this.magnet = $('<a href="#"><i class="n2-i n2-i-magnet n2-i-grey-opacity" data-n2tip="Auto position layer window"></i></a>').on('click', $.proxy(function (e) {
1788
+ e.preventDefault();
1789
+ this.magnetize();
1790
+ }, this)).css('display', 'none').appendTo(right);
1791
+ $('<a href="#"><i class="n2-i n2-i-closewindow n2-i-grey-opacity"></i></a>').on('click', $.proxy(function (e) {
1792
+ e.preventDefault();
1793
+ this.hide();
1794
+ }, this)).appendTo(right);
1795
+
1796
+ nextend.tooltip.add(right);
1797
+
1798
+
1799
+ var $verticalBar = $('#n2-ss-slide-vertical-bar');
1800
+ $('.n2-ss-add-layer-button').on('click', function (e) {
1801
+ e.preventDefault();
1802
+ $verticalBar.toggleClass('n2-active');
1803
+ })
1804
+
1805
+ $('.n2-ss-core-item').on('click', function (e) {
1806
+ $verticalBar.removeClass('n2-active');
1807
+ });
1808
+
1809
+ var topOffset = $('#wpadminbar, .navbar-fixed-top').height() + $('.n2-top-bar').height();
1810
+ this.$verticalBarInner = $('.n2-ss-slide-vertical-bar-inner').each(function () {
1811
+ var bar = $(this);
1812
+ bar.fixTo(bar.parent(), {
1813
+ top: topOffset
1814
+ });
1815
+ });
1816
+
1817
+ this.$resizeInnerContainer = $('#n2-ss-layers-switcher_0, #n2-ss-layers-switcher_1');
1818
+ this.extraHeightToRemove = 60;
1819
+ if (!this.$resizeInnerContainer.length) {
1820
+ this.extraHeightToRemove = 0;
1821
+ this.$resizeInnerContainer = this.$verticalBarInner;
1822
+ }
1823
 
1824
+ this.$resizeInnerContainer.css('overflow', 'auto');
 
1825
 
1826
+ this.detach();
1827
 
1828
+ $('#n2-admin').on('resize', $.proxy(this.resizeVerticalBar, this))
1829
+
1830
+ $(window).on('resize', $.proxy(this.onResize, this));
1831
 
 
1832
  };
1833
 
1834
+ NextendSmartSliderSidebar.prototype.magnetize = function () {
1835
+ if (!this.autoPosition) {
1836
+
1837
+ this.autoPosition = 1;
1838
+ $.jStorage.set('ssPanelAutoPosition', 1);
1839
+
1840
+ this.magnet.css('display', 'none');
1841
+
1842
+ var activeLayer = this.layerManager.getSelectedLayer();
1843
+ if (activeLayer) {
1844
+ activeLayer.positionSidebar();
1845
+ }
1846
+ }
1847
+ }
1848
+
1849
+ NextendSmartSliderSidebar.prototype.show = function (layer, of) {
1850
+
1851
+ this.setTitle(layer.property.name);
1852
+
1853
+ $('body').addClass('n2-ss-layer-edit-visible');
1854
+
1855
+ if (this.autoPosition) {
1856
+ this.sidebar.position({
1857
+ my: 'left top',
1858
+ at: 'right+10 top',
1859
+ collision: "flipfit",
1860
+ of: of.is(':visible') ? of : '#n2-ss-layer-list'
1861
+ });
1862
+ }
1863
+ }
1864
+
1865
+ NextendSmartSliderSidebar.prototype._show = function () {
1866
+ $('body').addClass('n2-ss-layer-edit-visible');
1867
+ }
1868
+
1869
+ NextendSmartSliderSidebar.prototype.hide = function () {
1870
+ $('body').removeClass('n2-ss-layer-edit-visible');
1871
+ }
1872
+
1873
+ NextendSmartSliderSidebar.prototype.hideWithDeferred = function (deferred) {
1874
+ if ($('body').hasClass('n2-ss-layer-edit-visible')) {
1875
+ this.hide();
1876
+ deferred.done($.proxy(this._show, this));
1877
+ }
1878
+ }
1879
+
1880
+ NextendSmartSliderSidebar.prototype.setTitle = function (title) {
1881
+ this.title.html(title);
1882
+ }
1883
+
1884
+ NextendSmartSliderSidebar.prototype.getLayerEditExcludedHeight = function () {
1885
+ return 85;
1886
  };
1887
 
1888
+ NextendSmartSliderSidebar.prototype.resizeVerticalBar = function () {
1889
+ this.$resizeInnerContainer.height((window.innerHeight || document.documentElement.clientHeight) - ($('#n2-ss-layers').is(':visible') && $('#n2-ss-layers').hasClass('n2-active') ? $('#n2-ss-layers').height() : 0) - $('#wpadminbar, .navbar-fixed-top').height() - $('.n2-top-bar').height() - this.extraHeightToRemove);
1890
+ }
1891
+
1892
+ NextendSmartSliderSidebar.prototype.onResize = function () {
1893
+ this.sidebar.css('display', 'block');
1894
+ this.resizeVerticalBar();
1895
+
1896
+ var windowHeight = (window.innerHeight || document.documentElement.clientHeight);
1897
+
1898
+ var targetHeight = this.sidebar.height() - this.getLayerEditExcludedHeight();
1899
+
1900
+ this.viewPanes['layerEdit'].height(targetHeight);
1901
+
1902
+ var properties = {},
1903
+ windowWidth = (window.innerWidth || document.documentElement.clientWidth);
1904
+ var bounding = this.sidebar[0].getBoundingClientRect();
1905
+
1906
+ if (bounding.left < 0) {
1907
+ properties.left = 0;
1908
+ } else if (bounding.left + bounding.width > windowWidth) {
1909
+ properties.left = Math.max(0, windowWidth - bounding.width);
1910
+ }
1911
+
1912
+ if (bounding.height > windowHeight - bounding.top) {
1913
+ properties.top = windowHeight - bounding.top - bounding.height + bounding.top;
1914
+ if (properties.top < 0) {
1915
+ this.lastHeight = properties.height = bounding.height + properties.top;
1916
+ properties.top = 0;
1917
+ }
1918
+ }
1919
+
1920
+ this.sidebar.css(properties);
1921
+ this.sidebar.css('display', '');
1922
+
1923
+ }
1924
+
1925
+ NextendSmartSliderSidebar.prototype.detach = function () {
1926
+ if (this.autoPosition) {
1927
+ this.sidebar.css('height', this.detachedPosition.height);
1928
+ this.magnet.css('display', 'none');
1929
+ } else {
1930
+ this.sidebar.css(this.detachedPosition);
1931
+ this.magnet.css('display', 'inline-block');
1932
+ }
1933
+ this.sidebar.appendTo(this.admin);
1934
+
1935
+ this.admin.addClass('n2-sidebar-hidden');
1936
+
1937
+ $(window).off('.n2-ss-panel');
1938
+ this.sidebar.removeClass("n2-sidebar-fixed");
1939
+
1940
+ this.sidebar
1941
+ .draggable({
1942
+ distance: 5,
1943
+ handle: ".n2-panel-titlebar",
1944
+ containment: 'window',
1945
+ stop: $.proxy(function (event, ui) {
1946
+ this.sidebar.css('height', this.lastHeight);
1947
+ var bounding = this.sidebar[0].getBoundingClientRect();
1948
+ this.detachedPosition.left = bounding.left;
1949
+ this.detachedPosition.top = bounding.top;
1950
+
1951
+ $.jStorage.set('ssPanelLeft', bounding.left);
1952
+ $.jStorage.set('ssPanelTop', bounding.top);
1953
+
1954
+ this.autoPosition = 0;
1955
+ $.jStorage.set('ssPanelAutoPosition', 0);
1956
+ this.magnet.css('display', 'inline-block');
1957
+ }, this),
1958
+ scroll: false
1959
+ })
1960
+ .resizable({
1961
+ distance: 5,
1962
+ handles: "s",
1963
+ stop: $.proxy(function (event, ui) {
1964
+ this.lastHeight = this.detachedPosition.height = this.sidebar.height();
1965
+ $.jStorage.set('ssPanelHeight', this.detachedPosition.height);
1966
+
1967
+ }, this),
1968
+ create: $.proxy(function (e, ui) {
1969
+ var handle = $(e.target).find('.ui-resizable-handle').addClass('n2-ss-panel-resizer');
1970
+ }, this)
1971
+ });
1972
+
1973
+ this.onResize();
1974
+ nextend.triggerResize();
1975
+ }
1976
+
1977
+ NextendSmartSliderSidebar.prototype.switchTab = function (tabName) {
1978
+ this.panelHeading.filter('[data-tab="' + tabName + '"]').trigger('click');
1979
  };
1980
+
1981
+
1982
  scope.NextendSmartSliderSidebar = NextendSmartSliderSidebar;
1983
 
1984
+ })(nextend.smartSlider, n2, window);
1985
+ ;
1986
+ (function (smartSlider, $, scope, undefined) {
1987
 
 
1988
 
1989
+ function SmartSliderAdminSlide(sliderElementID, slideContentElementID, isUploadDisabled, uploadUrl, uploadDir, options) {
1990
 
1991
+ this.options = $.extend({
1992
+ slideAsFile: 0
1993
+ }, options);
1994
+
1995
+ this.readyDeferred = $.Deferred();
1996
+ smartSlider.slide = this;
1997
+
1998
+ this._warnInternetExplorerUsers();
1999
+
2000
+ this.$slideContentElement = $('#' + slideContentElementID);
2001
+ this.$slideGuidesElement = $('#slideguides');
2002
+ this.slideStartValue = this.$slideContentElement.val();
2003
+ this.$sliderElement = $('#' + sliderElementID);
2004
+
2005
+
2006
+ smartSlider.frontend = window["n2-ss-0"];
2007
+ smartSlider.ruler = new NextendSmartSliderRuler(this.$slideGuidesElement.val());
2008
+ smartSlider.frontend.visible(function () {
2009
+ $('body').addClass('n2-ss-slider-visible');
2010
+ var el = $("#n2-tab-smartslider-editor"),
2011
+ tinyscrollbar = el
2012
+ .tinyscrollbar({
2013
+ axis: "x",
2014
+ wheel: false,
2015
+ wheelLock: false
2016
+ })
2017
+ .data('plugin_tinyscrollbar');
2018
+ if (typeof el.get(0).move === 'function') {
2019
+ el.get(0).move = null;
2020
+ }
2021
+
2022
+ this.sliderElement.on('SliderResize', function () {
2023
+ tinyscrollbar.update("relative");
2024
+ });
2025
+ });
2026
+
2027
+ var fontSize = this.$sliderElement.data('fontsize');
2028
+
2029
+ nextend.fontManager.setFontSize(fontSize);
2030
+ nextend.styleManager.setFontSize(fontSize);
2031
+
2032
+
2033
+ smartSlider.$currentSlideElement = smartSlider.frontend.adminGetCurrentSlideElement();
2034
+
2035
+ new SmartSliderAdminGenerator();
2036
+
2037
+ smartSlider.$currentSlideElement.addClass('n2-ss-currently-edited-slide');
2038
+ var staticSlide = smartSlider.frontend.parameters.isStaticEdited;
2039
+ new NextendSmartSliderAdminSlideLayerManager(smartSlider.$currentSlideElement.data('slide'), staticSlide, isUploadDisabled, uploadUrl, uploadDir);
2040
+
2041
+ if (!staticSlide) {
2042
+ this._initializeBackgroundChanger();
2043
+ }
2044
+
2045
+ this.readyDeferred.resolve();
2046
+
2047
+ $('#smartslider-form').on({
2048
+ checkChanged: $.proxy(this.prepareFormForCheck, this),
2049
+ submit: $.proxy(this.onSlideSubmit, this)
2050
+ });
2051
 
2052
+ this.createHistory();
2053
+ };
2054
 
2055
+ SmartSliderAdminSlide.prototype.ready = function (fn) {
2056
+ this.readyDeferred.done(fn);
 
 
 
 
2057
  };
2058
 
2059
+ SmartSliderAdminSlide.prototype.prepareFormForCheck = function () {
2060
+ var data = JSON.stringify(smartSlider.layerManager.getData()),
2061
+ startData = JSON.stringify(JSON.parse(Base64.decode(this.slideStartValue)));
2062
 
2063
+ this.$slideContentElement.val(startData == data ? this.slideStartValue : Base64.encode(data));
2064
+ };
2065
 
2066
+ SmartSliderAdminSlide.prototype.onSlideSubmit = function (e) {
2067
+ if (!nextend.isPreview) {
2068
+ this.prepareForm();
2069
+ e.preventDefault();
2070
 
2071
+ nextend.askToSave = false;
2072
 
2073
+ if (this.options.slideAsFile && typeof window.FormData !== undefined && typeof window.File !== 'undefined') {
2074
+ var fd = new FormData();
2075
+ var data = $('#smartslider-form').serializeArray();
2076
+ $.each(data, function (key, input) {
2077
+ if (input.name == 'slide[slide]') {
2078
+ fd.append('slide', new File([input.value], "slide.txt"));
2079
+ } else {
2080
+ fd.append(input.name, input.value);
2081
+ }
2082
+ });
2083
 
2084
+ NextendAjaxHelper.ajax({
2085
+ url: NextendAjaxHelper.makeAjaxUrl(window.location.href),
2086
+ type: 'POST',
2087
+ data: fd,
2088
+ contentType: false,
2089
+ processData: false
2090
+ }).done($.proxy(this.afterSave, this));
2091
  } else {
2092
+ NextendAjaxHelper.ajax({
2093
+ type: 'POST',
2094
+ url: NextendAjaxHelper.makeAjaxUrl(window.location.href),
2095
+ data: $('#smartslider-form').serialize(),
2096
+ dataType: 'json'
2097
+ }).done($.proxy(this.afterSave, this));
2098
  }
2099
+ }
2100
+ };
2101
 
2102
+ SmartSliderAdminSlide.prototype.afterSave = function () {
2103
+ nextend.askToSave = true;
2104
+ $('#smartslider-form').trigger('saved');
2105
+
2106
+ $('.n2-ss-edit-slide-top-details .n2-h1').html($('#slidetitle').val());
2107
+ };
2108
+
2109
+ SmartSliderAdminSlide.prototype.prepareForm = function () {
2110
+ this.$slideGuidesElement.val(Base64.encode(JSON.stringify(smartSlider.ruler.toArray())));
2111
+
2112
+ this.$slideContentElement.val(Base64.encode(JSON.stringify(smartSlider.layerManager.getData())));
2113
+ };
2114
+
2115
+ SmartSliderAdminSlide.prototype._initializeBackgroundChanger = function () {
2116
+ this.background = {
2117
+ type: $('#slidebackground-type').on('nextendChange', $.proxy(this.__onAfterBackgroundTypeChange, this)),
2118
+ slideBackgroundColorField: $('#slidebackgroundColor').on('nextendChange', $.proxy(this.__onAfterBackgroundColorChange, this)),
2119
+ slideBackgroundGradientField: $('#slidebackgroundGradient').on('nextendChange', $.proxy(this.__onAfterBackgroundColorChange, this)),
2120
+ slideBackgroundColorEndField: $('#slidebackgroundColorEnd').on('nextendChange', $.proxy(this.__onAfterBackgroundColorChange, this)),
2121
+ slideBackgroundImageField: $('#slidebackgroundImage').on('nextendChange', $.proxy(this.__onAfterBackgroundImageChange, this)),
2122
+ slideBackgroundImageOpacity: $('#slidebackgroundImageOpacity').on('nextendChange', $.proxy(this.__onAfterBackgroundImageOpacityChange, this)),
2123
+ slidebackgroundFocusX: $('#slidebackgroundFocusX').on('nextendChange', $.proxy(this.__onAfterBackgroundImageChange, this)),
2124
+ slidebackgroundFocusY: $('#slidebackgroundFocusY').on('nextendChange', $.proxy(this.__onAfterBackgroundImageChange, this)),
2125
+ slideBackgroundModeField: $('#slidebackgroundMode').on('nextendChange', $.proxy(this.__onAfterBackgroundImageChange, this)),
2126
+ backgroundImageElement: smartSlider.$currentSlideElement.find('.nextend-slide-bg'),
2127
+ canvas: smartSlider.$currentSlideElement.find('.n2-ss-slide-background')
2128
+ };
2129
+
2130
+ this.currentBackgroundType = this.background.type.val();
2131
+
2132
+ // Auto fill thumbnail if empty
2133
+ var thumbnail = $('#slidethumbnail');
2134
+ if (thumbnail.val() == '') {
2135
+ var itemImage = $('#item_imageimage'),
2136
+ cb = $.proxy(function (image) {
2137
+ if (image != '' && image != '$system$/images/placeholder/image.png') {
2138
+ thumbnail.val(image).trigger('change');
2139
+ this.background.slideBackgroundImageField.off('.slidethumbnail');
2140
+ itemImage.off('.slidethumbnail');
2141
+ }
2142
+ }, this);
2143
+ this.background.slideBackgroundImageField.on('nextendChange.slidethumbnail', $.proxy(function () {
2144
+ cb(this.background.slideBackgroundImageField.val());
2145
+ }, this));
2146
+ itemImage.on('nextendChange.slidethumbnail', $.proxy(function () {
2147
+ cb(itemImage.val());
2148
+ }, this));
2149
+ }
2150
+ };
2151
+
2152
+ SmartSliderAdminSlide.prototype.__onAfterBackgroundTypeChange = function () {
2153
+ var newType = this.background.type.val();
2154
+ this.currentBackgroundType = newType;
2155
+ switch (newType) {
2156
+ case 'image':
2157
+ this.__onAfterBackgroundImageChange();
2158
+ break;
2159
+ case 'video':
2160
+ this.__onAfterBackgroundImageChange();
2161
+ break;
2162
+ case 'color':
2163
+ smartSlider.$currentSlideElement.data('slideBackground').changeDesktop('', '', this.background.slideBackgroundModeField.val(), this.background.slidebackgroundFocusX.val(), this.background.slidebackgroundFocusY.val());
2164
+ this.__onAfterBackgroundColorChange();
2165
+ break;
2166
+ }
2167
 
 
2168
  }
2169
 
2170
+ SmartSliderAdminSlide.prototype.__onAfterBackgroundColorChange = function () {
2171
+ var backgroundColor = this.background.slideBackgroundColorField.val(),
2172
+ gradient = this.background.slideBackgroundGradientField.val();
2173
+ if (gradient != 'off') {
2174
+ var backgroundColorEnd = this.background.slideBackgroundColorEndField.val(),
2175
+ canvas = this.background.canvas.css({background: '', filter: ''});
2176
+
2177
+ switch (gradient) {
2178
+ case 'horizontal':
2179
+ canvas
2180
+ .css('background', '#' + backgroundColor.substr(0, 6))
2181
+ .css('background', '-moz-linear-gradient(left, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2182
+ .css('background', ' -webkit-linear-gradient(left, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2183
+ .css('background', 'linear-gradient(to right, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2184
+ .css('background', 'filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=\'#' + backgroundColor.substr(0, 6) + '\', endColorstr=\'#' + backgroundColorEnd.substr(0, 6) + '\',GradientType=1)');
2185
+ break;
2186
+ case 'vertical':
2187
+ canvas
2188
+ .css('background', '#' + backgroundColor.substr(0, 6))
2189
+ .css('background', '-moz-linear-gradient(top, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2190
+ .css('background', ' -webkit-linear-gradient(top, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2191
+ .css('background', 'linear-gradient(to bottom, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2192
+ .css('background', 'filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=\'#' + backgroundColor.substr(0, 6) + '\', endColorstr=\'#' + backgroundColorEnd.substr(0, 6) + '\',GradientType=0)');
2193
+ break;
2194
+ case 'diagonal1':
2195
+ canvas
2196
+ .css('background', '#' + backgroundColor.substr(0, 6))
2197
+ .css('background', '-moz-linear-gradient(45deg, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2198
+ .css('background', ' -webkit-linear-gradient(45deg, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2199
+ .css('background', 'linear-gradient(45deg, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2200
+ .css('background', 'filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=\'#' + backgroundColor.substr(0, 6) + '\', endColorstr=\'#' + backgroundColorEnd.substr(0, 6) + '\',GradientType=1)');
2201
+ break;
2202
+ case 'diagonal2':
2203
+ canvas
2204
+ .css('background', '#' + backgroundColor.substr(0, 6))
2205
+ .css('background', '-moz-linear-gradient(-45deg, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2206
+ .css('background', ' -webkit-linear-gradient(-45deg, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2207
+ .css('background', 'linear-gradient(-45deg, ' + N2Color.hex2rgbaCSS(backgroundColor) + ' 0%,' + N2Color.hex2rgbaCSS(backgroundColorEnd) + ' 100%)')
2208
+ .css('background', 'filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=\'#' + backgroundColor.substr(0, 6) + '\', endColorstr=\'#' + backgroundColorEnd.substr(0, 6) + '\',GradientType=1)');
2209
+ break;
2210
+ }
2211
+
2212
+
2213
+ } else {
2214
+ if (backgroundColor.substr(6, 8) == '00') {
2215
+ this.background.canvas.css('background', '');
2216
+ } else {
2217
+ this.background.canvas.css('background', '#' + backgroundColor.substr(0, 6))
2218
+ .css('background', N2Color.hex2rgbaCSS(backgroundColor));
2219
+ }
2220
+ }
2221
+ };
2222
+
2223
+ /**
2224
+ * This event callback is responsible for the slide editor to show the apropiate background color and image.
2225
+ * @private
2226
+ */
2227
+ SmartSliderAdminSlide.prototype.__onAfterBackgroundImageChange = function () {
2228
+ smartSlider.$currentSlideElement.data('slideBackground').changeDesktop(smartSlider.generator.fill(this.background.slideBackgroundImageField.val()), '', this.background.slideBackgroundModeField.val(), this.background.slidebackgroundFocusX.val(), this.background.slidebackgroundFocusY.val());
2229
+ this.__onAfterBackgroundImageOpacityChange();
2230
+ };
2231
+
2232
+ SmartSliderAdminSlide.prototype.__onAfterBackgroundImageOpacityChange = function () {
2233
+ smartSlider.$currentSlideElement.data('slideBackground').setOpacity(this.background.slideBackgroundImageOpacity.val() / 100);
2234
+ };
2235
+
2236
+ /**
2237
+ * Warn old version IE users that the editor may fail to work in their browser.
2238
+ * @private
2239
+ */
2240
+ SmartSliderAdminSlide.prototype._warnInternetExplorerUsers = function () {
2241
+ var ie = this.__isInternetExplorer();
2242
+ if (ie && ie < 10) {
2243
+ alert(window.ss2lang.The_editor_was_tested_under_Internet_Explorer_10_Firefox_and_Chrome_Please_use_one_of_the_tested_browser);
2244
+ }
2245
+ };
2246
+
2247
+ /**
2248
+ * @returns Internet Explorer version number or false
2249
+ * @private
2250
+ */
2251
+ SmartSliderAdminSlide.prototype.__isInternetExplorer = function () {
2252
+ var myNav = navigator.userAgent.toLowerCase();
2253
+ return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
2254
+ };
2255
+
2256
+ SmartSliderAdminSlide.prototype.getLayout = function () {
2257
+ var propertiesRaw = $('#smartslider-form').serializeArray(),
2258
+ properties = {};
2259
+
2260
+ for (var i = 0; i < propertiesRaw.length; i++) {
2261
+ var m = propertiesRaw[i].name.match(/slide\[(.*?)\]/);
2262
+ if (m) {
2263
+ properties[m[1]] = propertiesRaw[i].value;
2264
+ }
2265
+ }
2266
+ delete properties['generator'];
2267
+ delete properties['published'];
2268
+ delete properties['publishdates'];
2269
+ delete properties['record-start'];
2270
+ delete properties['record-slides'];
2271
+ delete properties['slide'];
2272
+
2273
+ properties['slide'] = smartSlider.layerManager.getData();
2274
+ return properties;
2275
+ };
2276
+
2277
+ SmartSliderAdminSlide.prototype.loadLayout = function (properties, slideDataOverwrite, layerOverwrite) {
2278
+ // we are working on references!
2279
+ var slide = properties['slide'];
2280
+ delete properties['slide'];
2281
+ if (layerOverwrite) {
2282
+ smartSlider.layerManager.loadData(slide, true);
2283
+ } else {
2284
+ smartSlider.layerManager.loadData(slide, false);
2285
+ }
2286
+ if (slideDataOverwrite) {
2287
+ for (var k in properties) {
2288
+ $('#slide' + k).val(properties[k]).trigger('change');
2289
+ }
2290
+ }
2291
+ properties['slide'] = slide;
2292
+ };
2293
+
2294
+ SmartSliderAdminSlide.prototype.createHistory = function () {
2295
+ this.slideValues = {};
2296
+ n2('#smartslider-form').find('input[id][name^="slide"], textarea[id][name^="slide"]').not('#slideslide').each($.proxy(function (i, el) {
2297
+ var $input = $(el),
2298
+ field = $input.data('field'),
2299
+ id = $input.attr('id');
2300
+ this.slideValues[id] = $input.val();
2301
+ $input.on('nextendChange', $.proxy(function () {
2302
+ var newValue = $input.val(),
2303
+ oldValue = this.slideValues[id];
2304
+ this.slideValues[id] = newValue;
2305
+ smartSlider.history.add($.proxy(function () {
2306
+ return [this, 'slideValueChange', newValue, oldValue, [$input, field]];
2307
+ }, this));
2308
+ }, this));
2309
+ }, this));
2310
+ };
2311
+
2312
+
2313
+ SmartSliderAdminSlide.prototype.history = function (method, value, other) {
2314
+ switch (method) {
2315
+ case 'slideValueChange':
2316
+ other[1].insideChange(value);
2317
+ break;
2318
+ }
2319
+ };
2320
+
2321
+ scope.SmartSliderAdminSlide = SmartSliderAdminSlide;
2322
+
2323
+ })(nextend.smartSlider, n2, window);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2324
  (function (smartSlider, $, scope, undefined) {
2325
+
2326
+ var zoom = null;
2327
  nextend['ssBeforeResponsive'] = function () {
2328
+ zoom = new NextendSmartSliderAdminZoom(this);
2329
+ nextend['ssBeforeResponsive'] = function () {
2330
+ zoom.add(this);
2331
+ };
2332
  };
2333
 
2334
  function NextendSmartSliderAdminZoom(responsive) {
2335
+
2336
  this.key = 'n2-ss-editor-device-lock-mode';
2337
  this.devices = {
2338
  unknownUnknown: $('<div />')
2339
  };
2340
+ this.responsives = [responsive];
2341
+ responsive.setOrientation('portrait');
2342
+ responsive.parameters.onResizeEnabled = 0;
2343
+ responsive.parameters.forceFull = 0; // We should disable force full feature on admin dashboard as it won't render before the sidebar
2344
+ responsive._getDevice = responsive._getDeviceZoom;
2345
 
2346
  this.lock = $('#n2-ss-lock').on('click', $.proxy(this.switchLock, this));
2347
 
2348
  var desktopWidth = responsive.parameters.sliderWidthToDevice['desktopPortrait'];
2349
 
2350
+ this.container = responsive.containerElement.closest('.n2-ss-container-device').addBack();
2351
  this.container.width(desktopWidth);
2352
  this.containerWidth = desktopWidth;
2353
 
2356
  var tr = $('#n2-ss-devices .n2-tr'),
2357
  modes = responsive.parameters.deviceModes;
2358
 
2359
+ this.devices.desktopPortrait = $('<div class="n2-td n2-panel-option" data-device="desktop" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-desktop"></i></div>').prependTo(tr);
2360
  if (modes.desktopLandscape) {
2361
+ this.devices.desktopLandscape = $('<div class="n2-td n2-panel-option" data-device="desktop" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-desktop-landscape"></i></div>').prependTo(tr);
2362
  } else {
2363
  this.devices.desktopLandscape = this.devices.desktopPortrait;
2364
  }
2365
 
2366
  if (modes.tabletPortrait) {
2367
+ this.devices.tabletPortrait = $('<div class="n2-td n2-panel-option" data-device="tablet" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-tablet"></i></div>').prependTo(tr);
2368
  } else {
2369
  this.devices.tabletPortrait = this.devices.desktopPortrait;
2370
  }
2371
  if (modes.tabletLandscape) {
2372
+ this.devices.tabletLandscape = $('<div class="n2-td n2-panel-option" data-device="tablet" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-tablet-landscape"></i></div>').prependTo(tr);
2373
  } else {
2374
  this.devices.tabletLandscape = this.devices.desktopLandscape;
2375
  }
2376
 
2377
  if (modes.mobilePortrait) {
2378
+ this.devices.mobilePortrait = $('<div class="n2-td n2-panel-option" data-device="mobile" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-mobile"></i></div>').prependTo(tr);
2379
  } else {
2380
  this.devices.mobilePortrait = this.devices.tabletPortrait;
2381
  }
2382
  if (modes.mobileLandscape) {
2383
+ this.devices.mobileLandscape = $('<div class="n2-td n2-panel-option" data-device="mobile" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-mobile-landscape"></i></div>').prependTo(tr);
2384
  } else {
2385
  this.devices.mobileLandscape = this.devices.tabletLandscape;
2386
  }
2387
 
2388
  this.deviceOptions = $('#n2-ss-devices .n2-panel-option');
2389
 
2390
+ //$('#n2-ss-devices').css('width', (this.deviceOptions.length * 62) + 'px');
2391
 
2392
  this.deviceOptions.each($.proxy(function (i, el) {
2393
+ $(el).on({
2394
+ mousedown: $.proxy(nextend.context.setMouseDownArea, nextend.context, 'zoomDeviceClicked'),
2395
+ click: $.proxy(this.setDeviceMode, this)
2396
+ });
2397
  }, this));
2398
 
2399
  responsive.sliderElement.on('SliderDeviceOrientation', $.proxy(this.onDeviceOrientationChange, this));
2400
  };
2401
 
2402
+ NextendSmartSliderAdminZoom.prototype.add = function (responsive) {
2403
+
2404
+ this.responsives.push(responsive);
2405
+ responsive.setOrientation('portrait');
2406
+ responsive.parameters.onResizeEnabled = 0;
2407
+ responsive.parameters.forceFull = 0; // We should disable force full feature on admin dashboard as it won't render before the sidebar
2408
+ responsive._getDevice = responsive._getDeviceZoom;
2409
+
2410
+ //responsive.sliderElement.on('SliderDeviceOrientation', $.proxy(this.onDeviceOrientationChange, this));
2411
+ }
2412
+
2413
  NextendSmartSliderAdminZoom.prototype.onDeviceOrientationChange = function (e, modes) {
2414
+ $('#n2-admin').removeClass('n2-ss-mode-' + modes.lastDevice + modes.lastOrientation)
2415
+ .addClass('n2-ss-mode-' + modes.device + modes.orientation);
2416
  this.devices[modes.lastDevice + modes.lastOrientation].removeClass('n2-active');
2417
  this.devices[modes.device + modes.orientation].addClass('n2-active');
2418
  };
2423
  var orientation = el.data('orientation');
2424
  smartSlider.layerManager.copyOrResetMode(el.data('device') + orientation[0].toUpperCase() + orientation.substr(1));
2425
  } else {
2426
+ for (var i = 0; i < this.responsives.length; i++) {
2427
+ this.responsives[i].setOrientation(el.data('orientation'));
2428
+ this.responsives[i].setMode(el.data('device'), this.responsives[0]);
2429
+ }
2430
  }
2431
  };
2432
 
2453
  }
2454
 
2455
  this.zoom =
2456
+ zoom.removeAttr('slide').slider({
2457
  range: "min",
2458
  step: 1,
2459
  value: 1,
2461
  max: 102
2462
  });
2463
 
2464
+ this.responsives[0].sliderElement.on('SliderResize', $.proxy(this.sliderResize, this));
2465
 
2466
  if ($.jStorage.get(this.key, 'sync') == 'fix') {
2467
  this.setZoomFixMode();
2482
  }, this);
2483
  parent.find('.n2-i-minus').on({
2484
  mousedown: $.proxy(mouseDown, this, -1),
 
 
 
2485
  'mouseup mouseleave': function () {
2486
  if (interval) {
2487
  clearInterval(interval);
2540
  var width = parseInt(ratio * this.containerWidth);
2541
  this.container.width(width);
2542
 
2543
+ for (var i = 1; i < this.responsives.length; i++) {
2544
+ this.responsives[i].containerElement.width(width);
2545
+ }
2546
+
2547
+ for (var i = 0; i < this.responsives.length; i++) {
2548
+ switch (mode) {
2549
+ case 'sync':
2550
+ this.responsives[i].doResize();
2551
+ break;
2552
+ default:
2553
+ this.responsives[i].doResize(true);
2554
+ break;
2555
+ }
2556
  }
2557
  if (ui) {
2558
  ui.handle.innerHTML = width + 'px';
2560
  };
2561
 
2562
  NextendSmartSliderAdminZoom.prototype.setZoom = function () {
2563
+ var ratio = this.responsives[0].containerElement.width() / this.containerWidth;
2564
  var v = 50;
2565
  if (ratio < 1) {
2566
  v = (ratio - nextend.smallestZoom / this.containerWidth) / (1 - nextend.smallestZoom / this.containerWidth) * 50;
2571
  this.zoom.slider('value', v);
2572
  };
2573
  })
2574
+ (nextend.smartSlider, n2, window);
 
2575
  (function ($, scope) {
2576
 
2577
+ function NextendSmartSliderCreateSlider(groupID, ajaxUrl) {
2578
+ this.addToGroupModal = null;
2579
+ this.groupID = groupID;
2580
+ this.ajaxUrl = ajaxUrl;
2581
+ $('.n2-ss-create-slider').click($.proxy(function (e) {
2582
+ e.preventDefault();
2583
+ e.stopImmediatePropagation();
2584
+ this.showModal();
2585
+
2586
+ }, this));
2587
 
2588
+ this.notificationStack = new NextendNotificationCenterStackModal($('body'));
2589
+ $('.n2-ss-add-sample-slider').click($.proxy(function (e) {
2590
+ e.preventDefault();
2591
+ e.stopImmediatePropagation();
2592
+ this.showDemoSliders();
2593
+
2594
 
2595
+ }, this));
2596
 
2597
+ if (window.location.hash.substring(1) == 'createslider') {
2598
+ this.showModal();
2599
+ }
2600
+ }
2601
 
2602
+ NextendSmartSliderCreateSlider.prototype.showModal = function () {
2603
+ if (!this.createSliderModal) {
2604
+ var that = this;
2605
+ var ajaxUrl = this.ajaxUrl;
2606
+ var presets = [];
2607
 
2608
+ presets.push({
2609
+ key: 'default',
2610
+ name: n2_('Default'),
2611
+ image: '$ss$/admin/images/sliderpresets/default.png'
2612
+ });
2613
+ presets.push({
2614
+ key: 'fullwidth',
2615
+ name: n2_('Full width'),
2616
+ image: '$ss$/admin/images/sliderpresets/fullwidth.png'
2617
+ });
2618
+ presets.push({
2619
+ key: 'thumbnailhorizontal',
2620
+ name: n2_('Thumbnail - horizontal'),
2621
+ image: '$ss$/admin/images/sliderpresets/thumbnailhorizontal.png'
2622
+ });
2623
+ this.createSliderModal = new NextendModal({
2624
+ zero: {
2625
+ size: [
2626
+ N2SSPRO ? 750 : 550,
2627
+ N2SSPRO ? 630 : 390 + 130
2628
+ ],
2629
+ title: n2_('Create Slider'),
2630
+ back: false,
2631
+ close: true,
2632
+ content: '<form class="n2-form"></form>',
2633
+ controls: [
2634
+ '<a href="#" class="n2-button n2-button-normal n2-button-l n2-radius-s n2-button-green n2-uc n2-h4">' + n2_('Create') + '</a>'
2635
+ ],
2636
+ fn: {
2637
+ show: function () {
2638
 
2639
+ var button = this.controls.find('.n2-button-green'),
2640
+ form = this.content.find('.n2-form').on('submit', function (e) {
2641
+ e.preventDefault();
2642
+ button.trigger('click');
2643
+ });
2644
 
2645
+ form.append(this.createInput(n2_('Slider name'), 'createslidertitle', 'width: 240px;'));
2646
+ form.append(this.createInputUnit(n2_('Width'), 'createsliderwidth', 'px', 'width: 30px;'));
2647
+ form.append(this.createInputUnit(n2_('Height'), 'createsliderheight', 'px', 'width: 30px;'));
 
2648
 
2649
+ new NextendElementAutocompleteSimple("createsliderwidth", ["1920", "1200", "1000", "800", "600", "400"]);
2650
+ new NextendElementAutocompleteSimple("createsliderheight", ["800", "600", "500", "400", "300", "200"]);
 
 
 
2651
 
2652
+ var sliderTitle = $('#createslidertitle').val(n2_('Slider')).focus(),
2653
+ sliderWidth = $('#createsliderwidth').val(900),
2654
+ sliderHeight = $('#createsliderheight').val(500);
2655
 
2656
+ sliderWidth.parent().addClass('n2-form-element-autocomplete ui-front');
2657
+ sliderHeight.parent().addClass('n2-form-element-autocomplete ui-front');
 
 
 
2658
 
2659
+ this.createHeading(n2_('Preset')).appendTo(this.content);
 
2660
 
2661
+ var imageRadio = this.createImageRadio(presets)
2662
+ .css('height', N2SSPRO ? 360 : 100)
2663
+ .appendTo(this.content),
2664
+ sliderPreset = imageRadio.find('input');
2665
+ imageRadio.css('overflow', 'hidden');
2666
+ this.createHeading(n2_('Import Sample Sliders')).appendTo(this.content);
2667
+ $('<div class="n2-ss-create-slider-free-sample" style="background-image: url(\'' + nextend.imageHelper.fixed('$ss$/admin/images/free/sample1.png') + '\')"></div><div class="n2-ss-create-slider-free-sample" style="background-image: url(\'' + nextend.imageHelper.fixed('$ss$/admin/images/free/sample2.png') + '\')"></div><div class="n2-ss-create-slider-free-sample" style="background-image: url(\'' + nextend.imageHelper.fixed('$ss$/admin/images/free/sample3.png') + '\')"></div>')
2668
+ .on('click', $.proxy(function () {
2669
+ this.hide();
2670
+ that.showDemoSliders();
2671
+ }, this))
2672
+ .appendTo(this.content);
2673
+
2674
 
2675
+ button.on('click', $.proxy(function () {
 
2676
 
2677
+ NextendAjaxHelper.ajax({
2678
+ type: "POST",
2679
+ url: NextendAjaxHelper.makeAjaxUrl(ajaxUrl, {
2680
+ nextendaction: 'create'
2681
+ }),
2682
+ data: {
2683
+ groupID: that.groupID,
2684
+ sliderTitle: sliderTitle.val(),
2685
+ sliderSizeWidth: sliderWidth.val(),
2686
+ sliderSizeHeight: sliderHeight.val(),
2687
+ preset: sliderPreset.val()
2688
+ },
2689
+ dataType: 'json'
2690
+ }).done($.proxy(function (response) {
2691
+ NextendAjaxHelper.startLoading();
2692
+ }, this));
2693
+
2694
+ }, this));
2695
+ }
2696
+ }
2697
+ }
2698
+ });
2699
  }
2700
+ this.createSliderModal.show();
2701
  };
2702
 
2703
+ NextendSmartSliderCreateSlider.prototype.showDemoSliders = function () {
2704
+ var that = this;
2705
+ $('body').css('overflow', 'hidden');
2706
+ var pro = 0;
2707
+ var frame = $('<iframe src="//smartslider3.com/demo-import/?pro=' + pro + '&version=' + N2SS3VERSION + '&utm_campaign=' + N2SS3C + '&utm_source=import-slider-frame&utm_medium=smartslider-' + N2PLATFORM + '-' + (pro ? 'pro' : 'free') + '" frameborder="0"></iframe>').css({
2708
+ position: 'fixed',
2709
+ zIndex: 100000,
2710
+ left: 0,
2711
+ top: 0,
2712
+ width: '100%',
2713
+ height: '100%'
2714
+ }).appendTo('body'),
2715
+ closeFrame = function () {
2716
+ $('body').css('overflow', '');
2717
+ frame.remove();
2718
+ window.removeEventListener("message", listener, false);
2719
+ that.notificationStack.popStack();
2720
+ },
2721
+ importSlider = function (href) {
2722
+ NextendAjaxHelper.ajax({
2723
+ type: "POST",
2724
+ url: NextendAjaxHelper.makeAjaxUrl(that.ajaxUrl, {
2725
+ nextendaction: 'importDemo'
2726
+ }),
2727
+ data: {
2728
+ groupID: that.groupID,
2729
+ key: Base64.encode(href.replace(/^(http(s)?:)?\/\//, '//'))
2730
+ },
2731
+ dataType: 'json'
2732
+ }).fail(function () {
2733
+ //closeFrame();
2734
+ });
2735
+ },
2736
+ listener = function (e) {
2737
+ if (e.origin !== "http://smartslider3.com" && e.origin !== "https://smartslider3.com")
2738
+ return;
2739
+ var msg = e.data;
2740
+ switch (msg.key) {
2741
+ case 'importSlider':
2742
+ if (typeof nextend.joinCommunity === 'function') {
2743
+ nextend.joinCommunity(function () {
2744
+ importSlider(msg.data.href);
2745
+ });
2746
+ } else {
2747
+ importSlider(msg.data.href);
2748
+ }
2749
+
2750
+ return;
2751
 
2752
+ break;
2753
+ case 'closeWindow':
2754
+ closeFrame();
2755
+ }
2756
+ };
2757
 
2758
+ this.notificationStack.enableStack();
2759
+ NextendEsc.add($.proxy(function () {
2760
+ closeFrame();
2761
+ return true;
2762
+ }, this));
2763
 
2764
+ window.addEventListener("message", listener, false);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2765
  };
2766
 
2767
+ scope.NextendSmartSliderCreateSlider = NextendSmartSliderCreateSlider;
2768
 
2769
+ })(n2, window);
2770
  (function ($, scope) {
2771
 
2772
+ function sliders(groupID, ajaxUrl) {
2773
+ this.preventSort = false;
2774
+ this.groupID = groupID;
2775
+ this.ajaxUrl = ajaxUrl;
2776
+ this.sliders = [];
2777
+ this.sliderPanel = $('#n2-ss-slider-container');
2778
+ this.orderBy = this.sliderPanel.data('orderby') == 'ordering' ? true : false;
2779
+ this.slidersContainer = this.sliderPanel.find('.n2-ss-sliders-container');
 
 
 
 
 
 
 
 
 
 
 
 
 
2780
 
2781
+ var sliders = this.slidersContainer.find('.n2-ss-box-slider');
2782
+ for (var i = 0; i < sliders.length; i++) {
2783
+ this.sliders.push(new NextendSmartSliderAdminSlider(this, sliders.eq(i)));
2784
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
2785
 
2786
+ this.changed();
2787
 
2788
+ this.initMenu();
 
2789
 
2790
+ this.initOrderable();
2791
 
2792
+ this.create = new NextendSmartSliderCreateSlider(groupID, ajaxUrl);
2793
+ this.initBulk();
2794
+ }
2795
 
2796
+ sliders.prototype.changed = function () {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2797
 
2798
+ $('html').attr('data-sliders', this.sliders.length);
2799
+ };
 
 
 
 
 
2800
 
2801
+ sliders.prototype.initSliders = function () {
2802
+ var previousLength = this.sliders.length;
2803
+ var sliderNodes = this.slidersContainer.find('.n2-ss-box-slider'),
2804
+ sliders = [];
2805
+ for (var i = 0; i < sliderNodes.length; i++) {
2806
+ var slider = sliderNodes.eq(i).data('slider');
2807
+ sliders.push(slider);
2808
+ }
2809
+ this.sliders = sliders;
2810
+ this.changed();
2811
+ $(window).triggerHandler('SmartSliderSidebarSlidersChanged');
2812
+ };
2813
 
2814
+ sliders.prototype.initOrderable = function () {
2815
+ if (this.orderBy) {
2816
+ this.slidersContainer.sortable({
2817
+ helper: 'clone',
2818
+ forcePlaceholderSize: false,
2819
+ tolerance: "pointer",
2820
+ connectWith: '.n2-ss-box-slider-group',
2821
+ items: ".n2-ss-box-slider",
2822
+ start: function (event, ui) {
2823
+ ui.item.show();
2824
+ },
2825
+ stop: $.proxy(this.saveOrder, this),
2826
+ placeholder: 'n2-box-sortable-placeholder',
2827
+ distance: 10
2828
+ });
2829
  }
2830
  };
2831
 
2832
+ sliders.prototype.saveOrder = function (e) {
2833
+ if (this.preventSort) {
2834
+ this.slidersContainer.sortable("cancel");
2835
+ this.preventSort = false;
2836
+ return;
2837
+ }
2838
+ var sliderNodes = this.slidersContainer.find('.n2-ss-box-slider'),
2839
+ sliders = [],
2840
+ ids = [],
2841
+ originalIds = [];
2842
+ for (var i = 0; i < sliderNodes.length; i++) {
2843
+ var slider = sliderNodes.eq(i).data('slider');
2844
+ sliders.push(slider);
2845
+ ids.push(slider.getId());
2846
+ }
2847
+ for (var i = 0; i < this.sliders.length; i++) {
2848
+ originalIds.push(this.sliders[i].getId());
2849
  }
 
 
 
 
2850
 
2851
+ if (JSON.stringify(originalIds) != JSON.stringify(ids)) {
2852
+ $(window).triggerHandler('SmartSliderSidebarSlidersOrderChanged');
2853
+ var queries = {
2854
+ nextendcontroller: 'sliders',
2855
+ nextendaction: 'order'
2856
+ };
2857
+ NextendAjaxHelper.ajax({
2858
+ type: 'POST',
2859
+ url: NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl, queries),
2860
+ data: {
2861
+ groupID: this.groupID,
2862
+ sliderorder: ids,
2863
+ isReversed: (this.sliderPanel.data('orderbydirection') == 'DESC' ? 1 : 0)
2864
+ }
2865
+ });
2866
+ this.sliders = sliders;
2867
+ }
2868
  };
2869
 
 
 
 
2870
 
2871
+ sliders.prototype.initMenu = function () {
2872
+ this.slider = null;
2873
+ this.menu = $('#n2-ss-slider-menu').detach().addClass('n2-inited');
2874
 
2875
+ this.menuActions = {
2876
+ addToGroup: this.menu.find('.n2-ss-add-to-group').on('click', $.proxy(function (e) {
2877
+ e.stopPropagation();
2878
+ e.preventDefault();
2879
+ this.addToGroup([this.slider.getId()]);
2880
+ }, this)),
2881
+ removeFromGroup: this.menu.find('.n2-ss-remove-from-group').on('click', $.proxy(function (e) {
2882
+ e.stopPropagation();
2883
+ e.preventDefault();
2884
+ this.removeFromGroup([this.slider.getId()]);
2885
+ }, this)),
2886
+ duplicate: this.menu.find('.n2-ss-duplicate').on('click', $.proxy(function (e) {
2887
+ this.slider.duplicate(e);
2888
+ }, this)),
2889
+ 'delete': this.menu.find('.n2-ss-delete').on('click', $.proxy(function (e) {
2890
+ this.slider.delete(e);
2891
+ }, this)),
2892
+ preview: this.menu.find('.n2-ss-preview').on('click', $.proxy(function (e) {
2893
+ this.slider.preview(e);
2894
+ }, this)),
2895
+ }
2896
+
2897
+ this.menu.find('.n2-button').on('click', $.proxy(function (e) {
2898
+ e.preventDefault();
2899
+ e.stopPropagation();
2900
+ if (this.menu.hasClass('n2-active')) {
2901
+ this.menu.removeClass('n2-active').off('mouseleave');
2902
+ } else {
2903
+ this.menu.addClass('n2-active').on('mouseleave', function () {
2904
+ $(this).removeClass('n2-active');
2905
+ });
2906
+ }
2907
+ }, this));
2908
+ }
2909
 
 
2910
 
2911
+ sliders.prototype.showMenu = function (slider) {
2912
+ this.slider = slider;
2913
+ this.menu.appendTo(slider.box);
2914
+ }
2915
 
2916
+ sliders.prototype.hideMenu = function () {
2917
+ if (this.menu.hasClass('n2-active')) {
2918
+ this.menu.removeClass('n2-active').off('mouseleave');
2919
+ }
2920
+ this.menu.detach();
2921
+ }
2922
 
2923
+ sliders.prototype.deleteSliders = function (ids, sliders) {
2924
+ this.hideMenu();
2925
+ var title = sliders[0].box.find('.n2-box-placeholder-title a').text();
2926
+ if (sliders.length > 1) {
2927
+ title += ' and ' + (sliders.length - 1) + ' more';
2928
+ }
2929
+ NextendDeleteModal('slider-delete', title, $.proxy(function () {
2930
+ NextendAjaxHelper.ajax({
2931
+ url: NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl, {
2932
+ nextendcontroller: 'sliders',
2933
+ nextendaction: 'delete'
2934
+ }),
2935
+ type: 'POST',
2936
+ data: {
2937
+ sliders: ids
2938
+ }
2939
+ }).done($.proxy(function () {
2940
+ for (var i = 0; i < sliders.length; i++) {
2941
+ sliders[i].deleted();
2942
+ }
2943
+ this.initSliders();
2944
+ this.leaveBulk();
2945
+ }, this));
2946
+ }, this));
2947
+ };
2948
 
2949
+ sliders.prototype.duplicateSliders = function (ids, slides) {
2950
+ for (var i = 0; i < this.sliders.length; i++) {
2951
+ if (this.sliders[i].selected) {
2952
+ this.sliders[i].duplicate($.Event("click", {
2953
+ currentTarget: null
2954
+ }));
2955
+ }
2956
+ }
2957
  };
2958
 
2959
+ sliders.prototype.exportSliders = function (ids, sliders) {
2960
 
2961
+ window.location.href = (NextendAjaxHelper.makeFallbackUrl(this.ajaxUrl, {
2962
+ nextendcontroller: 'sliders',
2963
+ nextendaction: 'exportAll'
2964
+ }) + '&' + $.param({sliders: ids, currentGroupID: this.groupID}));
2965
  };
2966
 
 
 
 
 
 
 
2967
 
2968
+ sliders.prototype.initBulk = function () {
 
2969
 
2970
+ this.selection = [];
2971
 
2972
+ this.isBulkSelection = false;
2973
 
2974
+ var selects = $('.n2-bulk-select').find('a');
2975
 
2976
+ //Select all
2977
+ selects.eq(0).on('click', $.proxy(function (e) {
2978
+ e.preventDefault();
2979
+ this.bulkSelect(function (slider) {
2980
+ slider.select();
2981
+ });
2982
+ }, this));
2983
 
2984
+ //Select none
2985
+ selects.eq(1).on('click', $.proxy(function (e) {
2986
+ e.preventDefault();
2987
+ this.bulkSelect(function (slider) {
2988
+ slider.deSelect();
2989
+ });
2990
+ }, this));
2991
 
2992
+ var actions = $('.n2-bulk-actions').find('a')
2993
+ .on('click', $.proxy(function (e) {
2994
+ e.preventDefault();
2995
 
2996
+ switch ($(e.currentTarget).data('action')) {
2997
+ case 'duplicate':
2998
+ this.bulkAction('duplicateSliders', false);
2999
+ break;
3000
+ case 'delete':
3001
+ this.bulkAction('deleteSliders', false);
3002
+ break;
3003
+ case 'export':
3004
+ this.bulkAction('exportSliders', false);
3005
+ break;
3006
+ case 'addToGroup':
3007
+ this.bulkAction('addToGroup', true);
3008
+ break;
3009
+ }
3010
+ }, this));
3011
+ };
3012
 
3013
+ sliders.prototype.addSelection = function (slider) {
3014
+ if (this.selection.length == 0) {
3015
+ this.enterBulk();
3016
+ }
3017
+ this.selection.push(slider);
3018
+ }
3019
 
3020
+ sliders.prototype.removeSelection = function (slider) {
3021
+ this.selection.splice($.inArray(slider, this.selection), 1);
3022
+ if (this.selection.length == 0) {
3023
+ this.leaveBulk();
3024
+ }
3025
+ }
3026
 
3027
+ sliders.prototype.bulkSelect = function (cb) {
3028
+ for (var i = 0; i < this.sliders.length; i++) {
3029
+ cb(this.sliders[i]);
3030
+ }
3031
  };
3032
 
3033
+ sliders.prototype.bulkAction = function (action, skipGroups) {
3034
+ var sliders = [],
3035
+ ids = [];
3036
+ this.bulkSelect(function (slider) {
3037
+ if (slider.selected && (!skipGroups || !slider.isGroup)) {
3038
+ sliders.push(slider);
3039
+ ids.push(slider.getId());
3040
+ }
3041
+ });
3042
+ if (ids.length) {
3043
+ this[action](ids, sliders);
3044
+ this.leaveBulk();
3045
+ } else {
3046
+ if (skipGroups) {
3047
+ nextend.notificationCenter.notice('Please select one or more sliders for the action!');
3048
+ } else {
3049
+ nextend.notificationCenter.notice('Please select one or more sliders or groups for the action!');
3050
+ }
3051
+ }
3052
  };
3053
 
3054
+ sliders.prototype.enterBulk = function () {
3055
+ if (!this.isBulkSelection) {
3056
+ this.isBulkSelection = true;
3057
+ if (this.orderBy) {
3058
+ this.slidersContainer.sortable('option', 'disabled', true);
3059
+ }
3060
+ $('#n2-admin').addClass('n2-ss-has-box-selection');
3061
+ }
3062
  };
3063
 
3064
+ sliders.prototype.leaveBulk = function () {
3065
+ if (this.isBulkSelection) {
3066
+ if (this.orderBy) {
3067
+ this.slidersContainer.sortable('option', 'disabled', false);
3068
+ }
3069
+ $('#n2-admin').removeClass('n2-ss-has-box-selection');
 
3070
 
3071
+ for (var i = 0; i < this.sliders.length; i++) {
3072
+ this.sliders[i].deSelect();
3073
+ }
3074
+ this.selection = [];
3075
+ this.isBulkSelection = false;
3076
+ }
3077
+ };
3078
 
3079
+ sliders.prototype.removeFromGroup = function (sliders) {
3080
+ return NextendAjaxHelper.ajax({
3081
+ type: "POST",
3082
+ url: NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl, {
3083
+ nextendaction: 'removeFromGroup'
3084
+ }),
3085
+ data: {
3086
+ currentGroupID: this.groupID,
3087
+ sliders: sliders
3088
+ },
3089
+ dataType: 'json'
3090
+ }).done($.proxy(function (response) {
3091
+ for (var i = 0; i < sliders.length; i++) {
3092
+ $('[data-sliderid="' + sliders[i] + '"]').data('slider').deleted();
3093
+ }
3094
+ this.initSliders();
3095
+ }, this));
3096
+ }
3097
 
3098
+ sliders.prototype._addToGroup = function (action, groupID, sliders) {
3099
+ return NextendAjaxHelper.ajax({
3100
+ type: "POST",
3101
+ url: NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl, {
3102
+ nextendaction: 'addToGroup'
3103
+ }),
3104
+ data: {
3105
+ currentGroupID: this.groupID,
3106
+ groupID: groupID,
3107
+ action: action,
3108
+ sliders: sliders
3109
+ },
3110
+ dataType: 'json'
3111
+ }).done($.proxy(function (response) {
3112
 
3113
+ if (action == 'move') {
3114
+ for (var i = 0; i < sliders.length; i++) {
3115
+ $('[data-sliderid="' + sliders[i] + '"]').data('slider').deleted();
3116
+ }
3117
 
3118
+ this.initSliders();
3119
+ }
3120
 
3121
+ var groupCounter = $('[data-sliderid="' + groupID + '"] .n2-box-placeholder-buttons .n2-button-grey');
3122
+ groupCounter.html(parseInt(groupCounter.html()) + sliders.length);
3123
+ }, this));
 
 
 
 
3124
  };
3125
 
3126
+ sliders.prototype.addToGroup = function (sliders) {
3127
+ var groups = null;
3128
+ var that = this;
3129
+ var ajaxUrl = this.ajaxUrl;
3130
 
3131
+ var addToGroupModal = new NextendModal({
3132
+ zero: {
3133
+ size: [
3134
+ 350,
3135
+ 220
3136
+ ],
3137
+ title: n2_('Add to group'),
3138
+ back: false,
3139
+ close: true,
3140
+ content: '<form class="n2-form"></form>',
3141
+ controls: [
3142
+ '<div class="n2-button n2-button-with-actions n2-button-l n2-button-green n2-radius-s n2-h4"><a class="n2-button-inner" href="#" data-action="move">' + n2_('Move') + '</a>' +
3143
+ '<div class="n2-button-menu-open"><i class="n2-i n2-i-buttonarrow"></i><div class="n2-button-menu"><div class="n2-button-menu-inner n2-border-radius">' +
3144
+ '<a class="n2-h4" href="#" data-action="copy">' + n2_('Copy') + '</a>' +
3145
+ '<a class="n2-h4" href="#" data-action="link">' + n2_('Link') + '</a>' +
3146
+ '</div></div></div></div>',
3147
+ ],
3148
+ fn: {
3149
+ show: function () {
3150
 
3151
+ this.controls.find(".n2-button-menu-open").n2opener();
 
 
 
 
3152
 
3153
+ var button = this.controls.find('a'),
3154
+ form = this.content.find('.n2-form').on('submit', function (e) {
3155
+ e.preventDefault();
3156
+ button.eq(0).trigger('click');
3157
+ });
3158
 
3159
+ form.append(this.createSelect(n2_('Group'), 'choosegroup', groups, 'width:300px;'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3160
 
3161
+ var choosegroup = $('#choosegroup');
 
3162
 
3163
+ button.on('click', $.proxy(function (e) {
 
 
 
 
3164
 
3165
+ e.preventDefault();
 
 
3166
 
3167
+ that._addToGroup($(e.currentTarget).data('action'), choosegroup.val(), sliders)
3168
+ .done($.proxy(function () {
3169
+ this.hide(e);
3170
+ }, this));
3171
 
3172
+ }, this));
3173
+ }
3174
+ }
 
 
3175
  }
3176
+ });
 
 
 
 
3177
 
 
3178
 
3179
+ NextendAjaxHelper.ajax({
3180
+ type: "POST",
3181
+ url: NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl, {
3182
+ nextendcontroller: 'sliders',
3183
+ nextendaction: 'listGroups'
3184
+ }),
3185
+ dataType: 'json'
3186
+ }).done($.proxy(function (response) {
3187
+ groups = response.data;
3188
+ if (typeof groups[this.groupID] !== 'undefined') {
3189
+ delete groups[this.groupID];
 
 
 
 
 
 
 
 
3190
  }
3191
+ if ($.isEmptyObject(groups)) {
3192
+ $('body').on({
3193
+ 'groupAdded.addToGroup': $.proxy(function () {
3194
+ $('body').off('.addToGroup');
3195
+ NextendAjaxHelper.ajax({
3196
+ type: "POST",
3197
+ url: NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl, {
3198
+ nextendcontroller: 'sliders',
3199
+ nextendaction: 'listGroups'
3200
+ }),
3201
+ dataType: 'json'
3202
+ }).done($.proxy(function (response) {
3203
+ groups = response.data;
3204
+ if (typeof groups[this.groupID] !== 'undefined') {
3205
+ delete groups[this.groupID];
3206
+ }
3207
+ addToGroupModal.show();
3208
+ }, this));
3209
+
3210
+ }, this),
3211
+ 'groupAddCanceled.addToGroup': $.proxy(function () {
3212
+ $('body').off('.addToGroup');
3213
+ }, this)
3214
+ });
3215
+
3216
+ this.createGroup.showModal();
3217
+
3218
+ } else {
3219
+ addToGroupModal.show();
3220
+ }
3221
+ }, this));
3222
  };
3223
 
3224
+ scope.NextendSmartSliderManageSliders = sliders;
3225
+
3226
+ })(n2, window);
3227
+ (function ($, scope) {
3228
+ function slider(manager, box) {
3229
+ this.selected = false;
3230
+ this.manager = manager;
3231
+
3232
+ this.box = box.data('slider', this)
3233
+ .addClass('n2-clickable');
3234
+
3235
+ this.isGroup = this.box.hasClass('n2-ss-box-slider-group');
3236
+
3237
+ this.box
3238
+ .on('mouseenter', $.proxy(function () {
3239
+ this.manager.showMenu(this);
3240
+ }, this))
3241
+ .on('mouseleave', $.proxy(function () {
3242
+ this.manager.hideMenu();
3243
+ }, this))
3244
+ .on('click.n2-slider', $.proxy(this.goToEdit, this));
3245
+
3246
+ this.box.find('.n2-ss-box-select').on('click', $.proxy(function (e) {
3247
+ e.stopPropagation();
3248
+ e.preventDefault();
3249
+
3250
+ this.invertSelection();
3251
+ }, this));
3252
  };
3253
 
3254
+ slider.prototype.getId = function () {
3255
+ return this.box.data('sliderid');
3256
  };
3257
 
3258
+ slider.prototype.goToEdit = function (e, isBlank) {
3259
+ var editUrl = this.box.data('editurl');
3260
+ if (typeof isBlank !== 'undefined' && isBlank) {
3261
+ window.open(editUrl, '_blank');
3262
+ } else {
3263
+ window.location = editUrl;
3264
+ }
3265
  };
3266
 
3267
+ slider.prototype.preview = function (e) {
3268
+ e.stopPropagation();
3269
+ e.preventDefault();
3270
+ window.open(NextendAjaxHelper.makeFallbackUrl(this.box.data('editurl'), {
3271
+ nextendcontroller: 'preview',
3272
+ nextendaction: 'index'
3273
+ }), '_blank');
3274
  };
3275
 
 
 
 
 
 
3276
 
3277
+ slider.prototype.duplicate = function (e) {
3278
+ e.stopPropagation();
3279
+ e.preventDefault();
3280
+ var deferred = $.Deferred();
3281
+ NextendAjaxHelper.ajax({
3282
+ url: NextendAjaxHelper.makeAjaxUrl(this.box.data('editurl'), {
3283
+ nextendcontroller: 'slider',
3284
+ nextendaction: 'duplicate'
3285
+ })
3286
+ }).done($.proxy(function (response) {
3287
+ var box = $(response.data).insertAfter(this.box);
3288
+ var newSlider = new slider(this.manager, box);
3289
+ this.manager.initSliders();
3290
+ deferred.resolve(newSlider);
3291
+ }, this));
3292
+ return deferred;
3293
+ };
3294
 
3295
+ slider.prototype.delete = function (e) {
3296
+ e.stopPropagation();
3297
+ e.preventDefault();
3298
+ this.manager.deleteSliders([this.getId()], [this]);
3299
+ };
3300
+ slider.prototype.deleted = function () {
3301
+ this.box.remove();
3302
+ };
3303
+
3304
+ slider.prototype.invertSelection = function (e) {
3305
+ if (e) {
3306
+ e.preventDefault();
3307
  }
3308
 
3309
+ if (!this.selected) {
3310
+ this.select();
 
 
 
 
3311
  } else {
3312
+ this.deSelect();
3313
  }
3314
  };
 
 
 
 
 
 
3315
 
3316
+ slider.prototype.select = function () {
3317
+ if (!this.selected) {
3318
+ this.selected = true;
3319
+ this.box.addClass('n2-selected');
3320
+ this.manager.addSelection(this);
 
3321
  }
3322
+ };
3323
 
3324
+ slider.prototype.deSelect = function () {
3325
+ if (this.selected) {
3326
+ this.selected = false;
3327
+ this.box.removeClass('n2-selected');
3328
+ this.manager.removeSelection(this);
 
 
 
3329
  }
3330
  };
3331
 
3332
+ scope.NextendSmartSliderAdminSlider = slider;
3333
+ })(n2, window);
3334
+ ;
3335
+ (function ($, scope) {
3336
 
3337
+ function NextendElementAnimationManager(id, managerIdentifier) {
3338
+ this.element = $('#' + id);
3339
+ this.managerIdentifier = managerIdentifier;
3340
 
3341
+ this.element.parent()
3342
+ .on('click', $.proxy(this.show, this));
3343
 
3344
+ this.element.siblings('.n2-form-element-clear')
3345
+ .on('click', $.proxy(this.clear, this));
 
 
 
 
 
 
 
3346
 
3347
+ this.name = this.element.siblings('input');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3348
 
3349
+ this.updateName(this.element.val());
 
 
 
3350
 
3351
+ NextendElement.prototype.constructor.apply(this, arguments);
3352
+ };
3353
 
 
 
3354
 
3355
+ NextendElementAnimationManager.prototype = Object.create(NextendElement.prototype);
3356
+ NextendElementAnimationManager.prototype.constructor = NextendElementAnimationManager;
3357
 
 
 
3358
 
3359
+ NextendElementAnimationManager.prototype.show = function (e) {
3360
+ e.preventDefault();
3361
+ nextend[this.managerIdentifier].show(this.element.val(), $.proxy(this.save, this));
3362
+ };
3363
 
3364
+ NextendElementAnimationManager.prototype.clear = function (e) {
3365
+ e.preventDefault();
3366
+ e.stopPropagation();
3367
+ this.val('');
3368
+ };
3369
 
3370
+ NextendElementAnimationManager.prototype.save = function (e, value) {
3371
+ this.val(value);
3372
+ };
3373
 
3374
+ NextendElementAnimationManager.prototype.val = function (value) {
3375
+ this.element.val(value);
3376
+ this.updateName(value);
3377
+ this.triggerOutsideChange();
3378
+ };
 
 
3379
 
3380
+ NextendElementAnimationManager.prototype.insideChange = function (value) {
3381
+ this.element.val(value);
3382
 
3383
+ this.updateName(value);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3384
 
3385
+ this.triggerInsideChange();
3386
+ };
3387
 
3388
+ NextendElementAnimationManager.prototype.updateName = function (value) {
3389
+ if (value == '') {
3390
+ value = n2_('Disabled');
3391
+ } else if (value.split('||').length > 1) {
3392
+ value = n2_('Multiple animations')
3393
+ } else {
3394
+ value = n2_('Single animation');
3395
+ }
3396
+ this.name.val(value);
3397
+ };
 
 
 
3398
 
3399
+ scope.NextendElementAnimationManager = NextendElementAnimationManager;
3400
 
3401
+ function NextendElementPostAnimationManager() {
3402
+ NextendElementAnimationManager.prototype.constructor.apply(this, arguments);
3403
+ };
3404
 
 
 
 
 
 
 
 
 
 
 
3405
 
3406
+ NextendElementPostAnimationManager.prototype = Object.create(NextendElementAnimationManager.prototype);
3407
+ NextendElementPostAnimationManager.prototype.constructor = NextendElementPostAnimationManager;
3408
 
3409
+ NextendElementPostAnimationManager.prototype.clear = function (e) {
3410
+ e.preventDefault();
3411
+ e.stopPropagation();
3412
+ var data = this.element.val().split('|*|');
3413
+ data[2] = '';
3414
+ this.val(data.join('|*|'));
3415
+ };
3416
+ NextendElementPostAnimationManager.prototype.updateName = function (value) {
3417
+ var data = value.split('|*|');
3418
+ value = data[2];
3419
+ if (value == '') {
3420
+ value = n2_('Disabled');
3421
+ } else if (value.split('||').length > 1) {
3422
+ value = n2_('Multiple animations');
3423
+ } else {
3424
+ value = n2_('Single animation');
3425
+ }
3426
+ this.name.val(value);
3427
+ };
3428
 
3429
+ scope.NextendElementPostAnimationManager = NextendElementPostAnimationManager;
 
 
 
 
 
 
 
 
 
3430
 
3431
+ })(n2, window);
3432
+ ;
3433
+ (function ($, scope) {
 
 
 
 
 
 
 
 
3434
 
3435
+ function NextendElementBackground(id, value) {
3436
+ this.value = '';
3437
+ this.element = $('#' + id);
3438
 
3439
+ this.$container = this.element.closest('.n2-form-tab');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3440
 
3441
+ this.panel = $('#' + id + '-panel');
3442
+ this.setValue(value);
3443
+ this.options = this.panel.find('.n2-subform-image-option').on('click', $.proxy(this.selectOption, this));
3444
 
3445
+ this.active = this.getIndex(this.options.filter('.n2-active').get(0));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3446
 
3447
+ NextendElement.prototype.constructor.apply(this, arguments);
 
 
3448
  };
3449
 
3450
+ NextendElementBackground.prototype = Object.create(NextendElement.prototype);
3451
+ NextendElementBackground.prototype.constructor = NextendElementBackground;
 
 
3452
 
3453
+ NextendElementBackground.prototype.selectOption = function (e) {
3454
+ var index = this.getIndex(e.currentTarget);
3455
+ if (index != this.active) {
3456
 
3457
+ this.options.eq(index).addClass('n2-active');
3458
+ this.options.eq(this.active).removeClass('n2-active');
3459
 
3460
+ this.active = index;
 
 
 
3461
 
3462
+ var value = $(e.currentTarget).data('value');
3463
+ this.insideChange(value);
3464
+ this.setValue(value);
 
3465
 
3466
+ }
3467
  };
3468
+ NextendElementBackground.prototype.setValue = function (newValue) {
3469
+ this.$container.removeClass('n2-ss-background-type-' + this.value);
3470
+ this.value = newValue;
3471
+ this.$container.addClass('n2-ss-background-type-' + this.value);
3472
+ }
3473
 
3474
+ NextendElementBackground.prototype.insideChange = function (value) {
3475
+ this.element.val(value);
3476
 
3477
+ this.triggerInsideChange();
 
 
 
 
 
3478
  };
3479
 
3480
+ NextendElementBackground.prototype.getIndex = function (option) {
3481
+ return $.inArray(option, this.options);
 
 
 
 
 
 
3482
  };
3483
 
3484
+ scope.NextendElementBackground = NextendElementBackground;
3485
 
3486
+ })(n2, window);
3487
 
3488
+ (function ($, scope) {
 
3489
 
3490
+ var STATUS = {
3491
+ INITIALIZED: 0,
3492
+ PICK_PARENT: 1,
3493
+ PICK_CHILD: 2,
3494
+ PICK_PARENT_ALIGN: 3,
3495
+ PICK_CHILD_ALIGN: 4/*,
3496
+ UNDER_PICK_PARENT: 1,
3497
+ UNDER_PICK_CHILD: 2*/
3498
+ },
3499
+ OVERLAYS = '<div class="n2-ss-picker-overlay-tile" data-align="left" data-valign="top" />' +
3500
+ '<div class="n2-ss-picker-overlay-tile" data-align="center" data-valign="top" style="left:33%;top:0;" />' +
3501
+ '<div class="n2-ss-picker-overlay-tile" data-align="right" data-valign="top" style="left:66%;top:0;width:34%;" />' +
3502
+ '<div class="n2-ss-picker-overlay-tile" data-align="left" data-valign="middle" style="left:0;top:33%;" />' +
3503
+ '<div class="n2-ss-picker-overlay-tile" data-align="center" data-valign="middle" style="left:33%;top:33%; " />' +
3504
+ '<div class="n2-ss-picker-overlay-tile" data-align="right" data-valign="middle" style="left:66%;top:33%;width:34%;" />' +
3505
+ '<div class="n2-ss-picker-overlay-tile" data-align="left" data-valign="bottom" style="left:0;top:66%;height:34%;" />' +
3506
+ '<div class="n2-ss-picker-overlay-tile" data-align="center" data-valign="bottom" style="left:33%;top:66%;height:34%;" />' +
3507
+ '<div class="n2-ss-picker-overlay-tile" data-align="right" data-valign="bottom" style="left:66%;top:66%;width:34%;height:34%;" />';
3508
 
3509
+ function NextendElementLayerPicker(id) {
3510
+ this.status = 0;
3511
+ this.element = $('#' + id);
3512
+ this.$container = $('.n2-ss-parent-picker');
3513
+ this.overlays = null;
3514
 
3515
+ this.aligns = this.element.parent().parent().siblings();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3516
 
3517
+ this.picker = this.element.siblings('.n2-ss-layer-picker')
3518
+ .on({
3519
+ click: $.proxy(function () {
3520
+ this.change('');
3521
+ }, this)
3522
+ });
3523
 
 
 
 
 
3524
 
3525
+ NextendElement.prototype.constructor.apply(this, arguments);
3526
+ };
3527
 
 
 
 
3528
 
3529
+ NextendElementLayerPicker.prototype = Object.create(NextendElement.prototype);
3530
+ NextendElementLayerPicker.prototype.constructor = NextendElementLayerPicker;
 
 
 
 
3531
 
3532
+ NextendElementLayerPicker.prototype.click = function (e) {
3533
+ if (!$('#n2-admin').hasClass('n2-ss-mode-desktopPortrait')) {
3534
+ nextend.notificationCenter.notice('To chain layers together, please switch to desktop portrait mode!');
3535
+ return;
 
 
3536
  }
3537
+ if (this.status == STATUS.INITIALIZED) {
3538
+ this.data = {
3539
+ parent: null,
3540
+ parentVAlign: null,
3541
+ parentHAlign: null,
3542
+ child: null,
3543
+ childVAlign: null,
3544
+ childHAlign: null,
3545
+ };
3546
 
3547
+ $('body').on('mousedown.n2-ss-parent-linker', $.proxy(function (e) {
3548
+ var el = $(e.target),
3549
+ parent = el.parent();
3550
+ if (!el.hasClass('n2-ss-picker-overlay') && !el.hasClass('n2-ss-picker-overlay-tile')) {
3551
+ this.destroy();
3552
+ }
3553
+ }, this));
3554
+
3555
+ NextendEsc.add($.proxy(function () {
3556
+ this.destroy();
3557
+ return false;
3558
+ }, this));
3559
+
3560
+ this.pickParent(e);
3561
  } else {
3562
+ this.data = null;
3563
+ this.change('');
3564
+ this.destroy();
3565
  }
3566
+ }
3567
 
3568
+ NextendElementLayerPicker.prototype.pickParent = function (e) {
3569
+ var layerManager = nextend.smartSlider.layerManager,
3570
+ layers = $(layerManager.mainLayerGroup.getChildLayersRecursive(true));
3571
+ if (layers.length == 0) {
3572
+ this.destroy();
3573
+ } else {
3574
 
3575
+ this.status = STATUS.PICK_PARENT;
3576
+ nextend.tooltipMouse.show('Pick the parent layer!', e);
3577
 
3578
+ var overlays = $('<div class="n2-ss-picker-overlay"></div>').appendTo(layers)
3579
+ .on('click', $.proxy(function (e) {
3580
+ e.preventDefault();
3581
+ e.stopPropagation();
3582
+ var $layer = $(e.currentTarget).parent(),
3583
+ layer = $layer.data('layerObject');
3584
 
3585
+ this.data.parent = $layer;
 
3586
 
3587
+ this._destroy();
3588
+ this.pickParentAlign(e);
3589
+
3590
+ }, this));
 
 
3591
  }
3592
+ }
3593
 
3594
+ NextendElementLayerPicker.prototype.pickParentAlign = function (e) {
3595
+ this.status = STATUS.PICK_PARENT_ALIGN;
3596
+ nextend.tooltipMouse.show('Pick the align point of the parent layer!', e);
3597
 
3598
+ var overlays = $(OVERLAYS).appendTo(this.data.parent)
3599
+ .on('click', $.proxy(function (e) {
3600
+ e.preventDefault();
3601
+ e.stopPropagation();
3602
 
3603
+ var $currentTarget = $(e.currentTarget);
3604
+ this.data.parentHAlign = $currentTarget.data('align');
3605
+ this.data.parentVAlign = $currentTarget.data('valign');
3606
+ $currentTarget.off('click').addClass('n2-active');
3607
 
3608
+ overlays.not($currentTarget).remove();
3609
+ this.pickChild(e);
3610
+ }, this));
3611
+ }
3612
 
3613
+ NextendElementLayerPicker.prototype.pickChild = function (e) {
3614
+ this.status = STATUS.PICK_CHILD;
3615
+ nextend.tooltipMouse.show('Pick the child layer!', e);
 
3616
 
3617
+ var layerManager = nextend.smartSlider.layerManager;
3618
+ var layers = $(layerManager.mainLayerGroup.getChildLayersRecursive(true)).not(this.data.parent);
3619
+
3620
+ /**
3621
+ * Parent layers can not be child of one of their child layers.
3622
+ * @param layer
3623
+ */
3624
+ var recursiveRemoveParents = function (layer) {
3625
+ var pID = layer.data('layerObject').getProperty(false, 'parentid');
3626
+ if (pID && pID != '') {
3627
+ recursiveRemoveParents($('#' + pID));
3628
+ }
3629
+ layers = layers.not(layer);
3630
+ };
3631
+
3632
+ recursiveRemoveParents(this.data.parent);
3633
+
3634
+ if (!layers.length) {
3635
+ nextend.notificationCenter.error('There is no possible child layer for the selected parent layer!');
3636
+ this.destroy();
3637
+ return;
3638
  }
 
3639
 
3640
+ var overlays = $('<div class="n2-ss-picker-overlay"></div>').appendTo(layers)
3641
+ .on('click', $.proxy(function (e) {
3642
+ e.preventDefault();
3643
+ e.stopPropagation();
3644
+ var $layer = $(e.currentTarget).parent(),
3645
+ layer = $layer.data('layerObject');
3646
 
3647
+ this.data.child = $layer;
3648
 
3649
+ overlays.remove();
3650
+ this.pickChildAlign(e);
 
 
3651
 
3652
+ }, this));
3653
+ }
 
 
3654
 
3655
+ NextendElementLayerPicker.prototype.pickChildAlign = function (e) {
3656
+ this.status = STATUS.PICK_CHILD_ALIGN;
3657
 
3658
+ nextend.tooltipMouse.show('Pick the align point of the child layer!', e);
3659
 
3660
+ var overlays = $(OVERLAYS).appendTo(this.data.child)
3661
+ .on('click', $.proxy(function (e) {
3662
+ e.preventDefault();
3663
+ e.stopPropagation();
3664
 
3665
+ var $currentTarget = $(e.currentTarget);
3666
+ this.data.childHAlign = $currentTarget.data('align');
3667
+ this.data.childVAlign = $currentTarget.data('valign');
 
3668
 
3669
+ this.done();
 
3670
 
3671
+ }, this));
3672
+ }
 
3673
 
3674
+ NextendElementLayerPicker.prototype._destroy = function () {
3675
+ $('.n2-ss-picker-overlay').remove();
3676
+ $('.n2-ss-picker-overlay-tile').remove();
3677
+ }
3678
 
3679
+ NextendElementLayerPicker.prototype.destroy = function () {
3680
+ nextend.tooltipMouse.hide();
3681
+ this._destroy();
3682
+ $('body').off('.n2-ss-parent-linker');
3683
+ NextendEsc.pop();
3684
 
3685
+ this.status = STATUS.INITIALIZED;
3686
+ }
3687
+
3688
+ NextendElementLayerPicker.prototype.done = function () {
3689
+
3690
+ this.data.child.data('layerObject').parentPicked(this.data.parent.data('layerObject'), this.data.parentHAlign, this.data.parentVAlign, this.data.childHAlign, this.data.childVAlign);
3691
+ this.destroy();
3692
+ }
3693
+
3694
+ NextendElementLayerPicker.prototype.change = function (value) {
3695
+ this.element.val(value).trigger('change');
3696
+ this._setValue(value);
3697
+ this.triggerOutsideChange();
3698
  };
3699
 
3700
+ NextendElementLayerPicker.prototype.insideChange = function (value) {
3701
+ this.element.val(value);
3702
+ this._setValue(value);
3703
 
3704
+ this.triggerInsideChange();
3705
+ };
3706
+
3707
+ NextendElementLayerPicker.prototype._setValue = function (value) {
3708
+ if (value && value != '') {
3709
+ this.$container.css('display', '');
3710
  } else {
3711
+ this.$container.css('display', 'none');
 
 
3712
  }
 
3713
  };
3714
 
3715
+ scope.NextendElementLayerPicker = NextendElementLayerPicker;
3716
+
3717
+ })(n2, window);
3718
+ ;
3719
+ (function ($, scope) {
3720
+
3721
+ function NextendElementSliderType(id) {
3722
+ this.element = $('#' + id);
3723
+
3724
+ this.setAttribute();
3725
+
3726
+ this.element.on('nextendChange', $.proxy(this.setAttribute, this));
3727
  };
3728
 
3729
+ NextendElementSliderType.prototype.setAttribute = function () {
3730
 
3731
+ $('#n2-admin').attr('data-slider-type', this.element.val());
3732
+
3733
+ if (this.element.val() == 'block') {
3734
+ $('.n2-fm-shadow').trigger('click');
 
 
 
3735
  }
3736
  };
3737
 
3738
+ scope.NextendElementSliderType = NextendElementSliderType;
 
 
3739
 
3740
+ })(n2, window);
 
3741
 
3742
+ ;
3743
+ (function ($, scope) {
3744
 
3745
+ function NextendElementSliderWidgetArea(id) {
3746
+ this.element = $('#' + id);
3747
 
3748
+ this.area = $('#' + id + '_area');
3749
 
3750
+ this.areas = this.area.find('.n2-area');
 
 
 
 
3751
 
3752
+ this.areas.on('click', $.proxy(this.chooseArea, this));
 
 
3753
 
3754
+ NextendElement.prototype.constructor.apply(this, arguments);
3755
+ };
3756
 
 
3757
 
3758
+ NextendElementSliderWidgetArea.prototype = Object.create(NextendElement.prototype);
3759
+ NextendElementSliderWidgetArea.prototype.constructor = NextendElementSliderWidgetArea;
3760
 
 
 
 
3761
 
3762
+ NextendElementSliderWidgetArea.prototype.chooseArea = function (e) {
3763
+ var value = parseInt($(e.target).data('area'));
3764
 
3765
+ this.element.val(value);
3766
+ this.setSelected(value);
3767
 
3768
+ this.triggerOutsideChange();
3769
+ };
 
 
 
 
3770
 
3771
+ NextendElementSliderWidgetArea.prototype.insideChange = function (value) {
3772
+ value = parseInt(value);
3773
+ this.element.val(value);
3774
+ this.setSelected(value);
3775
 
3776
+ this.triggerInsideChange();
 
3777
  };
3778
 
3779
+ NextendElementSliderWidgetArea.prototype.setSelected = function (index) {
3780
+ this.areas.removeClass('n2-active');
3781
+ this.areas.eq(index - 1).addClass('n2-active');
 
 
 
3782
  };
3783
 
3784
+ scope.NextendElementSliderWidgetArea = NextendElementSliderWidgetArea;
 
 
3785
 
3786
+ })(n2, window);
 
3787
 
3788
+ "use strict";
3789
+ (function ($, scope) {
3790
+ function NextendElementWidgetPosition(id) {
3791
 
3792
+ this.element = $('#' + id + '-mode');
3793
+ this.container = this.element.closest('.n2-form-element-mixed');
3794
 
3795
+ this.tabs = this.container.find('> .n2-mixed-group');
 
 
3796
 
3797
+ this.element.on('nextendChange', $.proxy(this.onChange, this));
3798
+
3799
+ this.onChange();
3800
  };
3801
 
3802
+ NextendElementWidgetPosition.prototype.onChange = function () {
3803
+ var value = this.element.val();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3804
 
3805
+ if (value == 'advanced') {
3806
+ this.tabs.eq(2).css('display', '');
3807
+ this.tabs.eq(1).css('display', 'none');
3808
+ } else {
3809
+ this.tabs.eq(1).css('display', '');
3810
+ this.tabs.eq(2).css('display', 'none');
3811
  }
 
3812
  };
3813
 
3814
+ scope.NextendElementWidgetPosition = NextendElementWidgetPosition;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3815
 
3816
+ })(n2, window);
3817
 
3818
+ (function (smartSlider, $, scope, undefined) {
3819
+ "use strict";
3820
+ function Generator() {
3821
+ this._refreshTimeout = null;
3822
+ this.modal = false;
3823
+ this.group = 0;
3824
+ smartSlider.generator = this;
3825
+ var variables = smartSlider.$currentSlideElement.data('variables');
3826
+ if (variables) {
3827
+ this.variables = variables;
3828
 
3829
+ for (var i in this.variables) {
3830
+ if (!isNaN(parseFloat(i)) && isFinite(i)) {
3831
+ this.group = Math.max(this.group, parseInt(i) + 1);
3832
+ }
3833
  }
 
 
 
 
3834
 
3835
+ this.fill = this.generatorFill;
3836
+ if (this.group > 0) {
3837
+ this.registerField = this.generatorRegisterField;
 
 
3838
 
3839
+ this.button = $('<a href="#" class="n2-button n2-button-normal n2-button-xs n2-radius-s n2-button-blue n2-h5 n2-uc" style="position:absolute;right: -2px;top: -18px;">Variable</a>')
3840
+ .on('click', $.proxy(function (e) {
3841
+ e.preventDefault();
3842
+ this.showModal();
3843
+ }, this));
3844
+ this.registerField($('#slidetitle'));
3845
+ this.registerField($('#slidedescription'));
3846
+ this.registerField($('#slidethumbnail'));
3847
+ this.registerField($('#slidebackgroundImage'));
3848
+ this.registerField($('#slidebackgroundAlt'));
3849
+ this.registerField($('#slidebackgroundTitle'));
3850
+ this.registerField($('#slidebackgroundVideoMp4'));
3851
+ this.registerField($('#slidebackgroundVideoWebm'));
3852
+ this.registerField($('#slidebackgroundVideoOgg'));
3853
+ this.registerField($('#linkslidelink_0'));
3854
+ this.registerField($('#layergenerator-visible'));
3855
+ this.registerField($('#layergroup-generator-visible'));
3856
 
3857
+ $('body').addClass('n2-ss-dynamic-slide');
3858
+ //this.showModal();
3859
+ }
3860
 
3861
+ this.initSlideDataRefresh();
3862
+ } else {
3863
+ this.variables = null;
 
 
 
 
 
 
 
 
 
 
 
3864
  }
3865
  };
3866
 
3867
+ Generator.prototype.isDynamicSlide = function () {
3868
+ return this.group > 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3869
  };
3870
 
3871
+ Generator.prototype.splitTokens = function (input) {
3872
+ var tokens = [];
3873
+ var currentToken = "";
3874
+ var nestingLevel = 0;
3875
+ for (var i = 0; i < input.length; i++) {
3876
+ var currentChar = input[i];
3877
+ if (currentChar === "," && nestingLevel === 0) {
3878
+ tokens.push(currentToken);
3879
+ currentToken = "";
3880
+ } else {
3881
+ currentToken += currentChar;
3882
+ if (currentChar === "(") {
3883
+ nestingLevel++;
3884
+ }
3885
+ else if (currentChar === ")") {
3886
+ nestingLevel--;
3887
+ }
3888
+ }
3889
+ }
3890
+ if (currentToken.length) {
3891
+ tokens.push(currentToken);
3892
+ }
3893
+ return tokens;
3894
+ }
3895
 
3896
+ Generator.prototype.fill = function (value) {
3897
+ return value;
3898
  };
3899
 
3900
+ Generator.prototype.generatorFill = function (value) {
3901
+ return value.replace(/{((([a-z]+)\(([^}]+)\))|([a-zA-Z0-9][a-zA-Z0-9_\/]*))}/g, $.proxy(this.parseFunction, this));
3902
  };
3903
 
3904
+ Generator.prototype.parseFunction = function (s, s2, s3, functionName, argumentString, variable) {
3905
+ if (typeof variable == 'undefined') {
 
 
3906
 
3907
+ var args = this.splitTokens(argumentString);
3908
+ for (var i = 0; i < args.length; i++) {
3909
+ args[i] = this.parseVariable(args[i]);
3910
+ }
3911
+ return this[functionName].apply(this, args);
3912
+ } else {
3913
+ return this.parseVariable(variable);
3914
  }
3915
+ };
3916
 
3917
+ Generator.prototype.parseVariable = function (variable) {
3918
+ var _string = variable.match(/^("|')(.*)("|')$/);
3919
+ if (_string) {
3920
+ return _string[2];
3921
+ }
3922
 
3923
+ var functionMatch = variable.match(/((([a-z]+)\(([^}]+)\)))/);
3924
+ if (functionMatch) {
3925
+ return this.parseFunction.apply(this, functionMatch);
3926
+ } else {
3927
+ var variableMatch = variable.match(/([a-zA-Z][0-9a-zA-Z_]*)(\/([0-9a-z]+))?/);
3928
+ if (variableMatch) {
3929
+ var index = variableMatch[3];
3930
+ if (typeof index == 'undefined') {
3931
+ index = 0;
3932
+ } else {
3933
+ var i = parseInt(index);
3934
+ if (!isNaN(i)) {
3935
+ index = Math.max(index, 1) - 1;
3936
+ }
3937
+ }
3938
+ if (typeof this.variables[index] != 'undefined' && typeof this.variables[index][variableMatch[1]] != 'undefined') {
3939
+ return this.variables[index][variableMatch[1]];
3940
+ }
3941
+ return '';
3942
  }
3943
+ return variable;
3944
+ }
3945
+ };
3946
 
3947
+ Generator.prototype.fallback = function (variable, def) {
3948
+ if (variable == '') {
3949
+ return def;
 
 
 
 
 
 
3950
  }
3951
+ return variable;
3952
  };
3953
 
3954
+ Generator.prototype.cleanhtml = function (variable) {
3955
+ return strip_tags(variable, '<p><a><b><br /><br/><i>');
3956
  };
3957
 
3958
+ Generator.prototype.removehtml = function (variable) {
3959
+ return $('<div>' + variable + '</div>').text();
3960
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3961
 
3962
+ Generator.prototype.splitbychars = function (s, start, length) {
3963
+ return s.substr(start, length);
3964
+ };
3965
 
3966
+ Generator.prototype.splitbywords = function (variable, start, length) {
3967
+ var s = variable,
3968
+ len = s.length,
3969
+ posStart = Math.max(0, start == 0 ? 0 : s.indexOf(' ', start)),
3970
+ posEnd = Math.max(0, length > len ? len : s.indexOf(' ', length));
3971
+ if(posEnd == 0 && length <= len) posEnd = len;
3972
+ return s.substr(posStart, posEnd);
3973
+ };
3974
 
3975
+ Generator.prototype.findimage = function (variable, index) {
3976
+ var s = variable,
3977
+ re = /(<img.*?src=[\'"](.*?)[\'"][^>]*>)|(background(-image)??\s*?:.*?url\((["|\']?)?(.+?)(["|\']?)?\))/gi,
3978
+ r = [],
3979
+ tmp = null;
3980
 
3981
+ index = typeof index != 'undefined' ? parseInt(index) - 1 : 0;
 
 
 
3982
 
3983
+ while (tmp = re.exec(s)) {
3984
+ if (typeof tmp[2] != 'undefined') {
3985
+ r.push(tmp[2]);
3986
+ } else if (typeof tmp[6] != 'undefined') {
3987
+ r.push(tmp[6]);
3988
+ }
3989
+ }
3990
 
3991
+ if (r.length) {
3992
+ if (r.length > index) {
3993
+ return r[index];
3994
+ } else {
3995
+ return r[r.length - 1];
3996
+ }
3997
+ } else {
3998
+ return '';
3999
+ }
4000
  };
4001
 
4002
+ Generator.prototype.findlink = function (variable, index) {
4003
+ var s = variable,
4004
+ re = /href=["\']?([^"\'>]+)["\']?/gi,
4005
+ r = [],
4006
+ tmp = null;
4007
 
4008
+ index = typeof index != 'undefined' ? parseInt(index) - 1 : 0;
 
 
 
4009
 
4010
+ while (tmp = re.exec(s)) {
4011
+ if (typeof tmp[1] != 'undefined') {
4012
+ r.push(tmp[1]);
4013
+ }
4014
  }
 
4015
 
4016
+ if (r.length) {
4017
+ if (r.length > index) {
4018
+ return r[index];
4019
+ } else {
4020
+ return r[r.length - 1];
4021
+ }
4022
+ } else {
4023
+ return '';
4024
  }
 
 
 
 
 
4025
  };
4026
 
4027
+ Generator.prototype.removevarlink = function (variable) {
4028
+ var s = String(variable),
4029
+ re = /<a href=\"(.*?)\">(.*?)<\/a>/g;
4030
 
4031
+ return s.replace(re, '');
 
4032
  };
4033
 
4034
+ Generator.prototype.registerField = function (field) {
4035
+ };
4036
 
4037
+ Generator.prototype.generatorRegisterField = function (field) {
4038
+ var parent = field.parent();
4039
+ parent.on({
4040
+ mouseenter: $.proxy(function () {
4041
+ this.activeField = field;
4042
+ this.button.prependTo(parent);
4043
+ }, this)
4044
+ });
4045
+ };
4046
 
4047
+ Generator.prototype.getModal = function () {
4048
+ var that = this;
4049
+ if (!this.modal) {
4050
+ var active = {
4051
+ key: '',
4052
+ group: 1,
4053
+ filter: 'no',
4054
+ split: 'no',
4055
+ splitStart: 0,
4056
+ splitLength: 300,
4057
+ findImage: 0,
4058
+ findImageIndex: 1,
4059
+ findLink: 0,
4060
+ findLinkIndex: 1,
4061
+ removeVarLink: 0
4062
+ },
4063
+ getVariableString = function () {
4064
+ var variable = active.key + '/' + active.group;
4065
+ if (active.findImage) {
4066
+ variable = 'findimage(' + variable + ',' + Math.max(1, active.findImageIndex) + ')';
4067
+ }
4068
+ if (active.findLink) {
4069
+ variable = 'findlink(' + variable + ',' + Math.max(1, active.findLinkIndex) + ')';
4070
+ }
4071
+ if (active.removeVarLink) {
4072
+ variable = 'removevarlink(' + variable + ')';
4073
+ }
4074
+ if (active.filter != 'no') {
4075
+ variable = active.filter + '(' + variable + ')';
4076
+ }
4077
+ if (active.split != 'no' && active.splitStart >= 0 && active.splitLength > 0) {
4078
+ variable = active.split + '(' + variable + ',' + active.splitStart + ',' + active.splitLength + ')';
4079
+ }
4080
+ return '{' + variable + '}';
4081
+ },
4082
+ resultContainer = $('<div class="n2-generator-result-container" />'),
4083
+ updateResult = function () {
4084
+ resultContainer.html($('<div/>').text(that.fill(getVariableString())).html());
4085
+ };
4086
 
4087
+ var group = that.group,
4088
+ variables = null,
4089
+ groups = null,
4090
+ content = $('<div class="n2-generator-insert-variable"/>');
4091
 
 
 
 
4092
 
4093
+ var groupHeader = NextendModal.prototype.createHeading(n2_('Choose the group')).appendTo(content);
4094
+ var groupContainer = $('<div class="n2-group-container" />').appendTo(content);
4095
 
 
 
4096
 
4097
+ content.append(NextendModal.prototype.createHeading(n2_('Choose the variable')));
4098
+ var variableContainer = $('<div class="n2-variable-container" />').appendTo(content);
 
 
4099
 
4100
+ //content.append(NextendModal.prototype.createHeading('Functions'));
4101
+ var functionsContainer = $('<div class="n2-generator-functions-container n2-form-element-mixed" />')
4102
+ .appendTo($('<div class="n2-form" />').appendTo(content));
 
 
 
 
 
 
 
 
4103
 
4104
+ content.append(NextendModal.prototype.createHeading(n2_('Result')));
4105
+ resultContainer.appendTo(content);
 
 
 
4106
 
 
 
 
 
 
4107
 
4108
+ $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Filter') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select autocomplete="off" name="filter" id="n2-generator-function-filter"><option selected="selected" value="no">' + n2_('No') + '</option><option value="cleanhtml">' + n2_('Clean HTML') + '</option><option value="removehtml">' + n2_('Remove HTML') + '</option></select></div></div></div>')
4109
+ .appendTo(functionsContainer);
4110
+ var filter = functionsContainer.find('#n2-generator-function-filter');
4111
+ filter.on('change', $.proxy(function () {
4112
+ active.filter = filter.val();
4113
+ updateResult();
4114
+ }, this));
4115
 
 
 
 
 
 
 
 
 
 
 
 
4116
 
4117
+ $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Split by chars') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select autocomplete="off" name="split" id="n2-generator-function-split"><option selected="selected" value="no">' + n2_('No') + '</option><option value="splitbychars">' + n2_('Strict') + '</option><option value="splitbywords">' + n2_('Respect words') + '</option></select></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">' + n2_('Start') + '</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="0" id="n2-generator-function-split-start"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">' + n2_('Length') + '</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="300" id="n2-generator-function-split-length"></div></div></div>')
4118
+ .appendTo(functionsContainer);
4119
+ var split = functionsContainer.find('#n2-generator-function-split');
4120
+ split.on('change', $.proxy(function () {
4121
+ active.split = split.val();
4122
+ updateResult();
4123
+ }, this));
4124
+ var splitStart = functionsContainer.find('#n2-generator-function-split-start');
4125
+ splitStart.on('change', $.proxy(function () {
4126
+ active.splitStart = parseInt(splitStart.val());
4127
+ updateResult();
4128
+ }, this));
4129
+ var splitLength = functionsContainer.find('#n2-generator-function-split-length');
4130
+ splitLength.on('change', $.proxy(function () {
4131
+ active.splitLength = parseInt(splitLength.val());
4132
+ updateResult();
4133
+ }, this));
4134
 
 
 
4135
 
4136
+ $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Find image') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-findimage"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">' + n2_('Index') + '</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="1" id="n2-generator-function-findimage-index"></div></div></div>')
4137
+ .appendTo(functionsContainer);
4138
+
4139
+ var findImage = functionsContainer.find('#n2-generator-function-findimage');
4140
+ findImage.on('nextendChange', $.proxy(function () {
4141
+ active.findImage = parseInt(findImage.val());
4142
+ updateResult();
4143
+ }, this));
4144
+ var findImageIndex = functionsContainer.find('#n2-generator-function-findimage-index');
4145
+ findImageIndex.on('change', $.proxy(function () {
4146
+ active.findImageIndex = parseInt(findImageIndex.val());
4147
+ updateResult();
4148
+ }, this));
4149
 
 
 
 
4150
 
4151
+ $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Find link') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-findlink"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">' + n2_('Index') + '</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="1" id="n2-generator-function-findlink-index"></div></div></div>')
4152
+ .appendTo(functionsContainer);
 
4153
 
4154
+ var findLink = functionsContainer.find('#n2-generator-function-findlink');
4155
+ findLink.on('nextendChange', $.proxy(function () {
4156
+ active.findLink = parseInt(findLink.val());
4157
+ updateResult();
4158
+ }, this));
4159
+ var findLinkIndex = functionsContainer.find('#n2-generator-function-findlink-index');
4160
+ findLinkIndex.on('change', $.proxy(function () {
4161
+ active.findLinkIndex = parseInt(findLinkIndex.val());
4162
+ updateResult();
4163
+ }, this));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4164
 
 
 
 
 
 
4165
 
4166
+ $('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>' + n2_('Remove links') + '</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-removevarlink"></div></div></div>')
4167
+ .appendTo(functionsContainer);
 
 
 
 
4168
 
4169
+ var removeVarLink = functionsContainer.find('#n2-generator-function-removevarlink');
4170
+ removeVarLink.on('nextendChange', $.proxy(function () {
4171
+ active.removeVarLink = parseInt(removeVarLink.val());
4172
+ updateResult();
4173
+ }, this));
4174
+ var removeVarLinkIndex = functionsContainer.find('#n2-generator-function-removevarlink-index');
4175
+ removeVarLinkIndex.on('change', $.proxy(function () {
4176
+ active.removeVarLinkIndex = parseInt(removeVarLinkIndex.val());
4177
+ updateResult();
4178
+ }, this));
4179
 
4180
+ for (var k in this.variables[0]) {
4181
+ $('<a href="#" class="n2-button n2-button-normal n2-button-s n2-button-grey n2-radius-s">' + k + '</a>')
4182
+ .on('click', $.proxy(function (key, e) {
4183
+ e.preventDefault();
4184
+ variables.removeClass('n2-active');
4185
+ $(e.currentTarget).addClass('n2-active');
4186
+ active.key = key;
4187
+ updateResult();
4188
+ }, this, k))
4189
+ .appendTo(variableContainer);
4190
  }
4191
 
4192
+ variables = variableContainer.find('a');
4193
+ variables.eq(0).trigger('click');
 
4194
 
4195
+ if (group == 1) {
4196
+ groupHeader.css('display', 'none');
4197
+ groupContainer.css('display', 'none');
4198
+ }
4199
+ for (var i = 0; i < group; i++) {
4200
+ $('<a href="#" class="n2-button n2-button-normal n2-button-s n2-button-grey n2-radius-s">' + (i + 1) + '</a>')
4201
+ .on('click', $.proxy(function (groupIndex, e) {
4202
+ e.preventDefault();
4203
+ groups.removeClass('n2-active');
4204
+ $(e.currentTarget).addClass('n2-active');
4205
+ active.group = groupIndex + 1;
4206
+ updateResult();
4207
+ }, this, i))
4208
+ .appendTo(groupContainer);
4209
+ }
4210
+ groups = groupContainer.find('a');
4211
+ groups.eq(0).trigger('click');
4212
 
4213
+ var inited = false;
 
 
 
 
4214
 
4215
+ this.modal = new NextendModal({
4216
+ zero: {
4217
+ size: [
4218
+ 1000,
4219
+ group > 1 ? 560 : 490
4220
+ ],
4221
+ title: n2_('Insert variable'),
4222
+ back: false,
4223
+ close: true,
4224
+ content: content,
4225
+ controls: ['<a href="#" class="n2-button n2-button-normal n2-button-l n2-radius-s n2-button-green">' + n2_('Insert') + '</a>'],
4226
+ fn: {
4227
+ show: function () {
4228
+ if (!inited) {
4229
+ new NextendElementOnoff("n2-generator-function-findimage");
4230
+ new NextendElementOnoff("n2-generator-function-findlink");
4231
+ new NextendElementOnoff("n2-generator-function-removevarlink");
4232
+ inited = true;
4233
+ }
4234
+ this.controls.find('.n2-button').on('click', $.proxy(function (e) {
4235
+ e.preventDefault();
4236
+ that.insert(getVariableString());
4237
+ this.hide(e);
4238
+ }, this));
4239
+ }
4240
+ }
4241
+ }
4242
+ }, false);
4243
 
4244
+ this.modal.setCustomClass('n2-ss-generator-modal');
4245
+ }
4246
+ return this.modal;
4247
+ };
4248
 
4249
+ Generator.prototype.showModal = function () {
 
 
4250
 
4251
+ this.getModal().show();
4252
  };
4253
 
4254
+ Generator.prototype.insert = function (value) {
4255
+ this.activeField.val(value).trigger('change');
 
 
 
 
 
 
4256
  };
4257
 
4258
+ Generator.prototype.initSlideDataRefresh = function () {
 
 
 
4259
 
4260
+ var name = $('#slidetitle').on('nextendChange', $.proxy(function () {
4261
+ this.variables.slide.name = name.val();
4262
+ this.refresh();
4263
+ }, this));
4264
 
4265
+ var description = $('#slidedescription').on('nextendChange', $.proxy(function () {
4266
+ this.variables.slide.description = description.val();
4267
+ this.refresh();
4268
+ }, this));
4269
 
4270
+ };
 
 
 
 
 
 
4271
 
 
 
 
 
4272
 
4273
+ Generator.prototype.refresh = function () {
4274
+ if (this._refreshTimeout) {
4275
+ clearTimeout(this._refreshTimeout);
4276
+ this._refreshTimeout = null;
4277
+ }
4278
+ this._refreshTimeout = setTimeout($.proxy(this._refresh, this), 100);
4279
  };
4280
 
4281
+ Generator.prototype._refresh = function () {
4282
+ var layers = smartSlider.layerManager.layerList;
4283
+ for (var j = 0; j < layers.length; j++) {
4284
+ var items = layers[j].items;
4285
+ for (var i = 0; i < items.length; i++) {
4286
+ items[i].reRender();
4287
+ }
4288
+ }
4289
+ };
4290
 
 
4291
 
4292
+ scope.SmartSliderAdminGenerator = Generator;
 
 
4293
 
4294
+ })(nextend.smartSlider, n2, window);
4295
+ (function ($, scope, undefined) {
4296
 
4297
+ function GeneratorRecords(ajaxUrl) {
4298
+ this.ajaxUrl = ajaxUrl;
 
 
4299
 
4300
+ $("#generatorrecord-viewer").on("click", $.proxy(this.showRecords, this));
 
 
 
4301
  };
4302
 
4303
+ GeneratorRecords.prototype.showRecords = function (e) {
4304
+ e.preventDefault();
4305
+ NextendAjaxHelper.ajax({
4306
+ type: "POST",
4307
+ url: this.ajaxUrl,
4308
+ data: $("#smartslider-form").serialize(),
4309
+ dataType: "json"
4310
+ }).done(function (response) {
4311
+ var modal = new NextendModal({
4312
+ zero: {
4313
+ size: [
4314
+ 1300,
4315
+ 700
4316
+ ],
4317
+ title: "Records",
4318
+ content: response.data.html
4319
+ }
4320
+ }, true);
4321
+ modal.content.css('overflow', 'auto');
4322
+ }).error(function (response) {
4323
+ if (response.status == 200) {
4324
+ var modal = new NextendModal({
4325
+ zero: {
4326
+ size: [
4327
+ 1300,
4328
+ 700
4329
+ ],
4330
+ title: "Response",
4331
+ content: response.responseText
4332
+ }
4333
+ }, true);
4334
+ modal.content.css('overflow', 'auto');
4335
+ }
4336
+ });
4337
  };
4338
 
4339
+ scope.NextendSmartSliderGeneratorRecords = GeneratorRecords;
4340
+ })(n2, window);
4341
+ (function (smartSlider, $, scope, undefined) {
 
 
 
4342
 
4343
+ function Item(item, layer, itemEditor, createPosition) {
4344
+ this.item = item;
4345
+ this.layer = layer;
4346
+ this.itemEditor = itemEditor;
4347
 
4348
+ this.type = this.item.data('item');
4349
+ this.values = this.item.data('itemvalues');
4350
 
4351
+ if (typeof this.values !== 'object') {
4352
+ this.values = $.parseJSON(this.values);
4353
+ }
4354
 
4355
+ if (scope['NextendSmartSliderItemParser_' + this.type] !== undefined) {
4356
+ this.parser = new scope['NextendSmartSliderItemParser_' + this.type](this, itemEditor.getItemType(this.type));
4357
+ } else {
4358
+ this.parser = new scope['NextendSmartSliderItemParser'](this);
4359
+ }
4360
+ this.item.data('item', this);
4361
 
4362
+ if (typeof createPosition !== 'undefined') {
4363
+ if (this.layer.items.length == 0 || this.layer.items.length <= createPosition) {
4364
+ this.item.appendTo(this.layer.layer);
4365
+ } else {
4366
+ this.layer.items[createPosition].item.before(this.item);
4367
+ }
4368
  }
 
4369
 
4370
+ if (typeof createPosition === 'undefined' || this.layer.items.length == 0 || this.layer.items.length <= createPosition) {
4371
+ this.layer.items.push(this);
4372
+ } else {
4373
+ this.layer.items.splice(createPosition, 0, this);
4374
  }
4375
 
4376
+ if (this.item.children().length === 0) {
4377
+ this.reRender();
4378
+ }
 
 
4379
 
 
 
4380
 
4381
+ $('<div/>')
4382
+ .addClass('ui-helper ui-item-overlay')
4383
+ .css('zIndex', 89)
4384
+ .appendTo(this.item);
4385
 
4386
+ $(window).trigger('ItemCreated');
 
 
 
 
 
 
 
4387
  };
4388
 
4389
+ Item.prototype.changeValue = function (property, value) {
4390
+ if (this == this.itemEditor.activeItem) {
4391
+ $('#item_' + this.type + property).data('field')
4392
+ .insideChange(value);
4393
+ } else {
4394
+ this.values[property] = value;
4395
  }
4396
+ };
4397
 
4398
+ Item.prototype.activate = function (e, context, force) {
4399
+ if (this.itemEditor.setActiveItem(this, context, force)) {
4400
+ this.parser.activate();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4401
  }
4402
  };
4403
 
4404
+ Item.prototype.deActivate = function () {
4405
+ this.parser.deActivate();
4406
+ };
 
4407
 
4408
+ Item.prototype.render = function (html, data, originalData) {
4409
+ this.layer.layer.triggerHandler('itemRender');
4410
+ this.item.html(this.parser.render(html, data));
4411
 
4412
+ // These will be available on the backend render
4413
+ this.values = originalData;
4414
 
4415
+ $('<div/>')
4416
+ .addClass('ui-helper ui-item-overlay')
4417
+ .css('zIndex', 89)
4418
+ .appendTo(this.item);
 
 
 
 
 
 
 
 
 
4419
 
4420
+ var layerName = this.parser.getName(data);
4421
+ if (layerName === false) {
4422
+ layerName = this.type;
4423
+ } else {
4424
+ layerName = layerName.replace(/[<>]/gi, '');
 
 
 
4425
  }
4426
+ this.layer.rename(layerName, false);
4427
 
4428
+ this.layer.update();
4429
  };
4430
 
4431
+ Item.prototype.reRender = function (newData) {
 
 
4432
 
4433
+ var data = {},
4434
+ itemEditor = this.itemEditor,
4435
+ form = itemEditor.getItemType(this.type),
4436
+ html = form.template;
4437
 
4438
+ for (var name in this.values) {
4439
+ data[name] = this.values[name];
4440
+ //$.extend(data, this.parser.parse(name, data[name]));
4441
+ }
4442
 
4443
+ data = $.extend({}, this.parser.getDefault(), data, newData);
 
 
4444
 
4445
+ var originalData = $.extend({}, data);
 
 
4446
 
4447
+ this.parser.parseAll(data, this);
4448
+ this.values = originalData;
4449
 
4450
+ for (var k in data) {
4451
+ var reg = new RegExp('\\{' + k + '\\}', 'g');
4452
+ html = html.replace(reg, data[k]);
4453
  }
 
4454
 
4455
+ this.render($(html), data, this.values);
4456
+ };
4457
 
4458
+ Item.prototype.duplicate = function () {
4459
+ this.layer.addItem(this.getHTML(), true);
 
 
 
 
4460
  };
4461
 
4462
+ Item.prototype.delete = function () {
4463
+ this.item.trigger('mouseleave');
4464
+ this.item.remove();
 
 
 
 
 
 
4465
 
4466
+ if (this.itemEditor.activeItem == this) {
4467
+ this.itemEditor.activeItem = null;
4468
+ }
 
4469
 
4470
+ };
 
 
 
4471
 
4472
+ Item.prototype.getHTML = function (base64) {
4473
+ var item = '';
4474
+ if (base64) {
 
4475
 
4476
+ item = '[' + this.type + ' values="' + Base64.encode(JSON.stringify(this.values)) + '"]';
4477
+ } else {
4478
+ item = $('<div class="n2-ss-item n2-ss-item-' + this.type + '"></div>')
4479
+ .attr('data-item', this.type)
4480
+ .attr('data-itemvalues', JSON.stringify(this.values));
4481
  }
4482
+ return item;
4483
  };
4484
 
4485
+ Item.prototype.getData = function () {
4486
+ return {
4487
+ type: this.type,
4488
+ values: this.values
 
4489
  };
4490
  };
4491
 
 
4492
 
4493
+ Item.prototype.history = function (method, value, other) {
4494
+ switch (method) {
4495
+ case 'updateCurrentItem':
4496
+ this.reRender($.extend(true, {}, value));
4497
+ this.values = value;
4498
+ this.itemEditor.setActiveItem(this, null, true);
4499
+ break;
 
 
4500
  }
 
4501
  };
4502
 
4503
+ scope.NextendSmartSliderItem = Item;
4504
+ })(nextend.smartSlider, n2, window);
4505
+ (function (smartSlider, $, scope, undefined) {
4506
+
4507
+ function ItemManager(layerEditor) {
4508
+ this.suppressChange = false;
4509
 
4510
+ this.activeItemOriginalData = null;
4511
 
4512
+ this.layerEditor = layerEditor;
 
 
4513
 
4514
+ this._initInstalledItems();
 
 
4515
 
4516
+ this.form = {};
4517
+ this.activeForm = {
4518
+ form: $('<div></div>')
4519
+ };
4520
+ }
4521
 
4522
+ ItemManager.prototype.setActiveItem = function (item, context, force) {
4523
+ if (item != this.activeItem || force) {
4524
+ this.activeItemOriginalData = null;
4525
 
4526
+ var type = item.type,
4527
+ values = item.values;
4528
 
4529
+ this.activeForm.form.css('display', 'none');
 
 
 
 
 
4530
 
4531
+ this.activeForm = this.getItemType(type);
 
 
 
4532
 
4533
+ if (this.activeItem) {
4534
+ this.activeItem.deActivate();
4535
+ }
 
4536
 
4537
+ this.activeItem = item;
 
 
 
 
 
4538
 
4539
+ this.suppressChange = true;
 
 
 
 
 
 
4540
 
4541
+ for (var key in values) {
4542
+ var field = $('#item_' + type + key).data('field');
4543
+ if (field) {
4544
+ field.insideChange(values[key]);
4545
+ }
4546
+ }
4547
 
4548
+ this.suppressChange = false;
 
 
4549
 
4550
+ this.activeForm.form.css('display', 'block');
4551
+ this.focusFirst(context);
4552
+ return true;
4553
+ }
4554
+ //this.focusFirst(context);
4555
+ return false;
4556
  };
4557
 
4558
+ ItemManager.prototype.focusFirst = function (context) {
4559
+ var field = this.activeForm.fields.eq(0).data('field');
4560
+ if (nextend.smartSlider.generator.isDynamicSlide() && field.connectedField && field.connectedField instanceof NextendElementImage) {
4561
 
4562
+ } else {
4563
+ this.activeForm.fields.eq(0).data('field').focus(typeof context !== 'undefined' && context);
4564
+ }
4565
+ }
4566
 
4567
+ ItemManager.prototype._initInstalledItems = function () {
 
 
4568
 
4569
+ $('.n2-ss-core-item')
4570
+ .on('click', $.proxy(function (e) {
4571
+ this.createLayerItem(this.layerEditor.getActiveGroup(), $(e.currentTarget).data('item'), 'click');
4572
+ }, this));
4573
  };
4574
 
4575
+ ItemManager.prototype.createLayerItem = function (group, type, interaction) {
4576
 
4577
+ group = group || this.layerEditor.getActiveGroup();
 
4578
 
4579
+ var itemData = this.getItemType(type),
4580
+ layer = this.layerEditor.createLayer(group, $('.n2-ss-core-item-' + type).data('layerproperties'));
 
4581
 
4582
+ var itemNode = $('<div></div>').data('item', type).data('itemvalues', $.extend(true, {}, itemData.values))
4583
+ .addClass('n2-ss-item n2-ss-item-' + type);
 
4584
 
4585
+ var item = new scope.NextendSmartSliderItem(itemNode, layer, this, 0);
4586
+ if (interaction && interaction == "click") {
4587
+ layer.layer.trigger('mousedown', ['create']).trigger('mouseup', ['create']).trigger('click', ['create']);
4588
+ } else {
4589
+ layer.activate();
4590
+ }
4591
 
4592
+ smartSlider.sidebarManager.switchTab('item');
 
 
 
4593
 
4594
+ smartSlider.history.add($.proxy(function () {
4595
+ return [this, 'createLayer', 'create', 'delete', [group, item, type]];
4596
+ }, this));
4597
+
4598
+ return item;
4599
+ };
4600
+
4601
+ /**
4602
+ * Initialize an item type and subscribe the field changes on that type.
4603
+ * We use event normalization to stop not necessary rendering.
4604
+ * @param type
4605
+ * @private
4606
+ */
4607
+ ItemManager.prototype.getItemType = function (type) {
4608
+ if (this.form[type] === undefined) {
4609
+ var form = $('#smartslider-slide-toolbox-item-type-' + type),
4610
+ formData = {
4611
+ form: form,
4612
+ template: form.data('itemtemplate'),
4613
+ values: form.data('itemvalues'),
4614
+ fields: form.find('[name^="item_' + type + '"]'),
4615
+ fieldNameRegexp: new RegExp('item_' + type + "\\[(.*?)\\]", "")
4616
  };
4617
+ formData.fields.on({
4618
+ nextendChange: $.proxy(this.updateCurrentItem, this),
4619
+ keydown: $.proxy(this.updateCurrentItemDeBounced, this)
4620
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4621
 
4622
+ this.form[type] = formData;
4623
+ }
4624
+ return this.form[type];
4625
+ };
 
 
 
 
 
 
 
4626
 
4627
+ /**
4628
+ * This function renders the current item with the current values of the related form field.
4629
+ */
4630
+ ItemManager.prototype.updateCurrentItem = function (e) {
4631
+ if (!this.suppressChange) {
4632
+ if (this.activeItemOriginalData === null) {
4633
+ this.activeItemOriginalData = $.extend({}, this.activeItem.values);
4634
+ }
4635
+ var data = {},
4636
+ originalData = {},
4637
+ form = this.form[this.activeItem.type],
4638
+ html = form.template,
4639
+ parser = this.activeItem.parser;
4640
 
4641
+ // Get the current values of the fields
4642
+ // Run through the related item filter
4643
+ // Replace the variables in the template of the item type
4644
+ form.fields.each($.proxy(function (i, field) {
4645
+ var field = $(field),
4646
+ name = field.attr('name').match(form.fieldNameRegexp)[1];
4647
 
4648
+ originalData[name] = data[name] = field.val();
 
4649
 
4650
+ }, this));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4651
 
4652
+ data = $.extend({}, parser.getDefault(), data);
4653
+
4654
+ parser.parseAll(data, this.activeItem);
4655
+ for (var k in data) {
4656
+ var reg = new RegExp('\\{' + k + '\\}', 'g');
4657
+ html = html.replace(reg, data[k]);
4658
  }
4659
+ if (e && e.type == 'nextendChange') {
4660
+ smartSlider.history.add($.proxy(function () {
4661
+ return [this.activeItem, 'updateCurrentItem', $.extend({}, originalData), this.activeItemOriginalData, []];
4662
+ }, this));
4663
 
4664
+ this.activeItemOriginalData = null;
 
 
 
 
4665
  }
4666
+ this.activeItem.render($(html), data, originalData);
4667
  }
4668
+ };
4669
 
4670
+ ItemManager.prototype.updateCurrentItemDeBounced = NextendDeBounce(function (e) {
4671
+ this.updateCurrentItem(e);
4672
+ }, 100);
4673
 
 
 
 
 
 
 
4674
 
4675
+ ItemManager.prototype.history = function (method, value, other) {
4676
+ switch (method) {
4677
+ case 'createLayer':
4678
+ switch (value) {
4679
+ case 'delete':
4680
+ other[1].layer.delete();
4681
+ break;
4682
+ case 'create':
4683
+ var item = this.createLayerItem(other[0], other[2]);
4684
+ smartSlider.history.changeFuture(other[1].layer, item.layer);
4685
+ smartSlider.history.changeFuture(other[1], item);
4686
+ break;
4687
+ }
4688
+ break;
4689
  }
4690
+ };
4691
 
4692
+ scope.NextendSmartSliderItemManager = ItemManager;
 
 
4693
 
4694
+ })(nextend.smartSlider, n2, window);
4695
+ (function ($, scope, undefined) {
 
4696
 
4697
+ function ItemParser(item, formData) {
4698
+ this.pre = 'div#' + nextend.smartSlider.frontend.sliderElement.attr('id') + ' ';
4699
+ this.formData = formData;
4700
+ this.item = item;
4701
 
4702
+ this.fonts = [];
4703
+ this.styles = [];
 
4704
 
4705
+ this.needFill = [];
4706
+ this.added();
4707
+ }
4708
 
4709
+ ItemParser.prototype.getDefault = function () {
4710
+ return {};
4711
+ };
4712
 
4713
+ ItemParser.prototype.added = function () {
 
 
4714
 
4715
+ };
4716
+
4717
+ ItemParser.prototype.addedFont = function (mode, name) {
4718
+ var $input = $('#item_' + this.item.type + name);
4719
+ if ($input.length) {
4720
+ this.fonts.push({
4721
+ mode: mode,
4722
+ name: name,
4723
+ field: $input.data('field'),
4724
+ def: this.formData.values[name]
4725
+ });
4726
+ $.when(nextend.fontManager.addVisualUsage(mode, this.item.values[name], this.pre))
4727
+ .done($.proxy(function (existsFont) {
4728
+ if (!existsFont) {
4729
+ this.item.changeValue(name, '');
4730
+ }
4731
+ }, this));
4732
  }
4733
+ };
4734
 
4735
+ ItemParser.prototype.addedStyle = function (mode, name) {
4736
+ var $input = $('#item_' + this.item.type + name);
4737
+ if ($input.length) {
4738
+ this.styles.push({
4739
+ mode: mode,
4740
+ name: name,
4741
+ field: $input.data('field'),
4742
+ def: this.formData.values[name]
4743
+ });
4744
+
4745
+ $.when(nextend.styleManager.addVisualUsage(mode, this.item.values[name], this.pre))
4746
+ .done($.proxy(function (existsStyle) {
4747
+ if (!existsStyle) {
4748
+ this.item.changeValue(name, '');
4749
+ }
4750
+ }, this));
4751
  }
4752
 
4753
+ };
4754
+
4755
+ ItemParser.prototype.parseAll = function (data, item) {
4756
+
4757
+ for (var i = 0; i < this.fonts.length; i++) {
4758
+ data[this.fonts[i].name + 'class'] = nextend.fontManager.getClass(data[this.fonts[i].name], this.fonts[i].mode) + ' ';
4759
  }
4760
 
4761
+ for (var i = 0; i < this.styles.length; i++) {
4762
+ data[this.styles[i].name + 'class'] = nextend.styleManager.getClass(data[this.styles[i].name], this.styles[i].mode) + ' ';
4763
  }
 
 
4764
 
4765
+ for (var i = 0; i < this.needFill.length; i++) {
4766
+ if (typeof data[this.needFill[i]] !== 'undefined') {
4767
+ data[this.needFill[i]] = nextend.smartSlider.generator.fill(data[this.needFill[i]] + '');
4768
+ }
4769
+ }
4770
+ };
4771
+
4772
+ ItemParser.prototype.render = function (node, data) {
4773
+ return node;
4774
+ };
4775
+
4776
+ ItemParser.prototype.getName = function (data) {
4777
+ return false;
4778
+ };
4779
+
4780
+ ItemParser.prototype.resizeLayerToImage = function (item, image) {
4781
+ $("<img/>")
4782
+ .attr("src", image)
4783
+ .load(function () {
4784
+ var slideSize = item.layer.layerEditor.slideSize;
4785
+ var maxWidth = slideSize.width,
4786
+ maxHeight = slideSize.height;
4787
+
4788
+ if (this.width > 0 && this.height > 0) {
4789
+ maxWidth = parseInt(Math.min(this.width, maxWidth));
4790
+ maxHeight = parseInt(Math.min(this.height, maxHeight));
4791
+ nextend.smartSlider.history.off();
4792
+ if (slideSize.width / slideSize.height <= maxWidth / maxHeight) {
4793
+ item.layer.setProperty('width', maxWidth);
4794
+ item.layer.setProperty('height', this.height * maxWidth / this.width);
4795
+ } else {
4796
+ var width = Math.min(this.width * slideSize.height / this.height, maxWidth);
4797
+ item.layer.setProperty('width', width);
4798
+ item.layer.setProperty('height', this.height * width / this.width);
4799
+ }
4800
+ nextend.smartSlider.history.on();
4801
+ }
4802
+ });
4803
+ };
4804
+
4805
+ ItemParser.prototype.fitLayer = function (item) {
4806
+ return false;
4807
+ };
4808
+
4809
+ ItemParser.prototype.activate = function () {
4810
+ nextend.basicCSS.activate('ss3item' + this.item.type, this.item.values, {
4811
+ font: this.fonts,
4812
+ style: this.styles
4813
+ });
4814
+ }
4815
+
4816
+ ItemParser.prototype.deActivate = function () {
4817
+ nextend.basicCSS.deActivate();
4818
+ }
4819
+
4820
+ scope.NextendSmartSliderItemParser = ItemParser;
4821
+
4822
+ })(n2, window);
4823
+ (function ($, scope, undefined) {
4824
+
4825
+ function ItemParserButton() {
4826
+ NextendSmartSliderItemParser.apply(this, arguments);
4827
+ };
4828
+
4829
+ ItemParserButton.prototype = Object.create(NextendSmartSliderItemParser.prototype);
4830
+ ItemParserButton.prototype.constructor = ItemParserButton;
4831
+
4832
+ ItemParserButton.prototype.added = function () {
4833
+ this.needFill = ['content', 'url'];
4834
+ this.addedFont('link', 'font');
4835
+ this.addedStyle('button', 'style');
4836
+
4837
+ nextend.smartSlider.generator.registerField($('#item_buttoncontent'));
4838
+ nextend.smartSlider.generator.registerField($('#linkitem_buttonlink_0'));
4839
+ };
4840
+
4841
+ ItemParserButton.prototype.getName = function (data) {
4842
+ return data.content;
4843
+ };
4844
+
4845
+ ItemParserButton.prototype.parseAll = function (data) {
4846
+ var link = data.link.split('|*|');
4847
+ data.url = link[0];
4848
+ data.target = link[1];
4849
+ delete data.link;
4850
+
4851
+ if (data.fullwidth | 0) {
4852
+ data.display = 'block;';
4853
+ } else {
4854
+ data.display = 'inline-block;';
4855
+ }
4856
+
4857
+ data.extrastyle = data.nowrap | 0 ? 'white-space: nowrap;' : '';
4858
+
4859
+ NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
4860
+ };
4861
+
4862
+ scope.NextendSmartSliderItemParser_button = ItemParserButton;
4863
+ })(n2, window);
4864
+ (function ($, scope, undefined) {
4865
+
4866
+ function ItemParserHeading() {
4867
+ NextendSmartSliderItemParser.apply(this, arguments);
4868
+ };
4869
+
4870
+ ItemParserHeading.prototype = Object.create(NextendSmartSliderItemParser.prototype);
4871
+ ItemParserHeading.prototype.constructor = ItemParserHeading;
4872
+
4873
+ ItemParserHeading.prototype.getDefault = function () {
4874
+ return {
4875
+ link: '#|*|_self',
4876
+ font: '',
4877
+ style: ''
4878
+ }
4879
+ };
4880
+
4881
+ ItemParserHeading.prototype.added = function () {
4882
+ this.needFill = ['heading', 'url'];
4883
+
4884
+ this.addedFont('hover', 'font');
4885
+ this.addedStyle('heading', 'style');
4886
+
4887
+ nextend.smartSlider.generator.registerField($('#item_headingheading'));
4888
+ nextend.smartSlider.generator.registerField($('#linkitem_headinglink_0'));
4889
+
4890
+ };
4891
+
4892
+ ItemParserHeading.prototype.getName = function (data) {
4893
+ return data.heading;
4894
+ };
4895
+
4896
+ ItemParserHeading.prototype.parseAll = function (data) {
4897
+
4898
+ data.uid = $.fn.uid();
4899
+
4900
+ var link = data.link.split('|*|');
4901
+ data.url = link[0];
4902
+ data.target = link[1];
4903
+ delete data.link;
4904
+
4905
+
4906
+ if (data.fullwidth | 0) {
4907
+ data.display = 'block;';
4908
+ } else {
4909
+ data.display = 'inline-block;';
4910
+ }
4911
+
4912
+ data.extrastyle = data.nowrap | 0 ? 'white-space: nowrap;' : '';
4913
+
4914
+ data.heading = $('<div>' + data.heading + '</div>').text().replace(/\n/g, '<br />');
4915
+ data.priority = 2;
4916
+ data.class = '';
4917
+
4918
+
4919
+ NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
4920
+
4921
+ if (data['url'] == '#' || data['url'] == '') {
4922
+ data['afontclass'] = '';
4923
+ data['astyleclass'] = '';
4924
+ } else {
4925
+ data['afontclass'] = data['fontclass'];
4926
+ data['fontclass'] = '';
4927
+ data['astyleclass'] = data['styleclass'];
4928
+ data['styleclass'] = '';
4929
+ }
4930
+ };
4931
+
4932
+ ItemParserHeading.prototype.render = function (node, data) {
4933
+ if (data['url'] == '#' || data['url'] == '') {
4934
+ var a = node.find('a');
4935
+ a.parent().html(a.html());
4936
+ }
4937
+ return node;
4938
+ }
4939
+
4940
+ scope.NextendSmartSliderItemParser_heading = ItemParserHeading;
4941
+ })(n2, window);
4942
+ (function ($, scope, undefined) {
4943
+
4944
+ function ItemParserImage() {
4945
+ NextendSmartSliderItemParser.apply(this, arguments);
4946
+ };
4947
+
4948
+ ItemParserImage.prototype = Object.create(NextendSmartSliderItemParser.prototype);
4949
+ ItemParserImage.prototype.constructor = ItemParserImage;
4950
+
4951
+ ItemParserImage.prototype.getDefault = function () {
4952
+ return {
4953
+ size: '100%|*|auto',
4954
+ link: '#|*|_self',
4955
+ style: ''
4956
+ }
4957
+ };
4958
+
4959
+ ItemParserImage.prototype.added = function () {
4960
+ this.needFill = ['image', 'url'];
4961
+
4962
+ this.addedStyle('box', 'style');
4963
+
4964
+ nextend.smartSlider.generator.registerField($('#item_imageimage'));
4965
+ nextend.smartSlider.generator.registerField($('#item_imagealt'));
4966
+ nextend.smartSlider.generator.registerField($('#item_imagetitle'));
4967
+ nextend.smartSlider.generator.registerField($('#linkitem_imagelink_0'));
4968
+ };
4969
+
4970
+ ItemParserImage.prototype.getName = function (data) {
4971
+ return data.image.split('/').pop();
4972
+ };
4973
+
4974
+ ItemParserImage.prototype.parseAll = function (data, item) {
4975
+ var size = data.size.split('|*|');
4976
+ data.width = size[0];
4977
+ data.height = size[1];
4978
+ delete data.size;
4979
+
4980
+ var link = data.link.split('|*|');
4981
+ data.url = link[0];
4982
+ data.target = link[1];
4983
+ delete data.link;
4984
+
4985
+ NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
4986
+
4987
+ if (item && item.values.image == '$system$/images/placeholder/image.png' && data.image != item.values.image) {
4988
+ data.image = nextend.imageHelper.fixed(data.image);
4989
+ this.resizeLayerToImage(item, data.image);
4990
+ } else {
4991
+ data.image = nextend.imageHelper.fixed(data.image);
4992
+ }
4993
+
4994
+ };
4995
+
4996
+ ItemParserImage.prototype.fitLayer = function (item) {
4997
+ this.resizeLayerToImage(item, nextend.imageHelper.fixed(item.values.image));
4998
+ return true;
4999
+ };
5000
+
5001
+ ItemParserImage.prototype.render = function (node, data) {
5002
+ if (data['url'] == '#') {
5003
+ node.html(node.children('a').html());
5004
+ }
5005
+ return node;
5006
+ };
5007
+
5008
+ scope.NextendSmartSliderItemParser_image = ItemParserImage;
5009
+ })(n2, window);
5010
+
5011
+ (function ($, scope, undefined) {
5012
+
5013
+ function ItemParserText() {
5014
+ NextendSmartSliderItemParser.apply(this, arguments);
5015
+ };
5016
+
5017
+ ItemParserText.prototype = Object.create(NextendSmartSliderItemParser.prototype);
5018
+ ItemParserText.prototype.constructor = ItemParserText;
5019
+
5020
+ ItemParserText.prototype.getDefault = function () {
5021
+ return {
5022
+ contentmobile: '',
5023
+ contenttablet: '',
5024
+ font: '',
5025
+ style: ''
5026
+ }
5027
+ };
5028
+
5029
+ ItemParserText.prototype.added = function () {
5030
+ this.needFill = ['content', 'contenttablet', 'contentmobile'];
5031
+
5032
+ this.addedFont('paragraph', 'font');
5033
+ this.addedStyle('heading', 'style');
5034
+
5035
+ nextend.smartSlider.generator.registerField($('#item_textcontent'));
5036
+ nextend.smartSlider.generator.registerField($('#item_textcontenttablet'));
5037
+ nextend.smartSlider.generator.registerField($('#item_textcontentmobile'));
5038
+ };
5039
+
5040
+ ItemParserText.prototype.getName = function (data) {
5041
+ return data.content;
5042
+ };
5043
+
5044
+ ItemParserText.prototype.parseAll = function (data) {
5045
+ NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
5046
+
5047
+ data['p'] = _wp_Autop(data['content']);
5048
+ data['ptablet'] = _wp_Autop(data['contenttablet']);
5049
+ data['pmobile'] = _wp_Autop(data['contentmobile']);
5050
+ };
5051
+ ItemParserText.prototype.render = function (node, data) {
5052
+ if (data['contenttablet'] == '') {
5053
+ node = node.filter(':not(.n2-ss-tablet)');
5054
+ node.filter('.n2-ss-desktop').addClass('n2-ss-tablet');
5055
+ }
5056
+ if (data['contentmobile'] == '') {
5057
+ node = node.filter(':not(.n2-ss-mobile)');
5058
+ node.filter('.n2-ss-tablet, .n2-ss-desktop').last().addClass('n2-ss-mobile');
5059
+ }
5060
+
5061
+ node.find('p').addClass(data['fontclass'] + ' ' + data['styleclass']);
5062
+ node.find('a').on('click', function (e) {
5063
+ e.preventDefault();
5064
+ });
5065
+ return node;
5066
+ };
5067
+
5068
+ scope.NextendSmartSliderItemParser_text = ItemParserText;
5069
+
5070
+ function _wp_Autop(pee) {
5071
+ var preserve_linebreaks = false,
5072
+ preserve_br = false,
5073
+ blocklist = 'table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre' +
5074
+ '|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section' +
5075
+ '|article|aside|hgroup|header|footer|nav|figure|details|menu|summary';
5076
+
5077
+ if (pee.indexOf('<object') !== -1) {
5078
+ pee = pee.replace(/<object[\s\S]+?<\/object>/g, function (a) {
5079
+ return a.replace(/[\r\n]+/g, '');
5080
+ });
5081
+ }
5082
+
5083
+ pee = pee.replace(/<[^<>]+>/g, function (a) {
5084
+ return a.replace(/[\r\n]+/g, ' ');
5085
+ });
5086
+
5087
+ // Protect pre|script tags
5088
+ if (pee.indexOf('<pre') !== -1 || pee.indexOf('<script') !== -1) {
5089
+ preserve_linebreaks = true;
5090
+ pee = pee.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function (a) {
5091
+ return a.replace(/(\r\n|\n)/g, '<wp-line-break>');
5092
+ });
5093
+ }
5094
+
5095
+ // keep <br> tags inside captions and convert line breaks
5096
+ if (pee.indexOf('[caption') !== -1) {
5097
+ preserve_br = true;
5098
+ pee = pee.replace(/\[caption[\s\S]+?\[\/caption\]/g, function (a) {
5099
+ // keep existing <br>
5100
+ a = a.replace(/<br([^>]*)>/g, '<wp-temp-br$1>');
5101
+ // no line breaks inside HTML tags
5102
+ a = a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function (b) {
5103
+ return b.replace(/[\r\n\t]+/, ' ');
5104
+ });
5105
+ // convert remaining line breaks to <br>
5106
+ return a.replace(/\s*\n\s*/g, '<wp-temp-br />');
5107
+ });
5108
+ }
5109
+
5110
+ pee = pee + '\n\n';
5111
+ pee = pee.replace(/<br \/>\s*<br \/>/gi, '\n\n');
5112
+ pee = pee.replace(new RegExp('(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi'), '\n$1');
5113
+ pee = pee.replace(new RegExp('(</(?:' + blocklist + ')>)', 'gi'), '$1\n\n');
5114
+ pee = pee.replace(/<hr( [^>]*)?>/gi, '<hr$1>\n\n'); // hr is self closing block element
5115
+ pee = pee.replace(/\r\n|\r/g, '\n');
5116
+ pee = pee.replace(/\n\s*\n+/g, '\n\n');
5117
+ pee = pee.replace(/([\s\S]+?)\n\n/g, '<p>$1</p>\n');
5118
+ pee = pee.replace(/<p>\s*?<\/p>/gi, '');
5119
+ pee = pee.replace(new RegExp('<p>\\s*(</?(?:' + blocklist + ')(?: [^>]*)?>)\\s*</p>', 'gi'), '$1');
5120
+ pee = pee.replace(/<p>(<li.+?)<\/p>/gi, '$1');
5121
+ pee = pee.replace(/<p>\s*<blockquote([^>]*)>/gi, '<blockquote$1><p>');
5122
+ pee = pee.replace(/<\/blockquote>\s*<\/p>/gi, '</p></blockquote>');
5123
+ pee = pee.replace(new RegExp('<p>\\s*(</?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi'), '$1');
5124
+ pee = pee.replace(new RegExp('(</?(?:' + blocklist + ')(?: [^>]*)?>)\\s*</p>', 'gi'), '$1');
5125
+ pee = pee.replace(/\s*\n/gi, '<br />\n');
5126
+ pee = pee.replace(new RegExp('(</?(?:' + blocklist + ')[^>]*>)\\s*<br />', 'gi'), '$1');
5127
+ pee = pee.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1');
5128
+ pee = pee.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi, '[caption$1[/caption]');
5129
+
5130
+ pee = pee.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function (a, b, c) {
5131
+ if (c.match(/<p( [^>]*)?>/)) {
5132
+ return a;
5133
+ }
5134
+
5135
+ return b + '<p>' + c + '</p>';
5136
+ });
5137
+
5138
+ // put back the line breaks in pre|script
5139
+ if (preserve_linebreaks) {
5140
+ pee = pee.replace(/<wp-line-break>/g, '\n');
5141
+ }
5142
+
5143
+ if (preserve_br) {
5144
+ pee = pee.replace(/<wp-temp-br([^>]*)>/g, '<br$1>');
5145
+ }
5146
+
5147
+ return pee;
5148
+ };
5149
+ })(n2, window);
5150
+ (function ($, scope, undefined) {
5151
+
5152
+ function ItemParserVimeo() {
5153
+ NextendSmartSliderItemParser.apply(this, arguments);
5154
+ };
5155
+
5156
+ ItemParserVimeo.prototype = Object.create(NextendSmartSliderItemParser.prototype);
5157
+ ItemParserVimeo.prototype.constructor = ItemParserVimeo;
5158
+
5159
+ ItemParserVimeo.prototype.added = function () {
5160
+ this.needFill = ['vimeourl'];
5161
+
5162
+ nextend.smartSlider.generator.registerField($('#item_vimeovimeourl'));
5163
+ };
5164
+
5165
+ ItemParserVimeo.prototype.getName = function (data) {
5166
+ return data.vimeourl;
5167
+ };
5168
+
5169
+ ItemParserVimeo.prototype.parseAll = function (data, item) {
5170
+ var vimeoChanged = item.values.vimeourl != data.vimeourl;
5171
+
5172
+ NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
5173
+
5174
+ if (data.image == '') {
5175
+ data.image = '$system$/images/placeholder/video.png';
5176
+ }
5177
+
5178
+ data.image = nextend.imageHelper.fixed(data.image);
5179
+
5180
+ if (vimeoChanged && data.vimeourl != '') {
5181
+ var vimeoRegexp = /https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/,
5182
+ vimeoMatch = data.vimeourl.match(vimeoRegexp);
5183
+
5184
+ var videoCode = false;
5185
+ if (vimeoMatch) {
5186
+ videoCode = vimeoMatch[3];
5187
+ } else if (data.vimeourl.match(/^[0-9]+$/)) {
5188
+ videoCode = data.vimeourl;
5189
+ }
5190
+
5191
+ if (videoCode) {
5192
+ NextendAjaxHelper.getJSON('https://vimeo.com/api/v2/video/' + encodeURI(videoCode) + '.json').done($.proxy(function (data) {
5193
+ $('#item_vimeoimage').val(data[0].thumbnail_large).trigger('change');
5194
+ }, this)).fail(function (data) {
5195
+ nextend.notificationCenter.error(data.responseText);
5196
+ });
5197
+ } else {
5198
+ nextend.notificationCenter.error('The provided URL does not match any known Vimeo url or code!');
5199
+ }
5200
+ }
5201
+ };
5202
+
5203
+ ItemParserVimeo.prototype.fitLayer = function (item) {
5204
+ return true;
5205
+ };
5206
+
5207
+ scope.NextendSmartSliderItemParser_vimeo = ItemParserVimeo;
5208
+ })(n2, window);
5209
+ (function ($, scope, undefined) {
5210
+
5211
+ function ItemParserYouTube() {
5212
+ NextendSmartSliderItemParser.apply(this, arguments);
5213
+ };
5214
+
5215
+ ItemParserYouTube.prototype = Object.create(NextendSmartSliderItemParser.prototype);
5216
+ ItemParserYouTube.prototype.constructor = ItemParserYouTube;
5217
+
5218
+ ItemParserYouTube.prototype.added = function () {
5219
+ this.needFill = ['youtubeurl', 'image', 'start'];
5220
+
5221
+ nextend.smartSlider.generator.registerField($('#item_youtubeyoutubeurl'));
5222
+ nextend.smartSlider.generator.registerField($('#item_youtubeimage'));
5223
+ nextend.smartSlider.generator.registerField($('#item_youtubestart'));
5224
+ };
5225
+
5226
+ ItemParserYouTube.prototype.getName = function (data) {
5227
+ return data.youtubeurl;
5228
+ };
5229
+
5230
+ ItemParserYouTube.prototype.parseAll = function (data, item) {
5231
+
5232
+ var youTubeChanged = item.values.youtubeurl != data.youtubeurl;
5233
+
5234
+ NextendSmartSliderItemParser.prototype.parseAll.apply(this, arguments);
5235
+
5236
+ if (data.image == '') {
5237
+ data.image = '$system$/images/placeholder/video.png';
5238
+ }
5239
+
5240
+ data.image = nextend.imageHelper.fixed(data.image);
5241
+
5242
+ if (youTubeChanged) {
5243
+ var youtubeRegexp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/,
5244
+ youtubeMatch = data.youtubeurl.match(youtubeRegexp);
5245
+
5246
+ if (youtubeMatch) {
5247
+ NextendAjaxHelper.getJSON('https://www.googleapis.com/youtube/v3/videos?id=' + encodeURI(youtubeMatch[2]) + '&part=snippet&key=AIzaSyC3AolfvPAPlJs-2FgyPJdEEKS6nbPHdSM').done($.proxy(function (_data) {
5248
+ if (_data.items.length) {
5249
+
5250
+ var thumbnails = _data.items[0].snippet.thumbnails,
5251
+ thumbnail = thumbnails.maxres || thumbnails.standard || thumbnails.high || thumbnails.medium || thumbnails.default,
5252
+ url = thumbnail.url;
5253
+ if (item.values.youtubeurl == '{video_url}') {
5254
+ url = url.replace(youtubeMatch[2], '{video_id}');
5255
+ }
5256
+ $('#item_youtubeimage').val(url).trigger('change');
5257
+ }
5258
+ }, this)).fail(function (data) {
5259
+ nextend.notificationCenter.error(data.error.errors[0].message);
5260
+ });
5261
+ } else {
5262
+ nextend.notificationCenter.error('The provided URL does not match any known YouTube url or code!');
5263
+ }
5264
+ }
5265
+ };
5266
+
5267
+ ItemParserYouTube.prototype.fitLayer = function (item) {
5268
+ return true;
5269
+ };
5270
+
5271
+ ItemParserYouTube.prototype.render = function (node, data) {
5272
+ if (!parseInt(data.playbutton)) {
5273
+ node.find('.n2-video-play').remove();
5274
+ }
5275
+ return node;
5276
+ }
5277
+
5278
+ scope.NextendSmartSliderItemParser_youtube = ItemParserYouTube;
5279
+ })(n2, window);
5280
+ (function (smartSlider, $, scope, undefined) {
5281
+ function LayerDataStorage() {
5282
+ this.property = {};
5283
+ this.deviceProperty = {};
5284
+ }
5285
+
5286
+ LayerDataStorage.prototype.getMode = function () {
5287
+ return this.layerEditor.getMode();
5288
+ };
5289
+
5290
+ LayerDataStorage.prototype.getProperty = function (deviceBased, name) {
5291
+
5292
+ if (deviceBased) {
5293
+ var properties = this.deviceProperty[this.getMode()],
5294
+ fallbackProperties = this.deviceProperty['desktopPortrait'];
5295
+ if (typeof properties[name] !== 'undefined') {
5296
+ return properties[name];
5297
+ } else if (typeof fallbackProperties[name] !== 'undefined') {
5298
+ return fallbackProperties[name];
5299
+ }
5300
+ }
5301
+ return this.property[name];
5302
+ };
5303
+
5304
+ LayerDataStorage.prototype.store = function (deviceBased, name, value, needRender) {
5305
+
5306
+ var oldValue = this.property[name];
5307
+ this.property[name] = value;
5308
+ if (deviceBased) {
5309
+ var mode = this.getMode();
5310
+ smartSlider.history.add($.proxy(function () {
5311
+ return [this, 'store', value, this.deviceProperty[mode][name], [this.layer, deviceBased, name, mode]];
5312
+ }, this));
5313
+ this.deviceProperty[mode][name] = value;
5314
+ } else {
5315
+ smartSlider.history.add($.proxy(function () {
5316
+ return [this, 'store', value, oldValue, [this.layer, deviceBased, name, this.getMode()]];
5317
+ }, this));
5318
+ }
5319
+
5320
+ if (needRender) {
5321
+ this.render(name, value);
5322
+ }
5323
+ }
5324
+
5325
+ LayerDataStorage.prototype.storeWithModifier = function (name, value, modifier, needRender) {
5326
+ this.property[name] = value;
5327
+ var mode = this.getMode();
5328
+
5329
+ smartSlider.history.add($.proxy(function () {
5330
+ return [this, 'storeWithModifier', value, this.deviceProperty[mode][name], [this.layer, name, mode]];
5331
+ }, this));
5332
+ this.deviceProperty[mode][name] = value;
5333
+
5334
+ if (needRender) {
5335
+ this.renderWithModifier(name, value, modifier);
5336
+ }
5337
+ }
5338
+
5339
+ LayerDataStorage.prototype.render = function (name, value) {
5340
+ this['_sync' + name](value);
5341
+ };
5342
+
5343
+ LayerDataStorage.prototype.renderWithModifier = function (name, value, modifier) {
5344
+ this['_sync' + name](Math.round(value * modifier));
5345
+ }
5346
+
5347
+ LayerDataStorage.prototype.isDimensionPropertyAccepted = function (value) {
5348
+ if ((value + '').match(/[0-9]+%/) || value == 'auto') {
5349
+ return true;
5350
+ }
5351
+ return false;
5352
+ };
5353
+
5354
+ LayerDataStorage.prototype.history = function (method, value, other) {
5355
+ switch (method) {
5356
+ case 'store':
5357
+ var mode = this.getMode();
5358
+ if (!other[1] || other[3] == mode) {
5359
+ this[method](other[1], other[2], value, true);
5360
+ } else {
5361
+ this.deviceProperty[other[3]][other[2]] = value;
5362
+ }
5363
+ this._renderModeProperties(true);
5364
+ break;
5365
+ case 'storeWithModifier':
5366
+ var mode = this.getMode();
5367
+ var ratio = 1;
5368
+ switch (other[1]) {
5369
+ case 'width':
5370
+ case 'left':
5371
+ ratio = this.layerEditor.getResponsiveRatio('h');
5372
+ break;
5373
+ case 'height':
5374
+ case 'top':
5375
+ ratio = this.layerEditor.getResponsiveRatio('v');
5376
+ break;
5377
+ }
5378
+ if (other[2] == mode) {
5379
+ this[method](other[1], value, ratio, true);
5380
+ } else {
5381
+ this.deviceProperty[other[2]][other[1]] = value;
5382
+ }
5383
+ this._renderModeProperties(true);
5384
+ break;
5385
+ }
5386
+ };
5387
+
5388
+ scope.NextendSmartSliderLayerDataStorageAbtract = LayerDataStorage;
5389
+ })(nextend.smartSlider, n2, window);
5390
+ (function (smartSlider, $, scope, undefined) {
5391
+
5392
+ var connectedSortables = $();
5393
+
5394
+ var fakeGroup = {
5395
+ zIndexList: [],
5396
+ reIndexLayers: function () {
5397
+
5398
+ }
5399
+ };
5400
+
5401
+ function LayerContainerAbstract(layerEditor, group) {
5402
+ if (typeof this.layer === 'undefined') {
5403
+ this.layer = null;
5404
+ }
5405
+ this.layerEditor = layerEditor;
5406
+ if (!group) {
5407
+ group = fakeGroup;
5408
+ }
5409
+ this.group = group;
5410
+
5411
+ this.layers = [];
5412
+
5413
+ this.zIndexList = [];
5414
+
5415
+ this.$ = $(this);
5416
+
5417
+ this.createLayer();
5418
+
5419
+ this.layerContainerElement = this.layer;
5420
+
5421
+ this.createLayerRow();
5422
+
5423
+ connectedSortables = connectedSortables.add(this.layersItemsUlElement);
5424
+
5425
+ this.layersItemsUlElement.sortable({
5426
+ axis: "y",
5427
+ helper: 'clone',
5428
+ distance: 10,
5429
+ placeholder: "sortable-placeholder",
5430
+ forcePlaceholderSize: false,
5431
+ tolerance: "intersect",
5432
+ connectWith: connectedSortables,
5433
+ items: '.n2-ss-layer-row',
5434
+ connectWith: this.layerEditor.layersItemsElement.find('ul'),
5435
+ start: $.proxy(this.layersSortableStart, this),
5436
+ stop: $.proxy(this.layersSortableStop, this),
5437
+ }).appendTo(this.layerRow);
5438
+
5439
+ }
5440
+
5441
+ LayerContainerAbstract.prototype.addLayerBeforeInit = function (layer, zIndex) {
5442
+ this.moveLayerToGroup(layer, zIndex);
5443
+ }
5444
+
5445
+ LayerContainerAbstract.prototype.lateInit = function (zIndexOffset, layerCountOnMain) {
5446
+
5447
+
5448
+ if (this.layers.length || zIndexOffset) {
5449
+ this.zIndex = zIndexOffset - (layerCountOnMain - 1);
5450
+ } else {
5451
+ this.zIndex = this.group.zIndexList.length;
5452
+ }
5453
+
5454
+ /**
5455
+ * This is a fix for the editor load. The layers might not in the z-index order on the load,
5456
+ * so we have to "mess up" the array and let the algorithm to fix it.
5457
+ */
5458
+ if (typeof this.group.zIndexList[this.zIndex] === 'undefined') {
5459
+ this.group.zIndexList[this.zIndex] = this;
5460
+ } else {
5461
+ this.group.zIndexList.splice(this.zIndex, 0, this);
5462
+ }
5463
+
5464
+ this.group.reIndexLayers();
5465
+
5466
+ if (this.layers.length > 0) {
5467
+ this.reIndexLayers();
5468
+ }
5469
+ }
5470
+
5471
+ LayerContainerAbstract.prototype.startWithExistingNodes = function () {
5472
+ this.layer.find('> div').each($.proxy(function (i, el) {
5473
+ var $el = $(el);
5474
+ switch ($el.data('type')) {
5475
+ case 'group':
5476
+ var newGroup = new NextendSmartSliderLayerGroup(this.layerEditor, this, $el, []);
5477
+ newGroup.lateInit();
5478
+ newGroup.startWithExistingNodes();
5479
+ break;
5480
+ case 'layer':
5481
+ var layer = new NextendSmartSliderLayer(this.layerEditor, this, $el, this.layerEditor.itemEditor);
5482
+ this.layers.push(layer);
5483
+ break;
5484
+ }
5485
+ }, this));
5486
+ if (this.layers.length > 0) {
5487
+ this.reIndexLayers();
5488
+ }
5489
+ }
5490
+
5491
+ LayerContainerAbstract.prototype.getChildLayersRecursive = function (nodeOnly) {
5492
+ var layers = [];
5493
+ for (var i = 0; i < this.zIndexList.length; i++) {
5494
+ if (this.zIndexList[i] instanceof NextendSmartSliderLayer) {
5495
+ if (nodeOnly) {
5496
+ layers.push(this.zIndexList[i].layer[0]);
5497
+ } else {
5498
+ layers.push(this.zIndexList[i]);
5499
+ }
5500
+ } else {
5501
+ layers.push.apply(layers, this.zIndexList[i].getChildLayersRecursive(nodeOnly));
5502
+ }
5503
+ }
5504
+ return layers;
5505
+ }
5506
+
5507
+
5508
+ LayerContainerAbstract.prototype.moveLayerToGroup = function (layer, newZIndex) {
5509
+ this.moveLayersToGroup([layer], [newZIndex]);
5510
+ }
5511
+
5512
+
5513
+ LayerContainerAbstract.prototype.moveLayersToGroup = function (layers, newZIndexs) {
5514
+
5515
+ var originalGroups = [];
5516
+ for (var i = 0; i < layers.length; i++) {
5517
+ var layer = layers[i],
5518
+ originalGroup = layer.group;
5519
+
5520
+ this.layers.push(layer);
5521
+
5522
+ layer.setGroup(this, newZIndexs[i]);
5523
+
5524
+ if (this != originalGroup) {
5525
+ var j = originalGroup.layers.length;
5526
+ while (j--) {
5527
+ if (originalGroup.layers[j] == layer) {
5528
+ originalGroup.layers.splice(j, 1);
5529
+ }
5530
+ }
5531
+
5532
+ if ($.inArray(originalGroup, originalGroups) == -1) {
5533
+ originalGroups.push(originalGroup);
5534
+ }
5535
+ }
5536
+ }
5537
+ for (var i = 0; i < originalGroups.length; i++) {
5538
+ originalGroups[i].reIndexLayers();
5539
+ }
5540
+ this.reIndexLayers();
5541
+ }
5542
+
5543
+ LayerContainerAbstract.prototype.reIndexLayers = function () {
5544
+ this.zIndexList = this.zIndexList.filter(function (item) {
5545
+ return item != undefined
5546
+ });
5547
+ for (var i = this.zIndexList.length - 1; i >= 0; i--) {
5548
+ this.zIndexList[i].setZIndex(i);
5549
+ }
5550
+ };
5551
+
5552
+ LayerContainerAbstract.prototype.layersSortableStart = function (event, ui) {
5553
+ ui.item.show();
5554
+ ui.placeholder.html("<div></div>");
5555
+ ui.item.data("startindex", ui.item.index());
5556
+ };
5557
+
5558
+ LayerContainerAbstract.prototype.layersSortableStop = function (event, ui) {
5559
+ var newContainer = ui.item.parent().data('container');
5560
+ if (newContainer instanceof NextendSmartSliderLayerGroup && ui.item.hasClass("n2-ss-layer-group-row")) {
5561
+ this.layersItemsUlElement.sortable("cancel");
5562
+ } else {
5563
+ var startIndex = this.zIndexList.length - $(ui.item).data("startindex") - 1,
5564
+ newIndex = newContainer.zIndexList.length - $(ui.item).index() - 1;
5565
+
5566
+ if (newContainer != this) {
5567
+ newIndex++;
5568
+ var layer = this.zIndexList[startIndex];
5569
+ newContainer.moveLayerToGroup(layer, newIndex);
5570
+
5571
+ smartSlider.history.add($.proxy(function () {
5572
+ return [newContainer, 'changeZIndexWithContainer', [layer, newIndex, this, newContainer], [layer, startIndex, newContainer, this], []];
5573
+ }, this));
5574
+
5575
+ // @TODO here should come the history
5576
+ } else if (startIndex != newIndex) {
5577
+ newContainer.zIndexList.splice(newIndex, 0, newContainer.zIndexList.splice(startIndex, 1)[0]);
5578
+ newContainer.reIndexLayers();
5579
+
5580
+ smartSlider.history.add($.proxy(function () {
5581
+ return [newContainer, 'changeZIndex', [startIndex, newIndex], [newIndex, startIndex], []];
5582
+ }, this));
5583
+ }
5584
+ }
5585
+ };
5586
+
5587
+ LayerContainerAbstract.prototype.activateFirst = function () {
5588
+
5589
+ if (this.zIndexList.length > 0) {
5590
+ this.zIndexList[this.zIndexList.length - 1].activate(); //Do not show editor on load!
5591
+ //this.zIndexList[this.zIndexList.length - 1].activate({});
5592
+ }
5593
+ }
5594
+
5595
+ LayerContainerAbstract.prototype.childDeleted = function (child) {
5596
+
5597
+ for (var i = 0; i < this.layers.length; i++) {
5598
+ if (this.layers[i] == child) {
5599
+ this.layers.splice(i, 1);
5600
+ break;
5601
+ }
5602
+ }
5603
+
5604
+ this.zIndexList.splice(child.zIndex, 1);
5605
+ }
5606
+
5607
+
5608
+ LayerContainerAbstract.prototype.history = function (method, value, other) {
5609
+ switch (method) {
5610
+ case 'changeZIndex':
5611
+ var fromZIndex = value[0],
5612
+ targetZIndex = value[1];
5613
+ this.zIndexList.splice(targetZIndex, 0, this.zIndexList.splice(fromZIndex, 1)[0]);
5614
+ this.reIndexLayers();
5615
+ break;
5616
+ case 'changeZIndexWithContainer':
5617
+ var layer = value[0],
5618
+ fromContainer = value[2],
5619
+ targetZIndex = value[1],
5620
+ targetContainer = value[3];
5621
+ targetContainer.moveLayerToGroup(layer, targetZIndex);
5622
+ break;
5623
+ case 'createGroup':
5624
+ switch (value) {
5625
+ case 'create':
5626
+ var zIndex = other[0],
5627
+ group = new NextendSmartSliderLayerGroup(this.layerEditor, this.layerEditor.mainLayerGroup, false);
5628
+
5629
+ smartSlider.history.changeFuture(this, group);
5630
+
5631
+ group.lateInit(zIndex, 0);
5632
+
5633
+ break;
5634
+ case 'delete':
5635
+ this.delete();
5636
+ break;
5637
+ }
5638
+ break;
5639
+ case 'deleteGroup':
5640
+ switch (value) {
5641
+ case 'create':
5642
+ var group = new NextendSmartSliderLayerGroup(this.layerEditor, this.layerEditor.mainLayerGroup, false, {data: $.extend(true, {}, other[0])});
5643
+ group.lateInit();
5644
+ smartSlider.history.changeFuture(this, group);
5645
+ this.layerEditor.fixActiveLayer();
5646
+ break;
5647
+ case 'delete':
5648
+ this.delete();
5649
+ break;
5650
+ }
5651
+ break;
5652
+ }
5653
+ };
5654
+
5655
+ scope.NextendSmartSliderLayerContainerAbstract = LayerContainerAbstract;
5656
+ })(nextend.smartSlider, n2, window);
5657
+ (function (smartSlider, $, scope, undefined) {
5658
+
5659
+ var highlighted = false,
5660
+ timeout = null;
5661
+ window.nextendPreventClick = false;
5662
+ var preventActivation = false;
5663
+
5664
+ var UNDEFINED,
5665
+ rAFShim = (function () {
5666
+ var timeLast = 0;
5667
+
5668
+ return window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (callback) {
5669
+ var timeCurrent = (new Date()).getTime(),
5670
+ timeDelta;
5671
+
5672
+ /* Dynamically set delay on a per-tick basis to match 60fps. */
5673
+ /* Technique by Erik Moller. MIT license: https://gist.github.com/paulirish/1579671 */
5674
+ timeDelta = Math.max(0, 16 - (timeCurrent - timeLast));
5675
+ timeLast = timeCurrent + timeDelta;
5676
+
5677
+ return setTimeout(function () {
5678
+ callback(timeCurrent + timeDelta);
5679
+ }, timeDelta);
5680
+ };
5681
+ })(),
5682
+ resizeCollection = {
5683
+ raf: false,
5684
+ ratios: null,
5685
+ isThrottled: false,
5686
+ layers: []
5687
+ },
5688
+ requestRender = function () {
5689
+ if (resizeCollection.raf === false) {
5690
+ resizeCollection.raf = true;
5691
+ rAFShim(function () {
5692
+ for (var i = 0; i < resizeCollection.layers.length; i++) {
5693
+ if (!resizeCollection.layers[i].isDeleted) {
5694
+ resizeCollection.layers[i].doTheResize(resizeCollection.ratios, true, resizeCollection.isThrottled);
5695
+ }
5696
+ }
5697
+ resizeCollection = {
5698
+ raf: false,
5699
+ ratios: null,
5700
+ isThrottled: false,
5701
+ layers: []
5702
+ };
5703
+ });
5704
+ }
5705
+ };
5706
+
5707
+ var LAYER_STATUS = {
5708
+ UNDEFINED: 0,
5709
+ NORMAL: 1,
5710
+ LOCKED: 2,
5711
+ HIDDEN: 3
5712
+ },
5713
+ LAYER_STATUS_INV = {
5714
+ 0: 'UNDEFINED',
5715
+ 1: 'NORMAL',
5716
+ 2: 'LOCKED',
5717
+ 3: 'HIDDEN'
5718
+ };
5719
+
5720
+
5721
+ function Layer(layerEditor, group, layer, itemEditor, properties) {
5722
+ this.status = LAYER_STATUS.UNDEFINED;
5723
+
5724
+ this.isDeleted = false;
5725
+ //this.resize = NextendDeBounce(this.resize, 200);
5726
+ //this.triggerLayerResized = NextendThrottle(this.triggerLayerResized, 30);
5727
+ this._triggerLayerResizedThrottled = NextendThrottle(this._triggerLayerResized, 30);
5728
+ //this.doThrottledTheResize = NextendThrottle(this.doTheResize, 16.6666);
5729
+ this.doThrottledTheResize = this.doTheResize;
5730
+ this.parent = false;
5731
+ this.parentIsVisible = true;
5732
+
5733
+ this.$ = $(this);
5734
+
5735
+ this.layerEditor = layerEditor;
5736
+ this.group = group;
5737
+
5738
+ /** @type {NextendSmartSliderTimelineLayer} */
5739
+ this.timelineLayer = null;
5740
+ if (!layer) {
5741
+ layer = $('<div class="n2-ss-layer" style="z-index: ' + this.group.zIndexList.length + ';"></div>')
5742
+ .appendTo(this.group.layerContainerElement);
5743
+ this.property = $.extend({
5744
+ id: null,
5745
+ class: '',
5746
+ parentid: null,
5747
+ parentalign: 'center',
5748
+ parentvalign: 'middle',
5749
+ name: 'New layer',
5750
+ nameSynced: 1,
5751
+ crop: 'visible',
5752
+ rotation: 0,
5753
+ inneralign: 'left',
5754
+ parallax: 0,
5755
+ align: 'center',
5756
+ valign: 'middle',
5757
+ fontsize: 100,
5758
+ adaptivefont: 0,
5759
+ generatorvisible: '',
5760
+ desktopPortrait: 1,
5761
+ desktopLandscape: 1,
5762
+ tabletPortrait: 1,
5763
+ tabletLandscape: 1,
5764
+ mobilePortrait: 1,
5765
+ mobileLandscape: 1,
5766
+ left: 0,
5767
+ top: 0,
5768
+ responsiveposition: 1,
5769
+ width: 'auto',
5770
+ height: 'auto',
5771
+ responsivesize: 1,
5772
+ mouseenter: UNDEFINED,
5773
+ click: UNDEFINED,
5774
+ mouseleave: UNDEFINED,
5775
+ play: UNDEFINED,
5776
+ pause: UNDEFINED,
5777
+ stop: UNDEFINED
5778
+ }, properties);
5779
+ } else {
5780
+ this.property = {
5781
+ id: layer.attr('id'),
5782
+ class: layer.data('class'),
5783
+ parentid: layer.data('parentid'),
5784
+ parentalign: layer.data('desktopportraitparentalign'),
5785
+ parentvalign: layer.data('desktopportraitparentvalign'),
5786
+ name: layer.data('name') + '',
5787
+ nameSynced: layer.data('namesynced'),
5788
+ crop: layer.data('crop'),
5789
+ rotation: layer.data('rotation'),
5790
+ inneralign: layer.data('inneralign'),
5791
+ parallax: layer.data('parallax'),
5792
+ align: layer.data('desktopportraitalign'),
5793
+ valign: layer.data('desktopportraitvalign'),
5794
+ fontsize: layer.data('desktopportraitfontsize'),
5795
+ adaptivefont: layer.data('adaptivefont'),
5796
+ generatorvisible: layer.data('generatorvisible') || '',
5797
+ desktopPortrait: parseFloat(layer.data('desktopportrait')),
5798
+ desktopLandscape: parseFloat(layer.data('desktoplandscape')),
5799
+ tabletPortrait: parseFloat(layer.data('tabletportrait')),
5800
+ tabletLandscape: parseFloat(layer.data('tabletlandscape')),
5801
+ mobilePortrait: parseFloat(layer.data('mobileportrait')),
5802
+ mobileLandscape: parseFloat(layer.data('mobilelandscape')),
5803
+ left: parseInt(layer.data('desktopportraitleft')),
5804
+ top: parseInt(layer.data('desktopportraittop')),
5805
+ responsiveposition: parseInt(layer.data('responsiveposition')),
5806
+ responsivesize: parseInt(layer.data('responsivesize')),
5807
+ mouseenter: layer.data('mouseenter'),
5808
+ click: layer.data('click'),
5809
+ mouseleave: layer.data('mouseleave'),
5810
+ play: layer.data('play'),
5811
+ pause: layer.data('pause'),
5812
+ stop: layer.data('stop')
5813
+ };
5814
+
5815
+ var width = layer.data('desktopportraitwidth');
5816
+ if (this.isDimensionPropertyAccepted(width)) {
5817
+ this.property.width = width;
5818
+ } else {
5819
+ this.property.width = parseInt(width);
5820
+ }
5821
+
5822
+ var height = layer.data('desktopportraitheight');
5823
+ if (this.isDimensionPropertyAccepted(height)) {
5824
+ this.property.height = height;
5825
+ } else {
5826
+ this.property.height = parseInt(height);
5827
+ }
5828
+ }
5829
+ this.layer = layer;
5830
+
5831
+ if (!this.property.id) {
5832
+ this.property.id = null;
5833
+ }
5834
+
5835
+ this.subscribeParentCallbacks = {};
5836
+ if (this.property.parentid) {
5837
+ this.subscribeParent();
5838
+ } else {
5839
+ this.property.parentid = null;
5840
+ }
5841
+
5842
+ if (!this.property.parentalign) {
5843
+ this.property.parentalign = 'center';
5844
+ }
5845
+
5846
+ if (!this.property.parentvalign) {
5847
+ this.property.parentvalign = 'middle';
5848
+ }
5849
+
5850
+ if (typeof this.property.nameSynced === 'undefined') {
5851
+ this.property.nameSynced = 1;
5852
+ }
5853
+
5854
+ if (typeof this.property.responsiveposition === 'undefined') {
5855
+ this.property.responsiveposition = 1;
5856
+ }
5857
+
5858
+ if (typeof this.property.responsivesize === 'undefined') {
5859
+ this.property.responsivesize = 1;
5860
+ }
5861
+
5862
+ if (!this.property.inneralign) {
5863
+ this.property.inneralign = 'left';
5864
+ }
5865
+
5866
+ if (!this.property.crop) {
5867
+ this.property.crop = 'visible';
5868
+ }
5869
+
5870
+ if (!this.property.rotation) {
5871
+ this.property.rotation = 0;
5872
+ }
5873
+
5874
+ if (!this.property.parallax) {
5875
+ this.property.parallax = 0;
5876
+ }
5877
+
5878
+ if (typeof this.property.fontsize == 'undefined') {
5879
+ this.property.fontsize = 100;
5880
+ }
5881
+
5882
+ if (typeof this.property.adaptivefont == 'undefined') {
5883
+ this.property.adaptivefont = 0;
5884
+ }
5885
+
5886
+ if (!this.property.align) {
5887
+ this.property.align = 'left';
5888
+ }
5889
+
5890
+ if (!this.property.valign) {
5891
+ this.property.valign = 'top';
5892
+ }
5893
+ layer.attr('data-align', this.property.align);
5894
+ layer.attr('data-valign', this.property.valign);
5895
+
5896
+ layer.data('layerObject', this);
5897
+ layer.css('visibility', 'hidden');
5898
+
5899
+ this.zIndex = parseInt(this.layer.css('zIndex'));
5900
+ if (isNaN(this.zIndex)) {
5901
+ this.zIndex = 0;
5902
+ }
5903
+
5904
+ this.deviceProperty = {
5905
+ desktopPortrait: {
5906
+ left: this.property.left,
5907
+ top: this.property.top,
5908
+ width: this.property.width,
5909
+ height: this.property.height,
5910
+ align: this.property.align,
5911
+ valign: this.property.valign,
5912
+ parentalign: this.property.parentalign,
5913
+ parentvalign: this.property.parentvalign,
5914
+ fontsize: this.property.fontsize
5915
+ },
5916
+ desktopLandscape: {
5917
+ left: layer.data('desktoplandscapeleft'),
5918
+ top: layer.data('desktoplandscapetop'),
5919
+ width: layer.data('desktoplandscapewidth'),
5920
+ height: layer.data('desktoplandscapeheight'),
5921
+ align: layer.data('desktoplandscapealign'),
5922
+ valign: layer.data('desktoplandscapevalign'),
5923
+ parentalign: layer.data('desktoplandscapeparentalign'),
5924
+ parentvalign: layer.data('desktoplandscapeparentvalign'),
5925
+ fontsize: layer.data('desktoplandscapefontsize')
5926
+ },
5927
+ tabletPortrait: {
5928
+ left: layer.data('tabletportraitleft'),
5929
+ top: layer.data('tabletportraittop'),
5930
+ width: layer.data('tabletportraitwidth'),
5931
+ height: layer.data('tabletportraitheight'),
5932
+ align: layer.data('tabletportraitalign'),
5933
+ valign: layer.data('tabletportraitvalign'),
5934
+ parentalign: layer.data('tabletportraitparentalign'),
5935
+ parentvalign: layer.data('tabletportraitparentvalign'),
5936
+ fontsize: layer.data('tabletportraitfontsize')
5937
+ },
5938
+ tabletLandscape: {
5939
+ left: layer.data('tabletlandscapeleft'),
5940
+ top: layer.data('tabletlandscapetop'),
5941
+ width: layer.data('tabletlandscapewidth'),
5942
+ height: layer.data('tabletlandscapeheight'),
5943
+ align: layer.data('tabletlandscapealign'),
5944
+ valign: layer.data('tabletlandscapevalign'),
5945
+ parentalign: layer.data('tabletlandscapeparentalign'),
5946
+ parentvalign: layer.data('tabletlandscapeparentvalign'),
5947
+ fontsize: layer.data('tabletlandscapefontsize')
5948
+ },
5949
+ mobilePortrait: {
5950
+ left: layer.data('mobileportraitleft'),
5951
+ top: layer.data('mobileportraittop'),
5952
+ width: layer.data('mobileportraitwidth'),
5953
+ height: layer.data('mobileportraitheight'),
5954
+ align: layer.data('mobileportraitalign'),
5955
+ valign: layer.data('mobileportraitvalign'),
5956
+ parentalign: layer.data('mobileportraitparentalign'),
5957
+ parentvalign: layer.data('mobileportraitparentvalign'),
5958
+ fontsize: layer.data('mobileportraitfontsize')
5959
+ },
5960
+ mobileLandscape: {
5961
+ left: layer.data('mobilelandscapeleft'),
5962
+ top: layer.data('mobilelandscapetop'),
5963
+ width: layer.data('mobilelandscapewidth'),
5964
+ height: layer.data('mobilelandscapeheight'),
5965
+ align: layer.data('mobilelandscapealign'),
5966
+ valign: layer.data('mobilelandscapevalign'),
5967
+ parentalign: layer.data('mobilelandscapeparentalign'),
5968
+ parentvalign: layer.data('mobilelandscapeparentvalign'),
5969
+ fontsize: layer.data('mobilelandscapefontsize')
5970
+ }
5971
+ };
5972
+
5973
+ this.createRow();
5974
+
5975
+ var status = layer.data('status');
5976
+ if (status !== null && typeof status != 'undefined') {
5977
+ this.changeStatus(status);
5978
+ } else {
5979
+ this.changeStatus(LAYER_STATUS.NORMAL);
5980
+ }
5981
+
5982
+ this.itemEditor = itemEditor;
5983
+
5984
+ this.initItems();
5985
+
5986
+ if (this.property.inneralign != 'left') {
5987
+ this._syncinneralign(this.property.inneralign);
5988
+ }
5989
+
5990
+ if (this.property.rotation) {
5991
+ this._syncrotation(this.property.rotation);
5992
+ }
5993
+
5994
+ this.___makeLayerAlign();
5995
+ this.___makeLayerResizeable();
5996
+ this.___makeLayerDraggable();
5997
+
5998
+ var $lastParent = null;
5999
+ this.chainParent = $('<div class="n2-ss-layer-chain-parent n2-button n2-button-icon n2-button-xs n2-radius-s n2-button-blue"><i class="n2-i n2-i-layerunlink"></i></div>').on({
6000
+ click: $.proxy(this.unlink, this),
6001
+ mouseenter: $.proxy(function () {
6002
+ $lastParent = $('#' + this.getProperty(false, 'parentid')).addClass('n2-highlight');
6003
+ }, this),
6004
+ mouseleave: $.proxy(function () {
6005
+ if ($lastParent) {
6006
+ $lastParent.removeClass('n2-highlight');
6007
+ $lastParent = null;
6008
+ }
6009
+ }, this)
6010
+ }).appendTo(this.layer);
6011
+
6012
+
6013
+ layerEditor.layerList.push(this);
6014
+ //this.index = layerEditor.layerList.push(this) - 1;
6015
+
6016
+ /**
6017
+ * This is a fix for the editor load. The layers might not in the z-index order on the load,
6018
+ * so we have to "mess up" the array and let the algorithm to fix it.
6019
+ */
6020
+ if (typeof this.group.zIndexList[this.zIndex] === 'undefined') {
6021
+ this.group.zIndexList[this.zIndex] = this;
6022
+ } else {
6023
+ this.group.zIndexList.splice(this.zIndex, 0, this);
6024
+ }
6025
+
6026
+
6027
+ this.layerEditor.$.trigger('layerCreated', this);
6028
+ $(window).triggerHandler('layerCreated');
6029
+
6030
+ this.layer.on({
6031
+ mousedown: $.proxy(nextend.context.setMouseDownArea, nextend.context, 'layerClicked'),
6032
+ click: $.proxy(this.activate, this),
6033
+ dblclick: $.proxy(function () {
6034
+ $('[data-tab="item"]').trigger('click');
6035
+ this.items[0].itemEditor.focusFirst('dblclick');
6036
+ }, this)
6037
+ });
6038
+
6039
+ setTimeout($.proxy(function () {
6040
+ this._resize(true);
6041
+ if (this.status != LAYER_STATUS.HIDDEN) {
6042
+ this.layer.css('visibility', '');
6043
+ }
6044
+ }, this), 300);
6045
+ };
6046
+
6047
+ Layer.prototype = Object.create(scope.NextendSmartSliderLayerDataStorageAbtract.prototype);
6048
+ Layer.prototype.constructor = Layer;
6049
+
6050
+ Layer.prototype.setGroup = function (group, newZIndex) {
6051
+
6052
+ group.layersItemsUlElement.append(this.layerRow);
6053
+ group.layerContainerElement.append(this.layer);
6054
+
6055
+ this.group.zIndexList.splice(this.zIndex, 1);
6056
+
6057
+ this.group = group;
6058
+
6059
+
6060
+ if (typeof newZIndex == 'undefined') {
6061
+ newZIndex = this.zIndex;
6062
+ }
6063
+ /**
6064
+ * This is a fix for the editor load. The layers might not in the z-index order on the load,
6065
+ * so we have to "mess up" the array and let the algorithm to fix it.
6066
+ */
6067
+ if (typeof group.zIndexList[newZIndex] === 'undefined') {
6068
+ group.zIndexList[newZIndex] = this;
6069
+ } else {
6070
+ group.zIndexList.splice(newZIndex, 0, this);
6071
+ }
6072
+ };
6073
+
6074
+ Layer.prototype.getIndex = function () {
6075
+ return this.layerEditor.layerList.indexOf(this);
6076
+ };
6077
+
6078
+ Layer.prototype.getParent = function () {
6079
+ return $('#' + this.getProperty(false, 'parentid')).data('layerObject');
6080
+ };
6081
+
6082
+ Layer.prototype.requestID = function () {
6083
+ var id = this.getProperty(false, 'id');
6084
+ if (!id) {
6085
+ id = $.fn.uid();
6086
+ this.setProperty('id', id, 'layer');
6087
+ }
6088
+ return id;
6089
+ };
6090
+
6091
+ Layer.prototype.createRow = function () {
6092
+ var dblClickInterval = 300,
6093
+ timeout = null,
6094
+ status = $('<div class="n2-ss-layer-status"></div>'),
6095
+ remove = $('<div class="n2-button n2-button-icon n2-button-m n2-button-m-narrow" data-n2tip="' + n2_('Delete layer') + '"><i class="n2-i n2-i-delete n2-i-grey-opacity"></i></div>').on('click', $.proxy(this.delete, this)),
6096
+ duplicate = $('<div class="n2-button n2-button-icon n2-button-m n2-button-m-narrow" data-n2tip="' + n2_('Duplicate layer') + '"><i class="n2-i n2-i-duplicate n2-i-grey-opacity"></i></div>').on('click', $.proxy(function () {
6097
+ this.duplicate(true, false)
6098
+ }, this));
6099
+
6100
+ $('<a href="#" class="n2-ss-sc-hide n2-button n2-button-icon n2-button-m"><i class="n2-i n2-i-eye"></i></a>').appendTo(status).on('click', $.proxy(function (e) {
6101
+ e.preventDefault();
6102
+ if (this.status == LAYER_STATUS.HIDDEN) {
6103
+ this.setStatusNormal();
6104
+ } else {
6105
+ this.changeStatus(LAYER_STATUS.HIDDEN);
6106
+ }
6107
+ }, this));
6108
+
6109
+ this.layerRow = $('<li class="n2-ss-layer-row"></li>')
6110
+ .data('layer', this)
6111
+ .on({
6112
+ mouseenter: $.proxy(function () {
6113
+ this.layer.addClass('n2-highlight');
6114
+ }, this),
6115
+ mouseleave: $.proxy(function (e) {
6116
+ this.layer.removeClass('n2-highlight');
6117
+ }, this),
6118
+ mousedown: $.proxy(nextend.context.setMouseDownArea, nextend.context, 'layerRowClicked')
6119
+ })
6120
+ .appendTo(this.group.layersItemsUlElement);
6121
+
6122
+ this.layerTitleSpan = $('<span class="n2-ucf">' + this.property.name + '</span>').on({
6123
+ mouseup: $.proxy(function (e) {
6124
+ if (timeout) {
6125
+ clearTimeout(timeout);
6126
+ timeout = null;
6127
+ this.editName();
6128
+ } else {
6129
+ this.activate(e);
6130
+ timeout = setTimeout($.proxy(function () {
6131
+ timeout = null;
6132
+ }, this), dblClickInterval);
6133
+ }
6134
+ }, this)
6135
+ });
6136
+
6137
+ this.layerTitle = $('<div class="n2-ss-layer-title"></div>')
6138
+ .append(this.layerTitleSpan)
6139
+ .append($('<div class="n2-actions-left"></div>').append(status))
6140
+ .append($('<div class="n2-actions"></div>').append(duplicate).append(remove))
6141
+ .appendTo(this.layerRow)
6142
+ .on({
6143
+ mouseup: $.proxy(function (e) {
6144
+ if (e.target.tagName === 'DIV') {
6145
+ this.activate(e);
6146
+ }
6147
+ }, this)
6148
+ });
6149
+
6150
+ nextend.tooltip.add(this.layerRow);
6151
+ };
6152
+
6153
+ Layer.prototype.editName = function () {
6154
+ var input = new NextendSmartSliderAdminInlineField();
6155
+
6156
+ input.$input.on({
6157
+ valueChanged: $.proxy(function (e, newName) {
6158
+ this.rename(newName, true);
6159
+ this.layerTitleSpan.css('display', 'inline');
6160
+ }, this),
6161
+ cancel: $.proxy(function () {
6162
+ this.layerTitleSpan.css('display', 'inline');
6163
+ }, this)
6164
+ });
6165
+
6166
+ this.layerTitleSpan.css('display', 'none');
6167
+ input.injectNode(this.layerTitle, this.property.name);
6168
+
6169
+ };
6170
+
6171
+ Layer.prototype.rename = function (newName, force) {
6172
+
6173
+ if (this.property.nameSynced || force) {
6174
+
6175
+ if (force) {
6176
+ this.property.nameSynced = 0;
6177
+ }
6178
+
6179
+ if (newName == '') {
6180
+ if (force) {
6181
+ this.property.nameSynced = 1;
6182
+ if (this.items.length) {
6183
+ this.items[0].reRender();
6184
+ return false;
6185
+ }
6186
+ }
6187
+ newName = 'Layer #' + (this.layerEditor.layerList.length + 1);
6188
+ }
6189
+ newName = newName.substr(0, 35);
6190
+ if (this.property.name != newName) {
6191
+ this.property.name = newName;
6192
+ this.layerTitleSpan.html(newName);
6193
+
6194
+ this.$.trigger('layerRenamed', newName);
6195
+ }
6196
+ }
6197
+ };
6198
+
6199
+ Layer.prototype.setZIndex = function (targetIndex) {
6200
+ this.zIndex = targetIndex;
6201
+ this.layer.css('zIndex', targetIndex);
6202
+ this.group.layersItemsUlElement.append(this.layerRow);
6203
+ this.$.trigger('layerIndexed', targetIndex);
6204
+ };
6205
+
6206
+ Layer.prototype.select = function (e) {
6207
+ this.layerEditor.selectLayer(this, true);
6208
+ };
6209
+
6210
+ Layer.prototype.positionSidebar = function () {
6211
+ this.layerEditor.panel.show(this, this.layer);
6212
+ }
6213
+
6214
+ Layer.prototype.showEditor = function () {
6215
+ this.layerEditor.panel._show();
6216
+ }
6217
+
6218
+ /**
6219
+ *
6220
+ * @param item {optional}
6221
+ */
6222
+ Layer.prototype.activate = function (e, context, preventExitFromSelection) {
6223
+
6224
+ if (preventActivation) return;
6225
+ if (document.activeElement) {
6226
+ document.activeElement.blur();
6227
+ }
6228
+ if (e && (e.ctrlKey || e.metaKey) && this.layerEditor.layerList[this.layerEditor.activeLayerIndex]) {
6229
+ this.select();
6230
+ return;
6231
+ } else {
6232
+ if (e && e.which == 3 && this.layerEditor.selectMode) {
6233
+ return;
6234
+ }
6235
+
6236
+ if (!preventExitFromSelection) {
6237
+ this.layerEditor.exitSelectMode();
6238
+ }
6239
+ }
6240
+
6241
+ if (e) {
6242
+ this.positionSidebar();
6243
+ }
6244
+
6245
+ if (this.items.length == 0) {
6246
+ console.error('The layer do not have item on it!');
6247
+ } else {
6248
+ this.items[0].activate(null, context);
6249
+ }
6250
+
6251
+ // Set the layer active if it is not active currently
6252
+ var currentIndex = this.getIndex();
6253
+ if (this.layerEditor.activeLayerIndex !== currentIndex) {
6254
+ this.layerRow.addClass('n2-active');
6255
+ this.layer.addClass('n2-active');
6256
+ this.layer.triggerHandler('n2-ss-activate');
6257
+ this.layerEditor.changeActiveLayer(currentIndex, preventExitFromSelection);
6258
+ nextend.activeLayer = this.layer;
6259
+
6260
+
6261
+ this.layerEditor.ui.onActivateLayer(this);
6262
+ }
6263
+ };
6264
+
6265
+ Layer.prototype.deActivate = function () {
6266
+ this.layer.removeClass('n2-active');
6267
+ this.layerRow.removeClass('n2-active');
6268
+ this.layer.triggerHandler('n2-ss-deactivate');
6269
+ };
6270
+
6271
+ Layer.prototype.fit = function () {
6272
+ var layer = this.layer.get(0);
6273
+
6274
+ var slideSize = this.layerEditor.slideSize,
6275
+ position = this.layer.position();
6276
+
6277
+ if (layer.scrollWidth > 0 && layer.scrollHeight > 0) {
6278
+ var resized = false;
6279
+ for (var i = 0; i < this.items.length; i++) {
6280
+ resized = this.items[i].parser.fitLayer(this.items[i]);
6281
+ if (resized) {
6282
+ break;
6283
+ }
6284
+ }
6285
+ if (!resized) {
6286
+ this.setProperty('width', 'auto', 'layer');
6287
+ this.setProperty('height', 'auto', 'layer');
6288
+
6289
+ var layerWidth = this.layer.width();
6290
+ if (Math.abs(this.layerEditor.layerContainerElement.width() - this.layer.position().left - layerWidth) < 2) {
6291
+ this.setProperty('width', layerWidth, 'layer');
6292
+ }
6293
+ }
6294
+ }
6295
+ };
6296
+ /*
6297
+ Layer.prototype.switchToAnimation = function () {
6298
+ smartSlider.sidebarManager.switchTab('animations');
6299
+ };
6300
+ */
6301
+ Layer.prototype.hide = function (targetMode) {
6302
+ this.store(false, (targetMode ? targetMode : this.getMode()), 0, true);
6303
+ };
6304
+
6305
+ Layer.prototype.show = function (targetMode) {
6306
+ this.store(false, (targetMode ? targetMode : this.getMode()), 1, true);
6307
+ };
6308
+
6309
+
6310
+ Layer.prototype.changeStatus = function (status) {
6311
+
6312
+ if (status == this.status) {
6313
+ status = LAYER_STATUS.NORMAL;
6314
+ }
6315
+
6316
+ switch (this.status) {
6317
+ case LAYER_STATUS.HIDDEN:
6318
+ this.layer.css('visibility', '');
6319
+ this.layerRow.removeClass('n2-ss-layer-status-hidden');
6320
+ break;
6321
+ case LAYER_STATUS.LOCKED:
6322
+ this.layer.nextenddraggable("enable");
6323
+ this.layer.nextendResizable("enable");
6324
+ this.layer.removeClass('n2-ss-layer-locked');
6325
+ this.layerRow.removeClass('n2-ss-layer-status-locked');
6326
+ break;
6327
+ }
6328
+ this.status = status;
6329
+
6330
+ switch (this.status) {
6331
+ case LAYER_STATUS.HIDDEN:
6332
+ this.layer.css('visibility', 'hidden');
6333
+ this.layerRow.addClass('n2-ss-layer-status-hidden');
6334
+ break;
6335
+ case LAYER_STATUS.LOCKED:
6336
+ this.layer.nextenddraggable("disable");
6337
+ this.layer.nextendResizable("disable");
6338
+ this.layer.addClass('n2-ss-layer-locked');
6339
+ this.layerRow.addClass('n2-ss-layer-status-locked');
6340
+ break;
6341
+ }
6342
+ }
6343
+
6344
+ Layer.prototype.setStatusNormal = function () {
6345
+ this.changeStatus(LAYER_STATUS.NORMAL);
6346
+ };
6347
+
6348
+ Layer.prototype._hide = function () {
6349
+ this.layer.css('display', 'none');
6350
+ };
6351
+
6352
+ Layer.prototype._show = function () {
6353
+ if (parseInt(this.property[this.layerEditor.getMode()])) {
6354
+ this.layer.css('display', 'block');
6355
+ }
6356
+ };
6357
+
6358
+ Layer.prototype.duplicate = function (needActivate, newParentId, newLayers) {
6359
+ var layer = this.getHTML(true, false);
6360
+
6361
+ var id = layer.attr('id');
6362
+ if (id) {
6363
+ id = $.fn.uid();
6364
+ layer.attr('id', id);
6365
+ }
6366
+
6367
+ if (newParentId) {
6368
+ layer.attr('data-parentid', newParentId);
6369
+ }
6370
+
6371
+ if (!id && !newParentId) {
6372
+ layer.data('desktopportraittop', layer.data('desktopportraittop') + 40);
6373
+ layer.data('desktopportraitleft', layer.data('desktopportraitleft') + 40);
6374
+ }
6375
+
6376
+ var newLayer = this.layerEditor._addLayer(this.group, layer, true);
6377
+
6378
+ if (typeof newLayers === 'undefined') {
6379
+ newLayers = [];
6380
+ } else {
6381
+ newLayers.push(newLayer);
6382
+ }
6383
+
6384
+ this.layer.triggerHandler('LayerDuplicated', [id, newLayers]);
6385
+
6386
+ this.layerRow.trigger('mouseleave');
6387
+
6388
+ if (needActivate) {
6389
+ newLayer.activate();
6390
+ }
6391
+
6392
+
6393
+ if (!newParentId) {
6394
+ smartSlider.history.add($.proxy(function () {
6395
+ return [this, 'duplicateLayer', 'duplicate', 'delete', [newLayer]];
6396
+ }, this));
6397
+ }
6398
+ };
6399
+
6400
+ Layer.prototype.delete = function (deleteChild, oldLayers) {
6401
+
6402
+ if (this.layerEditor.getSelectedLayer() == this) {
6403
+ this.layerEditor.panel.hide();
6404
+ }
6405
+
6406
+ smartSlider.history.add($.proxy(function () {
6407
+ return [this, 'deleteLayer', 'delete', 'create', [this.group, this.getData({
6408
+ layersIncluded: true,
6409
+ itemsIncluded: true
6410
+ })]];
6411
+ }, this));
6412
+
6413
+ this.deActivate();
6414
+
6415
+ for (var i = 0; i < this.items.length; i++) {
6416
+ this.items[i].delete();
6417
+ }
6418
+
6419
+ this.group.childDeleted(this);
6420
+
6421
+ var parentId = this.getProperty(false, 'parentid');
6422
+ if (parentId) {
6423
+ this.unSubscribeParent(true);
6424
+ }
6425
+ // If delete happen meanwhile layer dragged or resized, we have to cancel that.
6426
+ this.layer.trigger('mouseup');
6427
+
6428
+ this.isDeleted = true;
6429
+
6430
+ this.layerEditor.layerDeleted(this.getIndex());
6431
+ if (typeof oldLayers === 'undefined') {
6432
+ oldLayers = [];
6433
+ } else {
6434
+ oldLayers.push(this);
6435
+ }
6436
+ this.layer.triggerHandler('LayerDeleted', [typeof deleteChild !== 'undefined' ? deleteChild : false, oldLayers]);
6437
+ this.layer.remove();
6438
+ this.layerRow.remove();
6439
+
6440
+
6441
+ this.$.trigger('layerDeleted');
6442
+
6443
+ //delete this.layerEditor;
6444
+ delete this.layer;
6445
+ delete this.itemEditor;
6446
+ };
6447
+
6448
+ Layer.prototype.getHTML = function (itemsIncluded, base64) {
6449
+ var layer = $('<div class="n2-ss-layer"></div>')
6450
+ .attr('style', this.getStyleText());
6451
+
6452
+ for (var k in this.property) {
6453
+ if (k != 'width' && k != 'height' && k != 'left' && k != 'top') {
6454
+ layer.attr('data-' + k.toLowerCase(), this.property[k]);
6455
+ }
6456
+ }
6457
+
6458
+ for (var k in this.deviceProperty) {
6459
+ for (var k2 in this.deviceProperty[k]) {
6460
+ layer.attr('data-' + k.toLowerCase() + k2, this.deviceProperty[k][k2]);
6461
+ }
6462
+ }
6463
+
6464
+ layer.css({
6465
+ position: 'absolute',
6466
+ zIndex: this.zIndex + 1
6467
+ });
6468
+
6469
+ for (var k in this.deviceProperty['desktop']) {
6470
+ layer.css(k, this.deviceProperty['desktop'][k] + 'px');
6471
+ }
6472
+
6473
+ if (itemsIncluded) {
6474
+ for (var i = 0; i < this.items.length; i++) {
6475
+ layer.append(this.items[i].getHTML(base64));
6476
+ }
6477
+ }
6478
+ var id = this.getProperty(false, 'id');
6479
+ if (id && id != '') {
6480
+ layer.attr('id', id);
6481
+ }
6482
+
6483
+ if (this.status > LAYER_STATUS.NORMAL) {
6484
+ layer.attr('data-status', this.status);
6485
+ }
6486
+
6487
+ return layer;
6488
+ };
6489
+
6490
+ Layer.prototype.getData = function (params) {
6491
+ var layer = {
6492
+ zIndex: (this.zIndex + 1)
6493
+ };
6494
+
6495
+ if (this.status > LAYER_STATUS.NORMAL) {
6496
+ layer.status = this.status;
6497
+ }
6498
+ for (var k in this.property) {
6499
+ switch (k) {
6500
+ case 'width':
6501
+ case 'height':
6502
+ case 'left':
6503
+ case 'top':
6504
+ case 'align':
6505
+ case 'valign':
6506
+ case 'parentalign':
6507
+ case 'parentvalign':
6508
+ case 'fontsize':
6509
+ break;
6510
+ default:
6511
+ layer[k.toLowerCase()] = this.property[k];
6512
+ }
6513
+ }
6514
+
6515
+ // store the device based properties
6516
+ for (var device in this.deviceProperty) {
6517
+ for (var property in this.deviceProperty[device]) {
6518
+ var value = this.deviceProperty[device][property];
6519
+ if (typeof value === 'undefined') {
6520
+ continue;
6521
+ }
6522
+ if (!(property == 'width' && this.isDimensionPropertyAccepted(value)) && !(property == 'height' && this.isDimensionPropertyAccepted(value)) && property != 'align' && property != 'valign' && property != 'parentalign' && property != 'parentvalign') {
6523
+ value = parseFloat(value);
6524
+ }
6525
+ layer[device.toLowerCase() + property] = value;
6526
+ }
6527
+ }
6528
+
6529
+ if (params.itemsIncluded) {
6530
+ layer.items = [];
6531
+ for (var i = 0; i < this.items.length; i++) {
6532
+ layer.items.push(this.items[i].getData());
6533
+ }
6534
+ }
6535
+ return layer;
6536
+ };
6537
+
6538
+ Layer.prototype.getDataWithChildren = function (layers) {
6539
+ layers.push(this.getData({
6540
+ layersIncluded: true,
6541
+ itemsIncluded: true
6542
+ }));
6543
+ this.layer.triggerHandler('LayerGetDataWithChildren', [layers]);
6544
+ return layers;
6545
+ };
6546
+
6547
+ Layer.prototype.initItems = function () {
6548
+ this.items = [];
6549
+ var items = this.layer.find('.n2-ss-item');
6550
+
6551
+ for (var i = 0; i < items.length; i++) {
6552
+ this.addItem(items.eq(i), false);
6553
+ }
6554
+ };
6555
+
6556
+ Layer.prototype.addItem = function (item, place) {
6557
+ if (place) {
6558
+ item.appendTo(this.layer);
6559
+ }
6560
+ new NextendSmartSliderItem(item, this, this.itemEditor);
6561
+ };
6562
+ /*
6563
+ Layer.prototype.editName = function () {
6564
+ var input = new NextendSmartSliderAdminInlineField();
6565
+
6566
+ input.$input.on({
6567
+ valueChanged: $.proxy(function (e, newName) {
6568
+ this.rename(newName, true);
6569
+ this.layerTitleSpan.css('display', '');
6570
+ }, this),
6571
+ cancel: $.proxy(function () {
6572
+ this.layerTitleSpan.css('display', '');
6573
+ }, this)
6574
+ });
6575
+
6576
+ this.layerTitleSpan.css('display', 'none');
6577
+ input.injectNode(this.layerTitle, this.property.name);
6578
+
6579
+ };
6580
+ */
6581
+ Layer.prototype.rename = function (newName, force) {
6582
+
6583
+ if (this.property.nameSynced || force) {
6584
+
6585
+ if (force) {
6586
+ this.property.nameSynced = 0;
6587
+ }
6588
+
6589
+ if (newName == '') {
6590
+ if (force) {
6591
+ this.property.nameSynced = 1;
6592
+ if (this.items.length) {
6593
+ this.items[0].reRender();
6594
+ return false;
6595
+ }
6596
+ }
6597
+ newName = 'Layer #' + (this.layerEditor.layerList.length + 1);
6598
+ }
6599
+ newName = newName.substr(0, 35);
6600
+ if (this.property.name != newName) {
6601
+ this.property.name = newName;
6602
+ this.layerTitleSpan.html(newName);
6603
+
6604
+ this.$.trigger('layerRenamed', newName);
6605
+ }
6606
+ }
6607
+ };
6608
+
6609
+ // from: manager or other
6610
+ Layer.prototype.setProperty = function (name, value, from) {
6611
+ switch (name) {
6612
+ case 'responsiveposition':
6613
+ case 'responsivesize':
6614
+ value = parseInt(value);
6615
+ case 'id':
6616
+ case 'parentid':
6617
+ case 'class':
6618
+ case 'inneralign':
6619
+ case 'crop':
6620
+ case 'rotation':
6621
+ case 'parallax':
6622
+ case 'adaptivefont':
6623
+ case 'generatorvisible':
6624
+ case 'mouseenter':
6625
+ case 'click':
6626
+ case 'mouseleave':
6627
+ case 'play':
6628
+ case 'pause':
6629
+ case 'stop':
6630
+ this.store(false, name, value, true);
6631
+ break;
6632
+ case 'parentalign':
6633
+ case 'parentvalign':
6634
+ case 'align':
6635
+ case 'valign':
6636
+ case 'fontsize':
6637
+ this.store(true, name, value, true);
6638
+ break;
6639
+ case 'width':
6640
+ var ratioSizeH = this.layerEditor.getResponsiveRatio('h')
6641
+ if (!parseInt(this.getProperty(false, 'responsivesize'))) {
6642
+ ratioSizeH = 1;
6643
+ }
6644
+
6645
+ var v = value;
6646
+ if (!this.isDimensionPropertyAccepted(value)) {
6647
+ v = ~~value;
6648
+ if (v != value) {
6649
+ this.$.trigger('propertyChanged', [name, v]);
6650
+ }
6651
+ }
6652
+ this.storeWithModifier(name, v, ratioSizeH, true);
6653
+ this._resize(false);
6654
+ break;
6655
+ case 'height':
6656
+ var ratioSizeV = this.layerEditor.getResponsiveRatio('v')
6657
+ if (!parseInt(this.getProperty(false, 'responsivesize'))) {
6658
+ ratioSizeV = 1;
6659
+ }
6660
+
6661
+ var v = value;
6662
+ if (!this.isDimensionPropertyAccepted(value)) {
6663
+ v = ~~value;
6664
+ if (v != value) {
6665
+ this.$.trigger('propertyChanged', [name, v]);
6666
+ }
6667
+ }
6668
+
6669
+ this.storeWithModifier(name, v, ratioSizeV, true);
6670
+ this._resize(false);
6671
+ break;
6672
+ case 'left':
6673
+ var ratioPositionH = this.layerEditor.getResponsiveRatio('h')
6674
+ if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
6675
+ ratioPositionH = 1;
6676
+ }
6677
+
6678
+ var v = ~~value;
6679
+ if (v != value) {
6680
+ this.$.trigger('propertyChanged', [name, v]);
6681
+ }
6682
+
6683
+ this.storeWithModifier(name, v, ratioPositionH, true);
6684
+ break;
6685
+ case 'top':
6686
+ var ratioPositionV = this.layerEditor.getResponsiveRatio('v')
6687
+ if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
6688
+ ratioPositionV = 1;
6689
+ }
6690
+
6691
+ var v = ~~value;
6692
+ if (v != value) {
6693
+ this.$.trigger('propertyChanged', [name, v]);
6694
+ }
6695
+
6696
+ this.storeWithModifier(name, v, ratioPositionV, true);
6697
+ break;
6698
+ case 'showFieldDesktopPortrait':
6699
+ this.store(false, 'desktopPortrait', parseInt(value), true);
6700
+ break;
6701
+ case 'showFieldDesktopLandscape':
6702
+ this.store(false, 'desktopLandscape', parseInt(value), true);
6703
+ break;
6704
+ case 'showFieldTabletPortrait':
6705
+ this.store(false, 'tabletPortrait', parseInt(value), true);
6706
+ break;
6707
+ case 'showFieldTabletLandscape':
6708
+ this.store(false, 'tabletLandscape', parseInt(value), true);
6709
+ break;
6710
+ case 'showFieldMobilePortrait':
6711
+ this.store(false, 'mobilePortrait', parseInt(value), true);
6712
+ break;
6713
+ case 'showFieldMobileLandscape':
6714
+ this.store(false, 'mobileLandscape', parseInt(value), true);
6715
+ break;
6716
+ }
6717
+
6718
+ if (from != 'manager') {
6719
+ // jelezzuk a sidebarnak, hogy valamely property megvaltozott
6720
+ this.$.trigger('propertyChanged', [name, value]);
6721
+ }
6722
+ };
6723
+
6724
+ Layer.prototype.render = function (name, value) {
6725
+ this['_sync' + name](value);
6726
+ };
6727
+
6728
+ Layer.prototype.renderWithModifier = function (name, value, modifier) {
6729
+ if ((name == 'width' || name == 'height') && this.isDimensionPropertyAccepted(value)) {
6730
+ this['_sync' + name](value);
6731
+ } else {
6732
+ this['_sync' + name](Math.round(value * modifier));
6733
+ }
6734
+ };
6735
+
6736
+ Layer.prototype._syncclass = function (value) {
6737
+ this.layer.removeClass();
6738
+ this.layer.addClass('n2-ss-layer');
6739
+ if (value && value != '') {
6740
+ this.layer.addClass(value);
6741
+ }
6742
+ };
6743
+
6744
+ Layer.prototype._syncid = function (value) {
6745
+ if (!value || value == '') {
6746
+ this.layer.removeAttr('id');
6747
+ } else {
6748
+ this.layer.attr('id', value);
6749
+ }
6750
+ };
6751
+
6752
+ Layer.prototype.subscribeParent = function () {
6753
+ var that = this;
6754
+ this.subscribeParentCallbacks = {
6755
+ LayerResized: function () {
6756
+ that.resizeParent.apply(that, arguments);
6757
+ },
6758
+ LayerParent: function () {
6759
+ that.layer.addClass('n2-ss-layer-parent');
6760
+ that.layer.triggerHandler('LayerParent');
6761
+ },
6762
+ LayerUnParent: function () {
6763
+ that.layer.removeClass('n2-ss-layer-parent');
6764
+ that.layer.triggerHandler('LayerUnParent');
6765
+ },
6766
+ LayerDeleted: function (e, deleteChild, oldLayers) {
6767
+ if (deleteChild) {
6768
+ that.delete(deleteChild, oldLayers);
6769
+ } else {
6770
+ that.setProperty('parentid', '', 'layer');
6771
+ }
6772
+ },
6773
+ LayerDuplicated: function (e, newParentId, newLayers) {
6774
+ that.duplicate(false, newParentId, newLayers);
6775
+ },
6776
+ LayerShowChange: function (e, mode, value) {
6777
+ if (that.getMode() == mode) {
6778
+ that.parentIsVisible = value;
6779
+ }
6780
+ },
6781
+ 'n2-ss-activate': function () {
6782
+ that.layerRow.addClass('n2-parent-active');
6783
+ },
6784
+ 'n2-ss-deactivate': function () {
6785
+ that.layerRow.removeClass('n2-parent-active');
6786
+ },
6787
+ 'LayerGetDataWithChildren': function (e, layers) {
6788
+ that.getDataWithChildren(layers);
6789
+ }
6790
+ };
6791
+ this.parent = n2('#' + this.property.parentid).on(this.subscribeParentCallbacks);
6792
+ this.layer.addClass('n2-ss-layer-has-parent');
6793
+ };
6794
+
6795
+ Layer.prototype.unSubscribeParent = function (isDelete) {
6796
+ this.layerRow.removeClass('n2-parent-active');
6797
+ this.layer.removeClass('n2-ss-layer-has-parent');
6798
+ if (this.parent) {
6799
+ this.parent.off(this.subscribeParentCallbacks);
6800
+ }
6801
+ this.parent = false;
6802
+ this.subscribeParentCallbacks = {};
6803
+ if (!isDelete) {
6804
+ var position = this.layer.position();
6805
+ this.setPosition(position.left, position.top);
6806
+ }
6807
+ };
6808
+
6809
+ Layer.prototype.unlink = function (e) {
6810
+ if (e) e.preventDefault();
6811
+ this.setProperty('parentid', '', 'layer');
6812
+ };
6813
+
6814
+ Layer.prototype.parentPicked = function (parentObject, parentAlign, parentValign, align, valign) {
6815
+ this.setProperty('parentid', '', 'layer');
6816
+
6817
+ this.setProperty('align', align, 'layer');
6818
+ this.setProperty('valign', valign, 'layer');
6819
+ this.setProperty('parentalign', parentAlign, 'layer');
6820
+ this.setProperty('parentvalign', parentValign, 'layer');
6821
+
6822
+ this.setProperty('parentid', parentObject.requestID(), 'layer');
6823
+
6824
+ var undef;
6825
+ for (var device in this.deviceProperty) {
6826
+ if (device == 'desktopPortrait') continue;
6827
+ this.deviceProperty[device].left = undef;
6828
+ this.deviceProperty[device].top = undef;
6829
+ this.deviceProperty[device].valign = undef;
6830
+ this.deviceProperty[device].align = undef;
6831
+ }
6832
+ };
6833
+
6834
+ Layer.prototype._syncparentid = function (value) {
6835
+ if (!value || value == '') {
6836
+ this.layer.removeAttr('data-parentid');
6837
+ this.unSubscribeParent(false);
6838
+ } else {
6839
+ if ($('#' + value).length == 0) {
6840
+ this.setProperty('parentid', '', 'layer');
6841
+ } else {
6842
+ this.layer.attr('data-parentid', value).addClass('n2-ss-layer-has-parent');
6843
+ this.subscribeParent();
6844
+ this.setPosition(this.layer.position().left, this.layer.position().top);
6845
+ }
6846
+ }
6847
+ };
6848
+
6849
+ Layer.prototype._syncparentalign = function (value) {
6850
+ this.layer.data('parentalign', value);
6851
+ var parent = this.getParent();
6852
+ if (parent) {
6853
+ parent._resize(false);
6854
+ }
6855
+ };
6856
+
6857
+ Layer.prototype._syncparentvalign = function (value) {
6858
+ this.layer.data('parentvalign', value);
6859
+ var parent = this.getParent();
6860
+ if (parent) {
6861
+ parent._resize(false);
6862
+ }
6863
+ };
6864
+
6865
+ Layer.prototype._syncinneralign = function (value) {
6866
+ this.layer.css('text-align', value);
6867
+ };
6868
+
6869
+ Layer.prototype._synccrop = function (value) {
6870
+ if (value == 'auto') {
6871
+ value = 'hidden';
6872
+ }
6873
+
6874
+ var mask = this.layer.find('> .n2-ss-layer-mask');
6875
+ if (value == 'mask') {
6876
+ value = 'hidden';
6877
+ if (!mask.length) {
6878
+ mask = $("<div class='n2-ss-layer-mask'></div>").appendTo(this.layer);
6879
+ var rotationMask = this.layer.find('.n2-ss-layer-rotation');
6880
+ if (rotationMask.length) {
6881
+ rotationMask.appendTo(mask);
6882
+ } else {
6883
+ for (var i = 0; i < this.items.length; i++) {
6884
+ mask.append(this.items[i].item);
6885
+ }
6886
+ }
6887
+ }
6888
+ } else {
6889
+ if (mask.length) {
6890
+ var rotationMask = this.layer.find('.n2-ss-layer-rotation');
6891
+ if (rotationMask.length) {
6892
+ rotationMask.appendTo(this.layer);
6893
+ } else {
6894
+ for (var i = 0; i < this.items.length; i++) {
6895
+ this.layer.append(this.items[i].item);
6896
+ }
6897
+ }
6898
+ mask.remove();
6899
+ }
6900
+ }
6901
+ this.layer.css('overflow', value);
6902
+ };
6903
 
6904
+ Layer.prototype._syncrotation = function (value) {
6905
+
6906
+ var rotationMask = this.layer.find('.n2-ss-layer-rotation');
6907
+ if (value != 0) {
6908
+ if (!rotationMask.length) {
6909
+ rotationMask = $("<div class='n2-ss-layer-rotation'></div>").appendTo(this.layer.find('.n2-ss-layer-mask').addBack().last());
6910
+ for (var i = 0; i < this.items.length; i++) {
6911
+ rotationMask.append(this.items[i].item);
6912
+ }
6913
+ }
6914
+ NextendTween.set(rotationMask[0], {
6915
+ rotationZ: value
6916
+ });
6917
+ this.layer.data('rotation', value);
6918
+ } else {
6919
+ if (rotationMask.length) {
6920
+ for (var i = 0; i < this.items.length; i++) {
6921
+ this.layer.find('.n2-ss-layer-mask').addBack().last().append(this.items[i].item);
6922
+ }
6923
+ rotationMask.remove();
6924
+ } else {
6925
+ NextendTween.set(rotationMask, {
6926
+ rotationZ: 0
6927
+ });
6928
+ }
6929
+ this.layer.data('rotation', 0);
6930
  }
6931
+ };
6932
+
6933
+ Layer.prototype._syncparallax = function (value) {
6934
 
6935
+ };
6936
+
6937
+ Layer.prototype._syncalign = function (value, lastValue) {
6938
+ if (lastValue !== 'undefined' && value != lastValue) {
6939
+ this.setPosition(this.layer.position().left, this.layer.position().top);
6940
  }
6941
+ this.layer.attr('data-align', value);
6942
+ };
6943
+
6944
+ Layer.prototype._syncvalign = function (value, lastValue) {
6945
+ if (lastValue !== 'undefined' && value != lastValue) {
6946
+ this.setPosition(this.layer.position().left, this.layer.position().top);
6947
  }
6948
+ this.layer.attr('data-valign', value);
6949
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6950
 
6951
+ Layer.prototype._syncfontsize = function (value) {
6952
+ this.adjustFontSize(this.getProperty(false, 'adaptivefont'), value, true);
6953
+ };
6954
 
6955
+ Layer.prototype._syncadaptivefont = function (value) {
6956
+ this.adjustFontSize(value, this.getProperty(true, 'fontsize'), true);
6957
+ };
6958
 
6959
+ Layer.prototype.adjustFontSize = function (isAdaptive, fontSize, shouldUpdatePosition) {
6960
+ fontSize = parseInt(fontSize);
6961
+ if (parseInt(isAdaptive)) {
6962
+ this.layer.css('font-size', (nextend.smartSlider.frontend.sliderElement.data('fontsize') * fontSize / 100) + 'px');
6963
+ } else if (fontSize != 100) {
6964
+ this.layer.css('font-size', fontSize + '%');
6965
+ } else {
6966
+ this.layer.css('font-size', '');
6967
+ }
6968
+ if (shouldUpdatePosition) {
6969
+ this.update();
6970
+ }
6971
+ };
6972
 
6973
+ Layer.prototype._syncgeneratorvisible = function (value) {
6974
+ };
6975
 
6976
+ Layer.prototype._syncleft = function (value) {
6977
+ if (!this.parent || !this.parentIsVisible) {
6978
+ switch (this.getProperty(true, 'align')) {
6979
+ case 'right':
6980
+ this.layer.css({
6981
+ left: 'auto',
6982
+ right: -value + 'px'
6983
+ });
6984
+ break;
6985
+ case 'center':
6986
+ this.layer.css({
6987
+ left: (this.layer.parent().width() / 2 + value - this.layer.width() / 2) + 'px',
6988
+ right: 'auto'
6989
+ });
6990
+ break;
6991
+ default:
6992
+ this.layer.css({
6993
+ left: value + 'px',
6994
+ right: 'auto'
6995
+ });
6996
+ }
6997
+ } else {
6998
+ var position = this.parent.position(),
6999
+ align = this.getProperty(true, 'align'),
7000
+ parentAlign = this.getProperty(true, 'parentalign'),
7001
+ left = 0;
7002
+ switch (parentAlign) {
7003
+ case 'right':
7004
+ left = position.left + this.parent.width();
7005
+ break;
7006
+ case 'center':
7007
+ left = position.left + this.parent.width() / 2;
7008
+ break;
7009
+ default:
7010
+ left = position.left;
7011
+ }
7012
 
7013
+ switch (align) {
7014
+ case 'right':
7015
+ this.layer.css({
7016
+ left: 'auto',
7017
+ right: (this.layer.parent().width() - left - value) + 'px'
7018
+ });
7019
+ break;
7020
+ case 'center':
7021
+ this.layer.css({
7022
+ left: (left + value - this.layer.width() / 2) + 'px',
7023
+ right: 'auto'
7024
+ });
7025
+ break;
7026
+ default:
7027
+ this.layer.css({
7028
+ left: (left + value) + 'px',
7029
+ right: 'auto'
7030
+ });
7031
+ }
7032
 
7033
+ }
 
7034
 
7035
+ this.triggerLayerResized();
7036
+ };
7037
+
7038
+ Layer.prototype._synctop = function (value) {
7039
+ if (!this.parent || !this.parentIsVisible) {
7040
+ switch (this.getProperty(true, 'valign')) {
7041
+ case 'bottom':
7042
+ this.layer.css({
7043
+ top: 'auto',
7044
+ bottom: -value + 'px'
7045
+ });
7046
+ break;
7047
+ case 'middle':
7048
+ this.layer.css({
7049
+ top: (this.layer.parent().height() / 2 + value - this.layer.height() / 2) + 'px',
7050
+ bottom: 'auto'
7051
+ });
7052
+ break;
7053
+ default:
7054
+ this.layer.css({
7055
+ top: value + 'px',
7056
+ bottom: 'auto'
7057
+ });
7058
+ }
7059
  } else {
7060
+ var position = this.parent.position(),
7061
+ valign = this.getProperty(true, 'valign'),
7062
+ parentVAlign = this.getProperty(true, 'parentvalign'),
7063
+ top = 0;
7064
+ switch (parentVAlign) {
7065
+ case 'bottom':
7066
+ top = position.top + this.parent.height();
7067
+ break;
7068
+ case 'middle':
7069
+ top = position.top + this.parent.height() / 2;
7070
+ break;
7071
+ default:
7072
+ top = position.top;
7073
+ }
7074
+
7075
+ switch (valign) {
7076
+ case 'bottom':
7077
+ this.layer.css({
7078
+ top: 'auto',
7079
+ bottom: (this.layer.parent().height() - top - value) + 'px'
7080
+ });
7081
+ break;
7082
+ case 'middle':
7083
+ this.layer.css({
7084
+ top: (top + value - this.layer.height() / 2) + 'px',
7085
+ bottom: 'auto'
7086
+ });
7087
+ break;
7088
+ default:
7089
+ this.layer.css({
7090
+ top: (top + value) + 'px',
7091
+ bottom: 'auto'
7092
+ });
7093
+ }
7094
  }
7095
 
7096
+ this.triggerLayerResized();
7097
+ };
7098
+
7099
+ Layer.prototype._syncresponsiveposition = function (value) {
7100
+ this._resize(false);
7101
+ };
7102
 
7103
+ Layer.prototype._syncwidth = function (value) {
7104
+ this.layer.css('width', value + (this.isDimensionPropertyAccepted(value) ? '' : 'px'));
7105
+ };
7106
 
7107
+ Layer.prototype._syncheight = function (value) {
7108
+ this.layer.css('height', value + (this.isDimensionPropertyAccepted(value) ? '' : 'px'));
7109
+ };
7110
 
7111
+ Layer.prototype._syncresponsivesize = function (value) {
7112
+ this._resize(false);
7113
+ };
7114
 
7115
+ Layer.prototype._syncdesktopPortrait = function (value) {
7116
+ this.__syncShowOnDevice('desktopPortrait', value);
7117
+ };
7118
 
7119
+ Layer.prototype._syncdesktopLandscape = function (value) {
7120
+ this.__syncShowOnDevice('desktopLandscape', value);
7121
+ };
 
7122
 
7123
+ Layer.prototype._synctabletPortrait = function (value) {
7124
+ this.__syncShowOnDevice('tabletPortrait', value);
 
 
7125
  };
7126
 
7127
+ Layer.prototype._synctabletLandscape = function (value) {
7128
+ this.__syncShowOnDevice('tabletLandscape', value);
7129
  };
7130
 
7131
+ Layer.prototype._syncmobilePortrait = function (value) {
7132
+ this.__syncShowOnDevice('mobilePortrait', value);
7133
  };
7134
 
7135
+ Layer.prototype._syncmobileLandscape = function (value) {
7136
+ this.__syncShowOnDevice('mobileLandscape', value);
7137
+ };
7138
+
7139
+ Layer.prototype.__syncShowOnDevice = function (mode, value) {
7140
+ if (this.getMode() == mode) {
7141
+ var value = parseInt(value);
7142
+ if (value) {
7143
+ this._show();
7144
+ } else {
7145
+ this._hide();
7146
+ }
7147
+ this.layer.triggerHandler('LayerShowChange', [mode, value]);
7148
+ this.triggerLayerResized();
7149
  }
 
7150
  };
7151
 
7152
+ Layer.prototype._syncmouseenter =
7153
+ Layer.prototype._syncclick =
7154
+ Layer.prototype._syncmouseleave =
7155
+ Layer.prototype._syncplay =
7156
+ Layer.prototype._syncpause =
7157
+ Layer.prototype._syncstop = function () {
7158
+ };
7159
 
7160
+ Layer.prototype.___makeLayerAlign = function () {
7161
+ $('<div class="n2-ss-layer-border" />').prependTo(this.layer);
7162
+ this.alignMarker = $('<div class="n2-ss-layer-cc" />').appendTo(this.layer);
7163
+ };
7164
 
7165
+ //<editor-fold desc="Makes layer resizable">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7166
 
7167
+ /**
7168
+ * Add resize handles to the specified layer
7169
+ * @param {jQuery} layer
7170
+ * @private
7171
+ */
7172
+ Layer.prototype.___makeLayerResizeable = function () {
7173
+ this._resizableJustClick = false;
7174
+ this.layer.nextendResizable({
7175
+ handles: 'n, e, s, w, ne, se, sw, nw',
7176
+ _containment: this.layerEditor.layerContainerElement,
7177
+ start: $.proxy(this.____makeLayerResizeableStart, this),
7178
+ resize: $.proxy(this.____makeLayerResizeableResize, this),
7179
+ stop: $.proxy(this.____makeLayerResizeableStop, this),
7180
+ create: $.proxy(function () {
7181
+ this.layer.find('.ui-resizable-handle, .n2-ss-layer-cc').on({
7182
+ mousedown: $.proxy(function (e) {
7183
+ this._resizableJustClick = [e.clientX, e.clientY];
7184
+ }, this),
7185
+ mouseup: $.proxy(function (e) {
7186
+ if (this._resizableJustClick && Math.abs(Math.sqrt(Math.pow(this._resizableJustClick[0] - e.clientX, 2) + Math.pow(this._resizableJustClick[1] - e.clientY, 2))) < 1) {
7187
+ $target = $(e.currentTarget);
7188
+ var layerFeatures = this.layerEditor.sidebar.layerFeatures;
7189
+ if ($target.hasClass('ui-resizable-nw')) {
7190
+ layerFeatures.horizontalAlign('left', false);
7191
+ layerFeatures.verticalAlign('top', false);
7192
+ } else if ($target.hasClass('ui-resizable-w')) {
7193
+ layerFeatures.horizontalAlign('left', false);
7194
+ layerFeatures.verticalAlign('middle', false);
7195
+ } else if ($target.hasClass('ui-resizable-sw')) {
7196
+ layerFeatures.horizontalAlign('left', false);
7197
+ layerFeatures.verticalAlign('bottom', false);
7198
+ } else if ($target.hasClass('ui-resizable-n')) {
7199
+ layerFeatures.horizontalAlign('center', false);
7200
+ layerFeatures.verticalAlign('top', false);
7201
+ } else if ($target.hasClass('n2-ss-layer-cc')) {
7202
+ layerFeatures.horizontalAlign('center', false);
7203
+ layerFeatures.verticalAlign('middle', false);
7204
+ } else if ($target.hasClass('ui-resizable-s')) {
7205
+ layerFeatures.horizontalAlign('center', false);
7206
+ layerFeatures.verticalAlign('bottom', false);
7207
+ } else if ($target.hasClass('ui-resizable-ne')) {
7208
+ layerFeatures.horizontalAlign('right', false);
7209
+ layerFeatures.verticalAlign('top', false);
7210
+ } else if ($target.hasClass('ui-resizable-e')) {
7211
+ layerFeatures.horizontalAlign('right', false);
7212
+ layerFeatures.verticalAlign('middle', false);
7213
+ } else if ($target.hasClass('ui-resizable-se')) {
7214
+ layerFeatures.horizontalAlign('right', false);
7215
+ layerFeatures.verticalAlign('bottom', false);
7216
+ }
7217
+ }
7218
+ this._resizableJustClick = false;
7219
+ }, this)
7220
+ });
7221
+ }, this),
7222
+ smartguides: $.proxy(function () {
7223
+ this.layer.triggerHandler('LayerParent');
7224
+ return this.layerEditor.getSnap();
7225
+ }, this),
7226
+ tolerance: 5
7227
+ })
7228
  .on({
7229
+ mousedown: $.proxy(function (e) {
7230
+ if (!this.status != LAYER_STATUS.LOCKED) {
7231
+ this.layerEditor.positionDisplay
7232
+ .css({
7233
+ left: e.pageX + 10,
7234
+ top: e.pageY + 10
7235
+ })
7236
+ .html('W: ' + parseInt(this.layer.width()) + 'px<br />H: ' + parseInt(this.layer.height()) + 'px')
7237
+ .addClass('n2-active');
7238
  }
7239
+ if (document.activeElement) {
7240
+ document.activeElement.blur();
7241
+ }
7242
+ }, this),
7243
+ mouseup: $.proxy(function (e) {
7244
+ this.layerEditor.positionDisplay.removeClass('n2-active');
7245
  }, this)
7246
  });
 
 
7247
  };
7248
 
7249
+ Layer.prototype.____makeLayerResizeableStart = function (event, ui) {
7250
+ preventActivation = true;
7251
+ this.resizableDeferred = $.Deferred();
7252
+ this.layerEditor.panel.hideWithDeferred(this.resizableDeferred);
7253
+ $('body').addClass('n2-ss-resize-layer');
7254
+ if (this._resizableJustClick) {
7255
+ this._resizableJustClick = false;
 
7256
  }
7257
+ this.____makeLayerResizeableResize(event, ui);
7258
+ this.layerEditor.positionDisplay.addClass('n2-active');
7259
  };
7260
 
7261
+ Layer.prototype.____makeLayerResizeableResize = function (e, ui) {
7262
+ this.layerEditor.positionDisplay
7263
+ .css({
7264
+ left: e.pageX + 10,
7265
+ top: e.pageY + 10
7266
+ })
7267
+ .html('W: ' + ui.size.width + 'px<br />H: ' + ui.size.height + 'px');
7268
+ this.triggerLayerResized();
7269
  };
7270
 
7271
+ Layer.prototype.____makeLayerResizeableStop = function (event, ui) {
7272
+ window.nextendPreventClick = true;
7273
+ setTimeout(function () {
7274
+ window.nextendPreventClick = false;
7275
+ }, 50);
7276
+ $('body').removeClass('n2-ss-resize-layer');
7277
+ this.resizableDeferred.resolve();
7278
+
7279
+ var isAutoWidth = false;
7280
+ if (ui.originalSize.width == ui.size.width) {
7281
+ var currentValue = this.getProperty(true, 'width');
7282
+ if (this.isDimensionPropertyAccepted(currentValue)) {
7283
+ isAutoWidth = true;
7284
+ this['_syncwidth'](currentValue);
7285
+ }
7286
  }
7287
+
7288
+ var isAutoHeight = false;
7289
+ if (ui.originalSize.height == ui.size.height) {
7290
+ var currentValue = this.getProperty(true, 'height');
7291
+ if (this.isDimensionPropertyAccepted(currentValue)) {
7292
+ isAutoHeight = true;
7293
+ this['_syncheight'](currentValue);
7294
+ }
7295
  }
7296
+ this.setPosition(ui.position.left, ui.position.top);
7297
 
 
 
 
 
 
 
 
7298
 
7299
+ var ratioSizeH = this.layerEditor.getResponsiveRatio('h'),
7300
+ ratioSizeV = this.layerEditor.getResponsiveRatio('v');
 
 
 
 
7301
 
7302
+ if (!parseInt(this.getProperty(false, 'responsivesize'))) {
7303
+ ratioSizeH = ratioSizeV = 1;
 
 
 
 
 
 
 
 
 
7304
  }
 
7305
 
7306
+ if (!isAutoWidth) {
7307
+ var value = Math.round(ui.size.width * (1 / ratioSizeH));
7308
+ this.storeWithModifier('width', value, ratioSizeH, false);
7309
+ this.$.trigger('propertyChanged', ['width', value]);
7310
  }
7311
+ if (!isAutoHeight) {
7312
+ var value = Math.round(ui.size.height * (1 / ratioSizeV));
7313
+ this.storeWithModifier('height', value, ratioSizeV, false);
7314
+ this.$.trigger('propertyChanged', ['height', value]);
7315
+ }
7316
+ this.triggerLayerResized();
7317
+
7318
+ this.layer.triggerHandler('LayerUnParent');
7319
+
7320
+ this.layerEditor.positionDisplay.removeClass('n2-active');
7321
+
7322
+ setTimeout(function () {
7323
+ preventActivation = false;
7324
+ }, 80);
7325
+
7326
+ //this.layerEditor.panel.positionMenu(this.layer);
7327
  };
7328
+ //</editor-fold>
7329
 
7330
+ //<editor-fold desc="Makes layer draggable">
 
7331
 
7332
+ /**
7333
+ * Add draggable handles to the specified layer
7334
+ * @param layer
7335
+ * @private
7336
+ */
7337
+ Layer.prototype.___makeLayerDraggable = function () {
7338
 
7339
+ this.layer.nextenddraggable({
7340
+ _containment: this.layerEditor.layerContainerElement,
7341
+ start: $.proxy(this.____makeLayerDraggableStart, this),
7342
+ drag: $.proxy(this.____makeLayerDraggableDrag, this),
7343
+ stop: $.proxy(this.____makeLayerDraggableStop, this),
7344
+ smartguides: $.proxy(function () {
7345
+ this.layer.triggerHandler('LayerParent');
7346
+ return this.layerEditor.getSnap();
7347
+ }, this),
7348
+ tolerance: 5
7349
+ });
7350
+ };
7351
 
7352
+ Layer.prototype.____makeLayerDraggableStart = function (event, ui) {
7353
+ preventActivation = true;
7354
+ this.draggableDeferred = $.Deferred();
7355
+ this.layerEditor.panel.hideWithDeferred(this.draggableDeferred);
7356
+ $('body').addClass('n2-ss-move-layer');
7357
+
7358
+ this.layerEditor.draggableStart(ui);
7359
+
7360
+ this.____makeLayerDraggableDrag(event, ui);
7361
+ this.layerEditor.positionDisplay.addClass('n2-active');
7362
+
7363
+ var currentValue = this.getProperty(true, 'width');
7364
+ if (this.isDimensionPropertyAccepted(currentValue)) {
7365
+ this.layer.width(this.layer.width() + 0.5); // Center positioned element can wrap the last word to a new line if this fix not added
7366
  }
 
7367
 
7368
+ var currentValue = this.getProperty(true, 'height');
7369
+ if (this.isDimensionPropertyAccepted(currentValue)) {
7370
+ this['_syncheight'](currentValue);
7371
+ }
7372
  };
7373
 
7374
+ Layer.prototype.____makeLayerDraggableDrag = function (e, ui) {
7375
+ this.layerEditor.positionDisplay
7376
+ .css({
7377
+ left: e.pageX + 10,
7378
+ top: e.pageY + 10
7379
+ })
7380
+ .html('L: ' + parseInt(ui.position.left | 0) + 'px<br />T: ' + parseInt(ui.position.top | 0) + 'px');
7381
+ this.triggerLayerResized();
7382
 
7383
+ this.layerEditor.draggableDrag(ui);
 
7384
  };
7385
 
7386
+ Layer.prototype.____makeLayerDraggableStop = function (event, ui) {
7387
+ window.nextendPreventClick = true;
7388
+ setTimeout(function () {
7389
+ window.nextendPreventClick = false;
7390
+ }, 50);
7391
+ $('body').removeClass('n2-ss-move-layer');
7392
+ this.draggableDeferred.resolve();
7393
 
7394
+ this.setPosition(ui.position.left, ui.position.top);
 
 
 
7395
 
7396
+ var currentValue = this.getProperty(true, 'width');
7397
+ if (this.isDimensionPropertyAccepted(currentValue)) {
7398
+ this['_syncwidth'](currentValue);
7399
+ }
7400
 
7401
+ var currentValue = this.getProperty(true, 'height');
7402
+ if (this.isDimensionPropertyAccepted(currentValue)) {
7403
+ this['_syncheight'](currentValue);
7404
+ }
7405
+
7406
+ this.triggerLayerResized();
7407
+
7408
+ this.layer.triggerHandler('LayerUnParent');
7409
+ this.layerEditor.positionDisplay.removeClass('n2-active');
7410
 
7411
+
7412
+ var inMultipleSelection = this.layerEditor.draggableStop(ui);
7413
+ if (!inMultipleSelection) {
7414
+ preventActivation = false;
7415
+ this.activate(event);
7416
  } else {
7417
+ setTimeout(function () {
7418
+ preventActivation = false;
7419
+ }, 80);
7420
+
7421
  }
 
7422
 
7423
+ //this.layerEditor.panel.positionMenu(this.layer);
 
7424
  };
7425
 
7426
+ Layer.prototype.moveX = function (x) {
7427
+ this.setDeviceBasedAlign();
7428
+ this.setProperty('left', this.getProperty(true, 'left') + x, 'layer');
7429
+ this.triggerLayerResized();
7430
  };
7431
 
7432
+ Layer.prototype.moveY = function (y) {
7433
+ this.setDeviceBasedAlign();
7434
+ this.setProperty('top', this.getProperty(true, 'top') + y, 'layer');
7435
+ this.triggerLayerResized();
7436
  };
7437
 
7438
+ Layer.prototype.setPosition = function (left, top) {
7439
+
7440
+ var ratioH = this.layerEditor.getResponsiveRatio('h'),
7441
+ ratioV = this.layerEditor.getResponsiveRatio('v');
 
 
 
 
 
 
 
7442
 
7443
+ if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
7444
+ ratioH = ratioV = 1;
7445
  }
 
7446
 
7447
+ this.setDeviceBasedAlign();
 
7448
 
7449
+ var parent = this.parent,
7450
+ p = {
7451
+ left: 0,
7452
+ leftMultiplier: 1,
7453
+ top: 0,
7454
+ topMultiplier: 1
7455
+ };
7456
+ if (!parent || !parent.is(':visible')) {
7457
+ parent = this.layer.parent();
7458
 
 
 
 
7459
 
7460
+ switch (this.getProperty(true, 'align')) {
7461
+ case 'center':
7462
+ p.left += parent.width() / 2;
7463
+ break;
7464
+ case 'right':
7465
+ p.left += parent.width();
7466
+ break;
7467
+ }
7468
 
7469
+ switch (this.getProperty(true, 'valign')) {
7470
+ case 'middle':
7471
+ p.top += parent.height() / 2;
7472
+ break;
7473
+ case 'bottom':
7474
+ p.top += parent.height();
7475
+ break;
7476
+ }
7477
  } else {
7478
+ var position = parent.position();
7479
+ switch (this.getProperty(true, 'parentalign')) {
7480
+ case 'right':
7481
+ p.left = position.left + parent.width();
7482
+ break;
7483
+ case 'center':
7484
+ p.left = position.left + parent.width() / 2;
7485
+ break;
7486
+ default:
7487
+ p.left = position.left;
7488
+ }
7489
+ switch (this.getProperty(true, 'parentvalign')) {
7490
+ case 'bottom':
7491
+ p.top = position.top + parent.height();
7492
+ break;
7493
+ case 'middle':
7494
+ p.top = position.top + parent.height() / 2;
7495
+ break;
7496
+ default:
7497
+ p.top = position.top;
7498
+ }
7499
  }
7500
 
 
 
 
7501
 
7502
+ var left, needRender = false;
7503
+ switch (this.getProperty(true, 'align')) {
7504
+ case 'left':
7505
+ left = -Math.round((p.left - left) * (1 / ratioH));
7506
+ break;
7507
+ case 'center':
7508
+ left = -Math.round((p.left - left - this.layer.width() / 2) * (1 / ratioH))
7509
+ break;
7510
+ case 'right':
7511
+ left = -Math.round((p.left - left - this.layer.width()) * (1 / ratioH));
7512
+ needRender = true;
7513
+ break;
7514
  }
7515
+ this.storeWithModifier('left', left, ratioH, needRender);
7516
+ this.$.trigger('propertyChanged', ['left', left]);
7517
 
7518
+ var top, needRender = false;
7519
+ switch (this.getProperty(true, 'valign')) {
7520
+ case 'top':
7521
+ top = -Math.round((p.top - top) * (1 / ratioV));
7522
+ break;
7523
+ case 'middle':
7524
+ top = -Math.round((p.top - top - this.layer.height() / 2) * (1 / ratioV));
7525
+ break;
7526
+ case 'bottom':
7527
+ top = -Math.round((p.top - top - this.layer.height()) * (1 / ratioV));
7528
+ needRender = true;
7529
+ break;
7530
+ }
7531
+ this.storeWithModifier('top', top, ratioV, needRender);
7532
+ this.$.trigger('propertyChanged', ['top', top]);
7533
+ }
7534
 
7535
+ Layer.prototype.setDeviceBasedAlign = function () {
7536
+ var mode = this.getMode();
7537
+ if (typeof this.deviceProperty[mode]['align'] == 'undefined') {
7538
+ this.setProperty('align', this.getProperty(true, 'align'), 'layer');
7539
+ }
7540
+ if (typeof this.deviceProperty[mode]['valign'] == 'undefined') {
7541
+ this.setProperty('valign', this.getProperty(true, 'valign'), 'layer');
7542
  }
7543
  };
7544
+ //</editor-fold
7545
 
7546
+ Layer.prototype.snap = function () {
7547
+ this.layer.nextendResizable("option", "smartguides", $.proxy(function () {
7548
+ this.layer.triggerHandler('LayerParent');
7549
+ return this.layerEditor.getSnap();
7550
  }, this));
7551
+ this.layer.nextenddraggable("option", "smartguides", $.proxy(function () {
7552
+ this.layer.triggerHandler('LayerParent');
7553
+ return this.layerEditor.getSnap();
7554
+ }, this));
7555
+ };
7556
 
7557
+ Layer.prototype.changeEditorMode = function (mode) {
7558
+ var value = parseInt(this.property[mode]);
7559
+ if (value) {
7560
+ this._show();
 
 
 
 
 
 
 
 
 
 
 
 
 
7561
  } else {
7562
+ this._hide();
7563
  }
 
 
 
 
 
7564
 
7565
+ this.layer.triggerHandler('LayerShowChange', [mode, value]);
7566
 
7567
+ this._renderModeProperties(false);
 
 
 
 
 
7568
  };
7569
 
7570
+ Layer.prototype.resetMode = function (mode, currentMode) {
7571
+ if (mode != 'desktopPortrait') {
7572
+ var undefined;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7573
 
7574
+ smartSlider.history.add($.proxy(function () {
7575
+ return [this, 'resetMode', 'reset', 'restore', [mode, $.extend({}, this.deviceProperty[mode])]];
7576
+ }, this));
7577
 
7578
+ for (var k in this.property) {
7579
+ this.deviceProperty[mode][k] = undefined;
7580
+ }
7581
+ if (mode == currentMode) {
7582
+ this._renderModeProperties(true);
7583
  }
7584
  }
7585
+ };
 
 
 
7586
 
7587
+ Layer.prototype.restoreMode = function (mode, currentMode, data) {
7588
+ if (mode != 'desktopPortrait') {
7589
 
7590
+ this.deviceProperty[mode] = $.extend({}, data);
 
7591
 
7592
+ if (mode == currentMode) {
7593
+ this._renderModeProperties(true);
7594
+ }
7595
+ }
7596
  };
7597
 
7598
+ Layer.prototype._renderModeProperties = function (isReset) {
7599
+
 
 
 
 
 
7600
  for (var k in this.property) {
7601
+ this.property[k] = this.getProperty(true, k);
7602
+ this.$.trigger('propertyChanged', [k, this.property[k]]);
 
 
 
 
 
 
 
 
 
 
 
 
7603
  }
7604
 
7605
+ var fontSize = this.getProperty(true, 'fontsize');
7606
+ this.adjustFontSize(this.getProperty(false, 'adaptivefont'), fontSize, false);
7607
+
7608
+ this.layer.attr('data-align', this.property.align);
7609
+ this.layer.attr('data-valign', this.property.valign);
7610
+ if (isReset) {
7611
+ this._resize(true);
 
 
 
 
 
7612
  }
7613
 
7614
+ };
7615
+
7616
+ Layer.prototype.copyMode = function (from, to) {
7617
+ if (from != to) {
7618
+ this.deviceProperty[to] = $.extend({}, this.deviceProperty[to], this.deviceProperty[from]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7619
  }
 
7620
  };
7621
 
7622
+ Layer.prototype._resize = function (isForced) {
7623
+ this.resize({
7624
+ slideW: this.layerEditor.getResponsiveRatio('h'),
7625
+ slideH: this.layerEditor.getResponsiveRatio('v')
7626
+ }, isForced);
7627
  };
7628
 
7629
+ Layer.prototype.doLinearResize = function (ratios) {
7630
+ this.doThrottledTheResize(ratios, true);
 
 
 
 
7631
  };
7632
 
7633
+ Layer.prototype.resize = function (ratios, isForced) {
7634
+
7635
+ if (!this.parent || isForced) {
7636
+ //this.doThrottledTheResize(ratios, false);
7637
+ this.addToResizeCollection(this, ratios, false);
7638
  }
 
7639
  };
7640
 
7641
+ Layer.prototype.doTheResize = function (ratios, isLinear, isThrottled) {
7642
+ var ratioPositionH = ratios.slideW,
7643
+ ratioSizeH = ratioPositionH,
7644
+ ratioPositionV = ratios.slideH,
7645
+ ratioSizeV = ratioPositionV;
7646
 
7647
+ if (!parseInt(this.getProperty(false, 'responsivesize'))) {
7648
+ ratioSizeH = ratioSizeV = 1;
7649
+ }
 
 
 
 
 
 
7650
 
7651
+ //var width = this.getProperty(true, 'width');
7652
+ //this.storeWithModifier('width', this.isDimensionPropertyAccepted(width) ? width : Math.round(width), ratioSizeH, true);
7653
+ //var height = this.getProperty(true, 'height');
7654
+ //this.storeWithModifier('height', this.isDimensionPropertyAccepted(height) ? height : Math.round(height), ratioSizeV, true);
7655
+ this.renderWithModifier('width', this.getProperty(true, 'width'), ratioSizeH);
7656
+ this.renderWithModifier('height', this.getProperty(true, 'height'), ratioSizeV);
7657
 
7658
+ if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
7659
+ ratioPositionH = ratioPositionV = 1;
7660
+ }
7661
+ //this.storeWithModifier('left', Math.round(this.getProperty(true, 'left')), ratioPositionH, true);
7662
+ //this.storeWithModifier('top', Math.round(this.getProperty(true, 'top')), ratioPositionV, true);
7663
+ this.renderWithModifier('left', this.getProperty(true, 'left'), ratioPositionH);
7664
+ this.renderWithModifier('top', this.getProperty(true, 'top'), ratioPositionV);
7665
+ if (!isLinear) {
7666
+ this.triggerLayerResized(isThrottled, ratios);
7667
+ }
7668
  };
7669
 
7670
+ Layer.prototype.resizeParent = function (e, ratios, isThrottled) {
7671
+ //this.doThrottledTheResize(ratios, false, isThrottled);
7672
+ this.addToResizeCollection(this, ratios, isThrottled);
7673
+ };
7674
 
7675
+ Layer.prototype.addToResizeCollection = function (layer, ratios, isThrottled) {
7676
+ resizeCollection.ratios = ratios;
7677
+ resizeCollection.isThrottled = isThrottled;
7678
+ for (var i = 0; i < resizeCollection.layers.length; i++) {
7679
+ if (resizeCollection.layers[i] == this) {
7680
+ resizeCollection.layers.splice(i, 1);
7681
+ break;
7682
  }
7683
+ }
7684
+ resizeCollection.layers.push(layer);
7685
 
7686
+ requestRender();
7687
+ this.triggerLayerResized(isThrottled, ratios);
7688
+ };
7689
+
7690
+ Layer.prototype.update = function () {
7691
+ var parent = this.parent;
7692
+
7693
+ if (this.getProperty(true, 'align') == 'center') {
7694
+ var left = 0;
7695
+ if (parent) {
7696
+ left = parent.position().left + parent.width() / 2;
7697
+ } else {
7698
+ left = this.layer.parent().width() / 2;
7699
  }
7700
+ var ratio = this.layerEditor.getResponsiveRatio('h');
7701
+ if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
7702
+ ratio = 1;
7703
+ }
7704
+ this.layer.css('left', (left - this.layer.width() / 2 + this.getProperty(true, 'left') * ratio));
7705
+ }
7706
 
7707
+ if (this.getProperty(true, 'valign') == 'middle') {
7708
+ var top = 0;
7709
+ if (parent) {
7710
+ top = parent.position().top + parent.height() / 2;
7711
+ } else {
7712
+ top = this.layer.parent().height() / 2;
7713
+ }
7714
+ var ratio = this.layerEditor.getResponsiveRatio('v');
7715
+ if (!parseInt(this.getProperty(false, 'responsiveposition'))) {
7716
+ ratio = 1;
7717
  }
7718
+ this.layer.css('top', (top - this.layer.height() / 2 + this.getProperty(true, 'top') * ratio));
7719
  }
7720
+ this.triggerLayerResized();
7721
  };
7722
 
7723
+ Layer.prototype.triggerLayerResized = function (isThrottled, ratios) {
7724
+ if (isThrottled) {
7725
+ this._triggerLayerResized(isThrottled, ratios);
7726
+ } else {
7727
+ this._triggerLayerResizedThrottled(true, ratios);
7728
+ }
7729
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7730
 
7731
+ Layer.prototype._triggerLayerResized = function (isThrottled, ratios) {
7732
+ if (!this.isDeleted) {
7733
+ this.layer.triggerHandler('LayerResized', [ratios || {
7734
+ slideW: this.layerEditor.getResponsiveRatio('h'),
7735
+ slideH: this.layerEditor.getResponsiveRatio('v')
7736
+ }, isThrottled || false]);
7737
+ }
7738
+ };
 
 
 
 
 
 
 
7739
 
7740
+ Layer.prototype.getStyleText = function () {
7741
+ var style = '';
7742
+ var crop = this.property.crop;
7743
+ if (crop == 'auto' || crop == 'mask') {
7744
+ crop = 'hidden';
7745
+ }
 
7746
 
7747
+ style += 'overflow:' + crop + ';';
7748
+ style += 'text-align:' + this.property.inneralign + ';';
7749
+ return style;
7750
+ };
 
 
 
 
7751
 
7752
+ Layer.prototype.nextLayer = function () {
7753
+ var nextIndex = this.zIndex - 1;
7754
+ if (nextIndex < 0 || typeof this.group.zIndexList[nextIndex] == 'undefined') {
7755
+ this.group.nextLayer();
7756
+ } else {
7757
+ this.group.zIndexList[nextIndex].activate();
7758
+ }
7759
+ }
7760
 
7761
+ Layer.prototype.previousLayer = function () {
7762
+ var previousIndex = this.zIndex + 1;
7763
+ if (previousIndex > this.group.zIndexList.length - 1 || typeof this.group.zIndexList[previousIndex] == 'undefined') {
7764
+ this.group.previousLayer();
7765
+ } else {
7766
+ this.group.zIndexList[previousIndex].activate();
7767
+ }
7768
+ }
7769
 
7770
+ Layer.prototype.history = function (method, value, other, context) {
 
 
 
7771
 
7772
+ NextendSmartSliderLayerDataStorageAbtract.prototype.history.apply(this, arguments);
7773
+ switch (method) {
7774
+ case 'addLayer':
7775
+ switch (value) {
7776
+ case 'add':
7777
+ var group = other[0],
7778
+ data = $.extend(true, {}, other[1]);
7779
+ this.layerEditor._zIndexOffset = -1;
7780
+ this.layerEditor._idTranslation = {};
7781
+ var layer = this.layerEditor.loadSingleData(data, group);
7782
+ smartSlider.history.changeFuture(this, layer);
7783
+ smartSlider.history.changeFuture(this.items[0], layer.items[0]);
7784
+ this.group.reIndexLayers();
7785
+ this.layerEditor.refreshMode();
7786
+ break;
7787
+ case 'delete':
7788
+ this.delete();
7789
+ break;
7790
+ }
7791
  break;
7792
+ case 'createLayer':
7793
+ switch (value) {
7794
+ case 'add':
7795
+ var group = other[0],
7796
+ data = $.extend(true, {}, other[1]);
7797
+ this.layerEditor._zIndexOffset = -1;
7798
+ this.layerEditor._idTranslation = {};
7799
+ var layer = this.layerEditor.loadSingleData(data, group);
7800
+ smartSlider.history.changeFuture(this, layer);
7801
+ smartSlider.history.changeFuture(this.items[0], layer.items[0]);
7802
+ this.group.reIndexLayers();
7803
+ this.layerEditor.refreshMode();
7804
+ break;
7805
+ case 'delete':
7806
+ this.delete();
7807
+ break;
7808
+ }
7809
  break;
7810
+ case 'duplicateLayer':
7811
+ switch (value) {
7812
+ case 'duplicate':
7813
+ var newLayers = [];
7814
+ this.duplicate(true, false, newLayers);
7815
+ for (var i = 0; i < newLayers.length; i++) {
7816
+ smartSlider.history.changeFuture(context.oldLayers[i], newLayers[i]);
7817
+ smartSlider.history.changeFuture(context.oldLayers[i].items[0], newLayers[i].items[0]);
7818
+ }
7819
+ context.oldLayers = [];
7820
+ break;
7821
+ case 'delete':
7822
+ var oldLayers = [];
7823
+ other[0].delete(true, oldLayers);
7824
+ context.oldLayers = oldLayers;
7825
+ break;
7826
+ }
7827
  break;
7828
+ case 'deleteLayer':
7829
+ switch (value) {
7830
+ case 'create':
7831
+ var group = other[0],
7832
+ data = $.extend(true, {}, other[1]);
7833
+ this.layerEditor._zIndexOffset = -1;
7834
+ this.layerEditor._idTranslation = {};
7835
+ var layer = this.layerEditor.loadSingleData(data, group);
7836
+ smartSlider.history.changeFuture(this, layer);
7837
+ smartSlider.history.changeFuture(this.items[0], layer.items[0]);
7838
+ group.reIndexLayers();
7839
+ this.layerEditor.refreshMode();
7840
+ break;
7841
+ case 'delete':
7842
+ this.delete();
7843
+ break;
7844
+ }
7845
  break;
7846
+ case 'storeAnimations':
 
7847
  break;
7848
+ case 'resetMode':
7849
+ switch (value) {
7850
+ case 'reset':
7851
+ this.resetMode(other[0], this.layerEditor.getMode());
7852
+ break;
7853
+ case 'restore':
7854
+ this.restoreMode(other[0], this.layerEditor.getMode(), other[1]);
7855
+ break;
7856
+ }
7857
  break;
7858
  }
 
 
 
 
 
7859
  };
7860
 
7861
+ Layer.prototype.updateAnimations = function () {
7862
+ }
7863
 
7864
+
7865
+ Layer.prototype._sortZIndex = function (layer) {
7866
+ if (layer.group == this.group) {
7867
+ return this.zIndex >= layer.zIndex;
 
 
 
 
7868
  }
 
 
7869
 
7870
+ if (layer.group instanceof NextendSmartSliderLayerGroup && this.group instanceof NextendSmartSliderLayerGroup) {
7871
+ return this.group.zIndex >= layer.group.zIndex;
7872
+ }
7873
 
7874
+ if (layer.group instanceof NextendSmartSliderLayerGroup) {
7875
+ return this.zIndex >= layer.group.zIndex;
 
 
 
 
 
 
 
 
 
 
7876
  }
7877
 
7878
+ if (this.group instanceof NextendSmartSliderLayerGroup) {
7879
+ return this.group.zIndex >= layer.zIndex;
7880
  }
 
7881
 
7882
+ return this.zIndex >= layer.zIndex;
7883
+ }
 
7884
 
7885
+ scope.NextendSmartSliderLayer = Layer;
 
 
 
7886
 
7887
+ })(nextend.smartSlider, n2, window);
7888
+ (function (smartSlider, $, scope, undefined) {
7889
+ var preventActivation = false;
 
7890
 
7891
+ function parseFloatWithDefault(string, def) {
7892
+ var value = parseFloat(string);
7893
+ if (isNaN(value)) return def;
7894
+ return value;
7895
+ }
7896
 
7897
+ function LayerGroup(layerEditor, group, $node, params) {
7898
+ params || (params = {});
7899
+ this.isMainGroup = false;
7900
+ this.isDeleted = false;
7901
+ this.opened = true;
7902
+ if ($node) {
7903
+ this.layer = $node;
7904
+
7905
+ this.property = $.extend({
7906
+ name: 'Group',
7907
+ parallax: 0,
7908
+ fontsize: 100,
7909
+ adaptivefont: 0,
7910
+ generatorvisible: '',
7911
+ desktopPortrait: 1,
7912
+ desktopLandscape: 1,
7913
+ tabletPortrait: 1,
7914
+ tabletLandscape: 1,
7915
+ mobilePortrait: 1,
7916
+ mobileLandscape: 1
7917
+ }, {
7918
+ name: this.layer.data('name') + '',
7919
+ parallax: this.layer.data('parallax'),
7920
+ fontsize: this.layer.data('desktopportraitfontsize'),
7921
+ adaptivefont: this.layer.data('adaptivefont'),
7922
+ generatorvisible: this.layer.data('generatorvisible') || '',
7923
+ desktopPortrait: parseFloatWithDefault(this.layer.data('desktopportrait'), 1),
7924
+ desktopLandscape: parseFloatWithDefault(this.layer.data('desktoplandscape'), 1),
7925
+ tabletPortrait: parseFloatWithDefault(this.layer.data('tabletportrait'), 1),
7926
+ tabletLandscape: parseFloatWithDefault(this.layer.data('tabletlandscape'), 1),
7927
+ mobilePortrait: parseFloatWithDefault(this.layer.data('mobileportrait'), 1),
7928
+ mobileLandscape: parseFloatWithDefault(this.layer.data('mobilelandscape'), 1)
7929
+ });
7930
+ if (!this.property.name.length) {
7931
+ this.property.name = 'Group';
7932
+ }
7933
  } else {
7934
+ this.layer = false;
7935
+ if (typeof params.data !== 'undefined') {
7936
+ this.property = {
7937
+ name: params.data.name,
7938
+ fontsize: params.data.fontsize,
7939
+ adaptivefont: params.data.adaptivefont,
7940
+ generatorvisible: params.data.generatorvisible,
7941
+ desktopPortrait: params.data.desktopportrait,
7942
+ desktopLandscape: params.data.desktoplandscape,
7943
+ tabletPortrait: params.data.tabletportrait,
7944
+ tabletLandscape: params.data.tabletlandscape,
7945
+ mobilePortrait: params.data.mobileportrait,
7946
+ mobileLandscape: params.data.mobilelandscape
7947
+ };
7948
+ } else {
7949
+ this.property = {
7950
+ name: 'Group',
7951
+ fontsize: 100,
7952
+ adaptivefont: 0,
7953
+ generatorvisible: '',
7954
+ desktopPortrait: 1,
7955
+ desktopLandscape: 1,
7956
+ tabletPortrait: 1,
7957
+ tabletLandscape: 1,
7958
+ mobilePortrait: 1,
7959
+ mobileLandscape: 1
7960
+ };
7961
+ }
7962
  }
 
7963
 
7964
+ NextendSmartSliderLayerContainerAbstract.prototype.constructor.call(this, layerEditor, group);
 
 
 
 
 
 
7965
 
7966
+ var opened = this.layer.data('opened');
7967
+ if (opened !== null && typeof opened != 'undefined') {
7968
+ this.opened = !!opened;
 
 
7969
  }
 
7970
 
7971
+ this.deviceProperty = {
7972
+ desktopPortrait: {
7973
+ fontsize: this.property.fontsize
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7974
  },
7975
+ desktopLandscape: {
7976
+ fontsize: this.layer.data('desktoplandscapefontsize')
7977
  },
7978
+ tabletPortrait: {
7979
+ fontsize: this.layer.data('tabletportraitfontsize')
 
 
7980
  },
7981
+ tabletLandscape: {
7982
+ fontsize: this.layer.data('tabletlandscapefontsize')
7983
  },
7984
+ mobilePortrait: {
7985
+ fontsize: this.layer.data('mobileportraitfontsize')
7986
  },
7987
+ mobileLandscape: {
7988
+ fontsize: this.layer.data('mobilelandscapefontsize')
7989
  }
7990
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7991
 
 
 
 
 
7992
 
7993
+ this.layerEditor.$.trigger('layerCreated', this);
7994
+ $(window).triggerHandler('layerCreated');
7995
 
7996
+ layerEditor.layerList.push(this);
 
 
 
7997
 
7998
+ this._opened();
 
7999
 
8000
+ if (typeof params.layers !== 'undefined') {
8001
+
8002
+ var historyTask = smartSlider.history.add($.proxy(function () {
8003
+ return [this, 'createGroup', 'create', 'delete', []];
8004
+ }, this));
8005
+
8006
+ var layers = [];
8007
+ for (var i = 0; i < params.layers.length; i++) {
8008
+ layers.push(this.layerEditor.loadSingleData(params.layers[i], this.layerEditor.mainLayerGroup));
 
 
8009
  }
8010
+
8011
+ this.groupLayersStartAndLateInit(layers);
8012
+ historyTask[4].push(this.zIndex);
8013
  }
8014
+ }
8015
 
8016
+
8017
+ LayerGroup.prototype = Object.create(NextendSmartSliderLayerContainerAbstract.prototype);
8018
+ LayerGroup.prototype.constructor = LayerGroup;
8019
+
8020
+ // Multi inheritance
8021
+ for (var k in NextendSmartSliderLayerDataStorageAbtract.prototype) {
8022
+ LayerGroup.prototype[k] = NextendSmartSliderLayerDataStorageAbtract.prototype[k];
8023
+ }
8024
+
8025
+ LayerGroup.prototype.groupLayersStartAndLateInit = function (layers) {
8026
+
8027
+ var zIndexOffset = 0,
8028
+ layerCountOnMain = 0;
8029
+ for (var i = 0; i < layers.length; i++) {
8030
+ if (layers[i].group != this.layerEditor.mainLayerGroup) continue;
8031
+ zIndexOffset = Math.max(zIndexOffset, layers[i].zIndex);
8032
+ layerCountOnMain++;
8033
  }
 
8034
 
8035
+ if (isNaN(zIndexOffset)) {
8036
+ zIndexOffset = 0;
 
 
 
8037
  }
 
8038
 
8039
+ for (var i = 0; i < layers.length; i++) {
8040
+ smartSlider.history.add($.proxy(function (layer, oldGroup, startIndex) {
8041
+ return [this, 'changeZIndexWithContainer', [layer, i, oldGroup, this], [layer, startIndex, this, oldGroup], []];
8042
+ }, this, layers[i], layers[i].group, layers[i].zIndex));
8043
 
8044
+ this.addLayerBeforeInit(layers[i], i);
 
 
8045
  }
8046
+ this.lateInit(zIndexOffset, layerCountOnMain);
8047
+ }
8048
 
8049
+ LayerGroup.prototype.createLayer = function () {
8050
+ if (!this.layer) {
8051
+ this.layer = $('<div class="n2-ss-layer-group" style="z-index: ' + this.group.zIndexList.length + ';"></div>')
8052
+ .appendTo(this.group.layerContainerElement);
8053
+ // TODO 'layerContainerElement' should be 'layer'
 
 
 
 
 
 
 
 
 
 
 
8054
  }
8055
+ }
 
8056
 
8057
+ LayerGroup.prototype.createLayerRow = function () {
8058
+ var dblClickInterval = 300,
8059
+ timeout = null;
8060
 
8061
+ this.selectElement = $('<a href="#" class="n2-ss-layer-list-selector"><i class="n2-i n2-i-select"></i></a>').on('click', $.proxy(function (e) {
8062
+ e.preventDefault();
8063
+ this.select();
8064
+ }, this));
8065
 
8066
+ var remove = $('<div class="n2-button n2-button-icon n2-button-m n2-button-m-narrow" data-n2tip="' + n2_('Delete layer') + '"><i class="n2-i n2-i-delete n2-i-grey-opacity"></i></div>').on('click', $.proxy(this.delete, this)),
8067
+ duplicate = $('<div class="n2-button n2-button-icon n2-button-m n2-button-m-narrow" data-n2tip="' + n2_('Duplicate layer') + '"><i class="n2-i n2-i-duplicate n2-i-grey-opacity"></i></div>').on('click', $.proxy(function () {
8068
+ this.duplicate(true, false)
8069
+ }, this));
 
 
8070
 
8071
+ this.openerElement = $('<a href="#" class="n2-button n2-button-icon n2-button-m n2-ss-layer-list-group-opener" onclick="return false;"><i class="n2-i n2-i-folderopened"></i></a>').on('click', $.proxy(this.switchOpened, this));
 
 
 
 
 
8072
 
8073
+ this.layerRow = $('<li class="n2-ss-layer-row n2-ss-layer-group-row"></li>')
8074
+ .data('layer', this)
8075
+ .appendTo(this.group.layersItemsUlElement);
8076
 
8077
+ this.layerTitleSpan = $('<span class="n2-ucf">' + this.property.name + '</span>').on({
8078
+ mouseup: $.proxy(function (e) {
8079
+ if (timeout) {
8080
+ clearTimeout(timeout);
8081
+ timeout = null;
8082
+ this.editName();
8083
+ } else {
8084
+ this.activate(e);
8085
+ timeout = setTimeout($.proxy(function () {
8086
+ timeout = null;
8087
+ }, this), dblClickInterval);
8088
+ }
8089
+ }, this)
8090
+ });
8091
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8092
 
8093
+ this.layerTitle = $('<div class="n2-ss-layer-title"></div>')
8094
+ .append(this.layerTitleSpan)
8095
+ .append($('<div class="n2-actions-left"></div>')/*.append(status)*/.append(this.openerElement)/*.append(this.bulkElement)*/)
8096
+ .append($('<div class="n2-actions"></div>').append(duplicate).append(remove))
8097
+ .appendTo(this.layerRow)
8098
+ .on({
8099
+ mouseup: $.proxy(function (e) {
8100
+ if (e.target.tagName === 'DIV') {
8101
+ this.activate(e);
8102
+ }
8103
+ }, this)
8104
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8105
 
8106
+ this.layersItemsUlElement = $('<ul class="n2-list n2-h4 n2-list-orderable" />')
8107
+ .data('container', this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8108
 
8109
+ nextend.tooltip.add(this.layerRow);
8110
+ }
8111
 
8112
+ LayerGroup.prototype.switchOpened = function () {
8113
+ this.opened = !this.opened;
8114
+ this._opened();
8115
  };
8116
 
8117
+ LayerGroup.prototype._opened = function () {
8118
+ if (this.opened) {
8119
+ this.openerElement.removeClass('n2-closed');
8120
+ this.layersItemsUlElement.css('display', '');
8121
+
8122
+ this.layer.triggerHandler('opened');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8123
  } else {
8124
+ this.openerElement.addClass('n2-closed');
8125
+ this.layersItemsUlElement.css('display', 'none');
8126
+ this.layerEditor.$.trigger('groupHidden', this);
 
 
 
 
 
 
 
 
 
 
 
8127
 
8128
+ this.layer.triggerHandler('closed');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8129
  }
8130
+ };
8131
+
8132
+
8133
+ LayerGroup.prototype.setZIndex = function (targetIndex) {
8134
+ this.zIndex = targetIndex;
8135
+ this.layer.css('zIndex', targetIndex);
8136
+ this.group.layersItemsUlElement.append(this.layerRow);
8137
+ this.$.trigger('layerIndexed', targetIndex);
8138
+ };
8139
+
8140
+ LayerGroup.prototype.editName = function () {
8141
+ var input = new NextendSmartSliderAdminInlineField();
8142
+
8143
+ input.$input.on({
8144
+ valueChanged: $.proxy(function (e, newName) {
8145
+ this.rename(newName, true);
8146
+ this.layerTitleSpan.css('display', 'inline');
8147
+ }, this),
8148
+ cancel: $.proxy(function () {
8149
+ this.layerTitleSpan.css('display', 'inline');
8150
+ }, this)
8151
+ });
8152
 
8153
+ this.layerTitleSpan.css('display', 'none');
8154
+ input.injectNode(this.layerTitle, this.property.name);
8155
 
 
 
8156
  };
8157
 
8158
+ LayerGroup.prototype.rename = function (newName) {
8159
+ if (newName == '') {
8160
+ newName = 'GROUP';
8161
+ }
8162
+ newName = newName.substr(0, 35);
8163
+ if (this.property.name != newName) {
8164
+ this.property.name = newName;
8165
+ this.layerTitleSpan.html(newName);
8166
+ }
8167
  };
8168
 
 
 
 
8169
 
8170
+ LayerGroup.prototype.getData = function (params) {
8171
+ var data = {
8172
+ type: 'group',
8173
+ zIndex: this.zIndex,
8174
+ layers: [],
8175
+ opened: this.opened,
8176
+ };
8177
 
8178
+ if (params.layersIncluded) {
8179
+ for (var i = 0; i < this.zIndexList.length; i++) {
8180
+ data.layers.push(this.zIndexList[i].getData(params))
8181
+ }
8182
+ }
8183
 
8184
+ for (var k in this.property) {
8185
+ switch (k) {
8186
+ case 'fontsize':
8187
+ break;
8188
+ default:
8189
+ data[k.toLowerCase()] = this.property[k];
8190
+ }
8191
+ }
8192
 
8193
+ // store the device based properties
8194
+ for (var device in this.deviceProperty) {
8195
+ for (var property in this.deviceProperty[device]) {
8196
+ var value = this.deviceProperty[device][property];
8197
+ if (typeof value === 'undefined') {
8198
+ continue;
8199
+ }
8200
+ if (!(property == 'width' && this.isDimensionPropertyAccepted(value)) && !(property == 'height' && this.isDimensionPropertyAccepted(value)) && property != 'align' && property != 'valign' && property != 'parentalign' && property != 'parentvalign') {
8201
+ value = parseFloat(value);
8202
+ }
8203
+ data[device.toLowerCase() + property] = value;
8204
+ }
8205
+ }
8206
 
8207
+ return data;
8208
+ }
 
8209
 
8210
+ LayerGroup.prototype.positionSidebar = function () {
8211
+ this.layerEditor.panel.show(this, $('#n2-ss-layer-list'));
8212
+ }
8213
 
8214
+ LayerGroup.prototype.activate = function (e, preventExitFromSelection) {
8215
+ if (preventActivation) return;
8216
+ if (document.activeElement) {
8217
+ document.activeElement.blur();
8218
+ }
8219
+ if (e && (e.ctrlKey || e.metaKey)) {
8220
+ this.select();
8221
+ return;
8222
+ } else {
8223
+ if (e && e.which == 3 /*&& this.layerEditor.selectMode*/) {
8224
+ return;
8225
+ }
8226
 
8227
+ if (!preventExitFromSelection) {
8228
+ this.layerEditor.exitSelectMode();
 
 
 
 
 
8229
  }
 
 
8230
  }
 
8231
 
8232
+ if (e) {
8233
+ this.positionSidebar();
8234
+ }
 
 
 
 
8235
 
8236
+ // Set the layer active if it is not active currently
8237
+ var currentIndex = this.getIndex();
8238
+ if (this.layerEditor.activeLayerIndex !== currentIndex) {
8239
+ this.layerRow.addClass('n2-active');
8240
+ this.layer.triggerHandler('n2-ss-activate');
8241
+ this.layerEditor.changeActiveLayer(currentIndex, preventExitFromSelection);
8242
+ nextend.activeLayer = this.layer;
8243
+
8244
+ var scroll = this.layerEditor.mainLayerGroup.layersItemsUlElement.parent(),
8245
+ scrollTop = scroll.scrollTop(),
8246
+ top = this.layerRow.get(0).offsetTop;
8247
+ if (top < scrollTop || top > scrollTop + scroll.height() - this.layerRow.height()) {
8248
+ scroll.scrollTop(top);
8249
+ }
8250
+ }
8251
+
8252
+ this.layerEditor.startSelection(true);
8253
+
8254
+ this.layerEditor.addSelection(this.layers, true);
8255
  };
8256
 
8257
+ LayerGroup.prototype.deActivate = function () {
8258
 
8259
+ this.layerEditor.endSelection(true);
8260
+
8261
+ this.layerRow.removeClass('n2-active');
8262
+ this.layer.triggerHandler('n2-ss-deactivate');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8263
  };
8264
 
8265
+ LayerGroup.prototype.select = function () {
8266
+ this.layerEditor.selectLayer(this, false);
8267
+ this.layerEditor.addSelection(this.layers, false);
 
8268
  };
8269
 
8270
+ LayerGroup.prototype.getIndex = function () {
8271
+ return this.layerEditor.layerList.indexOf(this);
 
 
 
 
 
 
8272
  };
8273
 
8274
+ LayerGroup.prototype.nextLayer = function () {
8275
+ var nextIndex = this.zIndex - 1;
8276
+ if (nextIndex < 0 || typeof this.group.zIndexList[nextIndex] == 'undefined') {
8277
+ this.group.nextLayer();
8278
+ } else {
8279
+ var nextLayer = this.group.zIndexList[nextIndex];
8280
+ nextLayer.activate();
8281
+ }
8282
+ }
8283
 
8284
+ LayerGroup.prototype.previousLayer = function () {
8285
+ var previousIndex = this.zIndex + 1;
8286
+ if (previousIndex > this.zIndexList.length - 1 || typeof this.group.zIndexList[previousIndex] == 'undefined') {
8287
+ this.group.previousLayer();
8288
+ } else {
8289
+ var previousLayer = this.group.zIndexList[previousIndex];
8290
+ previousLayer.activate();
8291
  }
8292
+ }
8293
 
8294
+ LayerGroup.prototype.dispatchActionToChildren = function (action, args) {
8295
+ for (var i = 0; i < this.layers.length; i++) {
8296
+ this.layers[i][action].apply(this.layers[i], args);
 
 
 
 
8297
  }
8298
+ };
8299
 
8300
+ LayerGroup.prototype.snap = function () {
8301
+ };
8302
 
8303
+ LayerGroup.prototype.delete = function () {
 
8304
 
8305
+ if (this.layerEditor.getSelectedLayer() == this) {
8306
+ this.layerEditor.panel.hide();
8307
  }
8308
 
8309
+ // @TODO history
8310
+
8311
+ this.deActivate();
8312
+
8313
+ var layers = $.extend([], this.layers);
8314
+ for (var i = 0; i < layers.length; i++) {
8315
+ layers[i].delete();
 
 
8316
  }
 
8317
 
8318
+ smartSlider.history.add($.proxy(function () {
8319
+ return [this, 'deleteGroup', 'delete', 'create', [this.getData({
8320
+ layersIncluded: false,
8321
+ itemsIncluded: false
8322
+ })]];
8323
+ }, this));
8324
 
8325
+ this.group.childDeleted(this);
 
 
8326
 
8327
+ // If delete happen meanwhile layer dragged or resized, we have to cancel that.
8328
+ this.layer.trigger('mouseup');
8329
 
8330
+ this.isDeleted = true;
 
 
 
 
 
8331
 
8332
+ this.layerEditor.layerDeleted(this.getIndex());
 
 
 
 
 
 
 
 
 
 
 
8333
 
8334
+ this.layer.triggerHandler('LayerDeleted');
8335
+ this.layer.remove();
8336
+ this.layerRow.remove();
 
8337
 
8338
+ this.$.trigger('layerDeleted');
 
 
 
8339
 
8340
+ delete this.layer;
 
 
 
8341
  };
8342
 
8343
+ LayerGroup.prototype.duplicate = function (needActivate, newParentId) {
8344
+
8345
+ this.layerEditor.loadData([this.getData({
8346
+ layersIncluded: true,
8347
+ itemsIncluded: true
8348
+ })], false);
8349
+ /*
8350
+ var group = new NextendSmartSliderLayerGroup(this.layerEditor, this.layerEditor.mainLayerGroup, false, {
8351
+ data: $.extend(true, {}, this.getData({
8352
+ layersIncluded: true,
8353
+ itemsIncluded: true
8354
+ }))
8355
+ });
8356
+ group.lateInit();*/
8357
+ }
8358
+
8359
+ LayerGroup.prototype._syncparallax = function (value) {
8360
+
8361
  };
8362
 
8363
+ LayerGroup.prototype._syncfontsize = function (value) {
8364
+ this.adjustFontSize(this.getProperty(false, 'adaptivefont'), value, true);
8365
+ };
 
 
 
8366
 
8367
+ LayerGroup.prototype._syncadaptivefont = function (value) {
8368
+ this.adjustFontSize(value, this.getProperty(true, 'fontsize'), true);
8369
+ };
8370
 
8371
+ LayerGroup.prototype.adjustFontSize = function (isAdaptive, fontSize, shouldUpdatePosition) {
8372
+ fontSize = parseInt(fontSize);
8373
+ if (parseInt(isAdaptive)) {
8374
+ this.layer.css('font-size', (nextend.smartSlider.frontend.sliderElement.data('fontsize') * fontSize / 100) + 'px');
8375
+ } else if (fontSize != 100) {
8376
+ this.layer.css('font-size', fontSize + '%');
8377
+ } else {
8378
+ this.layer.css('font-size', '');
8379
  }
8380
+ if (shouldUpdatePosition) {
8381
+ this.update();
 
 
8382
  }
8383
+ };
8384
 
8385
+ LayerGroup.prototype._syncgeneratorvisible = function (value) {
8386
+ };
8387
 
8388
+ LayerGroup.prototype._syncdesktopPortrait = function (value) {
8389
+ this.__syncShowOnDevice('desktopPortrait', value);
8390
  };
8391
 
8392
+ LayerGroup.prototype._syncdesktopLandscape = function (value) {
8393
+ this.__syncShowOnDevice('desktopLandscape', value);
 
 
8394
  };
8395
 
8396
+ LayerGroup.prototype._synctabletPortrait = function (value) {
8397
+ this.__syncShowOnDevice('tabletPortrait', value);
 
 
8398
  };
8399
 
8400
+ LayerGroup.prototype._synctabletLandscape = function (value) {
8401
+ this.__syncShowOnDevice('tabletLandscape', value);
8402
+ };
8403
 
8404
+ LayerGroup.prototype._syncmobilePortrait = function (value) {
8405
+ this.__syncShowOnDevice('mobilePortrait', value);
8406
+ };
8407
 
8408
+ LayerGroup.prototype._syncmobileLandscape = function (value) {
8409
+ this.__syncShowOnDevice('mobileLandscape', value);
8410
+ };
8411
 
8412
+ LayerGroup.prototype.__syncShowOnDevice = function (mode, value) {
8413
+ if (this.getMode() == mode) {
8414
+ var value = parseInt(value);
8415
+ if (value) {
8416
+ this._show();
8417
+ } else {
8418
+ this._hide();
8419
+ }
8420
+ this.layer.triggerHandler('LayerShowChange', [mode, value]);
8421
+ }
8422
+ };
8423
 
8424
+ LayerGroup.prototype._hide = function () {
8425
+ this.layer.css('display', 'none');
8426
+ };
 
 
 
 
 
 
8427
 
8428
+ LayerGroup.prototype._show = function () {
8429
+ if (parseInt(this.property[this.layerEditor.getMode()])) {
8430
+ this.layer.css('display', 'block');
8431
+ }
8432
 
8433
+ this.update();
8434
+ };
 
 
 
 
 
 
8435
 
8436
+ LayerGroup.prototype.update = function () {
8437
+ for (var i = 0; i < this.layers.length; i++) {
8438
+ this.layers[i].update();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8439
  }
8440
+ }
8441
 
8442
+ // from: manager or other
8443
+ LayerGroup.prototype.setProperty = function (name, value, from) {
8444
+ switch (name) {
8445
+ case 'parallax':
8446
+ case 'generatorvisible':
8447
+ case 'adaptivefont':
8448
+ this.store(false, name, value, true);
8449
  break;
8450
+ case 'fontsize':
8451
+ this.store(true, name, value, true);
8452
  break;
8453
+ case 'showFieldDesktopPortrait':
8454
+ this.store(false, 'desktopPortrait', parseInt(value), true);
 
8455
  break;
8456
+ case 'showFieldDesktopLandscape':
8457
+ this.store(false, 'desktopLandscape', parseInt(value), true);
 
 
 
 
 
 
8458
  break;
8459
+ case 'showFieldTabletPortrait':
8460
+ this.store(false, 'tabletPortrait', parseInt(value), true);
8461
  break;
8462
+ case 'showFieldTabletLandscape':
8463
+ this.store(false, 'tabletLandscape', parseInt(value), true);
8464
+ break;
8465
+ case 'showFieldMobilePortrait':
8466
+ this.store(false, 'mobilePortrait', parseInt(value), true);
8467
+ break;
8468
+ case 'showFieldMobileLandscape':
8469
+ this.store(false, 'mobileLandscape', parseInt(value), true);
8470
  break;
8471
  }
 
 
 
8472
 
8473
+ if (from != 'manager') {
8474
+ // jelezzuk a sidebarnak, hogy valamely property megvaltozott
8475
+ this.$.trigger('propertyChanged', [name, value]);
 
 
 
 
8476
  }
8477
  };
 
 
 
 
 
 
 
 
 
 
 
 
8478
 
8479
+ LayerGroup.prototype.changeEditorMode = function (mode) {
8480
  var value = parseInt(this.property[mode]);
8481
  if (value) {
8482
  this._show();
8489
  this._renderModeProperties(false);
8490
  };
8491
 
8492
+ LayerGroup.prototype._renderModeProperties = function (isReset) {
8493
+
8494
+ for (var k in this.property) {
8495
+ this.property[k] = this.getProperty(true, k);
8496
+ this.$.trigger('propertyChanged', [k, this.property[k]]);
8497
+ }
8498
+
8499
+ var fontSize = this.getProperty(true, 'fontsize');
8500
+ this.adjustFontSize(this.getProperty(false, 'adaptivefont'), fontSize, false);
8501
+
8502
+ if (isReset) {
8503
+ //this._resize(true);
8504
+ }
8505
+
8506
+ };
8507
+
8508
+ LayerGroup.prototype.updateAnimations = function () {
8509
+ }
8510
+
8511
+ LayerGroup.prototype.showEditor = function () {
8512
+ this.layerEditor.panel._show();
8513
+ }
8514
+
8515
+ LayerGroup.prototype.doAction = function (action, args) {
8516
+ var layers = $.extend([], this.zIndexList);
8517
+ for (var i = 0; i < layers.length; i++) {
8518
+ layers[i][action].apply(layers[i], args);
8519
+ }
8520
+ }
8521
+
8522
+ LayerGroup.prototype.copyMode = function (from, to) {
8523
+ if (from != to) {
8524
+ this.deviceProperty[to] = $.extend({}, this.deviceProperty[to], this.deviceProperty[from]);
8525
+ }
8526
+ };
8527
+
8528
+ LayerGroup.prototype.resetMode = function (mode, currentMode) {
8529
  if (mode != 'desktopPortrait') {
8530
  var undefined;
8531
+
8532
  for (var k in this.property) {
8533
  this.deviceProperty[mode][k] = undefined;
8534
  }
8538
  }
8539
  };
8540
 
8541
+ LayerGroup.prototype.restoreMode = function (mode, currentMode, data) {
8542
+ if (mode != 'desktopPortrait') {
8543
 
8544
+ this.deviceProperty[mode] = $.extend({}, data);
8545
+
8546
+ if (mode == currentMode) {
8547
+ this._renderModeProperties(true);
8548
+ }
8549
  }
8550
+ };
8551
 
8552
+ LayerGroup.prototype.history = function (method, value, other, context) {
 
8553
 
8554
+ NextendSmartSliderLayerDataStorageAbtract.prototype.history.apply(this, arguments);
8555
+ NextendSmartSliderLayerContainerAbstract.prototype.history.apply(this, arguments);
8556
+ }
8557
+
8558
+ scope.NextendSmartSliderLayerGroup = LayerGroup;
8559
+ })(nextend.smartSlider, n2, window);
8560
+ (function (smartSlider, $, scope, undefined) {
8561
+
8562
+ function LayersUserInterface() {
8563
+ this.isShown = !$.jStorage.get('ssLayersShown', false);
8564
+ this.tlHeight = $.jStorage.get('ssLayersHeight') || 200;
8565
+
8566
+ this.$container = $('#n2-ss-layers');
8567
+ this.fixScroll();
8568
+ this.switchLayerList();
8569
+
8570
+ this.topBar = $('.n2-ss-layer-list-top-bar')
8571
+ .on('mousedown', $.proxy(this.resizeStart, this));
8572
+
8573
+ this.topBar.find('.n2-ss-layer-list-opener').on('click', $.proxy(function (e) {
8574
+ e.preventDefault();
8575
+ this.switchLayerList();
8576
+ }, this));
8577
+
8578
+ $('.n2-ss-slide-show-layers').on('click', $.proxy(function (e) {
8579
+ e.preventDefault();
8580
+ this.switchLayerList();
8581
+ }, this));
8582
+
8583
+ this.onResize();
8584
+ $(window).on('resize', $.proxy(this.onResize, this));
8585
+ };
8586
+
8587
+ LayersUserInterface.prototype.onResize = function () {
8588
+ var h = this.$container.height();
8589
+ this.paneLeft.height(h - 48);
8590
+ this.paneRight.height(h - 48);
8591
+ }
8592
+
8593
+ LayersUserInterface.prototype.onActivateLayer = function (layer) {
8594
+
8595
+ var scrollTop = this.paneLeft.scrollTop(),
8596
+ top = layer.layerRow.get(0).offsetTop;
8597
+ if (top < scrollTop || top > scrollTop + this.paneLeft.height() - layer.layerRow.height()) {
8598
+ this.paneLeft.scrollTop(top);
8599
+ this.paneRight.scrollTop(top);
8600
  }
8601
+ }
8602
+
8603
+ LayersUserInterface.prototype.fixScroll = function () {
8604
+
8605
+ this.paneLeft = $('.n2-ss-layers-sidebar-rows');
8606
+ this.paneRight = $('.n2-ss-timeline-content-layers-container');
8607
+
8608
+ var cb = $.proxy(function (e) {
8609
+ var top = this.paneLeft.scrollTop();
8610
+ if (e.originalEvent.deltaY > 0) {
8611
+ top += 40;
8612
+ } else {
8613
+ top -= 40;
8614
+ }
8615
+ top = Math.round(top / 40) * 40;
8616
+ this.paneLeft.scrollTop(top);
8617
+ this.paneRight.scrollTop(top);
8618
+ e.preventDefault();
8619
+ }, this);
8620
+
8621
+ this.paneLeft.on('mousewheel', cb);
8622
+ this.paneLeft.on('scroll', $.proxy(function (e) {
8623
+ var top = this.paneLeft.scrollTop();
8624
+ this.paneRight.scrollTop(top);
8625
+ e.preventDefault();
8626
+ }, this));
8627
 
8628
+ this.paneRight.on('mousewheel', cb);
8629
+ }
8630
 
8631
+ LayersUserInterface.prototype.resizeStart = function (e) {
8632
+ if (!this.isShown) return;
8633
+ if (e.target == this.topBar[0] || $(e.target).hasClass('n2-h2')) {
8634
+ e.preventDefault();
8635
+ this.startY = e.clientY;
8636
+ this.height = this.$container.height();
8637
+ $('body').on({
8638
+ 'mousemove.n2-ss-tl-resize': $.proxy(this.resizeMove, this),
8639
+ 'mouseup.n2-ss-tl-resize': $.proxy(this.resizeStop, this),
8640
+ 'mouseleave.n2-ss-tl-resize': $.proxy(this.resizeStop, this)
8641
+ });
8642
  }
8643
+ }
8644
 
8645
+ LayersUserInterface.prototype.resizeMove = function (e) {
8646
+ e.preventDefault();
8647
+ this.setTLHeight(this._calculateDesiredHeight(e));
8648
+ }
8649
 
8650
+ LayersUserInterface.prototype.resizeStop = function (e) {
8651
+ e.preventDefault();
8652
+ $('body').off('.n2-ss-tl-resize');
8653
+ var h = this._calculateDesiredHeight(e);
8654
+ this.setTLHeight(h);
 
8655
 
8656
+ this.tlHeight = h;
8657
+ $.jStorage.set('ssLayersHeight', h);
8658
+ $('#n2-admin').triggerHandler('resize');
8659
+ }
8660
 
8661
+ LayersUserInterface.prototype._calculateDesiredHeight = function (e) {
8662
+ var h = this.startY - e.clientY + this.height - 48;
8663
+ return this.__calculateDesiredHeight(h);
8664
+ }
8665
 
8666
+ LayersUserInterface.prototype.__calculateDesiredHeight = function (h) {
8667
+ return Math.round(Math.min(Math.max(40, h), (window.innerHeight || document.documentElement.clientHeight) / 2) / 40) * 40 + 48;
8668
+ }
 
 
8669
 
 
 
 
 
 
8670
 
8671
+ LayersUserInterface.prototype.switchLayerList = function () {
8672
+ this.isShown = !this.isShown;
8673
+ this.$container.toggleClass('n2-active', this.isShown);
8674
+ if (this.isShown) {
8675
+ this.setTLHeight(this.tlHeight);
8676
+ } else {
8677
+ this.setTLHeight(48);
8678
  }
8679
+ $.jStorage.set('ssLayersShown', this.isShown);
8680
+ }
8681
 
8682
+ LayersUserInterface.prototype.setTLHeight = function (h) {
8683
+ h = Math.max(48, h);
8684
+ this.$container.height(h);
8685
+ h = this.$container.height();
8686
+ this.paneLeft.height(h - 48);
8687
+ this.paneRight.height(h - 48);
8688
 
8689
+ nextend.triggerResize();
8690
+ }
 
 
 
 
 
 
 
 
 
8691
 
8692
+ LayersUserInterface.prototype.activateAdd = function (x, y) {
8693
+ this.$add.css({
8694
+ left: x,
8695
+ top: y
8696
+ }).appendTo(this.$container);
8697
+ }
8698
 
8699
+ window.NextendSmartSliderAdminLayersUserInterface = LayersUserInterface;
8700
+ })(nextend.smartSlider, n2, window);
8701
+ (function (smartSlider, $, scope, undefined) {
 
 
 
 
 
 
 
8702
 
8703
+ function MainLayerGroup(layerEditor) {
8704
+ this.isMainGroup = true;
8705
+ NextendSmartSliderLayerContainerAbstract.prototype.constructor.call(this, layerEditor, false);
8706
 
8707
+ this.lateInit();
 
8708
 
8709
+ this.startWithExistingNodes();
8710
+ }
 
 
 
 
 
 
 
 
 
 
 
8711
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8712
 
8713
+ MainLayerGroup.prototype = Object.create(NextendSmartSliderLayerContainerAbstract.prototype);
8714
+ MainLayerGroup.prototype.constructor = MainLayerGroup;
 
 
 
 
 
8715
 
 
 
 
 
 
 
 
 
8716
 
8717
+ MainLayerGroup.prototype.createLayer = function () {
8718
+ if (!this.layer) {
8719
+ this.layer = this.layerEditor.layerContainerElement;
8720
+ // TODO 'layerContainerElement' should be 'layer'
 
8721
  }
8722
+ }
 
 
 
8723
 
8724
+ MainLayerGroup.prototype.createLayerRow = function () {
 
 
 
 
 
8725
 
8726
+ this.layersItemsUlElement = this.layerEditor.layersItemsElement.find('ul')
8727
+ .data('container', this);
8728
+ }
8729
+
8730
+ MainLayerGroup.prototype.nextLayer = function () {
8731
+ var nextLayer = this.zIndexList[this.zIndexList.length - 1];
8732
+ nextLayer.activate();
8733
+ }
8734
+
8735
+ MainLayerGroup.prototype.previousLayer = function () {
8736
+ var nextLayer = this.zIndexList[0];
8737
+ nextLayer.activate();
8738
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8739
 
 
8740
 
8741
+ scope.NextendSmartSliderMainLayerGroup = MainLayerGroup;
8742
 
8743
+ })(nextend.smartSlider, n2, window);
8744
  (function (smartSlider, $, scope, undefined) {
8745
  var layerClass = '.n2-ss-layer',
8746
  keys = {
8779
  103: 'top',
8780
  104: 'top',
8781
  105: 'top'
8782
+ },
8783
+ SELECT_MODE = {
8784
+ OFF: 0,
8785
+ ON: 1,
8786
+ GROUP: 2
8787
+ },
8788
+ SELECT_MODE_INV = {
8789
+ 0: 'OFF',
8790
+ 1: 'ON',
8791
+ 2: 'GROUP'
8792
  };
8793
 
8794
  function AdminSlideLayerManager(layerManager, staticSlide, isUploadDisabled, uploadUrl, uploadDir) {
8796
  this.snapToEnabled = true;
8797
  this.staticSlide = staticSlide;
8798
 
8799
+ this.initSelectMode();
 
 
 
 
 
8800
 
8801
  this.$ = $(this);
8802
  smartSlider.layerManager = this;
8803
 
8804
  this.responsive = smartSlider.frontend.responsive;
8805
 
8806
+ this.panel = new NextendSmartSliderSidebar(this);
8807
 
8808
  this.layerList = [];
8809
 
8810
+ this.layersItemsElement = $('#n2-ss-layer-list');
8811
 
8812
  this.frontendSlideLayers = layerManager;
8813
 
8829
 
8830
  smartSlider.frontend.sliderElement.on('SliderResize', $.proxy(this.refreshSlideSize, this));
8831
 
8832
+ this.sidebar = new NextendSmartSliderAdminSlideSidebarSettings(this);
8833
 
8834
+ this.ui = new NextendSmartSliderAdminLayersUserInterface(this);
 
 
8835
 
8836
  smartSlider.itemEditor = this.itemEditor = new NextendSmartSliderItemManager(this);
8837
 
8838
  this.positionDisplay = $('<div class="n2 n2-ss-position-display"/>')
8839
  .appendTo('body');
8840
 
8841
+ this.mainLayerGroup = new NextendSmartSliderMainLayerGroup(this);
 
 
 
 
 
 
 
 
8842
 
8843
  $('#smartslider-slide-toolbox-layer').on('mouseenter', function () {
8844
  $('#n2-admin').addClass('smartslider-layer-highlight-active');
8848
 
8849
  this._initDeviceModeChange();
8850
 
8851
+ this.initSettings();
 
 
 
 
 
8852
 
8853
+ this.sidebar.startFeatures();
8854
+
8855
+ var globalAdaptiveFont = $('#n2-ss-layer-adaptive-font').on('click', $.proxy(function () {
8856
+ this.sidebar.forms.layer.adaptivefont.data('field').onoff.trigger('click');
8857
  }, this));
8858
 
8859
+ this.sidebar.forms.layer.adaptivefont.on('nextendChange', $.proxy(function () {
8860
+ if (this.sidebar.forms.layer.adaptivefont.val() == 1) {
8861
  globalAdaptiveFont.addClass('n2-active');
8862
  } else {
8863
  globalAdaptiveFont.removeClass('n2-active');
8865
  }, this));
8866
 
8867
 
8868
+ new NextendElementNumber("n2-ss-layer-font-size", -Number.MAX_VALUE, Number.MAX_VALUE);
8869
+ new NextendElementAutocompleteSlider("n2-ss-layer-font-size", {
8870
+ min: 50,
8871
+ max: 300,
8872
+ step: 5
8873
+ });
8874
 
8875
+ var globalFontSize = $('#n2-ss-layer-font-size').on('outsideChange', $.proxy(function () {
8876
  var value = parseInt(globalFontSize.val());
8877
+ this.sidebar.forms.layer.fontsize.val(value).trigger('change');
8878
+ }, this));
8879
+
8880
+ this.sidebar.forms.layer.fontsize.on('nextendChange', $.proxy(function () {
8881
+ globalFontSize.data('field').insideChange(this.sidebar.forms.layer.fontsize.val());
8882
+ }, this));
8883
+
8884
+ //this.mainLayerGroup.activateFirst();
8885
+
8886
+ $('.n2-ss-slide-duplicate-layer').on('click', $.proxy(function (e) {
8887
+ e.preventDefault();
8888
+ this.duplicate();
8889
  }, this));
8890
 
8891
+ $('.n2-ss-slide-delete-layer').on('click', $.proxy(function (e) {
8892
+ e.preventDefault();
8893
+ this.delete();
8894
  }, this));
8895
 
 
 
 
 
 
8896
  $(window).on({
8897
  keydown: $.proxy(function (e) {
8898
  if (e.target.tagName != 'TEXTAREA' && e.target.tagName != 'INPUT' && (!smartSlider.timelineControl || !smartSlider.timelineControl.isActivated())) {
8906
  }
8907
  }
8908
 
8909
+ if (keyCode == 46 || keyCode == 8) {
8910
  this.delete();
8911
+ e.preventDefault();
8912
  } else if (keyCode == 35) {
8913
  this.duplicate();
8914
  e.preventDefault();
8917
  } else if (keyCode == 38) {
8918
  if (!keys[keyCode]) {
8919
  var fn = $.proxy(function () {
8920
+ //this.layerList[this.activeLayerIndex].moveY(-1 * (keys[16] ? 10 : 1))
8921
+ this.doActionOnActiveLayer('moveY', [-1 * (keys[16] ? 10 : 1)]);
8922
  }, this);
8923
  fn();
8924
  keys[keyCode] = setInterval(fn, 100);
8927
  } else if (keyCode == 40) {
8928
  if (!keys[keyCode]) {
8929
  var fn = $.proxy(function () {
8930
+ //this.layerList[this.activeLayerIndex].moveY((keys[16] ? 10 : 1))
8931
+ this.doActionOnActiveLayer('moveY', [(keys[16] ? 10 : 1)]);
8932
  }, this);
8933
  fn();
8934
  keys[keyCode] = setInterval(fn, 100);
8937
  } else if (keyCode == 37) {
8938
  if (!keys[keyCode]) {
8939
  var fn = $.proxy(function () {
8940
+ //this.layerList[this.activeLayerIndex].moveX(-1 * (keys[16] ? 10 : 1))
8941
+ this.doActionOnActiveLayer('moveX', [-1 * (keys[16] ? 10 : 1)]);
8942
  }, this);
8943
  fn();
8944
  keys[keyCode] = setInterval(fn, 100);
8947
  } else if (keyCode == 39) {
8948
  if (!keys[keyCode]) {
8949
  var fn = $.proxy(function () {
8950
+ //this.layerList[this.activeLayerIndex].moveX((keys[16] ? 10 : 1))
8951
+ this.doActionOnActiveLayer('moveX', [keys[16] ? 10 : 1]);
8952
  }, this);
8953
  fn();
8954
  keys[keyCode] = setInterval(fn, 100);
8959
  var hAlign = horizontalAlign[keyCode],
8960
  vAlign = verticalAlign[keyCode],
8961
  toZero = false;
8962
+ if (this.sidebar.forms.layer.align.val() == hAlign && this.sidebar.forms.layer.valign.val() == vAlign) {
8963
  toZero = true;
8964
  }
8965
  // numeric pad
8966
+ this.sidebar.layerFeatures.horizontalAlign(hAlign, toZero);
8967
+ this.sidebar.layerFeatures.verticalAlign(vAlign, toZero);
8968
 
8969
  } else if (keyCode == 34) {
8970
  e.preventDefault();
8971
+
8972
+ this.layerList[this.activeLayerIndex].nextLayer();
 
 
 
8973
 
8974
  } else if (keyCode == 33) {
8975
  e.preventDefault();
8976
+
8977
+ this.layerList[this.activeLayerIndex].previousLayer();
8978
+
8979
+ } else if (keyCode == 65) {
8980
+ e.preventDefault();
8981
+
8982
+ this.layerList[this.activeLayerIndex].fit();
8983
 
8984
  } else if (e.ctrlKey || e.metaKey) {
8985
  if (keyCode == 90) {
8992
  this.copy();
8993
  } else if (keyCode == 86) {
8994
  this.paste(0);
8995
+ } else if (keyCode == 71) {
8996
+ this.createGroupFromSelected();
8997
+ e.preventDefault();
8998
  }
8999
  }
9000
  }
9024
  done: $.proxy(function (e, data) {
9025
  var response = data.result;
9026
  if (response.data && response.data.name) {
9027
+ var item = this.itemEditor.createLayerItem(false, 'image');
9028
  item.reRender({
9029
  image: response.data.url
9030
  });
9031
+ item.activate(null, null, true);
9032
  } else {
9033
  NextendAjaxHelper.notification(response);
9034
  }
9035
 
9036
+ }, this),
9037
+ fail: $.proxy(function (e, data) {
9038
+ NextendAjaxHelper.notification(data.jqXHR.responseJSON);
9039
+ }, this),
9040
+
9041
+ start: function () {
9042
+ NextendAjaxHelper.startLoading();
9043
+ },
9044
+
9045
+ stop: function () {
9046
+ setTimeout(function () {
9047
+ NextendAjaxHelper.stopLoading();
9048
+ }, 100);
9049
+ }
9050
+ });
9051
+ }
9052
+
9053
+
9054
+ var that = this;
9055
+ window.validateLayers = function () {
9056
+ console.group();
9057
+ for (var i = 0; i < that.mainLayerGroup.zIndexList.length; i++) {
9058
+ console.log(i, that.mainLayerGroup.zIndexList[i].layerRow.get(0));
9059
+ }
9060
+ console.groupEnd();
9061
+ };
9062
+
9063
+ this.$.on('layerCreated', $.proxy(function () {
9064
+ this.editorVisibilityRefresh();
9065
+ }, this));
9066
+
9067
+ this.editorVisibilityRefresh();
9068
+
9069
+ $('body').on('mousedown', $.proxy(function (e) {
9070
+ if (nextend.context.getCurrentWindow() == 'main') {
9071
+ if (nextend.context.mouseDownArea === false) {
9072
+ this.panel.hide();
9073
+ }
9074
+ /*else {
9075
+ setTimeout($.proxy(function () {
9076
+ this.panel.show(this.getSelectedLayer());
9077
+ }, this), 200);
9078
+ }*/
9079
+ }
9080
+ }, this));
9081
+ };
9082
+
9083
+ AdminSlideLayerManager.prototype.getMode = function () {
9084
+ return this.mode;
9085
+ };
9086
+
9087
+ AdminSlideLayerManager.prototype._getMode = function () {
9088
+ return this.responsive.getNormalizedModeString();
9089
+ };
9090
+
9091
+ AdminSlideLayerManager.prototype.getResponsiveRatio = function (axis) {
9092
+ if (axis == 'h') {
9093
+ return this.responsive.lastRatios.slideW;
9094
+ } else if (axis == 'v') {
9095
+ return this.responsive.lastRatios.slideH;
9096
+ }
9097
+ return 0;
9098
+ };
9099
+
9100
+ AdminSlideLayerManager.prototype.isGroup = function (layer) {
9101
+ return layer instanceof NextendSmartSliderLayerGroup;
9102
+ }
9103
+
9104
+ AdminSlideLayerManager.prototype.getActiveGroup = function () {
9105
+ var activeLayer = this.getSelectedLayer();
9106
+ if (this.isGroup(activeLayer)) {
9107
+ return activeLayer;
9108
+ } else if (activeLayer) {
9109
+ return activeLayer.group;
9110
+ }
9111
+ return this.mainLayerGroup;
9112
+ }
9113
+
9114
+ AdminSlideLayerManager.prototype.createLayer = function (group, properties) {
9115
+ var defaultAlign = this.sidebar.layerFeatures.layerDefault;
9116
+ for (var k in defaultAlign) {
9117
+ if (defaultAlign[k] !== null) {
9118
+ properties[k] = defaultAlign[k];
9119
+ }
9120
+ }
9121
+
9122
+ var newLayer = new NextendSmartSliderLayer(this, group, false, this.itemEditor, properties);
9123
+
9124
+ group.reIndexLayers();
9125
+
9126
+ return newLayer;
9127
+ };
9128
+
9129
+ AdminSlideLayerManager.prototype.addLayer = function (group, html, refresh) {
9130
+ var layerObj = this._addLayer(group, html, refresh);
9131
+
9132
+ smartSlider.history.add($.proxy(function () {
9133
+ return [layerObj, 'addLayer', 'add', 'delete', [group, layerObj.getData({
9134
+ layersIncluded: true,
9135
+ itemsIncluded: true
9136
+ })]];
9137
+ }, this));
9138
+
9139
+ return layerObj;
9140
+ };
9141
+
9142
+ AdminSlideLayerManager.prototype._addLayer = function (group, html, refresh) {
9143
+ var newLayer = $(html);
9144
+ this.layerContainerElement.append(newLayer);
9145
+ var layerObj = new NextendSmartSliderLayer(this, group, newLayer, this.itemEditor);
9146
+
9147
+ if (group != this.mainLayerGroup) {
9148
+ group.moveLayerToGroup(layerObj, layerObj.zIndex);
9149
+ }
9150
+
9151
+ if (refresh) {
9152
+ this.mainLayerGroup.reIndexLayers();
9153
+ this.refreshMode();
9154
+ }
9155
+ return layerObj;
9156
+ };
9157
+
9158
+ /**
9159
+ * Force the view to change to the second mode (layer)
9160
+ */
9161
+ AdminSlideLayerManager.prototype.switchToLayerTab = function () {
9162
+ smartSlider.slide._changeView(1);
9163
+ };
9164
+
9165
+ //<editor-fold desc="Initialize the device mode changer">
9166
+
9167
+
9168
+ AdminSlideLayerManager.prototype._initDeviceModeChange = function () {
9169
+ var resetButton = $('#layerresettodesktop').on('click', $.proxy(this.__onResetToDesktopClick, this));
9170
+ this.resetToDesktopTRElement = resetButton.closest('tr');
9171
+ this.resetToDesktopGlobalElement = $('#n2-ss-layer-reset-to-desktop').on('click', $.proxy(function () {
9172
+ if (this.resetToDesktopTRElement.css('display') == 'block') {
9173
+ resetButton.trigger('click');
9174
+ }
9175
+ }, this));
9176
+
9177
+ var showOn = $('#n2-ss-layer-show-on'),
9178
+ showOnShortCuts = {},
9179
+ deviceModes = smartSlider.frontend.responsive.parameters.deviceModes;
9180
+ for (var k in deviceModes) {
9181
+ if (deviceModes[k]) {
9182
+ showOnShortCuts[k] = $('<div class="n2-radio-option"><i class="n2-i n2-it n2-i-' + k + '"></i></div>').on('click', $.proxy(function (mode) {
9183
+ this.sidebar.forms.layer['showField' + mode.charAt(0).toUpperCase() + mode.substr(1)]
9184
+ .data('field')
9185
+ .onoff.trigger('click');
9186
+ }, this, k)).appendTo(showOn);
9187
+ }
9188
+ }
9189
+
9190
+ showOn.children().first().addClass('n2-first');
9191
+ showOn.children().last().addClass('n2-last');
9192
+
9193
+
9194
+ this.globalShowOnDeviceCB = function (mode) {
9195
+ if (typeof showOnShortCuts[mode] !== 'undefined') {
9196
+ showOnShortCuts[mode].toggleClass('n2-active', this.sidebar.forms.layer['showField' + mode.charAt(0).toUpperCase() + mode.substr(1)].val() == 1);
9197
+ }
9198
+ };
9199
+
9200
+ this.sidebar.forms.layer.showFieldDesktopPortrait.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'desktopPortrait'));
9201
+ this.sidebar.forms.layer.showFieldDesktopLandscape.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'desktopLandscape'));
9202
+
9203
+ this.sidebar.forms.layer.showFieldTabletPortrait.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'tabletPortrait'));
9204
+ this.sidebar.forms.layer.showFieldTabletLandscape.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'tabletLandscape'));
9205
+
9206
+ this.sidebar.forms.layer.showFieldMobilePortrait.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'mobilePortrait'));
9207
+ this.sidebar.forms.layer.showFieldMobileLandscape.on('nextendChange', $.proxy(this.globalShowOnDeviceCB, this, 'mobileLandscape'));
9208
+
9209
+ $('#layershow').data('field').setAvailableDevices(deviceModes);
9210
+ $('#layergroup-show').data('field').setAvailableDevices(deviceModes);
9211
+
9212
+ this.__onChangeDeviceOrientation();
9213
+ smartSlider.frontend.sliderElement.on('SliderDeviceOrientation', $.proxy(this.__onChangeDeviceOrientation, this));
9214
+
9215
+
9216
+ //this.__onResize();
9217
+ smartSlider.frontend.sliderElement.on('SliderResize', $.proxy(this.__onResize, this));
9218
+ };
9219
+
9220
+ /**
9221
+ * Refresh the current responsive mode. Example: you are in tablet view and unpublish a layer for tablet, then you should need a refresh on the mode.
9222
+ */
9223
+ AdminSlideLayerManager.prototype.refreshMode = function () {
9224
+
9225
+ this.__onChangeDeviceOrientation();
9226
+
9227
+ smartSlider.frontend.responsive.reTriggerSliderDeviceOrientation();
9228
+ };
9229
+
9230
+ /**
9231
+ * When the device mode changed we have to change the slider
9232
+ * @param mode
9233
+ * @private
9234
+ */
9235
+ AdminSlideLayerManager.prototype.__onChangeDeviceOrientation = function () {
9236
+
9237
+ this.mode = this._getMode();
9238
+ this.globalShowOnDeviceCB(this.mode);
9239
+
9240
+ this.resetToDesktopTRElement.css('display', (this.mode == 'desktopPortrait' ? 'none' : 'block'));
9241
+ this.resetToDesktopGlobalElement.css('display', (this.mode == 'desktopPortrait' ? 'none' : ''));
9242
+ for (var i = 0; i < this.layerList.length; i++) {
9243
+ this.layerList[i].changeEditorMode(this.mode);
9244
+ }
9245
+ };
9246
+
9247
+ AdminSlideLayerManager.prototype.__onResize = function (e, ratios) {
9248
+
9249
+ var sortedLayerList = this.getSortedLayers();
9250
+
9251
+ for (var i = 0; i < sortedLayerList.length; i++) {
9252
+ sortedLayerList[i].doLinearResize(ratios);
9253
+ }
9254
+ };
9255
+
9256
+ /**
9257
+ * Reset the custom values of the current mode on the current layer to the desktop values.
9258
+ * @private
9259
+ */
9260
+ AdminSlideLayerManager.prototype.__onResetToDesktopClick = function () {
9261
+ if (this.activeLayerIndex != -1) {
9262
+ var mode = this.getMode();
9263
+ this.layerList[this.activeLayerIndex].resetMode(mode, mode);
9264
+ }
9265
+ };
9266
+
9267
+ AdminSlideLayerManager.prototype.copyOrResetMode = function (mode) {
9268
+
9269
+ var currentMode = this.getMode();
9270
+ if (mode != 'desktopPortrait' && mode == currentMode) {
9271
+ for (var i = 0; i < this.layerList.length; i++) {
9272
+ this.layerList[i].resetMode(mode, currentMode);
9273
+ }
9274
+ } else if (mode != 'desktopPortrait' && currentMode == 'desktopPortrait') {
9275
+ for (var i = 0; i < this.layerList.length; i++) {
9276
+ this.layerList[i].resetMode(mode, currentMode);
9277
+ }
9278
+ } else if (mode != currentMode) {
9279
+ for (var i = 0; i < this.layerList.length; i++) {
9280
+ this.layerList[i].copyMode(currentMode, mode);
9281
+ }
9282
+ }
9283
+
9284
+ };
9285
+
9286
+ AdminSlideLayerManager.prototype.refreshSlideSize = function () {
9287
+ this.slideSize.width = smartSlider.frontend.dimensions.slide.width;
9288
+ this.slideSize.height = smartSlider.frontend.dimensions.slide.height;
9289
+ };
9290
+
9291
+ //</editor-fold>
9292
+
9293
+ AdminSlideLayerManager.prototype.initSettings = function () {
9294
+ this.settings = {}
9295
+ var $settings = $('#n2-ss-slide-canvas-settings')
9296
+ .on('mouseleave', $.proxy(function () {
9297
+ $settings.removeClass('n2-active');
9298
+ }, this));
9299
+ $settings.find('> a').on('click', function (e) {
9300
+ e.preventDefault();
9301
+ $settings.toggleClass('n2-active');
9302
+ });
9303
+ this.$settingsPanel = $settings.find('.n2-ss-settings-panel-inner');
9304
+ this.initSnapTo();
9305
+ this.initEditorTheme();
9306
+ this.initRuler();
9307
+ }
9308
+
9309
+ AdminSlideLayerManager.prototype.addSettings = function (hash, title, _default, cb) {
9310
+ this.settings[hash] = parseInt($.jStorage.get(hash, _default));
9311
+ var row = $('<a href="">' + title + '<span class="n2-setting-tick"><i class="n2-i n2-it n2-i-tick2"></i></span></a>').on('click', $.proxy(function (e) {
9312
+ e.preventDefault();
9313
+ this.settings[hash] = (this.settings[hash] == 1 ? 0 : 1);
9314
+ $.jStorage.set(hash, this.settings[hash]);
9315
+ row.toggleClass('n2-setting-enabled', this.settings[hash] == 1);
9316
+ cb(this.settings[hash]);
9317
+ }, this)).appendTo(this.$settingsPanel);
9318
+
9319
+ row.toggleClass('n2-setting-enabled', this.settings[hash] == 1);
9320
+ cb(this.settings[hash]);
9321
+ }
9322
+
9323
+ AdminSlideLayerManager.prototype.addAction = function (title, cb) {
9324
+ $('<a href="" class="n2-panel-action">' + title + '</a>').on('click', $.proxy(function (e) {
9325
+ e.preventDefault();
9326
+ cb();
9327
+ }, this)).appendTo(this.$settingsPanel);
9328
+ }
9329
+
9330
+ AdminSlideLayerManager.prototype.initRuler = function () {
9331
+
9332
+ var editor = $('#n2-tab-smartslider-editor');
9333
+ this.addSettings("n2-ss-ruler-enabled", 'Ruler', 1, $.proxy(function (value) {
9334
+ editor.toggleClass('n2-ss-has-ruler', value == 1);
9335
+ nextend.triggerResize();
9336
+ }, this));
9337
+
9338
+
9339
+ this.addSettings("n2-ss-show-guides", 'Show Guides', 1, $.proxy(function (value) {
9340
+ nextend.ruler.showGuides = value;
9341
+ editor.toggleClass('n2-ss-show-guides', value == 1);
9342
+ }, this));
9343
+ this.addSettings("n2-ss-lock-guides", 'Lock Guides', 0, $.proxy(function (value) {
9344
+ editor.toggleClass('n2-ss-lock-guides', value == 1);
9345
+ }, this));
9346
+
9347
+ this.addAction('Clear Guides', $.proxy(function () {
9348
+ nextend.ruler.clearGuides();
9349
+ }, this))
9350
+ };
9351
+
9352
+ AdminSlideLayerManager.prototype.initSnapTo = function () {
9353
+
9354
+ this.addSettings("n2-ss-snap-to-enabled", 'Smart Snap', 1, $.proxy(function (value) {
9355
+ for (var i = 0; i < this.layerList.length; i++) {
9356
+ this.layerList[i].snap();
9357
+ }
9358
+ }, this));
9359
+ };
9360
+
9361
+ AdminSlideLayerManager.prototype.getSnap = function () {
9362
+ if (!this.settings["n2-ss-snap-to-enabled"]) {
9363
+ return false;
9364
+ }
9365
+
9366
+ if (this.staticSlide) {
9367
+ return $('.n2-ss-static-slide .n2-ss-layer:not(.n2-ss-layer-locked):not(.n2-ss-layer-parent):not(.n2-ss-layer-selected):visible, .n2-ruler-guide');
9368
+ }
9369
+ return $('.n2-ss-slide.n2-ss-slide-active .n2-ss-layer:not(.n2-ss-layer-locked):not(.n2-ss-layer-parent):not(.n2-ss-layer-selected):visible, .n2-ruler-guide');
9370
+ };
9371
+
9372
+ AdminSlideLayerManager.prototype.initEditorTheme = function () {
9373
+
9374
+ var themeElement = $('#n2-tab-smartslider-editor');
9375
+ this.addSettings("n2-ss-theme-dark", 'Dark Mode', 0, function (value) {
9376
+ themeElement.toggleClass('n2-ss-theme-dark', value == 1);
9377
+ });
9378
+ };
9379
+
9380
+ /**
9381
+ * Delete all layers on the slide
9382
+ */
9383
+ AdminSlideLayerManager.prototype.deleteLayers = function () {
9384
+ for (var i = this.mainLayerGroup.zIndexList.length - 1; i >= 0; i--) {
9385
+ this.mainLayerGroup.zIndexList[i].delete();
9386
+ }
9387
+ };
9388
+
9389
+ AdminSlideLayerManager.prototype.layerDeleted = function (index) {
9390
+
9391
+ var deletedLayer = this.layerList[index];
9392
+ deletedLayer.group.reIndexLayers();
9393
+
9394
+ var i = this.selectedLayers.length;
9395
+ while (i--) {
9396
+ if (deletedLayer == this.selectedLayers[i]) {
9397
+ this.selectedLayers.splice(i, 1);
9398
+ }
9399
+ }
9400
 
9401
+ this.layerList.splice(index, 1);
 
 
9402
 
9403
+ if (index === this.activeLayerIndex) {
9404
+ this.activeLayerIndex = -1;
 
 
 
 
9405
  }
9406
 
9407
+ this.afterLayerDeleted(index);
 
9408
 
9409
+ this.editorVisibilityRefresh();
 
 
 
 
 
 
 
 
 
 
9410
  };
9411
 
9412
+ AdminSlideLayerManager.prototype.editorVisibilityRefresh = function () {
9413
+ switch (this.layerList.length > 0) {
9414
+ case false:
9415
+ $('body').removeClass('n2-ss-has-layers');
9416
+ nextend.triggerResize();
9417
+ break;
9418
+ default:
9419
+ $('body').addClass('n2-ss-has-layers');
9420
+ nextend.triggerResize();
9421
+ break;
9422
+ }
9423
+ }
9424
 
9425
+ AdminSlideLayerManager.prototype.afterLayerDeleted = NextendDeBounce(function (index) {
 
 
9426
 
9427
+ var activeLayer = this.getSelectedLayer();
9428
+ if (!activeLayer || activeLayer.isDeleted) {
9429
+ this.resetActiveLayer();
9430
+ } else if (activeLayer) {
9431
+ this.activeLayerIndex = activeLayer.getIndex();
9432
  }
9433
+ }, 50);
9434
+
9435
+ AdminSlideLayerManager.prototype.getSortedLayers = function () {
9436
+ var list = this.mainLayerGroup.getChildLayersRecursive(false),
9437
+ children = {};
9438
+ for (var i = list.length - 1; i >= 0; i--) {
9439
+ if (typeof list[i].property.parentid !== 'undefined' && list[i].property.parentid) {
9440
+ if (typeof children[list[i].property.parentid] == 'undefined') {
9441
+ children[list[i].property.parentid] = [];
9442
+ }
9443
+ children[list[i].property.parentid].push(list[i]);
9444
+ list.splice(i, 1);
9445
+ }
9446
+ }
9447
+ for (var i = 0; i < list.length; i++) {
9448
+ if (typeof list[i].property.id !== 'undefined' && list[i].property.id && typeof children[list[i].property.id] !== 'undefined') {
9449
+ children[list[i].property.id].unshift(0);
9450
+ children[list[i].property.id].unshift(i + 1);
9451
+ list.splice.apply(list, children[list[i].property.id]);
9452
+ delete children[list[i].property.id];
9453
+ }
9454
+ }
9455
+ return list;
9456
  };
9457
 
 
9458
 
9459
+ AdminSlideLayerManager.prototype.getActiveLayerData = function () {
9460
+ var layers = [];
9461
+ if (typeof this.layerList[this.activeLayerIndex] !== 'undefined') {
9462
+ if (this.selectMode == SELECT_MODE.ON) {
9463
+ for (var i = 0; i < this.selectedLayers.length; i++) {
9464
+ this.selectedLayers[i].getDataWithChildren(layers);
9465
+ }
9466
+ } else {
9467
+ this.layerList[this.activeLayerIndex].getDataWithChildren(layers);
9468
  }
9469
  }
9470
+ return layers;
9471
+ };
9472
 
9473
+ /**
9474
+ * Get the HTML code of the whole slide
9475
+ * @returns {string} HTML
9476
+ */
9477
+ AdminSlideLayerManager.prototype.getHTML = function () {
9478
+ var node = $('<div></div>');
9479
 
9480
+ var list = this.layerList;
9481
+ for (var i = 0; i < list.length; i++) {
9482
+ node.append(list[i].getHTML(true, true));
9483
+ }
9484
 
9485
+ return node.html();
9486
  };
9487
 
 
 
9488
 
9489
+ AdminSlideLayerManager.prototype.getData = function () {
9490
+ var layers = [];
 
9491
 
9492
+ var list = this.mainLayerGroup.zIndexList;
9493
+ for (var i = 0; i < list.length; i++) {
9494
+ layers.push(list[i].getData({
9495
+ layersIncluded: true,
9496
+ itemsIncluded: true
9497
+ }));
9498
+ }
9499
+
9500
+ return layers;
9501
  };
9502
 
9503
+ AdminSlideLayerManager.prototype.loadData = function (data, overwrite, group) {
 
 
 
9504
 
9505
+ group = group || this.mainLayerGroup;
9506
+
9507
+ smartSlider.history.add($.proxy(function () {
9508
+ return [this, 'fixActiveLayer', '', '', []];
9509
+ }, this));
9510
+
9511
+ var layers = $.extend(true, [], data);
9512
+ if (overwrite) {
9513
+ this.deleteLayers();
9514
  }
9515
+ this._zIndexOffset = this.mainLayerGroup.zIndexList.length;
9516
+ this._idTranslation = {};
9517
+ for (var i = 0; i < layers.length; i++) {
9518
+ if (layers[i].type == 'group') {
9519
+ this.loadSingleGroupData(layers[i]);
9520
+ } else {
9521
+ this.loadSingleData(layers[i], this.mainLayerGroup);
9522
+ }
9523
+ }
9524
+ this.mainLayerGroup.reIndexLayers();
9525
+ this.refreshMode();
9526
+
9527
+ if (this.activeLayerIndex == -1 && this.layerList.length > 0) {
9528
+ this.layerList[0].activate();
9529
+ }
9530
+
9531
+ smartSlider.history.add($.proxy(function () {
9532
+ return [this, 'fixActiveLayer', '', '', []];
9533
+ }, this));
9534
+
9535
  };
9536
 
9537
+ AdminSlideLayerManager.prototype.loadSingleGroupData = function (data) {
9538
+ return new NextendSmartSliderLayerGroup(this, this.mainLayerGroup, false, data);
9539
+ }
9540
+
9541
+ AdminSlideLayerManager.prototype.loadSingleData = function (layerData, group) {
9542
+
9543
+ var layer = $('<div class="n2-ss-layer"></div>')
9544
+ .attr('style', layerData.style);
9545
+
9546
+ var storedZIndex = layer.css('zIndex');
9547
+ if (storedZIndex == 'auto' || storedZIndex == '') {
9548
+ if (layerData.zIndex) {
9549
+ storedZIndex = layerData.zIndex;
9550
+ } else {
9551
+ storedZIndex = 1;
9552
+ }
9553
+ }
9554
+ layer.css('zIndex', storedZIndex + this._zIndexOffset);
9555
+ if (layerData.id) {
9556
+ var id = $.fn.uid();
9557
+ this._idTranslation[layerData.id] = id;
9558
+ layer.attr('id', id);
9559
+ }
9560
+ if (layerData.parentid) {
9561
+ if (typeof this._idTranslation[layerData.parentid] != 'undefined') {
9562
+ layerData.parentid = this._idTranslation[layerData.parentid];
9563
  } else {
9564
+ layerData.parentid = '';
9565
  }
9566
  }
9567
 
9568
+ for (var j = 0; j < layerData.items.length; j++) {
9569
+ $('<div class="n2-ss-item n2-ss-item-' + layerData.items[j].type + '"></div>')
9570
+ .data('item', layerData.items[j].type)
9571
+ .data('itemvalues', layerData.items[j].values)
9572
+ .appendTo(layer);
9573
+ }
9574
+
9575
+ delete layerData.style;
9576
+ delete layerData.items;
9577
+ for (var k in layerData) {
9578
+ layer.data(k, layerData[k]);
9579
+ }
9580
+ return this.addLayer(group, layer, false);
9581
  };
9582
 
9583
+
9584
  /**
9585
+ * getter for the currently selected layer
9586
+ * @returns {jQuery|boolean} layer element in jQuery representation or false
9587
+ * @private
9588
  */
9589
+ AdminSlideLayerManager.prototype.getSelectedLayer = function () {
9590
+ if (this.activeLayerIndex == -1) {
9591
+ return false;
9592
+ }
9593
+ return this.layerList[this.activeLayerIndex];
9594
  };
9595
 
9596
+ AdminSlideLayerManager.prototype.fixActiveLayer = function () {
9597
+ var selectedLayer = this.getSelectedLayer();
9598
+ if (selectedLayer == false || selectedLayer.isDeleted) {
9599
+ this.resetActiveLayer();
9600
+ }
9601
+ };
 
 
 
 
 
9602
 
9603
+ AdminSlideLayerManager.prototype.resetActiveLayer = function () {
9604
+ if (this.mainLayerGroup.zIndexList.length > 0) {
9605
+ this.mainLayerGroup.zIndexList[this.mainLayerGroup.zIndexList.length - 1].activate();
9606
+ } else {
9607
+ this.changeActiveLayer(-1);
9608
+ }
9609
+ };
9610
 
9611
+ AdminSlideLayerManager.prototype.changeActiveLayer = function (index, preventExitFromSelection) {
9612
+ var lastActive = this.activeLayerIndex;
9613
+ if (lastActive != -1) {
9614
+ var $layer = this.layerList[lastActive];
9615
+ // There is a chance that the layer already deleted
9616
+ if ($layer) {
9617
+ $layer.$.off('propertyChanged.layerEditor');
9618
 
9619
+ $layer.deActivate();
 
 
 
 
 
 
9620
  }
9621
+ }
9622
+ this.activeLayerIndex = index;
9623
 
9624
+ if (!preventExitFromSelection) {
9625
+ this.exitSelectMode();
9626
+ }
9627
 
9628
+ if (index != -1) {
9629
+ var layer = this.layerList[index];
9630
 
 
 
9631
 
9632
+ if (layer instanceof NextendSmartSliderLayerGroup) {
9633
+ this.sidebar.changeMode('GROUP');
9634
+ } else {
9635
+ this.sidebar.changeMode('LAYER');
9636
+ }
9637
 
9638
+ layer.$.on('propertyChanged.layerEditor', $.proxy(this.sidebar.activatePropertyChanged, this.sidebar));
9639
 
9640
+ var properties = layer.property;
9641
+ for (var name in properties) {
9642
+ this.sidebar.activatePropertyChanged({
9643
+ target: layer
9644
+ }, name, properties[name]);
9645
+ }
9646
+ }
9647
+
9648
+ this.$.trigger('activeLayerChanged');
9649
  };
9650
 
9651
+ AdminSlideLayerManager.prototype.eye = function () {
9652
+ if (typeof this.layerList[this.activeLayerIndex] !== 'undefined') {
9653
+ this.doActionOnActiveLayer('changeStatus', [3]);
9654
+ }
9655
+ };
9656
 
9657
+ AdminSlideLayerManager.prototype.lock = function () {
9658
+ if (typeof this.layerList[this.activeLayerIndex] !== 'undefined') {
9659
+ this.doActionOnActiveLayer('changeStatus', [2]);
9660
+ }
9661
+ };
9662
 
9663
+ AdminSlideLayerManager.prototype.delete = function () {
9664
+ if (typeof this.layerList[this.activeLayerIndex] !== 'undefined') {
9665
+ this.doActionOnActiveLayer('delete');
9666
+ }
9667
  };
9668
 
9669
+ AdminSlideLayerManager.prototype.duplicate = function () {
9670
+ if (typeof this.layerList[this.activeLayerIndex] !== 'undefined') {
 
 
 
 
9671
 
9672
+ this.doActionOnActiveLayer('duplicate', [this.selectMode == SELECT_MODE.ON ? false : true, false]);
9673
+ }
9674
+ };
9675
 
9676
+ AdminSlideLayerManager.prototype.copy = function (copied) {
9677
+ if (typeof copied === 'undefined') {
9678
+ copied = this.getCopied();
9679
+ }
9680
+ var layers = this.getActiveLayerData();
9681
+ if (layers.length) {
9682
+ copied.unshift({
9683
+ name: layers[0].name,
9684
+ layers: layers
9685
+ });
9686
+ while (copied.length > 5) {
9687
+ copied.pop();
9688
+ }
9689
+ $.jStorage.set('copied', JSON.stringify(copied));
9690
  }
9691
  };
9692
 
9693
+ AdminSlideLayerManager.prototype.paste = function (index, copied) {
9694
+ if (typeof copied === 'undefined') {
9695
+ copied = this.getCopied();
9696
+ }
9697
+ if (copied.length && typeof copied[index] !== 'undefined') {
9698
+ nextend.smartSlider.layerManager.loadData(copied[index].layers, false);
9699
  }
9700
  };
9701
 
9702
+ AdminSlideLayerManager.prototype.getCopied = function () {
9703
+
9704
+ var copied = $.jStorage.get('copied');
9705
+ if (copied === null) {
9706
+ return [];
 
 
 
9707
  }
9708
+ return JSON.parse(copied);
9709
  };
9710
 
9711
+ AdminSlideLayerManager.prototype.addContextMenu = function () {
9712
+ var that = this;
9713
 
9714
+ $.contextMenu({
9715
+ selector: '#n2-ss-0',
9716
+ className: 'n2',
9717
+ autoHide: true,
9718
+ build: function ($triggerElement, e) {
9719
+ var layer = null;
 
 
 
 
 
 
 
 
9720
 
9721
+ var $layer = $(e.target).closest('.n2-ss-layer');
9722
+ if ($layer.length) {
9723
+ layer = $layer.data('layerObject');
9724
+ layer.activate(e);
9725
+ } else {
9726
+ layer = that.layerList[that.activeLayerIndex] || false;
9727
+ }
9728
 
9729
+ var items = {};
 
 
 
9730
 
9731
+ if (layer) {
9732
+ items['delete'] = {name: "Delete layer", icon: "delete"};
9733
+ items['duplicate'] = {name: "Duplicate layer", icon: "duplicate"};
9734
+ items['copy'] = {name: "Copy layer", icon: "copy"};
9735
+ }
9736
 
9737
+
9738
+ var copied = that.getCopied();
9739
+ if (copied.length == 1) {
9740
+ items['paste'] = {
9741
+ name: "Paste layer",
9742
+ icon: "paste",
9743
+ callback: $.proxy(that.paste, this, 0, copied)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9744
  }
9745
+ } else if (copied.length > 1) {
9746
+ var pasteItems = {};
9747
+ for (var i = 0; i < copied.length; i++) {
9748
+ pasteItems['paste' + i] = {
9749
+ name: copied[i].name,
9750
+ callback: $.proxy(that.paste, this, i, copied)
9751
+ }
9752
+ }
9753
+ items['paste'] = {
9754
+ name: "Paste layer",
9755
+ icon: "paste",
9756
+ items: pasteItems
9757
+ }
9758
+ }
9759
 
9760
+ if ($.isEmptyObject(items)) {
9761
+ return false;
9762
+ }
9763
+
9764
+ return {
9765
+ animation: {duration: 0, show: 'show', hide: 'hide'},
9766
+ zIndex: 1000000,
9767
+ callback: function (key, options) {
9768
+ that[key]();
9769
+ },
9770
+ positionSubmenu: function ($menu) {
9771
+ if ($.ui && $.ui.position) {
9772
+ // .position() is provided as a jQuery UI utility
9773
+ // (...and it won't work on hidden elements)
9774
+ $menu.css('display', 'block').position({
9775
+ my: 'left+2 top',
9776
+ at: 'right top',
9777
+ of: this,
9778
+ collision: 'flipfit fit'
9779
+ }).css('display', '');
9780
+ } else {
9781
+ // determine contextMenu position
9782
+ var offset = {
9783
+ top: 0,
9784
+ left: this.outerWidth()
9785
+ };
9786
+ $menu.css(offset);
9787
+ }
9788
+ },
9789
+ items: items
9790
+ };
9791
+ }
9792
  });
9793
+ };
9794
 
9795
+ AdminSlideLayerManager.prototype.history = function (method, value, other) {
9796
+ switch (method) {
9797
+ case 'fixActiveLayer':
9798
+ this.fixActiveLayer();
9799
+ break;
9800
  }
9801
  };
9802
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9803
 
9804
+ AdminSlideLayerManager.prototype.initSelectMode = function () {
9805
+ this.selectMode = SELECT_MODE.OFF;
9806
+ this.selectedLayers = [];
9807
 
9808
+ $('.n2-ss-layer-list-top-bar .n2-button').on('mousedown', $.proxy(function (e) {
9809
+ e.preventDefault();
9810
+ switch ($(e.currentTarget).data('action')) {
9811
+ case 'delete':
9812
+ this.delete();
9813
+ break;
9814
+ case 'duplicate':
9815
+ this.duplicate();
9816
+ break;
9817
+ case 'group':
9818
+ this.createGroupFromSelected();
9819
+ break;
9820
+ case 'cancel':
9821
+ this.exitSelectMode();
9822
+ break;
9823
+ }
9824
+ }, this))
9825
+ }
9826
 
9827
+ AdminSlideLayerManager.prototype.startSelection = function (isGroupMode) {
9828
+ if (isGroupMode) {
9829
+ if (this.selectMode == SELECT_MODE.ON) {
9830
+ this.exitSelectMode();
9831
+ }
9832
+ this.changeSelectMode(SELECT_MODE.GROUP);
9833
+ } else {
9834
+ this.changeSelectMode(SELECT_MODE.ON);
9835
  }
9836
+ }
9837
 
9838
+ AdminSlideLayerManager.prototype.changeSelectMode = function (targetMode) {
9839
+ var lastMode = this.selectMode;
9840
+ if (lastMode != targetMode) {
9841
 
9842
+ if (lastMode == SELECT_MODE.ON) {
9843
+ $('#n2-admin').removeClass('n2-ss-select-layer-mode-on');
9844
+ } else if (lastMode == SELECT_MODE.GROUP) {
9845
+ $('#n2-admin').removeClass('n2-ss-select-layer-mode-group');
9846
+ }
 
 
 
9847
 
9848
+ this.selectMode = targetMode;
 
 
 
9849
 
9850
+ if (lastMode == SELECT_MODE.GROUP && targetMode == SELECT_MODE.ON) {
9851
+ this.selectedLayers[0].activate(null, null, true);
9852
+ }
 
 
 
 
 
 
 
9853
 
9854
+ if (targetMode == SELECT_MODE.OFF) {
9855
+ $('#n2-admin').removeClass('n2-ss-select-layer-mode');
9856
+ } else {
9857
+ $('#n2-admin').addClass('n2-ss-select-layer-mode');
9858
+ if (targetMode == SELECT_MODE.ON) {
9859
+ $('#n2-admin').addClass('n2-ss-select-layer-mode-on');
9860
+ } else if (targetMode == SELECT_MODE.GROUP) {
9861
+ $('#n2-admin').addClass('n2-ss-select-layer-mode-group');
9862
+ }
9863
+ }
9864
+
9865
+ if (this.selectMode == SELECT_MODE.OFF) {
9866
+ $('body').off('.n2-ss-selection');
9867
+ } else {
9868
+ $('body').on('mousedown.n2-ss-selection', $.proxy(function (e) {
9869
+ if (nextend.context.getCurrentWindow() == 'main') {
9870
+ if (nextend.context.mouseDownArea === false) {
9871
+ this.exitSelectMode();
9872
+ }
9873
+ }
9874
+ }, this));
9875
+ }
9876
  }
9877
+ }
9878
 
9879
+ AdminSlideLayerManager.prototype.endSelection = function (isGroupMode) {
9880
+ if (isGroupMode && this.selectMode == SELECT_MODE.GROUP) {
9881
+ this.exitSelectMode();
9882
  }
9883
+ }
 
9884
 
9885
+ AdminSlideLayerManager.prototype.selectLayer = function (layer, addActive) {
9886
+
9887
+ if (this.selectMode != SELECT_MODE.ON) {
9888
+
9889
+ this.startSelection(false);
9890
+
9891
+ if (addActive) this.selectedLayers.push(this.layerList[this.activeLayerIndex]);
9892
  }
 
9893
 
9894
+ this._selectLayer(layer);
 
 
 
9895
  };
9896
 
9897
+ AdminSlideLayerManager.prototype._selectLayer = function (layer) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9898
 
9899
+ var index = $.inArray(layer, this.selectedLayers);
9900
+ if (index != -1) {
9901
+ if (this.selectMode == SELECT_MODE.ON && this.selectedLayers.length <= 1) {
9902
+ this.exitSelectMode();
9903
+ return false;
 
 
 
 
 
 
 
9904
  }
9905
+
9906
+ var deSelectedLayer = this.selectedLayers[index];
9907
+ this.selectedLayers.splice(index, 1);
9908
+ layer.layerRow.removeClass('n2-selected');
9909
+ layer.layer.removeClass('n2-ss-layer-selected');
9910
+
9911
+ if (this.selectMode == SELECT_MODE.ON && this.selectedLayers.length <= 1) {
9912
+ this.selectedLayers[0].activate();
9913
+ this.exitSelectMode();
9914
+ return false;
 
 
 
9915
  }
 
9916
 
9917
+ // As the active layer removed from the selection,
9918
+ // change the active layer to the first of the current selection
9919
+ if (deSelectedLayer === this.layerList[this.activeLayerIndex]) {
9920
+ this.selectedLayers[0].activate(false, null, true);
9921
+ }
9922
 
9923
+ } else {
9924
+ var pushToIndex = this.selectedLayers.length;
9925
+ for (var i = 0; i < this.selectedLayers.length; i++) {
9926
+ if (this.selectedLayers[i]._sortZIndex(layer)) {
9927
+ pushToIndex = i;
9928
+ break;
9929
+ }
9930
+ }
9931
+ this.selectedLayers.splice(pushToIndex, 0, layer);
9932
  }
9933
+ for (var i = 0; i < this.selectedLayers.length; i++) {
9934
+ this.selectedLayers[i].layerRow.addClass('n2-selected');
9935
+ this.selectedLayers[i].layer.addClass('n2-ss-layer-selected');
9936
  }
9937
+ }
9938
 
9939
+ AdminSlideLayerManager.prototype.addSelection = function (layers, isGroupSelected) {
9940
+ if (!isGroupSelected) {
9941
+ this.changeSelectMode(SELECT_MODE.ON);
 
 
9942
  }
 
9943
 
9944
+ for (var i = 0; i < layers.length; i++) {
9945
+ this._selectLayer(layers[i], false);
 
 
 
9946
  }
9947
+ }
9948
 
9949
+ AdminSlideLayerManager.prototype.exitSelectMode = function () {
9950
+ if (this.selectMode) {
9951
+ for (var i = 0; i < this.selectedLayers.length; i++) {
9952
+ if (this.selectedLayers[i] != this.layerList[this.activeLayerIndex]) {
9953
+ this.selectedLayers[i].layerRow.removeClass('n2-active');
 
 
 
 
 
 
9954
  }
9955
+ this.selectedLayers[i].layerRow.removeClass('n2-selected');
9956
+ this.selectedLayers[i].layer.removeClass('n2-ss-layer-selected');
9957
+ }
9958
+ $('#n2-admin').removeClass('n2-ss-select-layer-mode');
9959
+ this.selectedLayers = [];
9960
+ this.changeSelectMode(SELECT_MODE.OFF);
 
 
 
9961
  }
9962
+ }
9963
 
9964
+ AdminSlideLayerManager.prototype.doActionOnActiveLayer = function (action, args) {
9965
+ if (this.selectMode == SELECT_MODE.ON) {
9966
 
9967
+ var selectedLayers = $.extend([], this.selectedLayers);
9968
+ for (var i = 0; i < selectedLayers.length; i++) {
9969
+ selectedLayers[i][action].apply(selectedLayers[i], args);
9970
+ }
9971
+ } else {
9972
+ if (typeof this.layerList[this.activeLayerIndex][action] == 'function') {
9973
+ this.layerList[this.activeLayerIndex][action].apply(this.layerList[this.activeLayerIndex], args);
9974
+ } else {
9975
+ this.layerList[this.activeLayerIndex].doAction(action, args);
9976
+ }
9977
+ }
9978
+ }
9979
 
9980
+ AdminSlideLayerManager.prototype.draggableStart = function (ui) {
9981
+ if (this.selectMode) {
9982
+ var targetFoundInSelection = false;
9983
+ for (var i = 0; i < this.selectedLayers.length; i++) {
9984
+ var selectedLayer = this.selectedLayers[i],
9985
+ $selectedLayer = selectedLayer.layer;
9986
 
9987
+ if ($selectedLayer[0] != ui.helper[0]) {
 
9988
 
9989
+ var display = $selectedLayer.css('display');
9990
+ if (display == 'none') {
9991
+ $selectedLayer.css('display', 'block');
9992
+ }
9993
 
9994
+ selectedLayer._originalPosition = $selectedLayer.position();
9995
 
 
 
 
 
 
 
 
 
 
 
 
9996
 
9997
+ if (display == 'none') {
9998
+ $selectedLayer.css('display', display);
9999
+ }
10000
+ } else {
10001
+ targetFoundInSelection = true;
 
 
10002
  }
 
 
10003
  }
10004
+ if (!targetFoundInSelection) {
10005
+ this.exitSelectMode();
 
 
 
 
 
10006
  }
10007
  }
10008
+ }
 
10009
 
10010
+ AdminSlideLayerManager.prototype.draggableDrag = function (ui) {
10011
+ if (this.selectMode) {
10012
+ var movement = {
10013
+ left: ui.position.left - ui.originalPosition.left,
10014
+ top: ui.position.top - ui.originalPosition.top
10015
+ }
10016
+ for (var i = 0; i < this.selectedLayers.length; i++) {
10017
+ var selectedLayer = this.selectedLayers[i],
10018
+ $selectedLayer = selectedLayer.layer;
10019
 
10020
+ if (selectedLayer instanceof NextendSmartSliderLayerGroup) {
 
 
 
 
 
 
10021
 
10022
+ } else {
 
 
 
 
 
10023
 
10024
+ if ($selectedLayer[0] != ui.helper[0]) {
10025
+
10026
+ $selectedLayer.css({
10027
+ left: selectedLayer._originalPosition.left + movement.left,
10028
+ top: selectedLayer._originalPosition.top + movement.top,
10029
+ bottom: 'auto',
10030
+ right: 'auto'
10031
+ });
10032
+ selectedLayer.triggerLayerResized();
10033
+
10034
+ }
10035
+ }
10036
+ }
10037
  }
10038
+ }
10039
 
10040
+ AdminSlideLayerManager.prototype.draggableStop = function (ui) {
10041
+ if (this.selectMode) {
10042
+ var movement = {
10043
+ left: ui.position.left - ui.originalPosition.left,
10044
+ top: ui.position.top - ui.originalPosition.top
10045
+ }
10046
+ for (var i = 0; i < this.selectedLayers.length; i++) {
10047
+ var selectedLayer = this.selectedLayers[i],
10048
+ $selectedLayer = selectedLayer.layer;
10049
 
10050
+ if (selectedLayer instanceof NextendSmartSliderLayerGroup) {
10051
 
10052
+ } else {
10053
+ if ($selectedLayer[0] != ui.helper[0]) {
10054
+ var display = $selectedLayer.css('display');
10055
+ if (display == 'none') {
10056
+ $selectedLayer.css('display', 'block');
10057
+ }
10058
 
10059
+ selectedLayer.setPosition(selectedLayer._originalPosition.left + movement.left, selectedLayer._originalPosition.top + movement.top);
10060
+
10061
+ selectedLayer.triggerLayerResized();
10062
+
10063
+ if (display == 'none') {
10064
+ $selectedLayer.css('display', display);
10065
+ }
10066
+ }
10067
+ }
10068
+ }
10069
+ return true;
10070
  }
10071
+ return false;
10072
+ }
10073
 
 
 
10074
 
10075
+ AdminSlideLayerManager.prototype.createGroupFromSelected = function () {
10076
+ var group;
10077
+ switch (this.selectMode) {
10078
+ case SELECT_MODE.ON:
10079
+ group = new NextendSmartSliderLayerGroup(this, this.mainLayerGroup, false);
10080
 
10081
+ var historyTask = smartSlider.history.add($.proxy(function () {
10082
+ return [group, 'createGroup', 'create', 'delete', []];
10083
+ }, this));
10084
 
10085
+ group.groupLayersStartAndLateInit(this.selectedLayers);
 
 
 
 
 
 
 
 
 
 
10086
 
10087
+ historyTask[4].push(group.zIndex);
 
 
10088
 
10089
+ this.exitSelectMode();
10090
+ group.activate();
 
10091
 
10092
+ break;
10093
+ case SELECT_MODE.OFF:
10094
+ var activeLayer = this.layerList[this.activeLayerIndex];
10095
 
10096
+ // If the single layer is already in a group, we just activate that group
10097
+ if (activeLayer.group instanceof NextendSmartSliderLayerGroup) {
10098
+ activeLayer.group.activate();
10099
+ } else {
10100
+ group = new NextendSmartSliderLayerGroup(this, this.mainLayerGroup, false);
10101
 
10102
+ var historyTask = smartSlider.history.add($.proxy(function () {
10103
+ return [group, 'createGroup', 'create', 'delete', []];
10104
+ }, this));
10105
 
10106
+ group.groupLayersStartAndLateInit([activeLayer]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10107
 
10108
+ historyTask[4].push(group.zIndex);
 
 
 
 
 
10109
 
10110
+ group.activate();
10111
+ }
10112
+ break;
10113
+ case SELECT_MODE.GROUP:
10114
+ break;
10115
  }
10116
+ }
 
10117
 
10118
+ scope.NextendSmartSliderAdminSlideLayerManager = AdminSlideLayerManager;
 
 
 
 
 
10119
 
10120
+ var MODES = {
10121
+ UNDEFINED: 0,
10122
+ LAYER: 1,
10123
+ GROUP: 2
10124
+ },
10125
+ MODESINV = {
10126
+ 0: 'UNDEFINED',
10127
+ 1: 'LAYER',
10128
+ 2: 'GROUP'
10129
+ };
10130
 
10131
+ function AdminSlideSidebarSettings(layerEditor) {
10132
+ this.mode = MODES.UNDEFINED;
10133
+ this.forms = {'undefined': null};
10134
+ this.layerEditor = layerEditor;
10135
 
10136
  this.toolboxElement = $('#smartslider-slide-toolbox-layer');
10137
 
10138
+ this.startLayer();
10139
+ this.startGroup();
10140
+ }
10141
+
10142
+ AdminSlideSidebarSettings.prototype.changeMode = function (targetMode) {
10143
+ if (this.mode != MODES[targetMode]) {
10144
+ $('body').removeClass('n2-ss-editor-mode-' + MODESINV[this.mode]).addClass('n2-ss-editor-mode-' + targetMode);
10145
+ if (MODES[targetMode] == MODES.LAYER) {
10146
+ $('#n2-tabbed-slide-editor-settings').data('pane').showTabs(['item', 'style', 'animations', 'position']);
10147
+ } else if (MODES[targetMode] == MODES.GROUP) {
10148
+ $('#n2-tabbed-slide-editor-settings').data('pane').showTabs(['group', 'animations']);
10149
+ }
10150
+ this.mode = MODES[targetMode];
10151
+ }
10152
+ }
10153
+
10154
+ AdminSlideSidebarSettings.prototype.activatePropertyChanged = function (e, name, value) {
10155
+ switch (this.mode) {
10156
+ case MODES.LAYER:
10157
+ this.activeLayerPropertyChanged(e, name, value);
10158
+ break;
10159
+ case MODES.GROUP:
10160
+ this.activeGroupPropertyChanged(e, name, value);
10161
+ break;
10162
+ }
10163
+ }
10164
+
10165
+ AdminSlideSidebarSettings.prototype.getActiveForm = function () {
10166
+ switch (this.mode) {
10167
+ case MODES.LAYER:
10168
+ return this.forms.layer;
10169
+ break;
10170
+ case MODES.GROUP:
10171
+ return this.forms.group;
10172
+ break;
10173
+ }
10174
+ return false;
10175
+ }
10176
+
10177
+ AdminSlideSidebarSettings.prototype.startLayer = function () {
10178
+ this.forms.layer = {
10179
  id: $('#layerid'),
10180
  parentid: $('#layerparentid'),
10181
  parentalign: $('#layerparentalign'),
10187
  height: $('#layerheight'),
10188
  responsivesize: $('#layerresponsive-size'),
10189
  class: $('#layerclass'),
10190
+ generatorvisible: $('#layergenerator-visible'),
10191
  showFieldDesktopPortrait: $('#layershow-desktop-portrait'),
10192
  showFieldDesktopLandscape: $('#layershow-desktop-landscape'),
10193
  showFieldTabletPortrait: $('#layershow-tablet-portrait'),
10195
  showFieldMobilePortrait: $('#layershow-mobile-portrait'),
10196
  showFieldMobileLandscape: $('#layershow-mobile-landscape'),
10197
  crop: $('#layercrop'),
10198
+ rotation: $('#layerrotation'),
10199
  inneralign: $('#layerinneralign'),
10200
  parallax: $('#layerparallax'),
10201
  align: $('#layeralign'),
10203
  fontsize: $('#layerfont-size'),
10204
  adaptivefont: $('#layeradaptive-font'),
10205
  mouseenter: $('#layeronmouseenter'),
10206
+ click: $('#layeronclick'),
10207
+ mouseleave: $('#layeronmouseleave'),
10208
+ play: $('#layeronplay'),
10209
+ pause: $('#layeronpause'),
10210
+ stop: $('#layeronstop')
10211
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10212
 
10213
+ for (var k in this.forms.layer) {
10214
+ this.forms.layer[k].on('outsideChange', $.proxy(this.activateLayerPropertyChanged, this, k));
10215
  }
 
 
 
 
 
10216
 
10217
+ if (!this.layerEditor.responsive.isEnabled('desktop', 'Landscape')) {
10218
+ this.forms.layer.showFieldDesktopLandscape.closest('.n2-mixed-group').css('display', 'none');
10219
+ }
10220
+ if (!this.layerEditor.responsive.isEnabled('tablet', 'Portrait')) {
10221
+ this.forms.layer.showFieldTabletPortrait.closest('.n2-mixed-group').css('display', 'none');
10222
+ }
10223
+ if (!this.layerEditor.responsive.isEnabled('tablet', 'Landscape')) {
10224
+ this.forms.layer.showFieldTabletLandscape.closest('.n2-mixed-group').css('display', 'none');
10225
+ }
10226
+ if (!this.layerEditor.responsive.isEnabled('mobile', 'Portrait')) {
10227
+ this.forms.layer.showFieldMobilePortrait.closest('.n2-mixed-group').css('display', 'none');
10228
+ }
10229
+ if (!this.layerEditor.responsive.isEnabled('mobile', 'Landscape')) {
10230
+ this.forms.layer.showFieldMobileLandscape.closest('.n2-mixed-group').css('display', 'none');
10231
+ }
10232
+ }
10233
 
10234
+ AdminSlideSidebarSettings.prototype.activateLayerPropertyChanged = function (name, e) {
10235
+ if (this.layerEditor.activeLayerIndex != -1) {
10236
+ //@todo batch? throttle
10237
+ var value = this.forms.layer[name].val();
10238
+ this.layerEditor.layerList[this.layerEditor.activeLayerIndex].setProperty(name, value, 'manager');
10239
+ } else {
10240
+ var field = this.forms.layer[name].data('field');
10241
+ if (typeof field !== 'undefined' && field !== null) {
10242
+ field.insideChange('');
10243
  }
10244
  }
10245
  };
10246
 
10247
+ AdminSlideSidebarSettings.prototype.activeLayerPropertyChanged = function (e, name, value) {
10248
+ if (typeof this['layerFormSet' + name] === 'function') {
10249
+ this['layerFormSet' + name](value, e.target);
10250
  } else {
10251
+ var field = this.forms.layer[name].data('field');
10252
  if (typeof field !== 'undefined') {
10253
  field.insideChange(value);
10254
  }
10255
  }
10256
  };
10257
 
10258
+ AdminSlideSidebarSettings.prototype.layerFormSetname = function (value) {
10259
 
10260
  };
10261
 
10262
+ AdminSlideSidebarSettings.prototype.layerFormSetnameSynced = function (value) {
10263
 
10264
  };
10265
 
10266
+ AdminSlideSidebarSettings.prototype.layerFormSetdesktopPortrait = function (value, layer) {
10267
+ this.forms.layer.showFieldDesktopPortrait.data('field').insideChange(value);
10268
  };
10269
 
10270
+ AdminSlideSidebarSettings.prototype.layerFormSetdesktopLandscape = function (value, layer) {
10271
+ this.forms.layer.showFieldDesktopLandscape.data('field').insideChange(value);
10272
  };
10273
 
10274
+ AdminSlideSidebarSettings.prototype.layerFormSettabletPortrait = function (value, layer) {
10275
+ this.forms.layer.showFieldTabletPortrait.data('field').insideChange(value);
10276
  };
10277
 
10278
+ AdminSlideSidebarSettings.prototype.layerFormSettabletLandscape = function (value, layer) {
10279
+ this.forms.layer.showFieldTabletLandscape.data('field').insideChange(value);
10280
  };
10281
 
10282
+ AdminSlideSidebarSettings.prototype.layerFormSetmobilePortrait = function (value, layer) {
10283
+ this.forms.layer.showFieldMobilePortrait.data('field').insideChange(value);
10284
  };
10285
 
10286
+ AdminSlideSidebarSettings.prototype.layerFormSetmobileLandscape = function (value, layer) {
10287
+ this.forms.layer.showFieldMobileLandscape.data('field').insideChange(value);
10288
  };
10289
 
10290
+ AdminSlideSidebarSettings.prototype.startFeatures = function () {
10291
+ this.layerFeatures = new LayerFeatures(this.forms.layer);
10292
+ }
 
 
10293
 
10294
+ AdminSlideSidebarSettings.prototype.startGroup = function () {
10295
+ this.forms.group = {
10296
+ parallax: $('#layergroup-parallax'),
10297
+ showFieldDesktopPortrait: $('#layergroup-show-desktop-portrait'),
10298
+ showFieldDesktopLandscape: $('#layergroup-show-desktop-landscape'),
10299
+ showFieldTabletPortrait: $('#layergroup-show-tablet-portrait'),
10300
+ showFieldTabletLandscape: $('#layergroup-show-tablet-landscape'),
10301
+ showFieldMobilePortrait: $('#layergroup-show-mobile-portrait'),
10302
+ showFieldMobileLandscape: $('#layergroup-show-mobile-landscape'),
10303
+ fontsize: $('#layergroup-font-size'),
10304
+ adaptivefont: $('#layergroup-adaptive-font'),
10305
+ generatorvisible: $('#layergroup-generator-visible')
10306
+ };
10307
+
10308
+ for (var k in this.forms.group) {
10309
+ this.forms.group[k].on('outsideChange', $.proxy(this.activateGroupPropertyChanged, this, k));
10310
  }
 
10311
 
10312
+ if (!this.layerEditor.responsive.isEnabled('desktop', 'Landscape')) {
10313
+ this.forms.group.showFieldDesktopLandscape.closest('.n2-mixed-group').css('display', 'none');
 
10314
  }
10315
+ if (!this.layerEditor.responsive.isEnabled('tablet', 'Portrait')) {
10316
+ this.forms.group.showFieldTabletPortrait.closest('.n2-mixed-group').css('display', 'none');
10317
+ }
10318
+ if (!this.layerEditor.responsive.isEnabled('tablet', 'Landscape')) {
10319
+ this.forms.group.showFieldTabletLandscape.closest('.n2-mixed-group').css('display', 'none');
10320
+ }
10321
+ if (!this.layerEditor.responsive.isEnabled('mobile', 'Portrait')) {
10322
+ this.forms.group.showFieldMobilePortrait.closest('.n2-mixed-group').css('display', 'none');
10323
+ }
10324
+ if (!this.layerEditor.responsive.isEnabled('mobile', 'Landscape')) {
10325
+ this.forms.group.showFieldMobileLandscape.closest('.n2-mixed-group').css('display', 'none');
10326
+ }
10327
+ }
10328
+
10329
+ AdminSlideSidebarSettings.prototype.activateGroupPropertyChanged = function (name, e) {
10330
+ if (this.layerEditor.activeLayerIndex != -1) {
10331
+ //@todo batch? throttle
10332
+ var value = this.forms.group[name].val();
10333
+ this.layerEditor.layerList[this.layerEditor.activeLayerIndex].setProperty(name, value, 'manager');
10334
+ } else {
10335
+ var field = this.forms.group[name].data('field');
10336
+ if (typeof field !== 'undefined' && field !== null) {
10337
+ field.insideChange('');
10338
  }
 
10339
  }
10340
  };
10341
 
10342
+ AdminSlideSidebarSettings.prototype.activeGroupPropertyChanged = function (e, name, value) {
10343
+ if (typeof this['groupFormSet' + name] === 'function') {
10344
+ this['groupFormSet' + name](value, e.target);
10345
+ } else {
10346
+ var field = this.forms.group[name].data('field');
10347
+ if (typeof field !== 'undefined') {
10348
+ field.insideChange(value);
10349
+ }
10350
  }
10351
  };
10352
 
10353
+ AdminSlideSidebarSettings.prototype.groupFormSetname = function (value) {
10354
 
 
 
 
 
 
10355
  };
10356
 
10357
+ AdminSlideSidebarSettings.prototype.groupFormSetdesktopPortrait = function (value) {
10358
+ this.forms.group.showFieldDesktopPortrait.data('field').insideChange(value);
10359
+ };
10360
 
10361
+ AdminSlideSidebarSettings.prototype.groupFormSetdesktopLandscape = function (value) {
10362
+ this.forms.group.showFieldDesktopLandscape.data('field').insideChange(value);
10363
+ };
10364
 
10365
+ AdminSlideSidebarSettings.prototype.groupFormSettabletPortrait = function (value) {
10366
+ this.forms.group.showFieldTabletPortrait.data('field').insideChange(value);
10367
+ };
10368
 
10369
+ AdminSlideSidebarSettings.prototype.groupFormSettabletLandscape = function (value) {
10370
+ this.forms.group.showFieldTabletLandscape.data('field').insideChange(value);
10371
+ };
 
 
10372
 
10373
+ AdminSlideSidebarSettings.prototype.groupFormSetmobilePortrait = function (value) {
10374
+ this.forms.group.showFieldMobilePortrait.data('field').insideChange(value);
10375
+ };
10376
 
10377
+ AdminSlideSidebarSettings.prototype.groupFormSetmobileLandscape = function (value) {
10378
+ this.forms.group.showFieldMobileLandscape.data('field').insideChange(value);
10379
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10380
 
10381
+ scope.NextendSmartSliderAdminSlideSidebarSettings = AdminSlideSidebarSettings;
10382
+
10383
+ function LayerFeatures(fields) {
10384
+ this.fields = fields;
10385
+
10386
+ this.initParentLinker();
10387
+ this.initAlign();
10388
+ this.initEvents();
10389
+ }
10390
+
10391
+ LayerFeatures.prototype.initParentLinker = function () {
10392
+ var field = this.fields.parentid.data('field'),
10393
+ parentLinker = $('#n2-ss-layer-parent-linker').on({
10394
+ click: function (e) {
10395
+ field.click(e);
10396
  }
10397
+ });
10398
+ };
10399
 
10400
+ LayerFeatures.prototype.initAlign = function () {
10401
+
10402
+ this.layerDefault = {
10403
+ align: null,
10404
+ valign: null
10405
+ };
10406
+
10407
+ var hAlignButton = $('#n2-ss-layer-horizontal-align .n2-radio-option'),
10408
+ vAlignButton = $('#n2-ss-layer-vertical-align .n2-radio-option');
10409
+
10410
+ hAlignButton.add(vAlignButton).on('click', $.proxy(function (e) {
10411
+ if (e.ctrlKey || e.metaKey) {
10412
+ var $el = $(e.currentTarget),
10413
+ isActive = $el.hasClass('n2-sub-active'),
10414
+ align = $el.data('align');
10415
+ switch (align) {
10416
+ case 'left':
10417
+ case 'center':
10418
+ case 'right':
10419
+ hAlignButton.removeClass('n2-sub-active');
10420
+ if (isActive) {
10421
+ $.jStorage.set('ss-item-horizontal-align', null);
10422
+ this.layerDefault.align = null;
10423
  } else {
10424
+ $.jStorage.set('ss-item-horizontal-align', align);
10425
+ this.layerDefault.align = align;
10426
+ $el.addClass('n2-sub-active');
 
 
 
10427
  }
10428
+ break;
10429
+ case 'top':
10430
+ case 'middle':
10431
+ case 'bottom':
10432
+ vAlignButton.removeClass('n2-sub-active');
10433
+ if (isActive) {
10434
+ $.jStorage.set('ss-item-vertical-align', null);
10435
+ this.layerDefault.valign = null;
10436
+ } else {
10437
+ $.jStorage.set('ss-item-vertical-align', align);
10438
+ this.layerDefault.valign = align;
10439
+ $el.addClass('n2-sub-active');
10440
+ }
10441
+ break;
10442
+ }
10443
+ } else if (this.activeLayerIndex != -1) {
10444
+ var align = $(e.currentTarget).data('align');
10445
+ switch (align) {
10446
+ case 'left':
10447
+ case 'center':
10448
+ case 'right':
10449
+ this.horizontalAlign(align, true);
10450
+ break;
10451
+ case 'top':
10452
+ case 'middle':
10453
+ case 'bottom':
10454
+ this.verticalAlign(align, true);
10455
+ break;
10456
+ }
10457
  }
10458
+ }, this));
10459
+
10460
+ this.fields.align.on('nextendChange', $.proxy(function () {
10461
+ hAlignButton.removeClass('n2-active');
10462
+ switch (this.fields.align.val()) {
10463
+ case 'left':
10464
+ hAlignButton.eq(0).addClass('n2-active');
10465
+ break;
10466
+ case 'center':
10467
+ hAlignButton.eq(1).addClass('n2-active');
10468
+ break;
10469
+ case 'right':
10470
+ hAlignButton.eq(2).addClass('n2-active');
10471
+ break;
10472
+ }
10473
+ }, this));
10474
+ this.fields.valign.on('nextendChange', $.proxy(function () {
10475
+ vAlignButton.removeClass('n2-active');
10476
+ switch (this.fields.valign.val()) {
10477
+ case 'top':
10478
+ vAlignButton.eq(0).addClass('n2-active');
10479
+ break;
10480
+ case 'middle':
10481
+ vAlignButton.eq(1).addClass('n2-active');
10482
+ break;
10483
+ case 'bottom':
10484
+ vAlignButton.eq(2).addClass('n2-active');
10485
+ break;
10486
+ }
10487
+ }, this));
10488
+
10489
+
10490
+ var hAlign = $.jStorage.get('ss-item-horizontal-align', null),
10491
+ vAlign = $.jStorage.get('ss-item-vertical-align', null);
10492
+ if (hAlign != null) {
10493
+ hAlignButton.eq(nameToIndex[hAlign]).addClass('n2-sub-active');
10494
+ this.layerDefault.align = hAlign;
10495
+ }
10496
+ if (vAlign != null) {
10497
+ vAlignButton.eq(nameToIndex[vAlign]).addClass('n2-sub-active');
10498
+ this.layerDefault.valign = vAlign;
10499
+ }
10500
  };
10501
 
10502
+ LayerFeatures.prototype.horizontalAlign = function (align, toZero) {
10503
+ if (this.fields.align.val() != align) {
10504
+ this.fields.align.data('field').options.eq(nameToIndex[align]).trigger('click');
10505
+ } else if (toZero) {
10506
+ this.fields.left.val(0).trigger('change');
10507
+ }
10508
+ };
 
 
10509
 
10510
+ LayerFeatures.prototype.verticalAlign = function (align, toZero) {
10511
+ if (this.fields.valign.val() != align) {
10512
+ this.fields.valign.data('field').options.eq(nameToIndex[align]).trigger('click');
10513
+ } else if (toZero) {
10514
+ this.fields.top.val(0).trigger('change');
10515
  }
10516
  };
10517
 
10518
+ LayerFeatures.prototype.initEvents = function () {
10519
+ var parent = $('#n2-tab-events'),
10520
+ heading = parent.find('.n2-h3'),
10521
+ headingLabel = heading.html(),
10522
+ row = $('<div class="n2-editor-header n2-h2 n2-uc"><span>' + headingLabel + '</span></div>');
10523
+
10524
+ heading.replaceWith(row);
10525
+ //button.appendTo(row.find('.n2-ss-button-container'));
10526
+ }
10527
 
10528
  })(nextend.smartSlider, n2, window);
library/media/dist/smartslider-backend.min.js CHANGED
@@ -1,5 +1,7 @@
1
- function strip_tags(e,t){t=(((t||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join("");var i=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,n=/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;return e.replace(n,"").replace(i,function(e,i){return t.indexOf("<"+i.toLowerCase()+">")>-1?e:""})}var NextendSmartSliderAdminStorage=function(){this.timelineManager=null,this.timelineControl=null,this.slide=null,this.frontend=null,this.generator=null,this.layerManager=null,this.history=null,this.oneSecWidth=200,this.oneSecMs=1e3,this.fps=20,this.pxToFrame=this.oneSecWidth/this.fps,this.$currentSlideElement=null};NextendSmartSliderAdminStorage.prototype.durationToOffsetX=function(e){return e*this.oneSecWidth},NextendSmartSliderAdminStorage.prototype.offsetXToDuration=function(e){return e/this.oneSecWidth},NextendSmartSliderAdminStorage.prototype.normalizeOffsetX=function(e){return Math.round(e/this.pxToFrame)*this.pxToFrame},NextendSmartSliderAdminStorage.prototype.startEditor=function(e,t,i,n,a,s){return null===this.slide&&window[e].started(function(){new SmartSliderAdminSlide(e,t,i,n,a,s)}),this.slide},window.nextend.pre="div#n2-ss-0 ",window.nextend.smartSlider=new NextendSmartSliderAdminStorage,function(e,t,i){function n(){this.type="backgroundanimation",NextendVisualManagerMultipleSelection.prototype.constructor.apply(this,arguments)}n.prototype=Object.create(NextendVisualManagerMultipleSelection.prototype),n.prototype.constructor=n,n.prototype.loadDefaults=function(){NextendVisualManagerMultipleSelection.prototype.loadDefaults.apply(this,arguments),this.type="backgroundanimation",this.labels={visual:"Background animation",visuals:"Background animations"}},n.prototype.initController=function(){return new NextendBackgroundAnimationEditorController},n.prototype.createVisual=function(e,t){return new NextendVisualWithSetRowMultipleSelection(e,t,this)},i.NextendBackgroundAnimationManager=n}(nextend.smartSlider,n2,window),function(e,t){function i(){this.parameters={shiftedBackgroundAnimation:0},NextendVisualEditorController.prototype.constructor.call(this,!1),this.bgAnimationElement=e(".n2-bg-animation"),this.slides=e(".n2-bg-animation-slide"),this.bgImages=e(".n2-bg-animation-slide-bg"),NextendTween.set(this.bgImages,{rotationZ:1e-4}),this.directionTab=new NextendElementRadio("n2-background-animation-preview-tabs",["0","1"]),this.directionTab.element.on("nextendChange.n2-editor",e.proxy(this.directionTabChanged,this)),nModernizr.csstransforms3d&&nModernizr.csstransformspreserve3d||nextend.notificationCenter.error("Background animations are not available in your browser. It works if the <i>transform-style: preserve-3d</i> feature available. ")}i.prototype=Object.create(NextendVisualEditorController.prototype),i.prototype.constructor=i,i.prototype.loadDefaults=function(){NextendVisualEditorController.prototype.loadDefaults.call(this),this.type="backgroundanimation",this.current=0,this.animationProperties=!1,this.direction=0},i.prototype.get=function(){return null},i.prototype.load=function(e,t,i,n){this.lightbox.addClass("n2-editor-loaded")},i.prototype.setTabs=function(e){},i.prototype.directionTabChanged=function(){this.direction=parseInt(this.directionTab.element.val())},i.prototype.start=function(){this.animationProperties&&(this.timeline?this.timeline.play():this.next())},i.prototype.pause=function(){this.timeline&&this.timeline.pause()},i.prototype.next=function(){this.timeline=new NextendTimeline({paused:!0,onComplete:e.proxy(this.ended,this)});var t=this.bgImages.eq(this.current),i=this.bgImages.eq(1-this.current);nModernizr.csstransforms3d&&nModernizr.csstransformspreserve3d?(this.currentAnimation=new window["NextendSmartSliderBackgroundAnimation"+this.animationProperties.type](this,t,i,this.animationProperties,1,this.direction),this.slides.eq(this.current).css("zIndex",2),this.slides.eq(1-this.current).css("zIndex",3),this.timeline.to(this.slides.eq(this.current),.5,{opacity:0},this.currentAnimation.getExtraDelay()),this.timeline.to(this.slides.eq(1-this.current),.5,{opacity:1},this.currentAnimation.getExtraDelay()),this.currentAnimation.postSetup()):(this.timeline.to(this.slides.eq(this.current),1.5,{opacity:0},0),this.timeline.to(this.slides.eq(1-this.current),1.5,{opacity:1},0)),this.current=1-this.current,this.timeline.play()},i.prototype.ended=function(){this.currentAnimation&&this.currentAnimation.ended(),this.next()},i.prototype.setAnimationProperties=function(e){var t=this.animationProperties;this.animationProperties=e,t||this.next()},t.NextendBackgroundAnimationEditorController=i}(n2,window),function(e,t){function i(t){this.createSliderModal=null,this.ajaxUrl=t,e(".n2-ss-create-slider").click(e.proxy(function(e){e.preventDefault(),e.stopImmediatePropagation(),this.showModal()},this)),this.notificationStack=new NextendNotificationCenterStackModal(e("body")),e(".n2-ss-demo-slider").click(e.proxy(function(e){e.preventDefault(),e.stopImmediatePropagation(),this.showDemoSliders()},this)),"createslider"==window.location.hash.substring(1)&&this.showModal()}i.prototype.showModal=function(){if(!this.createSliderModal){var t=this,i=this.ajaxUrl,n=[];n.push({key:"default",name:n2_("Default"),image:"$ss$/admin/images/sliderpresets/default.png"}),n.push({key:"thumbnailhorizontal",name:n2_("Thumbnail - horizontal"),image:"$ss$/admin/images/sliderpresets/thumbnailhorizontal.png"}),n.push({key:"caption",name:n2_("Caption"),image:"$ss$/admin/images/sliderpresets/caption.png"}),this.createSliderModal=new NextendModal({zero:{size:[N2SSPRO?750:550,N2SSPRO?630:520],title:n2_("Create Slider"),back:!1,close:!0,content:'<form class="n2-form"></form>',controls:['<a href="#" class="n2-button n2-button-big n2-button-green n2-uc n2-h4">'+n2_("Create")+"</a>"],fn:{show:function(){var a=this.controls.find(".n2-button-green"),s=this.content.find(".n2-form").on("submit",function(e){e.preventDefault(),a.trigger("click")});s.append(this.createInput(n2_("Slider name"),"slidertitle","width: 240px;")),s.append(this.createInputUnit(n2_("Width"),"sliderwidth","px","width: 30px;")),s.append(this.createInputUnit(n2_("Height"),"sliderheight","px","width: 30px;")),new NextendElementAutocompleteSimple("sliderwidth",["1920","1400","1000","800","600","400"]),new NextendElementAutocompleteSimple("sliderheight",["800","600","500","400","300","200"]);var r=e("#slidertitle").val(n2_("Slider")).focus(),o=e("#sliderwidth").val(900),l=e("#sliderheight").val(500);o.parent().addClass("n2-form-element-autocomplete ui-front"),l.parent().addClass("n2-form-element-autocomplete ui-front"),this.createHeading(n2_("Preset")).appendTo(this.content);var d=this.createImageRadio(n).css("height",N2SSPRO?360:100).appendTo(this.content),p=d.find("input");d.css("overflow","hidden"),this.createHeading(n2_("Import Sample Sliders")).appendTo(this.content),e('<div class="n2-ss-create-slider-free-sample" style="background-image: url(\''+nextend.imageHelper.fixed("$ss$/admin/images/free/sample1.png")+'\')"></div><div class="n2-ss-create-slider-free-sample" style="background-image: url(\''+nextend.imageHelper.fixed("$ss$/admin/images/free/sample2.png")+'\')"></div><div class="n2-ss-create-slider-free-sample" style="background-image: url(\''+nextend.imageHelper.fixed("$ss$/admin/images/free/sample3.png")+"')\"></div>").on("click",e.proxy(function(){this.hide(),t.showDemoSliders()},this)).appendTo(this.content),a.on("click",e.proxy(function(){NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(i,{nextendaction:"create"}),data:{sliderTitle:r.val(),sliderSizeWidth:o.val(),sliderSizeHeight:l.val(),preset:p.val()},dataType:"json"}).done(e.proxy(function(e){NextendAjaxHelper.startLoading()},this))},this))}}}})}this.createSliderModal.show()},i.prototype.showDemoSliders=function(){var t=this;e("body").css("overflow","hidden");var i=0,n=e('<iframe src="//smartslider3.com/demo-import/?pro='+i+"&utm_campaign="+N2SS3C+"&utm_source=import-slider-frame&utm_medium=smartslider-"+N2PLATFORM+"-"+(i?"pro":"free")+'" frameborder="0"></iframe>').css({position:"fixed",zIndex:1e5,left:0,top:0,width:"100%",height:"100%"}).appendTo("body"),a=function(){e("body").css("overflow",""),n.remove(),window.removeEventListener("message",r,!1),t.notificationStack.popStack()},s=function(e){NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(t.ajaxUrl,{nextendaction:"importDemo"}),data:{key:Base64.encode(e.replace(/^(http(s)?:)?\/\//,"//"))},dataType:"json"}).fail(function(){})},r=function(e){if("http://smartslider3.com"===e.origin||"https://smartslider3.com"===e.origin){var t=e.data;switch(t.key){case"importSlider":return void("function"==typeof nextend.joinCommunity?nextend.joinCommunity(function(){s(t.data.href)}):s(t.data.href));case"closeWindow":a()}}};this.notificationStack.enableStack(),NextendEsc.add(e.proxy(function(){return a(),!0},this)),window.addEventListener("message",r,!1)},t.NextendSmartSliderCreateSlider=i}(n2,window),Array.prototype.filter||(Array.prototype.filter=function(e){"use strict";if(void 0===this||null===this)throw new TypeError;var t=Object(this),i=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=[],a=arguments[1],s=0;i>s;s++)if(s in t){var r=t[s];e.call(a,r,s,t)&&n.push(r)}return n}),function(e,t,i){function n(){this.$input=e('<input type="text" name="name" />').on({mouseup:function(e){e.stopPropagation()},keyup:e.proxy(function(e){27==e.keyCode&&this.cancel()},this),blur:e.proxy(this.save,this)}),this.$form=e('<form class="n2-inline-form"></form>').append(this.$input).on("submit",e.proxy(this.save,this))}n.prototype.injectNode=function(e,t){this.$input.val(t),e.append(this.$form),this.$input.focus()},n.prototype.save=function(e){e.preventDefault(),this.$input.trigger("valueChanged",[this.$input.val()]),this.$input.off("blur"),this.destroy()},n.prototype.cancel=function(){this.$input.trigger("cancel"),this.destroy()},n.prototype.destroy=function(){this.$input.off("blur"),this.$form.remove()},t.NextendSmartSliderAdminInlineField=n}(n2,window),function(e,t,i,n){"use strict";function a(){this.historyStates=50,this.isEnabled=0!=this.historyStates,this.historyAddAllowed=!0,this.isBatched=!1,this.index=-1,this.history=[],this.preventUndoRedo=!1,this.undoBTN=t("#n2-ss-undo").on("click",t.proxy(this.undo,this)),this.redoBTN=t("#n2-ss-redo").on("click",t.proxy(this.redo,this)),this.updateUI()}a.prototype.updateUI=function(){0==this.index||0==this.history.length?this.undoBTN.removeClass("n2-active"):this.undoBTN.addClass("n2-active"),-1==this.index||this.index>=this.history.length?this.redoBTN.removeClass("n2-active"):this.redoBTN.addClass("n2-active")},a.prototype.throttleUndoRedo=function(){return this.preventUndoRedo?!0:(this.preventUndoRedo=!0,setTimeout(t.proxy(function(){this.preventUndoRedo=!1},this),100),!1)},a.prototype.add=function(e){this.isEnabled&&this.historyAddAllowed&&(-1!=this.index&&this.history.splice(this.index,this.history.length),this.index=-1,this.isBatched?this.history[this.history.length-1].push(e()):(this.history.push([e()]),this.isBatched=!0,setTimeout(t.proxy(function(){this.isBatched=!1},this),100)),this.history.length>this.historyStates&&this.history.unshift(),this.updateUI())},a.prototype.off=function(){this.historyAddAllowed=!1},a.prototype.on=function(){this.historyAddAllowed=!0},a.prototype.undo=function(e){if(e&&e.preventDefault(),this.throttleUndoRedo())return!1;if(this.off(),-1==this.index?this.index=this.history.length-1:this.index--,this.index>=0)for(var t=this.history[this.index],i=t.length-1;i>=0;i--){var n=t[i];n[0].history(n[1],n[3],n[4],n)}else this.index=0;this.on(),this.updateUI()},a.prototype.redo=function(e){if(e&&e.preventDefault(),this.throttleUndoRedo())return!1;if(this.off(),-1!=this.index&&this.index<this.history.length){var t=this.history[this.index];this.index++;for(var i=0;i<t.length;i++){var n=t[i];n[0].history(n[1],n[2],n[4],n)}}this.on(),this.updateUI()},a.prototype.changeFuture=function(e,t){for(var i=0;i<this.history.length;i++)for(var n=0;n<this.history[i].length;n++){this.history[i][n][0]===e&&(this.history[i][n][0]=t);for(var a=0;a<this.history[i][n][4].length;a++)this.history[i][n][4][a]===e&&(this.history[i][n][4][a]=t)}},n2(window).ready(function(){e.history=new a})}(nextend.smartSlider,n2,window),function(e,t,i){function n(t){var i=e("#n2-quick-slides-edit");i.length<1||(this.ajaxUrl=t,i.on("click",e.proxy(this.openEdit,this)))}n.prototype.openEdit=function(t){t.preventDefault();var i=e("#n2-ss-slides .n2-box-slide"),n=this;this.modal=new NextendModal({zero:{fit:!0,fitX:!1,overflow:"auto",size:[1200,700],title:n2_("Quick Edit - Slides"),back:!1,close:!0,content:'<form class="n2-form"><table></table></form>',controls:['<a href="#" class="n2-button n2-button-big n2-button-green n2-uc n2-h4">'+n2_("Save")+"</a>"],fn:{show:function(){var t=this.controls.find(".n2-button-green"),a=this.content.find(".n2-form").on("submit",function(e){e.preventDefault(),t.trigger("click")}),s=a.find("table");i.each(e.proxy(function(t,i){var a=e(i),r=e("<tr />").appendTo(s),o=a.data("slideid");r.append(e("<td />").append('<img src="'+a.data("image")+'" style="width:100px;"/>')),r.append(e("<td />").append(n.createInput("Name","title-"+o,a.data("title"),"width: 240px;"))),r.append(e("<td />").append(n.createTextarea("Description","description-"+o,a.data("description"),"width: 330px;height:24px;")));var l=a.data("link").split("|*|");r.append(e("<td />").append(n.createLink("Link","link-"+o,l[0],"width: 180px;"))),r.append(e("<td />").append(n.createTarget("Target","target-"+o,l.length>1?l[1]:"_self",""))),new NextendElementUrl("link-"+o,nextend.NextendElementUrlParams)},this)),t.on("click",e.proxy(function(t){var a={};i.each(e.proxy(function(t,i){var n=e(i),s=n.data("slideid"),r=e("#title-"+s).val(),o=e("#description-"+s).val(),l=e("#link-"+s).val()+"|*|"+e("#target-"+s).val();r==n.data("title")&&o==n.data("description")&&l==n.data("link")||(a[s]={name:r,description:o,link:l})},this)),jQuery.isEmptyObject(a)?this.hide(t):(this.hide(t),NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(n.ajaxUrl),data:{changed:Base64.encode(JSON.stringify(a))},dataType:"json"}).done(e.proxy(function(t){var i=t.data;for(var n in i){var a=e('.n2-box-slide[data-slideid="'+n+'"]');a.find(".n2-box-placeholder a.n2-h4").html(i[n].title),a.attr("data-title",i[n].rawTitle),a.data("title",i[n].rawTitle),a.attr("data-description",i[n].rawDescription),a.data("description",i[n].rawDescription),a.attr("data-link",i[n].rawLink),a.data("link",i[n].rawLink)}},this)))},this))}}}}),this.modal.setCustomClass("n2-ss-quick-slides-edit-modal"),this.modal.show()},n.prototype.createInput=function(t,i,n){var a="";4==arguments.length&&(a=arguments[3]);var s=e('<div class="n2-form-element-mixed"><div class="n2-mixed-group"><div class="n2-mixed-label"><label for="'+i+'">'+t+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-text n2-border-radius"><input type="text" id="'+i+'" class="n2-h5" autocomplete="off" style="'+a+'"></div></div></div></div>');return s.find("input").val(n),s},n.prototype.createTextarea=function(t,i,n){var a="";4==arguments.length&&(a=arguments[3]);var s=e('<div class="n2-form-element-mixed"><div class="n2-mixed-group"><div class="n2-mixed-label"><label for="'+i+'">'+t+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-textarea n2-border-radius"><textarea id="'+i+'" class="n2-h5" autocomplete="off" style="resize:y;'+a+'"></textarea></div></div></div></div>');return s.find("textarea").val(n),s},n.prototype.createLink=function(t,i,n){var a="";4==arguments.length&&(a=arguments[3]);var s=e('<div class="n2-form-element-mixed"><div class="n2-mixed-group"><div class="n2-mixed-label"><label for="'+i+'">'+t+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-text n2-border-radius"><input type="text" id="'+i+'" class="n2-h5" autocomplete="off" style="'+a+'"><a href="#" class="n2-form-element-clear"><i class="n2-i n2-it n2-i-empty n2-i-grey-opacity"></i></a><a id="'+i+'_button" class="n2-form-element-button n2-h5 n2-uc" href="#">Link</a></div></div></div></div>');return s.find("input").val(n),s},n.prototype.createTarget=function(t,i,n){var a="";4==arguments.length&&(a=arguments[3]);var s=e('<div class="n2-form-element-mixed"><div class="n2-mixed-group"><div class="n2-mixed-label"><label for="'+i+'">'+t+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select id="'+i+'" autocomplete="off" style="'+a+'"><option value="_self">Self</option><option value="_blank">Blank</option></select</div></div></div></div>');return s.find("select").val(n),s},t.NextendSmartSliderQuickSlides=n}(n2,window),function(e,t,i){function n(t,i,n,s,r,o){this.quickPostModal=null,this.quickVideoModal=null,this.parameters=n,this.slides=[],this.ajaxUrl=t,this.contentAjaxUrl=i,this.slidesPanel=e("#n2-ss-slides"),this.slidesContainer=this.slidesPanel.find(".n2-ss-slides-container"),this.initSlidesOrderable();for(var l=this.slidesContainer.find(".n2-box-slide"),d=0;d<l.length;d++)this.slides.push(new a(this,l.eq(d)));if(this.slides.length>0&&this.slidesPanel.addClass("n2-ss-has-slides"),e(".n2-add-quick-image").on("click",e.proxy(this.addQuickImage,this)),e(".n2-box-slide-add").on("click",e.proxy(this.addQuickImage,this)),e(".n2-add-quick-video").on("click",e.proxy(this.addQuickVideo,this)),e(".n2-add-quick-post").on("click",e.proxy(this.addQuickPost,this)),this.initBulk(),0==e("#n2-ss-slide-editor-main-tab").length&&new NextendSmartSliderSidebarSlides,!s){var p=[];this.slidesContainer.fileupload({url:r,pasteZone:!1,dropZone:this.slidesContainer,dataType:"json",paramName:"image",add:e.proxy(function(e,t){t.formData={path:"/"+o},t.submit()},this),done:e.proxy(function(e,t){var i=t.result;i.data&&i.data.name?p.push({title:i.data.name,description:"",image:i.data.url}):NextendAjaxHelper.notification(i)},this),fail:e.proxy(function(e,t){NextendAjaxHelper.notification(t.jqXHR.responseJSON)},this),start:function(){NextendAjaxHelper.startLoading()},stop:e.proxy(function(){p.length?this._addQuickImages(p):setTimeout(function(){NextendAjaxHelper.stopLoading()},100),p=[]},this)});var h=null;this.slidesContainer.on("dragover",e.proxy(function(t){null!==h?(clearTimeout(h),h=null):this.slidesContainer.addClass("n2-drag-over"),h=setTimeout(e.proxy(function(){this.slidesContainer.removeClass("n2-drag-over"),h=null},this),400)},this))}}function a(t,i){this.selected=!1,this.manager=t,this.box=i.data("slide",this).addClass("n2-clickable"),this.normalMode(),this.box.find(".n2-slide-first").on("click",e.proxy(this.setFirst,this)),this.publishElement=this.box.find(".n2-slide-published").on("click",e.proxy(this.switchPublished,this)),this.box.find(".n2-slide-duplicate").on("click",e.proxy(this.duplicate,this)),this.box.find(".n2-slide-delete").on("click",e.proxy(this["delete"],this))}n.prototype.changed=function(){this.slides.length>0?this.slidesPanel.addClass("n2-ss-has-slides"):this.slidesPanel.removeClass("n2-ss-has-slides")},n.prototype.initSlidesOrderable=function(){this.slidesContainer.sortable({items:".n2-box-slide",tolerance:"pointer",stop:e.proxy(this.saveSlideOrder,this),helper:"clone",placeholder:"n2-box-placeholder n2-box"})},n.prototype.saveSlideOrder=function(t){for(var i=this.slidesContainer.find(".n2-box-slide"),n=[],a=[],s=[],r=0;r<i.length;r++){var o=i.eq(r).data("slide");n.push(o),a.push(o.getId())}for(var r=0;r<this.slides.length;r++)s.push(this.slides[r].getId());if(JSON.stringify(s)!=JSON.stringify(a)){e(window).triggerHandler("SmartSliderSidebarSlidesOrderChanged");var l={nextendcontroller:"slides",nextendaction:"order"};NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,l),data:{slideorder:a}}),this.slides=n,this.changed()}},n.prototype.initSlides=function(){for(var t=(this.slides.length,this.slidesContainer.find(".n2-box-slide")),i=[],n=0;n<t.length;n++){var a=t.eq(n).data("slide");i.push(a)}this.slides=i,this.changed(),e(window).triggerHandler("SmartSliderSidebarSlidesChanged")},n.prototype.unsetFirst=function(){for(var e=0;e<this.slides.length;e++)this.slides[e].unsetFirst();this.changed()},n.prototype.addQuickImage=function(t){t.preventDefault(),nextend.imageHelper.openMultipleLightbox(e.proxy(this._addQuickImages,this))},n.prototype._addQuickImages=function(t){NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"quickImages"}),data:{images:Base64.encode(JSON.stringify(t))}}).done(e.proxy(function(t){var i=e(t.data).insertBefore(this.slidesContainer.find(".n2-clear"));i.each(e.proxy(function(t,i){new a(this,e(i))},this)),this.initSlides()},this))},n.prototype.addQuickVideo=function(t){t.preventDefault();var i=this;this.quickVideoModal||(this.quickVideoModal=new NextendModal({zero:{size:[500,350],title:n2_("Add video"),back:!1,close:!0,content:'<form class="n2-form"></form>',controls:['<a href="#" class="n2-button n2-button-big n2-button-green n2-uc n2-h4">'+n2_("Add video")+"</a>"],fn:{show:function(){var t=this.controls.find(".n2-button"),n=(this.content.find(".n2-form").on("submit",function(e){e.preventDefault(),t.trigger("click")}).append(this.createInput(n2_("Video url"),"n2-slide-video-url","width: 446px;")),this.content.find("#n2-slide-video-url").focus());this.content.append(this.createHeading(n2_("Examples"))),this.content.append(this.createTable([["YouTube","https://www.youtube.com/watch?v=MKmIwHAFjSU"],["Vimeo","https://vimeo.com/144598279"]],["",""])),t.on("click",e.proxy(e.proxy(function(t){t.preventDefault();var a=n.val(),s=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/,r=a.match(s),o=/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/,l=a.match(o),d=a.match(/\.(mp4|ogv|ogg|webm)/i);r?NextendAjaxHelper.getJSON("https://www.googleapis.com/youtube/v3/videos?id="+encodeURI(r[2])+"&part=snippet&key=AIzaSyC3AolfvPAPlJs-2FgyPJdEEKS6nbPHdSM").done(e.proxy(function(e){if(e.items.length){var t=e.items[0].snippet,n=e.items[0].snippet.thumbnails,s=n.maxres||n.standard||n.high||n.medium||n["default"];i._addQuickVideo(this,{type:"youtube",title:t.title,description:t.description,image:s.url,video:a})}},this)).fail(function(e){nextend.notificationCenter.error(e.error.errors[0].message)}):l?NextendAjaxHelper.getJSON("https://vimeo.com/api/v2/video/"+l[3]+".json").done(e.proxy(function(e){i._addQuickVideo(this,{type:"vimeo",title:e[0].title,description:e[0].description,video:l[3],image:e[0].thumbnail_large})},this)).fail(function(e){nextend.notificationCenter.error(e.responseText)}):d?nextend.notificationCenter.error("This video url is not supported!"):nextend.notificationCenter.error("This video url is not supported!")},this)))}}}})),this.quickVideoModal.show()},n.prototype._addQuickVideo=function(t,i){NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"quickVideo"}),data:{video:Base64.encode(JSON.stringify(i))}}).done(e.proxy(function(t){var i=e(t.data).insertBefore(this.slidesContainer.find(".n2-clear"));new a(this,i),this.initSlides()},this)),t.hide()},n.prototype.addQuickPost=function(t){if(t.preventDefault(),!this.quickPostModal){var i=this,n={},a=e.proxy(function(e){return"undefined"==typeof n[e]&&(n[e]=NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.contentAjaxUrl),data:{keyword:e},dataType:"json"})),n[e]},this);this.quickPostModal=new NextendModal({zero:{size:[600,430],title:n2_("Add post"),back:!1,close:!0,content:'<div class="n2-form"></div>',fn:{show:function(){this.content.find(".n2-form").append(this.createInput(n2_("Keyword"),"n2-ss-keyword","width:546px;"));var t=e("#n2-ss-keyword"),n=this.createHeading("").appendTo(this.content),s=this.createResult().appendTo(this.content),r="";t.on("keyup",e.proxy(function(){r=t.val(),a(r).done(e.proxy(function(a){if(t.val()==r){""==r?n.html(n2_("No search term specified. Showing recent items.")):n.html(n2_printf(n2_('Showing items match for "%s"'),r));for(var o=a.data,l=[],d=this,p=0;p<o.length;p++)l.push([o[p].title,o[p].info,e('<div class="n2-button n2-button-green n2-button-x-small n2-uc n2-h5">'+n2_("Select")+"</div>").on("click",{post:o[p]},function(e){i._addQuickPost(d,e.data.post)})]);s.html(""),this.createTable(l,["width:100%;","",""]).appendTo(this.createTableWrap().appendTo(s))}},this))},this)).trigger("keyup").focus()}}}})}this.quickPostModal.show()},n.prototype._addQuickPost=function(t,i){i.image||(i.image=""),NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"quickPost"}),data:{post:i}}).done(e.proxy(function(t){var i=e(t.data).insertBefore(this.slidesContainer.find(".n2-clear"));new a(this,i),this.initSlides()},this)),t.hide()},n.prototype.initBulk=function(){e(".n2-slides-bulk").on("click",e.proxy(this.enterBulk,this)),e(".n2-bulk-cancel").on("click",e.proxy(this.leaveBulk,this));var t=e(".n2-bulk-select").find("a");t.eq(0).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.invertSelection()})},this)),t.eq(1).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.select()})},this)),t.eq(2).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.deSelect()})},this)),t.eq(3).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.publishElement.hasClass("n2-active")?e.select():e.deSelect()})},this)),t.eq(4).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.publishElement.hasClass("n2-active")?e.deSelect():e.select()})},this));var i=e(".n2-bulk-action").find("a");i.eq(0).on("click",e.proxy(function(e){e.preventDefault(),this.bulkAction("deleteSlides")},this)),i.eq(1).on("click",e.proxy(function(e){e.preventDefault(),this.bulkAction("duplicateSlides")},this)),i.eq(2).on("click",e.proxy(function(e){e.preventDefault(),this.bulkAction("publishSlides")},this)),i.eq(3).on("click",e.proxy(function(e){e.preventDefault(),this.bulkAction("unPublishSlides")},this))},n.prototype.bulkSelect=function(e){for(var t=0;t<this.slides.length;t++)e(this.slides[t])},n.prototype.bulkAction=function(e){var t=[],i=[];this.bulkSelect(function(e){e.selected&&(t.push(e),i.push(e.getId()))}),i.length?this[e](i,t):nextend.notificationCenter.notice("Please select one or more slides for the action!")},n.prototype.enterBulk=function(){this.slidesContainer.sortable("option","disabled",!0),e("#n2-admin").addClass("n2-slide-bulk-mode");for(var t=0;t<this.slides.length;t++)this.slides[t].selectMode()},n.prototype.leaveBulk=function(){this.slidesContainer.sortable("option","disabled",!1),e("#n2-admin").removeClass("n2-slide-bulk-mode");for(var t=0;t<this.slides.length;t++)this.slides[t].normalMode()},n.prototype.deleteSlides=function(t,i){var n=i[0].box.find(".n2-box-button a").text();i.length>1&&(n+=" and "+(i.length-1)+" more"),NextendDeleteModal("slide-delete",n,e.proxy(function(){NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"delete"}),type:"POST",data:{slides:t}}).done(e.proxy(function(){for(var e=0;e<i.length;e++)i[e].deleted();this.initSlides()},this))},this))},n.prototype.duplicateSlides=function(t,i){for(var n=0;n<this.slides.length;n++)this.slides[n].selected&&this.slides[n].duplicate(e.Event("click",{currentTarget:this.slides[n].box.find(".n2-slide-duplicate")})).done(function(e){e.selectMode()})},n.prototype.publishSlides=function(t,i){NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"publish"}),type:"POST",data:{slides:t}}).done(e.proxy(function(){for(var e=0;e<i.length;e++)i[e].published();this.changed()},this))},n.prototype.unPublishSlides=function(t,i){NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"unpublish"}),type:"POST",data:{slides:t}}).done(e.proxy(function(){for(var e=0;e<i.length;e++)i[e].unPublished();this.changed()},this))},t.NextendSmartSliderAdminSidebarSlides=n,a.prototype.getId=function(){return this.box.data("slideid")},a.prototype.setFirst=function(t){t.stopPropagation(),t.preventDefault(),NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.manager.ajaxUrl,{nextendaction:"first"}),type:"POST",data:{id:this.getId()}}).done(e.proxy(function(){this.manager.unsetFirst(),this.box.addClass("n2-first-slide")},this))},a.prototype.unsetFirst=function(){this.box.removeClass("n2-first-slide")},a.prototype.switchPublished=function(e){e.stopPropagation(),e.preventDefault(),this.isPublished()?this.manager.unPublishSlides([this.getId()],[this]):this.manager.publishSlides([this.getId()],[this])},a.prototype.isPublished=function(){return this.publishElement.hasClass("n2-active")},a.prototype.published=function(){this.publishElement.addClass("n2-active")},a.prototype.unPublished=function(){this.publishElement.removeClass("n2-active")},a.prototype.goToEdit=function(e,t){"A"!=e.target.tagName&&("undefined"!=typeof t&&t?window.open(this.box.data("editurl"),"_blank"):window.location=this.box.data("editurl"))},a.prototype.duplicate=function(t){t.stopPropagation(),t.preventDefault();var i=e.Deferred();return NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(e(t.currentTarget).attr("href"),{nextendaction:"duplicate"})}).done(e.proxy(function(t){var n=e(t.data).insertAfter(this.box),s=new a(this.manager,n);this.manager.initSlides(),i.resolve(s)},this)),i},a.prototype["delete"]=function(e){e.stopPropagation(),e.preventDefault(),this.manager.deleteSlides([this.getId()],[this])},a.prototype.deleted=function(){this.box.remove()},a.prototype.selectMode=function(){this.box.off(".n2-slide"),this.box.on("click.n2-slide",e.proxy(this.invertSelection,this))},a.prototype.normalMode=function(){this.box.off(".n2-slide"),this.box.on({"click.n2-slide":e.proxy(this.goToEdit,this),"mousedown.n2-slide":e.proxy(function(e){2!=e.which&&4!=e.which||(e.preventDefault(),this.goToEdit(e,!0))},this)}),this.deSelect()},a.prototype.invertSelection=function(e){e&&e.preventDefault(),this.selected?this.deSelect():this.select()},a.prototype.select=function(){this.selected=!0,this.box.addClass("n2-active")},a.prototype.deSelect=function(){this.selected=!1,this.box.removeClass("n2-active")},t.NextendSmartSliderAdminSlide=a}(n2,window),function(e,t,i,n){function a(){NextendAdminVerticalPane.prototype.constructor.call(this,t(".n2-layers-tab"),t("#n2-ss-layers-items-list").css("overflow","auto"),t("#n2-tabbed-layer-item-animation-tabs > .n2-tabs").css("overflow","auto")),e.sidebarManager=this,this.panelHeading=t("#layeritemeditorpanel").find(".n2-sidebar-tab-switcher .n2-td");var i=t("#n2-ss-slide-sidebar"),n=i.parent().siblings(".n2-td").offset().top-t("#wpadminbar, .navbar").height(),a=t.proxy(function(){t(window).scrollTop()>n?i.addClass("n2-sidebar-fixed"):i.removeClass("n2-sidebar-fixed")},this);this.lateInit(),t(window).scroll(a),a(),new s}function s(){var e=t("#n2-ss-slides");NextendAdminSinglePane.prototype.constructor.call(this,e,e.find(".n2-ss-slides-container").css("overflow","auto")),t(".n2-slides-tab-label").on("click.n2-slides-init",t.proxy(function(e){this.lateInit(),t(e.target).off("click.n2-slides-init")},this))}function r(){var e=t("#n2-ss-slides"),i=e.parents(".n2-sidebar-inner"),n=i.parent().siblings(".n2-td").offset().top-t("#wpadminbar, .navbar").height();t(window).scroll(t.proxy(function(){t(window).scrollTop()>n?i.addClass("n2-sidebar-fixed"):i.removeClass("n2-sidebar-fixed")},this)).trigger("scroll"),NextendAdminSinglePane.prototype.constructor.call(this,e,e.find(".n2-ss-slides-container").css("overflow","auto")),this.lateInit()}a.prototype=Object.create(NextendAdminVerticalPane.prototype),a.prototype.constructor=a,a.prototype.loadDefaults=function(){NextendAdminVerticalPane.prototype.loadDefaults.apply(this,arguments),this.key="smartsliderSlideSidebarRatio"},a.prototype.switchTab=function(e){this.panelHeading.eq(e).trigger("click")},a.prototype.getExcludedHeight=function(){
2
- var e=0;return e+=t("#n2-ss-slide-editor-main-tab").outerHeight(),e+=t("#n2-ss-item-container").outerHeight(),e+=t("#n2-tabbed-layer-item-animation-tabs > .n2-labels").outerHeight(),e+=this.tab.find(".n2-sidebar-pane-sizer").outerHeight(),e+=1},i.NextendSmartSliderSidebar=a,s.prototype=Object.create(NextendAdminSinglePane.prototype),s.prototype.constructor=s,s.prototype.getExcludedHeight=function(){var e=0;return e+=t("#n2-ss-slide-editor-main-tab").outerHeight(),e+=t(".n2-slides-tab .n2-definition-list").outerHeight(!0),e+=2},i.NextendSmartSliderEditorSidebarSlides=s,r.prototype=Object.create(NextendAdminSinglePane.prototype),r.prototype.constructor=r,r.prototype.getExcludedHeight=function(){var e=0;return e+=t("#n2-ss-slide-editor-main-tab").outerHeight(),e+=t(".n2-sidebar .n2-definition-list").outerHeight(!0),e+=2},i.NextendSmartSliderSidebarSlides=r}(nextend.smartSlider,n2,window),function(e,t,i,n){function a(i,n,a,s,r,o){this.options=t.extend({slideAsFile:0},o),this.readyDeferred=t.Deferred(),e.slide=this,this._warnInternetExplorerUsers(),this.$slideContentElement=t("#"+n),this.slideStartValue=this.$slideContentElement.val(),this.$sliderElement=t("#"+i),e.frontend=window["n2-ss-0"];var l=this.$sliderElement.data("fontsize");nextend.fontManager.setFontSize(l),nextend.styleManager.setFontSize(l),e.$currentSlideElement=e.frontend.adminGetCurrentSlideElement(),new SmartSliderAdminGenerator,e.$currentSlideElement.addClass("n2-ss-currently-edited-slide");var d=e.frontend.parameters.isStaticEdited;new NextendSmartSliderAdminSlideLayerManager(e.$currentSlideElement.data("slide"),d,a,s,r),d||this._initializeBackgroundChanger(),this.readyDeferred.resolve(),t("#smartslider-form").on({checkChanged:t.proxy(this.prepareFormForCheck,this),submit:t.proxy(this.onSlideSubmit,this)}),this.createHistory()}a.prototype.ready=function(e){this.readyDeferred.done(e)},a.prototype.prepareFormForCheck=function(){var t=JSON.stringify(e.layerManager.getData()),i=JSON.stringify(JSON.parse(Base64.decode(this.slideStartValue)));this.$slideContentElement.val(i==t?this.slideStartValue:Base64.encode(t))},a.prototype.onSlideSubmit=function(e){if(!nextend.isPreview)if(this.prepareForm(),e.preventDefault(),nextend.askToSave=!1,this.options.slideAsFile&&typeof window.FormData!==n&&"undefined"!=typeof window.File){var i=new FormData,a=t("#smartslider-form").serializeArray();t.each(a,function(e,t){"slide[slide]"==t.name?i.append("slide",new File([t.value],"slide.txt")):i.append(t.name,t.value)}),NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(window.location.href),type:"POST",data:i,contentType:!1,processData:!1}).done(function(){nextend.askToSave=!0,t("#smartslider-form").trigger("saved")})}else NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(window.location.href),data:t("#smartslider-form").serialize(),dataType:"json"}).done(function(){nextend.askToSave=!0,t("#smartslider-form").trigger("saved")})},a.prototype.prepareForm=function(){this.$slideContentElement.val(Base64.encode(JSON.stringify(e.layerManager.getData())))},a.prototype._initializeBackgroundChanger=function(){this.background={slideBackgroundColorField:t("#slidebackgroundColor"),slideBackgroundImageField:t("#slidebackgroundImage"),slideBackgroundImageOpacity:t("#slidebackgroundImageOpacity"),slidebackgroundFocusX:t("#slidebackgroundFocusX"),slidebackgroundFocusY:t("#slidebackgroundFocusY"),slideBackgroundModeField:t("#slidebackgroundMode"),backgroundImageElement:e.$currentSlideElement.find(".nextend-slide-bg"),canvas:e.$currentSlideElement.find(".n2-ss-slide-background")},this.background.slideBackgroundColorField.on("nextendChange",t.proxy(this.__onAfterBackgroundColorChange,this)),this.background.slideBackgroundImageField.on("nextendChange",t.proxy(this.__onAfterBackgroundImageChange,this)),this.background.slideBackgroundImageOpacity.on("nextendChange",t.proxy(this.__onAfterBackgroundImageOpacityChange,this)),this.background.slideBackgroundModeField.on("nextendChange",t.proxy(this.__onAfterBackgroundImageChange,this)),this.background.slidebackgroundFocusX.on("nextendChange",t.proxy(this.__onAfterBackgroundImageChange,this)),this.background.slidebackgroundFocusY.on("nextendChange",t.proxy(this.__onAfterBackgroundImageChange,this));var i=t("#slidethumbnail");if(""==i.val()){var n=t("#item_imageimage"),a=t.proxy(function(e){""!=e&&"$system$/images/placeholder/image.png"!=e&&(i.val(e).trigger("change"),this.background.slideBackgroundImageField.off(".slidethumbnail"),n.off(".slidethumbnail"))},this);this.background.slideBackgroundImageField.on("nextendChange.slidethumbnail",t.proxy(function(){a(this.background.slideBackgroundImageField.val())},this)),n.on("nextendChange.slidethumbnail",t.proxy(function(){a(n.val())},this))}},a.prototype.__onAfterBackgroundColorChange=function(){var e=this.background.slideBackgroundColorField.val();"00"==e.substr(6,8)?this.background.canvas.css("background",""):this.background.canvas.css("background","#"+e.substr(0,6)).css("background",N2Color.hex2rgbaCSS(e))},a.prototype.__onAfterBackgroundImageOpacityChange=function(){e.$currentSlideElement.data("slideBackground").setOpacity(this.background.slideBackgroundImageOpacity.val()/100)},a.prototype.__onAfterBackgroundImageChange=function(){e.$currentSlideElement.data("slideBackground").changeDesktop(e.generator.fill(this.background.slideBackgroundImageField.val()),"",this.background.slideBackgroundModeField.val(),this.background.slidebackgroundFocusX.val(),this.background.slidebackgroundFocusY.val()),this.__onAfterBackgroundImageOpacityChange()},a.prototype._warnInternetExplorerUsers=function(){var e=this.__isInternetExplorer();e&&10>e&&alert(window.ss2lang.The_editor_was_tested_under_Internet_Explorer_10_Firefox_and_Chrome_Please_use_one_of_the_tested_browser)},a.prototype.__isInternetExplorer=function(){var e=navigator.userAgent.toLowerCase();return-1!=e.indexOf("msie")?parseInt(e.split("msie")[1]):!1},a.prototype.getLayout=function(){for(var i=t("#smartslider-form").serializeArray(),n={},a=0;a<i.length;a++){var s=i[a].name.match(/slide\[(.*?)\]/);s&&(n[s[1]]=i[a].value)}return delete n.generator,delete n.published,delete n.publishdates,delete n["record-start"],delete n["record-slides"],delete n.slide,n.slide=e.layerManager.getData(),n},a.prototype.loadLayout=function(i,n,a){var s=i.slide;if(delete i.slide,a?e.layerManager.loadData(s,!0):e.layerManager.loadData(s,!1),n)for(var r in i)t("#slide"+r).val(i[r]).trigger("change");i.slide=s},a.prototype.createHistory=function(){this.slideValues={},n2("#smartslider-form").find('input[id][name^="slide"], textarea[id][name^="slide"]').not("#slideslide").each(t.proxy(function(i,n){var a=t(n),s=a.data("field"),r=a.attr("id");this.slideValues[r]=a.val(),a.on("nextendChange",t.proxy(function(){var i=a.val(),n=this.slideValues[r];this.slideValues[r]=i,e.history.add(t.proxy(function(){return[this,"slideValueChange",i,n,[a,s]]},this))},this))},this))},a.prototype.history=function(e,t,i){switch(e){case"slideValueChange":i[1].insideChange(t)}},i.SmartSliderAdminSlide=a}(nextend.smartSlider,n2,window),function(e,t,i,n){function a(e){this.key="n2-ss-editor-device-lock-mode",this.devices={unknownUnknown:t("<div />")},this.responsive=e,this.responsive.setOrientation("portrait"),this.responsive.parameters.onResizeEnabled=0,this.responsive.parameters.forceFull=0,this.responsive._getDevice=this.responsive._getDeviceZoom,this.lock=t("#n2-ss-lock").on("click",t.proxy(this.switchLock,this));var i=e.parameters.sliderWidthToDevice.desktopPortrait;this.container=this.responsive.containerElement.closest(".n2-ss-container-device").addBack(),this.container.width(i),this.containerWidth=i,this.initZoom();var n=t("#n2-ss-devices .n2-tr"),a=e.parameters.deviceModes;this.devices.desktopPortrait=t('<div class="n2-td n2-panel-option" data-device="desktop" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-desktop"></i></div>').appendTo(n),a.desktopLandscape?this.devices.desktopLandscape=t('<div class="n2-td n2-panel-option" data-device="desktop" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-desktop-landscape"></i></div>').appendTo(n):this.devices.desktopLandscape=this.devices.desktopPortrait,a.tabletPortrait?this.devices.tabletPortrait=t('<div class="n2-td n2-panel-option" data-device="tablet" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-tablet"></i></div>').appendTo(n):this.devices.tabletPortrait=this.devices.desktopPortrait,a.tabletLandscape?this.devices.tabletLandscape=t('<div class="n2-td n2-panel-option" data-device="tablet" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-tablet-landscape"></i></div>').appendTo(n):this.devices.tabletLandscape=this.devices.desktopLandscape,a.mobilePortrait?this.devices.mobilePortrait=t('<div class="n2-td n2-panel-option" data-device="mobile" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-mobile"></i></div>').appendTo(n):this.devices.mobilePortrait=this.devices.tabletPortrait,a.mobileLandscape?this.devices.mobileLandscape=t('<div class="n2-td n2-panel-option" data-device="mobile" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-mobile-landscape"></i></div>').appendTo(n):this.devices.mobileLandscape=this.devices.tabletLandscape,this.deviceOptions=t("#n2-ss-devices .n2-panel-option"),t("#n2-ss-devices").css("width",62*this.deviceOptions.length+"px"),this.deviceOptions.each(t.proxy(function(e,i){t(i).on("click",t.proxy(this.setDeviceMode,this))},this)),e.sliderElement.on("SliderDeviceOrientation",t.proxy(this.onDeviceOrientationChange,this))}nextend.ssBeforeResponsive=function(){new a(this)},a.prototype.onDeviceOrientationChange=function(e,i){t("#n2-admin").removeClass("n2-ss-mode-"+i.lastDevice).addClass("n2-ss-mode-"+i.device),this.devices[i.lastDevice+i.lastOrientation].removeClass("n2-active"),this.devices[i.device+i.orientation].addClass("n2-active")},a.prototype.setDeviceMode=function(i){var n=t(i.currentTarget);if((i.ctrlKey||i.metaKey)&&e.layerManager){var a=n.data("orientation");e.layerManager.copyOrResetMode(n.data("device")+a[0].toUpperCase()+a.substr(1))}else this.responsive.setOrientation(n.data("orientation")),this.responsive.setMode(n.data("device"))},a.prototype.switchLock=function(e){e.preventDefault(),this.lock.toggleClass("n2-active"),this.lock.hasClass("n2-active")?(this.setZoomSyncMode(),this.zoomChange(this.zoom.slider("value"),"sync",!1),t.jStorage.set(this.key,"sync")):(this.setZoomFixMode(),t.jStorage.set(this.key,"fix"))},a.prototype.initZoom=function(){var e=t("#n2-ss-slider-zoom");if(e.length>0){"undefined"!=typeof e[0].slide&&(e[0].slide=null),this.zoom=e.slider({range:"min",step:1,value:1,min:0,max:102}),this.responsive.sliderElement.on("SliderResize",t.proxy(this.sliderResize,this)),"fix"==t.jStorage.get(this.key,"sync")?this.setZoomFixMode():(this.setZoomSyncMode(),this.lock.addClass("n2-active"));var i=e.parent(),n=t.proxy(function(e){var t=this.zoom.slider("value");this.zoom.slider("value",t+e)},this),a=null,s=t.proxy(function(e){n(e),a=setInterval(t.proxy(n,this,e),40)},this);i.find(".n2-i-minus").on({mousedown:t.proxy(s,this,-1),mouseup:function(e){console.log(e)},"mouseup mouseleave":function(){a&&(clearInterval(a),a=null)}}),i.find(".n2-i-plus").on({mousedown:t.proxy(s,this,1),"mouseup mouseleave":function(){a&&(clearInterval(a),a=null)}})}},a.prototype.sliderResize=function(e,t){this.setZoom()},a.prototype.setZoomFixMode=function(){this.zoom.off(".n2-ss-zoom").on({"slide.n2-ss-zoom":t.proxy(this.zoomChangeFixMode,this),"slidechange.n2-ss-zoom":t.proxy(this.zoomChangeFixMode,this)})},a.prototype.setZoomSyncMode=function(){this.zoom.off(".n2-ss-zoom").on({"slide.n2-ss-zoom":t.proxy(this.zoomChangeSyncMode,this),"slidechange.n2-ss-zoom":t.proxy(this.zoomChangeSyncMode,this)})},a.prototype.zoomChangeFixMode=function(e,t){this.zoomChange(t.value,"fix",t)},a.prototype.zoomChangeSyncMode=function(e,t){this.zoomChange(t.value,"sync",t)},a.prototype.zoomChange=function(e,t,i){var n=1;50>e?n=nextend.smallestZoom/this.containerWidth+Math.max(e/50,0)*(1-nextend.smallestZoom/this.containerWidth):e>52&&(n=1+(e-52)/50);var a=parseInt(n*this.containerWidth);switch(this.container.width(a),t){case"sync":this.responsive.doResize();break;default:this.responsive.doResize(!0)}i&&(i.handle.innerHTML=a+"px")},a.prototype.setZoom=function(){var e=this.responsive.containerElement.width()/this.containerWidth,t=50;1>e?t=(e-nextend.smallestZoom/this.containerWidth)/(1-nextend.smallestZoom/this.containerWidth)*50:e>1&&(t=50*(e-1)+52);this.zoom.slider("value");this.zoom.slider("value",t)}}(nextend.smartSlider,n2,window),function(e,t){function i(t,i){this.element=e("#"+t),this.managerIdentifier=i,this.element.parent().on("click",e.proxy(this.show,this)),this.element.siblings(".n2-form-element-clear").on("click",e.proxy(this.clear,this)),this.name=this.element.siblings("input"),this.updateName(this.element.val()),NextendElement.prototype.constructor.apply(this,arguments)}function n(){i.prototype.constructor.apply(this,arguments)}i.prototype=Object.create(NextendElement.prototype),i.prototype.constructor=i,i.prototype.show=function(t){t.preventDefault(),nextend[this.managerIdentifier].show(this.element.val(),e.proxy(this.save,this))},i.prototype.clear=function(e){e.preventDefault(),e.stopPropagation(),this.val("")},i.prototype.save=function(e,t){this.val(t)},i.prototype.val=function(e){this.element.val(e),this.updateName(e),this.triggerOutsideChange()},i.prototype.insideChange=function(e){this.element.val(e),this.updateName(e),this.triggerInsideChange()},i.prototype.updateName=function(e){e=""==e?n2_("Disabled"):e.split("||").length>1?n2_("Multiple animations"):n2_("Single animation"),this.name.val(e)},t.NextendElementAnimationManager=i,n.prototype=Object.create(i.prototype),n.prototype.constructor=n,n.prototype.clear=function(e){e.preventDefault(),e.stopPropagation();var t=this.element.val().split("|*|");t[2]="",this.val(t.join("|*|"))},n.prototype.updateName=function(e){var t=e.split("|*|");e=t[2],e=""==e?n2_("Disabled"):e.split("||").length>1?n2_("Multiple animations"):n2_("Single animation"),this.name.val(e)},t.NextendElementPostAnimationManager=n}(n2,window),function(e,t){function i(t){this.status=0,this.element=e("#"+t),this.overlays=null,this.aligns=this.element.parent().parent().siblings(),this.globalPicker=e("#n2-ss-parent-linker"),this.picker=this.element.siblings(".n2-ss-layer-picker").on({click:e.proxy(this.click,this),mouseenter:e.proxy(function(){var t=this.element.val();""!=t&&e("#"+t).addClass("n2-highlight")},this),mouseleave:e.proxy(function(){var t=this.element.val();""!=t&&e("#"+t).removeClass("n2-highlight")},this)}),NextendElement.prototype.constructor.apply(this,arguments)}var n={INITIALIZED:0,UNDER_PICK_PARENT:1,UNDER_PICK_CHILD:2},a='<div class="n2-ss-picker-overlay" data-align="left" data-valign="top" /><div class="n2-ss-picker-overlay" data-align="center" data-valign="top" style="left:33%;top:0;" /><div class="n2-ss-picker-overlay" data-align="right" data-valign="top" style="left:66%;top:0;width:34%;" /><div class="n2-ss-picker-overlay" data-align="left" data-valign="middle" style="left:0;top:33%;" /><div class="n2-ss-picker-overlay" data-align="center" data-valign="middle" style="left:33%;top:33%; " /><div class="n2-ss-picker-overlay" data-align="right" data-valign="middle" style="left:66%;top:33%;width:34%;" /><div class="n2-ss-picker-overlay" data-align="left" data-valign="bottom" style="left:0;top:66%;height:34%;" /><div class="n2-ss-picker-overlay" data-align="center" data-valign="bottom" style="left:33%;top:66%;height:34%;" /><div class="n2-ss-picker-overlay" data-align="right" data-valign="bottom" style="left:66%;top:66%;width:34%;height:34%;" />';i.prototype=Object.create(NextendElement.prototype),i.prototype.constructor=i,i.prototype.click=function(t){if(this.status==n.INITIALIZED){e("body").on("mousedown.n2-ss-parent-linker",e.proxy(function(t){var i=e(t.target),n=i.parent();i.hasClass("n2-ss-picker-overlay")||n.hasClass("n2-under-pick")||this.endSelection()},this));var i=nextend.activeLayer.parent().find(".n2-ss-layer").not(nextend.activeLayer),s=function(t){i.each(function(){var n=e(this),a=n.data("layerObject");if(a.getProperty(!1,"parentid")==t){i=i.not(n);var r=a.getProperty(!1,"id");r&&""!=r&&s(r)}})},r=nextend.activeLayer.data("layerObject").getProperty(!1,"id");r&&""!=r&&s(r),i.length>0&&(this.globalPicker.addClass("n2-under-pick"),this.picker.addClass("n2-under-pick"),i.addClass("n2-ss-picking-on-layer"),this.overlays=e(a).appendTo(i),this.overlays.on("mousedown",e.proxy(function(t){var s=e(t.currentTarget),r=s.data("align"),o=s.data("valign"),l=s.parent().data("layerObject");this.status=n.UNDER_PICK_CHILD,this.overlays.remove(),i.removeClass("n2-ss-picking-on-layer"),nextend.activeLayer.addClass("n2-ss-picking-on-layer"),this.overlays=e(a).appendTo(nextend.activeLayer),this.overlays.on("mousedown",e.proxy(function(t){var i=e(t.currentTarget),n=i.data("align"),a=i.data("valign");nextend.activeLayer.removeClass("n2-ss-picking-on-layer"),nextend.activeLayer.data("layerObject").parentPicked(l,r,o,n,a),t.preventDefault(),t.stopPropagation(),this.endSelection()},this)),t.preventDefault(),t.stopPropagation()},this)),NextendEsc.add(e.proxy(function(){return this.endSelection(),!1},this)),this.status=n.UNDER_PICK_PARENT)}else this.status==n.UNDER_PICK_PARENT?(this.change(""),this.endSelection()):this.status==n.UNDER_PICK_CHILD&&(this.change(""),this.endSelection())},i.prototype.endSelection=function(){e("body").off("mousedown.n2-ss-parent-linker"),nextend.activeLayer.parent().find(".n2-ss-layer").removeClass("n2-ss-picking-on-layer"),this.globalPicker.removeClass("n2-under-pick"),this.picker.removeClass("n2-under-pick"),this.overlays&&this.overlays.remove(),this.overlays=null,this.status=n.INITIALIZED,NextendEsc.pop()},i.prototype.change=function(e){this.picker.trigger("mouseleave"),this.element.val(e).trigger("change"),this._setValue(e),this.triggerOutsideChange()},i.prototype.insideChange=function(e){this.element.val(e),this._setValue(e),this.triggerInsideChange()},i.prototype._setValue=function(e){e&&""!=e?(this.picker.addClass("n2-active"),this.aligns.css("display","")):(this.picker.removeClass("n2-active"),this.aligns.css("display","none"))},t.NextendElementLayerPicker=i}(n2,window),function(e,t){function i(t){this.element=e("#"+t),this.setAttribute(),this.element.on("nextendChange",e.proxy(this.setAttribute,this))}i.prototype.setAttribute=function(){e("#n2-admin").attr("data-slider-type",this.element.val())},t.NextendElementSliderType=i}(n2,window),function(e,t){function i(t){this.element=e("#"+t),this.area=e("#"+t+"_area"),this.areas=this.area.find(".n2-area"),this.areas.on("click",e.proxy(this.chooseArea,this)),NextendElement.prototype.constructor.apply(this,arguments)}i.prototype=Object.create(NextendElement.prototype),i.prototype.constructor=i,i.prototype.chooseArea=function(t){var i=parseInt(e(t.target).data("area"));this.element.val(i),this.setSelected(i),this.triggerOutsideChange()},i.prototype.insideChange=function(e){e=parseInt(e),this.element.val(e),this.setSelected(e),this.triggerInsideChange()},i.prototype.setSelected=function(e){this.areas.removeClass("n2-active"),this.areas.eq(e-1).addClass("n2-active")},t.NextendElementSliderWidgetArea=i}(n2,window),function(e,t){function i(t){this.element=e("#"+t+"-mode"),this.container=this.element.closest(".n2-form-element-mixed"),this.tabs=this.container.find("> .n2-mixed-group"),this.element.on("nextendChange",e.proxy(this.onChange,this)),this.onChange()}i.prototype.onChange=function(){var e=this.element.val();"advanced"==e?(this.tabs.eq(2).css("display",""),this.tabs.eq(1).css("display","none")):(this.tabs.eq(1).css("display",""),this.tabs.eq(2).css("display","none"))},t.NextendElementWidgetPosition=i}(n2,window),function(e,t,i,n){"use strict";function a(){this._refreshTimeout=null,this.modal=!1,this.group=0,e.generator=this;var i=e.$currentSlideElement.data("variables");if(i){this.variables=i;for(var n in this.variables)!isNaN(parseFloat(n))&&isFinite(n)&&(this.group=Math.max(this.group,parseInt(n)+1));this.fill=this.generatorFill,this.group>0&&(this.registerField=this.generatorRegisterField,this.button=t('<a href="#" class="n2-form-element-button n2-form-element-button-inverted n2-h5 n2-uc" style="position:absolute; left: -26px; top:50%;margin-top: -14px;font-size: 14px; padding:0; width: 28px;text-align: center;">$</a>').on("click",t.proxy(function(e){e.preventDefault(),this.showModal()},this)),this.registerField(t("#slidetitle")),this.registerField(t("#slidedescription")),this.registerField(t("#slidethumbnail")),this.registerField(t("#slidebackgroundImage")),this.registerField(t("#slidebackgroundAlt")),this.registerField(t("#slidebackgroundTitle")),this.registerField(t("#slidebackgroundVideoMp4")),this.registerField(t("#slidebackgroundVideoWebm")),this.registerField(t("#slidebackgroundVideoOgg")),this.registerField(t("#linkslidelink_0"))),this.initSlideDataRefresh()}else this.variables=null}a.prototype.fill=function(e){return e},a.prototype.generatorFill=function(e){return e.replace(/{((([a-z]+)\(([0-9a-zA-Z_,\/\(\)]+)\))|([a-zA-Z0-9][a-zA-Z0-9_\/]*))}/g,t.proxy(this.parseFunction,this))},a.prototype.parseFunction=function(e,t,i,n,a,s){if("undefined"==typeof s){for(var r=a.split(/,(?!.*\))/),o=0;o<r.length;o++)r[o]=this.parseVariable(r[o]);return this[n].apply(this,r)}return this.parseVariable(s)},a.prototype.parseVariable=function(e){var t=e.match(/((([a-z]+)\(([0-9a-zA-Z_,\/\(\)]+)\)))/);if(t)return this.parseFunction.apply(this,t);var i=e.match(/([a-zA-Z][0-9a-zA-Z_]*)(\/([0-9a-z]+))?/);if(i){var n=i[3];if("undefined"==typeof n)n=0;else{var a=parseInt(n);isNaN(a)||(n=Math.max(n,1)-1)}return"undefined"!=typeof this.variables[n]&&"undefined"!=typeof this.variables[n][i[1]]?this.variables[n][i[1]]:""}return e},a.prototype.cleanhtml=function(e){return strip_tags(e,"<p><a><b><br /><br/><i>")},a.prototype.removehtml=function(e){return t("<div>"+e+"</div>").text()},a.prototype.splitbychars=function(e,t,i){return e.substr(t,i)},a.prototype.splitbywords=function(e,t,i){var n=e,a=n.length,s=Math.max(0,0==t?0:n.indexOf(" ",t)),r=Math.max(0,i>a?a:n.indexOf(" ",i));return n.substr(s,r)},a.prototype.findimage=function(e,t){var i=e,n=/(<img.*?src=[\'"](.*?)[\'"][^>]*>)|(background(-image)??\s*?:.*?url\((["|\']?)?(.+?)(["|\']?)?\))/gi,a=[],s=null;for(t="undefined"!=typeof t?parseInt(t)-1:0;s=n.exec(i);)"undefined"!=typeof s[2]?a.push(s[2]):"undefined"!=typeof s[6]&&a.push(s[6]);return a.length?a.length>t?a[t]:a[a.length-1]:""},a.prototype.findlink=function(e,t){var i=e,n=/href=["\']?([^"\'>]+)["\']?/gi,a=[],s=null;for(t="undefined"!=typeof t?parseInt(t)-1:0;s=n.exec(i);)"undefined"!=typeof s[1]&&a.push(s[1]);return a.length?a.length>t?a[t]:a[a.length-1]:""},a.prototype.removevarlink=function(e){var t=e,i=/<a href=\"(.*?)\">(.*?)<\/a>/g;return t.replace(i,"")},a.prototype.registerField=function(e){},a.prototype.generatorRegisterField=function(e){var i=e.parent();i.on({mouseenter:t.proxy(function(){this.activeField=e,this.button.prependTo(i)},this)})},a.prototype.getModal=function(){var e=this;if(!this.modal){var i={key:"",group:1,filter:"no",split:"no",splitStart:0,splitLength:300,findImage:0,findImageIndex:1,findLink:0,findLinkIndex:1,removeVarLink:0},n=function(){var e=i.key+"/"+i.group;return i.findImage&&(e="findimage("+e+","+Math.max(1,i.findImageIndex)+")"),i.findLink&&(e="findlink("+e+","+Math.max(1,i.findLinkIndex)+")"),i.removeVarLink&&(e="removevarlink("+e+")"),"no"!=i.filter&&(e=i.filter+"("+e+")"),"no"!=i.split&&i.splitStart>=0&&i.splitLength>0&&(e=i.split+"("+e+","+i.splitStart+","+i.splitLength+")"),"{"+e+"}"},a=t('<div class="n2-generator-result-container" />'),s=function(){a.html(t("<div/>").text(e.fill(n())).html())},r=e.group,o=null,l=null,d=t('<div class="n2-generator-insert-variable"/>'),p=NextendModal.prototype.createHeading(n2_("Choose the group")).appendTo(d),h=t('<div class="n2-group-container" />').appendTo(d);d.append(NextendModal.prototype.createHeading(n2_("Choose the variable")));var c=t('<div class="n2-variable-container" />').appendTo(d),u=t('<div class="n2-generator-functions-container n2-form-element-mixed" />').appendTo(t('<div class="n2-form" />').appendTo(d));d.append(NextendModal.prototype.createHeading(n2_("Result"))),a.appendTo(d),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Filter")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select autocomplete="off" name="filter" id="n2-generator-function-filter"><option selected="selected" value="no">'+n2_("No")+'</option><option value="cleanhtml">'+n2_("Clean HTML")+'</option><option value="removehtml">'+n2_("Remove HTML")+"</option></select></div></div></div>").appendTo(u);var y=u.find("#n2-generator-function-filter");y.on("change",t.proxy(function(){i.filter=y.val(),s()},this)),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Split by chars")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select autocomplete="off" name="split" id="n2-generator-function-split"><option selected="selected" value="no">'+n2_("No")+'</option><option value="splitbychars">'+n2_("Strict")+'</option><option value="splitbywords">'+n2_("Respect words")+'</option></select></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">'+n2_("Start")+'</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="0" id="n2-generator-function-split-start"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">'+n2_("Length")+'</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="300" id="n2-generator-function-split-length"></div></div></div>').appendTo(u);var f=u.find("#n2-generator-function-split");f.on("change",t.proxy(function(){i.split=f.val(),s()},this));var m=u.find("#n2-generator-function-split-start");m.on("change",t.proxy(function(){i.splitStart=parseInt(m.val()),s()},this));var g=u.find("#n2-generator-function-split-length");g.on("change",t.proxy(function(){i.splitLength=parseInt(g.val()),s()},this)),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Find image")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-findimage"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">'+n2_("Index")+'</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="1" id="n2-generator-function-findimage-index"></div></div></div>').appendTo(u);var v=u.find("#n2-generator-function-findimage");v.on("nextendChange",t.proxy(function(){i.findImage=parseInt(v.val()),s()},this));var x=u.find("#n2-generator-function-findimage-index");x.on("change",t.proxy(function(){i.findImageIndex=parseInt(x.val()),s()},this)),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Find link")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-findlink"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">'+n2_("Index")+'</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="1" id="n2-generator-function-findlink-index"></div></div></div>').appendTo(u);var b=u.find("#n2-generator-function-findlink");b.on("nextendChange",t.proxy(function(){i.findLink=parseInt(b.val()),s()},this));var k=u.find("#n2-generator-function-findlink-index");k.on("change",t.proxy(function(){i.findLinkIndex=parseInt(k.val()),s()},this)),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Remove links")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-removevarlink"></div></div></div>').appendTo(u);var w=u.find("#n2-generator-function-removevarlink");w.on("nextendChange",t.proxy(function(){i.removeVarLink=parseInt(w.val()),s()},this));var S=u.find("#n2-generator-function-removevarlink-index");S.on("change",t.proxy(function(){i.removeVarLinkIndex=parseInt(S.val()),s()},this));for(var C in this.variables[0])t('<a href="#" class="n2-button n2-button-small n2-button-grey">'+C+"</a>").on("click",t.proxy(function(e,n){n.preventDefault(),o.removeClass("n2-active"),t(n.currentTarget).addClass("n2-active"),i.key=e,s()},this,C)).appendTo(c);o=c.find("a"),o.eq(0).trigger("click"),1==r&&(p.css("display","none"),h.css("display","none"));for(var _=0;r>_;_++)t('<a href="#" class="n2-button n2-button-small n2-button-grey">'+(_+1)+"</a>").on("click",t.proxy(function(e,n){n.preventDefault(),l.removeClass("n2-active"),t(n.currentTarget).addClass("n2-active"),i.group=e+1,s()},this,_)).appendTo(h);l=h.find("a"),l.eq(0).trigger("click");var I=!1;this.modal=new NextendModal({zero:{size:[1e3,r>1?560:490],title:n2_("Insert variable"),back:!1,close:!0,content:d,controls:['<a href="#" class="n2-button n2-button-big n2-button-green">'+n2_("Insert")+"</a>"],fn:{show:function(){I||(new NextendElementOnoff("n2-generator-function-findimage"),new NextendElementOnoff("n2-generator-function-findlink"),new NextendElementOnoff("n2-generator-function-removevarlink"),I=!0),this.controls.find(".n2-button").on("click",t.proxy(function(t){t.preventDefault(),e.insert(n()),this.hide(t)},this))}}}},!1),this.modal.setCustomClass("n2-ss-generator-modal")}return this.modal},a.prototype.showModal=function(){this.getModal().show()},a.prototype.insert=function(e){this.activeField.val(e).trigger("change")},a.prototype.initSlideDataRefresh=function(){var e=t("#slidetitle").on("nextendChange",t.proxy(function(){this.variables.slide.name=e.val(),this.refresh()},this)),i=t("#slidedescription").on("nextendChange",t.proxy(function(){this.variables.slide.description=i.val(),this.refresh()},this))},a.prototype.refresh=function(){this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null),this._refreshTimeout=setTimeout(t.proxy(this._refresh,this),100)},a.prototype._refresh=function(){for(var t=e.layerManager.layerList,i=0;i<t.length;i++)for(var n=t[i].items,a=0;a<n.length;a++)n[a].reRender()},i.SmartSliderAdminGenerator=a}(nextend.smartSlider,n2,window),function(e,t,i){function n(t){this.ajaxUrl=t,e("#generatorrecord-viewer").on("click",e.proxy(this.showRecords,this))}n.prototype.showRecords=function(t){t.preventDefault(),NextendAjaxHelper.ajax({type:"POST",url:this.ajaxUrl,data:e("#smartslider-form").serialize(),dataType:"json"}).done(function(e){var t=new NextendModal({zero:{size:[1300,700],title:"Records",content:e.data.html}},!0);t.content.css("overflow","auto")}).error(function(e){if(200==e.status){var t=new NextendModal({zero:{size:[1300,700],title:"Response",content:e.responseText}},!0);t.content.css("overflow","auto")}})},t.NextendSmartSliderGeneratorRecords=n}(n2,window),function(e,t,i,n){function a(e,a,s,r){this.item=e,this.layer=a,this.itemEditor=s,this.type=this.item.data("item"),this.values=this.item.data("itemvalues"),"object"!=typeof this.values&&(this.values=t.parseJSON(this.values)),
3
- i["NextendSmartSliderItemParser_"+this.type]!==n?this.parser=new i["NextendSmartSliderItemParser_"+this.type](this):this.parser=new i.NextendSmartSliderItemParser(this),this.item.data("item",this),"undefined"!=typeof r&&(0==this.layer.items.length||this.layer.items.length<=r?this.item.appendTo(this.layer.layer):this.layer.items[r].item.before(this.item)),"undefined"==typeof r||0==this.layer.items.length||this.layer.items.length<=r?this.layer.items.push(this):this.layer.items.splice(r,0,this),0===this.item.children().length&&this.reRender(),t("<div/>").addClass("ui-helper ui-item-overlay").css("zIndex",89).appendTo(this.item),t(window).trigger("ItemCreated")}a.prototype.changeValue=function(e,i){this==this.itemEditor.activeItem?t("#item_"+this.type+e).data("field").insideChange(i):this.values[e]=i},a.prototype.activate=function(e,t){this.itemEditor.setActiveItem(this,t)},a.prototype.deActivate=function(){},a.prototype.render=function(e,i,n){this.layer.layer.triggerHandler("itemRender"),this.item.html(this.parser.render(e,i)),this.values=n,t("<div/>").addClass("ui-helper ui-item-overlay").css("zIndex",89).appendTo(this.item);var a=this.parser.getName(i);a=a===!1?this.type:a.replace(/[<> ]/gi,""),this.layer.rename(a,!1),this.layer.update()},a.prototype.reRender=function(e){var i={},n=this.itemEditor,a=n.getItemType(this.type),s=a.template;for(var r in this.values)i[r]=this.values[r];i=t.extend({},this.parser.getDefault(),i,e);var o=t.extend({},i);this.parser.parseAll(i,this),this.values=o;for(var l in i){var d=new RegExp("\\{"+l+"\\}","g");s=s.replace(d,i[l])}this.render(t(s),i,this.values)},a.prototype.duplicate=function(){this.layer.addItem(this.getHTML(),!0)},a.prototype["delete"]=function(){this.item.trigger("mouseleave"),this.item.remove(),this.itemEditor.activeItem==this&&(this.itemEditor.activeItem=null)},a.prototype.getHTML=function(e){var i="";return i=e?"["+this.type+' values="'+Base64.encode(JSON.stringify(this.values))+'"]':t('<div class="n2-ss-item n2-ss-item-'+this.type+'"></div>').attr("data-item",this.type).attr("data-itemvalues",JSON.stringify(this.values))},a.prototype.getData=function(){return{type:this.type,values:this.values}},a.prototype.history=function(e,i,n){switch(e){case"updateCurrentItem":this.reRender(t.extend(!0,{},i)),this.values=i,this.itemEditor.setActiveItem(this,!0)}},i.NextendSmartSliderItem=a}(nextend.smartSlider,n2,window),function(e,t,i,n){function a(e){this.suppressChange=!1,this.activeItemOriginalData=null,this.layerEditor=e,this._initInstalledItems(),this.form={},this.activeForm={form:t("<div></div>")}}a.prototype.setActiveItem=function(e,i){if(e!=this.activeItem||i){this.activeItemOriginalData=null;var n=e.type,a=e.values;this.activeForm.form.css("display","none"),this.activeForm=this.getItemType(n),this.activeItem&&this.activeItem.deActivate(),this.activeItem=e,this.suppressChange=!0;for(var s in a){var r=t("#item_"+n+s).data("field");r&&r.insideChange(a[s])}this.suppressChange=!1,this.activeForm.form.css("display","block")}},a.prototype._initInstalledItems=function(){t("#n2-ss-item-container .n2-ss-core-item").on("click",t.proxy(function(e){this.createLayerItem(t(e.currentTarget).data("item"))},this))},a.prototype.createLayerItem=function(n){var a=this.getItemType(n),s=this.layerEditor.createLayer(t(".n2-ss-core-item-"+n).data("layerproperties")),r=t("<div></div>").data("item",n).data("itemvalues",t.extend(!0,{},a.values)).addClass("n2-ss-item n2-ss-item-"+n),o=new i.NextendSmartSliderItem(r,s,this,0);return s.activate(),e.sidebarManager.switchTab(0),e.history.add(t.proxy(function(){return[this,"createLayer","create","delete",[o,n]]},this)),o},a.prototype.getItemType=function(e){if(this.form[e]===n){var i=t("#smartslider-slide-toolbox-item-type-"+e),a={form:i,template:i.data("itemtemplate"),values:i.data("itemvalues"),fields:i.find('[name^="item_'+e+'"]'),fieldNameRegexp:new RegExp("item_"+e+"\\[(.*?)\\]","")};a.fields.on({nextendChange:t.proxy(this.updateCurrentItem,this),keydown:t.proxy(this.updateCurrentItemDeBounced,this)}),this.form[e]=a}return this.form[e]},a.prototype.updateCurrentItem=function(i){if(!this.suppressChange){null===this.activeItemOriginalData&&(this.activeItemOriginalData=t.extend({},this.activeItem.values));var n={},a={},s=this.form[this.activeItem.type],r=s.template,o=this.activeItem.parser;s.fields.each(t.proxy(function(e,i){var i=t(i),r=i.attr("name").match(s.fieldNameRegexp)[1];a[r]=n[r]=i.val()},this)),n=t.extend({},o.getDefault(),n),o.parseAll(n,this.activeItem);for(var l in n){var d=new RegExp("\\{"+l+"\\}","g");r=r.replace(d,n[l])}i&&"nextendChange"==i.type&&(e.history.add(t.proxy(function(){return[this.activeItem,"updateCurrentItem",t.extend({},a),this.activeItemOriginalData,[]]},this)),this.activeItemOriginalData=null),this.activeItem.render(t(r),n,a)}},a.prototype.updateCurrentItemDeBounced=NextendDeBounce(function(e){this.updateCurrentItem(e)},100),a.prototype.history=function(t,i,n){switch(t){case"createLayer":switch(i){case"delete":n[0].layer["delete"]();break;case"create":var a=this.createLayerItem(n[1]);e.history.changeFuture(n[0].layer,a.layer),e.history.changeFuture(n[0],a)}}},i.NextendSmartSliderItemManager=a}(nextend.smartSlider,n2,window),function(e,t,i){function n(e){this.pre="div#"+nextend.smartSlider.frontend.sliderElement.attr("id")+" ",this.item=e,this.fonts=[],this.styles=[],this.needFill=[],this.added()}n.prototype.getDefault=function(){return{}},n.prototype.added=function(){},n.prototype.addedFont=function(t,i){this.fonts.push({mode:t,name:i}),e.when(nextend.fontManager.addVisualUsage(t,this.item.values[i],this.pre)).done(e.proxy(function(e){e||this.item.changeValue(i,"")},this))},n.prototype.addedStyle=function(t,i){this.styles.push({mode:t,name:i}),e.when(nextend.styleManager.addVisualUsage(t,this.item.values[i],this.pre)).done(e.proxy(function(e){e||this.item.changeValue(i,"")},this))},n.prototype.parseAll=function(e,t){for(var i=0;i<this.fonts.length;i++)e[this.fonts[i].name+"class"]=nextend.fontManager.getClass(e[this.fonts[i].name],this.fonts[i].mode)+" ";for(var i=0;i<this.styles.length;i++)e[this.styles[i].name+"class"]=nextend.styleManager.getClass(e[this.styles[i].name],this.styles[i].mode)+" ";for(var i=0;i<this.needFill.length;i++)e[this.needFill[i]]=nextend.smartSlider.generator.fill(e[this.needFill[i]])},n.prototype.render=function(e,t){return e},n.prototype.getName=function(e){return!1},n.prototype.resizeLayerToImage=function(t,i){e("<img/>").attr("src",i).load(function(){var e=t.layer.layerEditor.slideSize,i=e.width,n=e.height;if(this.width>0&&this.height>0){if(i=parseInt(Math.min(this.width,i)),n=parseInt(Math.min(this.height,n)),nextend.smartSlider.history.off(),e.width/e.height<=i/n)t.layer.setProperty("width",i),t.layer.setProperty("height",this.height*i/this.width);else{var a=Math.min(this.width*e.height/this.height,i);t.layer.setProperty("width",a),t.layer.setProperty("height",this.height*a/this.width)}nextend.smartSlider.history.on()}})},n.prototype.fitLayer=function(e){return!1},t.NextendSmartSliderItemParser=n}(n2,window),function(e,t,i){function n(){NextendSmartSliderItemParser.apply(this,arguments)}n.prototype=Object.create(NextendSmartSliderItemParser.prototype),n.prototype.constructor=n,n.prototype.added=function(){this.needFill=["content","url"],this.addedFont("link","font"),this.addedStyle("button","style"),nextend.smartSlider.generator.registerField(e("#item_buttoncontent")),nextend.smartSlider.generator.registerField(e("#linkitem_buttonlink_0"))},n.prototype.getName=function(e){return e.content},n.prototype.parseAll=function(e){var t=e.link.split("|*|");e.url=t[0],e.target=t[1],delete e.link,0|e.fullwidth?e.display="block;":e.display="inline-block;",e.extrastyle=0|e.nowrap?"white-space: nowrap;":"",NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments)},t.NextendSmartSliderItemParser_button=n}(n2,window),function(e,t,i){function n(){NextendSmartSliderItemParser.apply(this,arguments)}n.prototype=Object.create(NextendSmartSliderItemParser.prototype),n.prototype.constructor=n,n.prototype.getDefault=function(){return{link:"#|*|_self",font:"",style:""}},n.prototype.added=function(){this.needFill=["heading","url"],this.addedFont("hover","font"),this.addedStyle("heading","style"),nextend.smartSlider.generator.registerField(e("#item_headingheading")),nextend.smartSlider.generator.registerField(e("#linkitem_headinglink_0"))},n.prototype.getName=function(e){return e.heading},n.prototype.parseAll=function(t){t.uid=e.fn.uid();var i=t.link.split("|*|");t.url=i[0],t.target=i[1],delete t.link,0|t.fullwidth?t.display="block;":t.display="inline-block;",t.extrastyle=0|t.nowrap?"white-space: nowrap;":"",t.heading=e("<div>"+t.heading+"</div>").text().replace(/\n/g,"<br />"),t.priority=2,t["class"]="",NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),"#"==t.url?t.afontclass="":(t.afontclass=t.fontclass,t.fontclass="")},n.prototype.render=function(e,t){if("#"==t.url){var i=e.find("a");i.parent().html(i.html())}return e},t.NextendSmartSliderItemParser_heading=n}(n2,window),function(e,t,i){function n(){NextendSmartSliderItemParser.apply(this,arguments)}n.prototype=Object.create(NextendSmartSliderItemParser.prototype),n.prototype.constructor=n,n.prototype.getDefault=function(){return{size:"100%|*|auto",link:"#|*|_self",style:""}},n.prototype.added=function(){this.needFill=["image","url"],this.addedStyle("box","style"),nextend.smartSlider.generator.registerField(e("#item_imageimage")),nextend.smartSlider.generator.registerField(e("#item_imagealt")),nextend.smartSlider.generator.registerField(e("#item_imagetitle")),nextend.smartSlider.generator.registerField(e("#linkitem_imagelink_0"))},n.prototype.getName=function(e){return e.image.split("/").pop()},n.prototype.parseAll=function(e,t){var i=e.size.split("|*|");e.width=i[0],e.height=i[1],delete e.size;var n=e.link.split("|*|");e.url=n[0],e.target=n[1],delete e.link,NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),t&&"$system$/images/placeholder/image.png"==t.values.image&&e.image!=t.values.image?(e.image=nextend.imageHelper.fixed(e.image),this.resizeLayerToImage(t,e.image)):e.image=nextend.imageHelper.fixed(e.image)},n.prototype.fitLayer=function(e){return this.resizeLayerToImage(e,nextend.imageHelper.fixed(e.values.image)),!0},n.prototype.render=function(e,t){return"#"==t.url&&e.html(e.children("a").html()),e},t.NextendSmartSliderItemParser_image=n}(n2,window),function(e,t,i){function n(){NextendSmartSliderItemParser.apply(this,arguments)}function a(e){var t=!1,i=!1,n="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary";return-1!==e.indexOf("<object")&&(e=e.replace(/<object[\s\S]+?<\/object>/g,function(e){return e.replace(/[\r\n]+/g,"")})),e=e.replace(/<[^<>]+>/g,function(e){return e.replace(/[\r\n]+/g," ")}),-1===e.indexOf("<pre")&&-1===e.indexOf("<script")||(t=!0,e=e.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(e){return e.replace(/(\r\n|\n)/g,"<wp-line-break>")})),-1!==e.indexOf("[caption")&&(i=!0,e=e.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(e){return e=e.replace(/<br([^>]*)>/g,"<wp-temp-br$1>"),e=e.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(e){return e.replace(/[\r\n\t]+/," ")}),e.replace(/\s*\n\s*/g,"<wp-temp-br />")})),e+="\n\n",e=e.replace(/<br \/>\s*<br \/>/gi,"\n\n"),e=e.replace(new RegExp("(<(?:"+n+")(?: [^>]*)?>)","gi"),"\n$1"),e=e.replace(new RegExp("(</(?:"+n+")>)","gi"),"$1\n\n"),e=e.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n"),e=e.replace(/\r\n|\r/g,"\n"),e=e.replace(/\n\s*\n+/g,"\n\n"),e=e.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n"),e=e.replace(/<p>\s*?<\/p>/gi,""),e=e.replace(new RegExp("<p>\\s*(</?(?:"+n+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),e=e.replace(/<p>(<li.+?)<\/p>/gi,"$1"),e=e.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>"),e=e.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>"),e=e.replace(new RegExp("<p>\\s*(</?(?:"+n+")(?: [^>]*)?>)","gi"),"$1"),e=e.replace(new RegExp("(</?(?:"+n+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),e=e.replace(/\s*\n/gi,"<br />\n"),e=e.replace(new RegExp("(</?(?:"+n+")[^>]*>)\\s*<br />","gi"),"$1"),e=e.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),e=e.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]"),e=e.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,t,i){return i.match(/<p( [^>]*)?>/)?e:t+"<p>"+i+"</p>"}),t&&(e=e.replace(/<wp-line-break>/g,"\n")),i&&(e=e.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),e}n.prototype=Object.create(NextendSmartSliderItemParser.prototype),n.prototype.constructor=n,n.prototype.getDefault=function(){return{contentmobile:"",contenttablet:"",font:"",style:""}},n.prototype.added=function(){this.needFill=["content","contenttablet","contentmobile"],this.addedFont("paragraph","font"),this.addedStyle("heading","style"),nextend.smartSlider.generator.registerField(e("#item_textcontent")),nextend.smartSlider.generator.registerField(e("#item_textcontenttablet")),nextend.smartSlider.generator.registerField(e("#item_textcontentmobile"))},n.prototype.getName=function(e){return e.content},n.prototype.parseAll=function(e){NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),e.p=a(e.content),e.ptablet=a(e.contenttablet),e.pmobile=a(e.contentmobile)},n.prototype.render=function(e,t){return""==t.contenttablet&&(e=e.filter(":not(.n2-ss-tablet)"),e.filter(".n2-ss-desktop").addClass("n2-ss-tablet")),""==t.contentmobile&&(e=e.filter(":not(.n2-ss-mobile)"),e.filter(".n2-ss-tablet, .n2-ss-desktop").last().addClass("n2-ss-mobile")),e.find("p").addClass(t.fontclass+" "+t.styleclass),e.find("a").on("click",function(e){e.preventDefault()}),e},t.NextendSmartSliderItemParser_text=n}(n2,window),function(e,t,i){function n(){NextendSmartSliderItemParser.apply(this,arguments)}n.prototype=Object.create(NextendSmartSliderItemParser.prototype),n.prototype.constructor=n,n.prototype.added=function(){this.needFill=["vimeourl"],nextend.smartSlider.generator.registerField(e("#item_vimeovimeourl"))},n.prototype.getName=function(e){return e.vimeourl},n.prototype.parseAll=function(t,i){var n=i.values.vimeourl!=t.vimeourl;if(NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),""==t.image&&(t.image="$system$/images/placeholder/video.png"),t.image=nextend.imageHelper.fixed(t.image),n&&""!=t.vimeourl){var a=/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/,s=t.vimeourl.match(a),r=!1;s?r=s[3]:t.vimeourl.match(/^[0-9]+$/)&&(r=t.vimeourl),r?NextendAjaxHelper.getJSON("https://vimeo.com/api/v2/video/"+encodeURI(r)+".json").done(e.proxy(function(t){e("#item_vimeoimage").val(t[0].thumbnail_large).trigger("change")},this)).fail(function(e){nextend.notificationCenter.error(e.responseText)}):nextend.notificationCenter.error("The provided URL does not match any known Vimeo url or code!")}},n.prototype.fitLayer=function(e){return!0},t.NextendSmartSliderItemParser_vimeo=n}(n2,window),function(e,t,i){function n(){NextendSmartSliderItemParser.apply(this,arguments)}n.prototype=Object.create(NextendSmartSliderItemParser.prototype),n.prototype.constructor=n,n.prototype.added=function(){this.needFill=["youtubeurl"],nextend.smartSlider.generator.registerField(e("#item_youtubeyoutubeurl")),nextend.smartSlider.generator.registerField(e("#item_youtubestart"))},n.prototype.getName=function(e){return e.youtubeurl},n.prototype.parseAll=function(t,i){var n=i.values.youtubeurl!=t.youtubeurl;if(NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),""==t.image&&(t.image="$system$/images/placeholder/video.png"),t.image=nextend.imageHelper.fixed(t.image),n){var a=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/,s=t.youtubeurl.match(a);s?NextendAjaxHelper.getJSON("https://www.googleapis.com/youtube/v3/videos?id="+encodeURI(s[2])+"&part=snippet&key=AIzaSyC3AolfvPAPlJs-2FgyPJdEEKS6nbPHdSM").done(e.proxy(function(t){if(t.items.length){var i=t.items[0].snippet.thumbnails,n=i.maxres||i.standard||i.high||i.medium||i["default"];e("#item_youtubeimage").val(n.url).trigger("change")}},this)).fail(function(e){nextend.notificationCenter.error(e.error.errors[0].message)}):nextend.notificationCenter.error("The provided URL does not match any known YouTube url or code!")}},n.prototype.fitLayer=function(e){return!0},t.NextendSmartSliderItemParser_youtube=n}(n2,window),function(e,t,i,n){"use strict";function a(e,i,n){this.$=t(this),this.animations=e,this.group=i,this.data=n,this.row=t('<li class="n2-ss-animation-row"></li>').data("animation",this);var a=t('<div class="n2-ss-animation-title"></div>').appendTo(this.row);this.label=t("<span>"+this.data.name+"</span>").appendTo(a);t('<div class="n2-actions"></div>').append(t('<a onclick="return false;" href="#"><i class="n2-i n2-i-delete n2-i-grey-opacity"></i></a>').on("click",t.proxy(this["delete"],this))).appendTo(a)}a.prototype.getRow=function(){return this.row},a.prototype.edit=function(){this.animations.edit(this.group,this.animations[this.group+"Rows"].index(this.row))},a.prototype.save=function(e){e!==!1&&(this.data=e,this.label.html(e.name),this.$.trigger("animationChanged"))},a.prototype["delete"]=function(t){t&&t.stopPropagation(),this.row.remove(),this.animations.removeAnimation(this),e.layerAnimationManager.update(this.group),this.$.trigger("animationDeleted")},a.prototype.setDelay=function(e){this.data.delay=e},a.prototype.setDuration=function(e){this.data.duration=e},i.NextendSmartSliderLayerAnimation=a}(nextend.smartSlider,n2,window),function(e,t,i,n){function a(t){this.layerEditor=t,this.createGroup("in",n2_("in"),"#layer-animation-chain-in"),this.lists=this["in"].list,this.createGroup("loop",n2_("loop"),"#layer-animation-chain-loop"),this.createGroup("out",n2_("out"),"#layer-animation-chain-out"),this.lists=this.lists.add(this.loop.list).add(this.out.list),e.layerAnimationManager=this}a.prototype.createGroup=function(e,i,n){n=t(n);var a=t('<div class="n2-sidebar-row n2-sidebar-header-bg n2-form-dark n2-sets-header"><div class="n2-table"><div class="n2-tr"><div class="n2-td"><div class="n2-h3 n2-uc">'+i+'</div></div><div style="text-align: '+(nextend.isRTL()?"left":"right")+';" class="n2-td"></div></div></div></div>').appendTo(n),s=a.find(".n2-td").eq(1);this[e]={container:n,header:a,list:t('<ul class="n2-list n2-h4 n2-list-orderable n2-ss-animation-list"></ul>').on("click",t.proxy(this.editGroup,this,e)).data("group",e).appendTo(n),add:this.getAddButton(e,n2_("Add")).appendTo(s),clear:this.getClearButton(e).appendTo(s)}},a.prototype.getAddButton=function(e,i){var n=t('<a href="#" class="n2-button n2-button-medium n2-button-green n2-h5 n2-uc">'+i+"</a>").on("click",t.proxy(this.createAnimation,this,e));return n},a.prototype.getClearButton=function(e){var i=t('<a href="#" class="n2-button n2-button-medium n2-button-grey n2-h5 n2-uc">'+n2_("Clear")+"</a>").on("click",t.proxy(this.clear,this,e));return i},a.prototype.getActiveLayer=function(){return this.layerEditor.layerList[this.layerEditor.activeLayerIndex]},a.prototype.editGroup=function(e,i){var n=0;if(i&&(i.preventDefault(),n=t(i.target).closest(".n2-ss-animation-row").index()),-1!=n){var a=this.getActiveLayer().animation;a.edit(e,n)}},a.prototype.clear=function(e,t){t&&t.preventDefault(),this.getActiveLayer().animation.clear(e)},a.prototype.createAnimation=function(e,i){i&&i.preventDefault();var n=this.getActiveLayer(),a=n.layer,s=nextend.animationManager;s.controller.setPreviewSize(a.width(),a.height()).setGroup(e);var r={repeatable:1};"in"==e?(r.specialZero=1,r.playEvent=1,s.changeSetById(1e3),s.setTitle(n2_("In animation"))):"loop"==e?(r.repeat=1,r.playEvent=1,r.pauseEvent=1,r.stopEvent=1,s.changeSetById(1200),s.setTitle(n2_("Loop animation"))):"out"==e&&(r.playEvent=1,r.instantOut=1,s.changeSetById(1e3),s.setTitle(n2_("Out animation"))),s.show(r,{animations:[],transformOrigin:"50|*|50|*|0",specialZero:n.animation.data.specialZero,repeatCount:n.animation.data.repeatCount,repeatDelay:n.animation.data.repeatDelay,playEvent:"",pauseEvent:"",stopEvent:"",repeatable:n.animation.data.repeatable,instantOut:n.animation.data.instantOut},t.proxy(this.storeNewAnimation,this,e),{previewMode:!1,previewHTML:!1})},a.prototype.storeNewAnimation=function(e,i,n){if(n.animations.length>0){var a=this.getActiveLayer().animation;a.setTransformOrigin(e,n.transformOrigin),a.setRepeatable(n.repeatable),"in"==e?(a.setSpecialZero(e,n.specialZero),a.setEvent(e,"PlayEvent",n.playEvent)):"loop"==e?(a.setRepeatCount(e,n.repeatCount),a.setRepeatStartDelay(e,n.repeatStartDelay),a.setEvent(e,"PlayEvent",n.playEvent),a.setEvent(e,"PauseEvent",n.pauseEvent),a.setEvent(e,"StopEvent",n.stopEvent)):"out"==e&&(a.setEvent(e,"PlayEvent",n.playEvent),a.setInstantOut(n.instantOut));for(var s=0;s<n.animations.length;s++)a.addAnimation(e,n.animations[s]);this.update(e),t(window).triggerHandler("AnimationAdded")}this.update(e)},a.prototype.activateAnimations=function(e){e.inRows.prependTo(this["in"].list),e.loopRows.prependTo(this.loop.list),e.outRows.prependTo(this.out.list),this.update("in"),this.update("loop"),this.update("out")},a.prototype.update=function(e){this[e].list.children().length?(this[e].add.css("display","none"),this[e].clear.css("display","")):(this[e].add.css("display",""),this[e].clear.css("display","none"))},i.NextendSmartSliderLayerAnimationManager=a}(nextend.smartSlider,n2,window),function(e,t,i,n){function a(e){this._loaded=!1,this.active=!1,this.layer=e,this.data=null,e.layer.data("adminLayerAnimations",this),this.inRows=t(),this.loopRows=t(),this.outRows=t()}var s={repeatable:0,"in":[],specialZeroIn:0,transformOriginIn:"50|*|50|*|0",inPlayEvent:"",loop:[],repeatCount:0,repeatStartDelay:0,transformOriginLoop:"50|*|50|*|0",loopPlayEvent:"",loopPauseEvent:"",loopStopEvent:"",out:[],transformOriginOut:"50|*|50|*|0",outPlayEvent:"",instantOut:1};a.prototype.deActivate=function(){this.active=!1,this.inRows.detach(),this.loopRows.detach(),this.outRows.detach()},a.prototype.activate=function(){this.active=!0,e.layerAnimationManager.activateAnimations(this)},a.prototype.addAnimation=function(t,i){var n=new NextendSmartSliderLayerAnimation(this,t,i),a=n.getRow();this[t+"Rows"]=this[t+"Rows"].add(a),this.active&&a.appendTo(e.layerAnimationManager[t].list),this.layer.$.trigger("layerAnimationAdded",[t,n])},a.prototype.removeAnimation=function(e){var t=e.group;this[t+"Rows"]=this[t+"Rows"].not(e.row)},a.prototype.clearAll=function(){this._startHistory(),this._clear("in"),this._clear("loop"),this._clear("out"),this._endHistory()},a.prototype.clear=function(e){this._startHistory(),this._clear(e),this._endHistory()},a.prototype._clear=function(e){for(var t=this[e+"Rows"],i=0;i<t.length;i++)t.eq(i).data("animation")["delete"]()},a.prototype.getCurrentData=function(e){for(var t=[],i=0;i<this[e+"Rows"].length;i++)t.push(this[e+"Rows"].eq(i).data("animation").data);var n={animations:t,transformOrigin:this.data["transformOrigin"+this.ucfirst(e)],repeatable:this.data.repeatable};return"in"==e?(n.specialZero=this.data.specialZeroIn,n.playEvent=this.data.inPlayEvent):"loop"==e?(n.repeatCount=this.data.repeatCount,n.repeatStartDelay=this.data.repeatStartDelay,n.playEvent=this.data.loopPlayEvent,n.pauseEvent=this.data.loopPauseEvent,n.stopEvent=this.data.loopStopEvent):"out"==e&&(n.playEvent=this.data.outPlayEvent,n.instantOut=this.data.instantOut),n},a.prototype.edit=function(e,i){for(var n=[],a=0;a<this[e+"Rows"].length;a++)n.push(this[e+"Rows"].eq(a).data("animation").data);var s=nextend.animationManager;s.controller.setPreviewSize(this.layer.layer.width(),this.layer.layer.height()).setGroup(e);var r={repeatable:1},o={animations:n,transformOrigin:this.data["transformOrigin"+this.ucfirst(e)],repeatable:this.data.repeatable};"in"==e?(r.specialZero=1,o.specialZero=this.data.specialZeroIn,r.playEvent=1,o.playEvent=this.data.inPlayEvent,s.changeSetById(1e3),s.setTitle(n2_("In animation"))):"loop"==e?(r.repeat=1,o.repeatCount=this.data.repeatCount,o.repeatStartDelay=this.data.repeatStartDelay,r.playEvent=1,o.playEvent=this.data.loopPlayEvent,r.pauseEvent=1,o.pauseEvent=this.data.loopPauseEvent,r.stopEvent=1,o.stopEvent=this.data.loopStopEvent,s.changeSetById(1200),s.setTitle(n2_("Loop animation"))):"out"==e&&(r.playEvent=1,r.instantOut=1,o.playEvent=this.data.outPlayEvent,o.instantOut=this.data.instantOut,s.changeSetById(1e3),s.setTitle(n2_("Out animation"))),s.show(r,o,t.proxy(this.storeAnimations,this,e,o),{previewMode:!1,previewHTML:!1}),i>0&&s.controller.tabField.options.eq(i).trigger("click")},a.prototype.storeAnimations=function(i,n,a,s){e.history.add(t.proxy(function(){return[this.layer,"storeAnimations",t.extend(!0,{},s),t.extend(!0,{},n),[i]]},this));var r=0,o=this[i+"Rows"];for(this.setTransformOrigin(i,s.transformOrigin),this.setRepeatable(s.repeatable),"in"==i?(this.setSpecialZero(i,s.specialZero),this.setEvent(i,"PlayEvent",s.playEvent)):"loop"==i?(this.setRepeatCount(i,s.repeatCount),this.setRepeatStartDelay(i,s.repeatStartDelay),this.setEvent(i,"PlayEvent",s.playEvent),this.setEvent(i,"PauseEvent",s.pauseEvent),this.setEvent(i,"StopEvent",s.stopEvent)):"out"==i&&(this.setEvent(i,"PlayEvent",s.playEvent),this.setInstantOut(s.instantOut));r<s.animations.length&&r<o.length;r++)o.eq(r).data("animation").save(s.animations[r]);for(;r<s.animations.length;r++)this.addAnimation(i,s.animations[r]);for(;r<o.length;r++)o.eq(r).data("animation")["delete"]();e.layerAnimationManager.update(i)},a.prototype.load=function(){if(this._loaded===!1){var e=this.layer.layer.data("animations");this.data={},t.extend(this.data,s),"undefined"!=typeof e&&t.extend(this.data,t.parseJSON(Base64.decode(e))),this._load("in"),this._load("loop"),this._load("out"),this._loaded=!0}},a.prototype._load=function(e){if("undefined"!=typeof this.data[e]){for(var t=0;t<this.data[e].length;t++)this.addAnimation(e,this.data[e][t]);delete this.data[e]}},a.prototype.getAnimationsCode=function(){if(this._loaded===!1)return this.layer.layer.data("animations");for(var e=t.extend({},this.data,{"in":[],loop:[],out:[]}),i=0;i<this.inRows.length;i++){var n=this.inRows.eq(i).data("animation");e["in"].push(n.data)}for(var i=0;i<this.loopRows.length;i++){var n=this.loopRows.eq(i).data("animation");e.loop.push(n.data)}for(var i=0;i<this.outRows.length;i++){var n=this.outRows.eq(i).data("animation");e.out.push(n.data)}return Base64.encode(JSON.stringify(e))},a.prototype._startHistory=function(){this._oldData={"in":t.extend(!0,{},this.getCurrentData("in")),loop:t.extend(!0,{},this.getCurrentData("loop")),out:t.extend(!0,{},this.getCurrentData("out"))}},a.prototype._endHistory=function(){var i={"in":this.getCurrentData("in"),loop:this.getCurrentData("loop"),out:this.getCurrentData("out")};for(var n in i)e.history.add(t.proxy(function(){return[this.layer,"storeAnimations",t.extend(!0,{},i[n]),t.extend(!0,{},this._oldData[n]),[n]]},this));this._oldData=null},a.prototype.loadData=function(e){this._startHistory(),this._clear("in"),this._clear("loop"),this._clear("out"),this.data={},t.extend(this.data,s),t.extend(this.data,e),this._load("in"),this._load("loop"),this._load("out"),this._endHistory()},a.prototype.getData=function(){for(var e=t.extend({},this.data,{"in":[],loop:[],out:[]}),i=0;i<this.inRows.length;i++){var n=this.inRows.eq(i).data("animation");e["in"].push(t.extend(!0,{},n.data))}for(var i=0;i<this.loopRows.length;i++){var n=this.loopRows.eq(i).data("animation");e.loop.push(t.extend(!0,{},n.data))}for(var i=0;i<this.outRows.length;i++){var n=this.outRows.eq(i).data("animation");e.out.push(t.extend(!0,{},n.data))}return e},a.prototype.setSpecialZero=function(e,t){t=parseInt(t)?1:0,t!=this.data["transformOrigin"+this.ucfirst(e)]&&(this.data.specialZeroIn=t,this.layer.$.trigger("layerAnimationSpecialZeroInChanged"))},a.prototype.setRepeatCount=function(e,t){this.data.repeatCount=t},a.prototype.setRepeatStartDelay=function(e,t){this.data.repeatStartDelay=t},a.prototype.setEvent=function(e,t,i){this.data[e+t]=i},a.prototype.setTransformOrigin=function(e,t){this.data["transformOrigin"+this.ucfirst(e)]=t},a.prototype.setRepeatable=function(e){this.data.repeatable=parseInt(e)?1:0},a.prototype.setInstantOut=function(e){this.data.instantOut=parseInt(e)?1:0},a.prototype.ucfirst=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},i.NextendSmartSliderLayerAnimations=a}(nextend.smartSlider,n2,window),function(e,t,i,n){function a(e,i,n,a){if(this.isDeleted=!1,this._triggerLayerResizedThrottled=NextendThrottle(this._triggerLayerResized,30),this.doThrottledTheResize=this.doTheResize,this.eye=!1,this.lock=!1,this.parent=!1,this.parentIsVisible=!0,this.$=t(this),this.layerEditor=e,this.timelineLayer=null,i){this.property={id:i.attr("id"),"class":i.data("class"),parentid:i.data("parentid"),parentalign:i.data("desktopportraitparentalign"),parentvalign:i.data("desktopportraitparentvalign"),name:i.data("name")+"",nameSynced:i.data("namesynced"),crop:i.data("crop"),inneralign:i.data("inneralign"),parallax:i.data("parallax"),align:i.data("desktopportraitalign"),valign:i.data("desktopportraitvalign"),fontsize:i.data("desktopportraitfontsize"),adaptivefont:i.data("adaptivefont"),desktopPortrait:parseFloat(i.data("desktopportrait")),desktopLandscape:parseFloat(i.data("desktoplandscape")),tabletPortrait:parseFloat(i.data("tabletportrait")),tabletLandscape:parseFloat(i.data("tabletlandscape")),mobilePortrait:parseFloat(i.data("mobileportrait")),mobileLandscape:parseFloat(i.data("mobilelandscape")),left:parseInt(i.data("desktopportraitleft")),top:parseInt(i.data("desktopportraittop")),responsiveposition:parseInt(i.data("responsiveposition")),responsivesize:parseInt(i.data("responsivesize")),mouseenter:i.data("mouseenter"),click:i.data("click"),mouseleave:i.data("mouseleave"),play:i.data("play"),pause:i.data("pause"),stop:i.data("stop")};var s=i.data("desktopportraitwidth");this.isDimensionPropertyAccepted(s)?this.property.width=s:this.property.width=parseInt(s);var r=i.data("desktopportraitheight");this.isDimensionPropertyAccepted(r)?this.property.height=r:this.property.height=parseInt(r)}else i=t('<div class="n2-ss-layer" style="z-index: '+e.zIndexList.length+';"></div>').appendTo(e.layerContainerElement),this.property=t.extend({id:null,"class":"",parentid:null,parentalign:"center",parentvalign:"middle",name:"New layer",nameSynced:1,crop:"visible",inneralign:"left",parallax:0,align:"center",valign:"middle",fontsize:100,adaptivefont:0,desktopPortrait:1,desktopLandscape:1,tabletPortrait:1,tabletLandscape:1,mobilePortrait:1,mobileLandscape:1,left:0,top:0,responsiveposition:1,width:"auto",height:"auto",responsivesize:1,mouseenter:o,click:o,mouseleave:o,play:o,pause:o,stop:o},a);this.property.id||(this.property.id=null),this.subscribeParentCallbacks={},this.property.parentid?this.subscribeParent():this.property.parentid=null,this.property.parentalign||(this.property.parentalign="center"),this.property.parentvalign||(this.property.parentvalign="middle"),"undefined"==typeof this.property.nameSynced&&(this.property.nameSynced=1),"undefined"==typeof this.property.responsiveposition&&(this.property.responsiveposition=1),"undefined"==typeof this.property.responsivesize&&(this.property.responsivesize=1),this.property.inneralign||(this.property.inneralign="left"),this.property.crop||(this.property.crop="visible"),this.property.parallax||(this.property.parallax=0),"undefined"==typeof this.property.fontsize&&(this.property.fontsize=100),"undefined"==typeof this.property.adaptivefont&&(this.property.adaptivefont=0),this.property.align||(this.property.align="left"),this.property.valign||(this.property.valign="top"),i.attr("data-align",this.property.align),i.attr("data-valign",this.property.valign),this.layer=i.data("layerObject",this),this.layer.css("visibility","hidden"),
4
- this.zIndex=parseInt(this.layer.css("zIndex")),isNaN(this.zIndex)&&(this.zIndex=0);var l=i.data("eye"),d=i.data("lock");null!==l&&"undefined"!=typeof l&&(this.eye=!!l),null!==d&&"undefined"!=typeof d&&(this.lock=!!d),this.deviceProperty={desktopPortrait:{left:this.property.left,top:this.property.top,width:this.property.width,height:this.property.height,align:this.property.align,valign:this.property.valign,parentalign:this.property.parentalign,parentvalign:this.property.parentvalign,fontsize:this.property.fontsize},desktopLandscape:{left:i.data("desktoplandscapeleft"),top:i.data("desktoplandscapetop"),width:i.data("desktoplandscapewidth"),height:i.data("desktoplandscapeheight"),align:i.data("desktoplandscapealign"),valign:i.data("desktoplandscapevalign"),parentalign:i.data("desktoplandscapeparentalign"),parentvalign:i.data("desktoplandscapeparentvalign"),fontsize:i.data("desktoplandscapefontsize")},tabletPortrait:{left:i.data("tabletportraitleft"),top:i.data("tabletportraittop"),width:i.data("tabletportraitwidth"),height:i.data("tabletportraitheight"),align:i.data("tabletportraitalign"),valign:i.data("tabletportraitvalign"),parentalign:i.data("tabletportraitparentalign"),parentvalign:i.data("tabletportraitparentvalign"),fontsize:i.data("tabletportraitfontsize")},tabletLandscape:{left:i.data("tabletlandscapeleft"),top:i.data("tabletlandscapetop"),width:i.data("tabletlandscapewidth"),height:i.data("tabletlandscapeheight"),align:i.data("tabletlandscapealign"),valign:i.data("tabletlandscapevalign"),parentalign:i.data("tabletlandscapeparentalign"),parentvalign:i.data("tabletlandscapeparentvalign"),fontsize:i.data("tabletlandscapefontsize")},mobilePortrait:{left:i.data("mobileportraitleft"),top:i.data("mobileportraittop"),width:i.data("mobileportraitwidth"),height:i.data("mobileportraitheight"),align:i.data("mobileportraitalign"),valign:i.data("mobileportraitvalign"),parentalign:i.data("mobileportraitparentalign"),parentvalign:i.data("mobileportraitparentvalign"),fontsize:i.data("mobileportraitfontsize")},mobileLandscape:{left:i.data("mobilelandscapeleft"),top:i.data("mobilelandscapetop"),width:i.data("mobilelandscapewidth"),height:i.data("mobilelandscapeheight"),align:i.data("mobilelandscapealign"),valign:i.data("mobilelandscapevalign"),parentalign:i.data("mobilelandscapeparentalign"),parentvalign:i.data("mobilelandscapeparentvalign"),fontsize:i.data("mobilelandscapefontsize")}},this.layersItemsElement=e.layersItemsElement,this.layersItemsUlElement=this.layersItemsElement.find("> ul"),this.createRow(),this.itemEditor=n,this.initItems(),this.___makeLayerAlign(),this.___makeLayerResizeable(),this.___makeLayerDraggable(),e.layerList.push(this),"undefined"==typeof e.zIndexList[this.zIndex]?e.zIndexList[this.zIndex]=this:e.zIndexList.splice(this.zIndex,0,this),this._lock(),this.animation=new NextendSmartSliderLayerAnimations(this),this.layerEditor.$.trigger("layerCreated",this),t(window).triggerHandler("layerCreated"),this.animation.load(),this.layer.on({mousedown:t.proxy(this.activate,this),dblclick:t.proxy(this.fit,this)}),setTimeout(t.proxy(function(){this._resize(!0),this._eye()},this),300)}var s=!1,r=null;window.nextendPreventClick=!1;var o,l=function(){var e=0;return window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){var i,n=(new Date).getTime();return i=Math.max(0,16-(n-e)),e=n+i,setTimeout(function(){t(n+i)},i)}}(),d={raf:!1,ratios:null,isThrottled:!1,layers:[]},p=function(){d.raf===!1&&(d.raf=!0,l(function(){for(var e=0;e<d.layers.length;e++)d.layers[e].isDeleted||d.layers[e].doTheResize(d.ratios,!0,d.isThrottled);d={raf:!1,ratios:null,isThrottled:!1,layers:[]}}))};a.prototype.getIndex=function(){return this.layerEditor.layerList.indexOf(this)},a.prototype.getParent=function(){return t("#"+this.getProperty(!1,"parentid")).data("layerObject")},a.prototype.requestID=function(){var e=this.getProperty(!1,"id");return e||(e=t.fn.uid(),this.setProperty("id",e,"layer")),e},a.prototype.createRow=function(){var e=300,i=null,n=t('<a class="n2-ss-parent-unlink" href="#" onclick="return false;"><i class="n2-i n2-i-layerunlink n2-i-grey-opacity"></i></a>').on("click",t.proxy(this.unlink,this)),a=t('<a href="#" onclick="return false;"><i class="n2-i n2-i-delete n2-i-grey-opacity"></i></a>').on("click",t.proxy(this["delete"],this)),s=t('<a href="#" onclick="return false;"><i class="n2-i n2-i-duplicate n2-i-grey-opacity"></i></a>').on("click",t.proxy(this.duplicate,this,!0,!1));this.soloElement=t('<a href="#" onclick="return false;"><i class="n2-i n2-i-bulb n2-i-grey-opacity"></i></a>').css("opacity",.3).on("click",t.proxy(this.switchSolo,this)),this.eyeElement=t('<a href="#" onclick="return false;"><i class="n2-i n2-i-eye n2-i-grey-opacity"></i></a>').on("click",t.proxy(this.switchEye,this)),this.lockElement=t('<a href="#" onclick="return false;"><i class="n2-i n2-i-lock n2-i-grey-opacity"></i></a>').on("click",t.proxy(this.switchLock,this)),this.layerRow=t('<li class="n2-ss-layer-row"></li>').on({mouseenter:t.proxy(function(){this.layer.addClass("n2-highlight")},this),mouseleave:t.proxy(function(e){this.layer.removeClass("n2-highlight")},this)}).appendTo(this.layersItemsUlElement),this.layerTitleSpan=t('<span class="n2-ucf">'+this.property.name+"</span>").on({mouseup:t.proxy(function(n){i?(clearTimeout(i),i=null,this.editName()):i=setTimeout(t.proxy(function(){this.activate(),i=null},this),e)},this)}),this.layerTitle=t('<div class="n2-ss-layer-title"></div>').append(this.layerTitleSpan).append(t('<div class="n2-actions"></div>').append(n).append(s).append(a)).append(t('<div class="n2-actions-left"></div>').append(this.eyeElement).append(this.soloElement).append(this.lockElement)).appendTo(this.layerRow).on({mouseup:t.proxy(function(e){"DIV"===e.target.tagName&&this.activate()},this)}),this.editorVisibilityChange()},a.prototype.editorVisibilityChange=function(){switch(this.layersItemsUlElement.children().length){case 0:t("body").removeClass("n2-has-layers");break;case 1:t("body").addClass("n2-has-layers")}},a.prototype.setZIndex=function(e){this.zIndex=e,this.layer.css("zIndex",e),this.layersItemsUlElement.append(this.layerRow),this.$.trigger("layerIndexed",e)},a.prototype.activate=function(e){document.activeElement&&document.activeElement.blur(),0==this.items.length?console.error("The layer do not have item on it!"):this.items[0].activate();var t=this.getIndex();if(this.layerEditor.activeLayerIndex!==t){this.layerRow.addClass("n2-active"),this.layer.triggerHandler("n2-ss-activate"),this.layerEditor.changeActiveLayer(t),nextend.activeLayer=this.layer;var i=this.layersItemsUlElement.parent(),n=i.scrollTop(),a=this.layerRow.get(0).offsetTop;(n>a||a>n+i.height()-this.layerRow.height())&&i.scrollTop(a),r&&(s.removeClass("n2-highlight2"),clearTimeout(r),r=null),s=this.layer.addClass("n2-highlight2"),r=setTimeout(function(){s.removeClass("n2-highlight2"),s=null,r=null},500)}},a.prototype.deActivate=function(){this.animation&&this.animation.deActivate(),this.layerRow.removeClass("n2-active"),this.layer.triggerHandler("n2-ss-deactivate")},a.prototype.fit=function(){var e=this.layer.get(0);this.layerEditor.slideSize,this.layer.position();if(e.scrollWidth>0&&e.scrollHeight>0){for(var t=!1,i=0;i<this.items.length&&!(t=this.items[i].parser.fitLayer(this.items[i]));i++);if(!t){this.setProperty("width","auto","layer"),this.setProperty("height","auto","layer");var n=this.layer.width();Math.abs(this.layerEditor.layerContainerElement.width()-this.layer.position().left-n)<2&&this.setProperty("width",n,"layer")}}},a.prototype.switchToAnimation=function(){e.sidebarManager.switchTab(1)},a.prototype.hide=function(e){this.store(!1,e?e:this.getMode(),0,!0)},a.prototype.show=function(e){this.store(!1,e?e:this.getMode(),1,!0)},a.prototype.switchSolo=function(){this.layerEditor.setSolo(this)},a.prototype.markSolo=function(){this.soloElement.css("opacity",1),this.layer.addClass("n2-ss-layer-solo")},a.prototype.unmarkSolo=function(){this.soloElement.css("opacity",.3),this.layer.removeClass("n2-ss-layer-solo")},a.prototype.switchEye=function(){this.eye=!this.eye,this._eye()},a.prototype._eye=function(){this.eye?(this.eyeElement.css("opacity",.3),this.layer.css("visibility","hidden")):(this.eyeElement.css("opacity",1),this.layer.css("visibility",""))},a.prototype._hide=function(){this.layer.css("display","none")},a.prototype._show=function(){parseInt(this.property[this.layerEditor.getMode()])&&this.layer.css("display","block")},a.prototype.switchLock=function(){this.lock=!this.lock,this._lock()},a.prototype._lock=function(){this.lock?(this.lockElement.css("opacity",1),this.layer.nextenddraggable("disable"),this.layer.nextendResizable("disable"),this.layer.addClass("n2-ss-layer-locked")):(this.lockElement.css("opacity",.3),this.layer.nextenddraggable("enable"),this.layer.nextendResizable("enable"),this.layer.removeClass("n2-ss-layer-locked"))},a.prototype.duplicate=function(i,n,a){var s=this.getHTML(!0,!1),r=s.attr("id");r&&(r=t.fn.uid(),s.attr("id",r)),n&&s.attr("data-parentid",n);var o=this.layerEditor._addLayer(s,!0);"undefined"==typeof a?a=[]:a.push(o),this.layer.triggerHandler("LayerDuplicated",[r,a]),this.layerRow.trigger("mouseleave"),i&&o.activate(),n||e.history.add(t.proxy(function(){return[this,"duplicateLayer","duplicate","delete",[o]]},this))},a.prototype["delete"]=function(i,n){e.history.add(t.proxy(function(){return[this,"deleteLayer","delete","create",[this.getData(!0)]]},this)),this.deActivate();for(var a=0;a<this.items.length;a++)this.items[a]["delete"]();this.layerEditor.zIndexList.splice(this.zIndex,1);var s=this.getProperty(!1,"parentid");s&&this.unSubscribeParent(!0),this.layer.trigger("mouseup"),this.layerEditor.layerDeleted(this.getIndex()),"undefined"==typeof n?n=[]:n.push(this),this.layer.triggerHandler("LayerDeleted",["undefined"!=typeof i?i:!1,n]),this.layer.remove(),this.layerRow.remove(),this.editorVisibilityChange(),this.$.trigger("layerDeleted"),delete this.layer,delete this.itemEditor,delete this.animation,this.isDeleted=!0},a.prototype.getHTML=function(e,i){var n=t('<div class="n2-ss-layer"></div>').attr("style",this.getStyleText());for(var a in this.property)"width"!=a&&"height"!=a&&"left"!=a&&"top"!=a&&n.attr("data-"+a.toLowerCase(),this.property[a]);for(var a in this.deviceProperty)for(var s in this.deviceProperty[a])n.attr("data-"+a.toLowerCase()+s,this.deviceProperty[a][s]);n.css({position:"absolute",zIndex:this.zIndex+1});for(var a in this.deviceProperty.desktop)n.css(a,this.deviceProperty.desktop[a]+"px");if(e)for(var r=0;r<this.items.length;r++)n.append(this.items[r].getHTML(i));var o=this.getProperty(!1,"id");return o&&""!=o&&n.attr("id",o),n.attr("data-eye",this.eye),n.attr("data-lock",this.lock),n.attr("data-animations",this.animation.getAnimationsCode()),n},a.prototype.getData=function(e){var t={zIndex:this.zIndex+1,eye:this.eye,lock:this.lock,animations:this.animation.getData()};for(var i in this.property)switch(i){case"width":case"height":case"left":case"top":case"align":case"valign":case"parentalign":case"parentvalign":case"fontsize":break;default:t[i.toLowerCase()]=this.property[i]}for(var n in this.deviceProperty)for(var a in this.deviceProperty[n]){var s=this.deviceProperty[n][a];"undefined"!=typeof s&&("width"==a&&this.isDimensionPropertyAccepted(s)||"height"==a&&this.isDimensionPropertyAccepted(s)||"align"==a||"valign"==a||"parentalign"==a||"parentvalign"==a||(s=parseFloat(s)),t[n.toLowerCase()+a]=s)}if(e){t.items=[];for(var r=0;r<this.items.length;r++)t.items.push(this.items[r].getData())}return t},a.prototype.getDataWithChildren=function(e){return e.push(this.getData(!0)),this.layer.triggerHandler("LayerGetDataWithChildren",[e]),e},a.prototype.initItems=function(){this.items=[];for(var e=this.layer.find(".n2-ss-item"),t=0;t<e.length;t++)this.addItem(e.eq(t),!1)},a.prototype.addItem=function(e,t){t&&e.appendTo(this.layer),new NextendSmartSliderItem(e,this,this.itemEditor)},a.prototype.editName=function(){var e=new NextendSmartSliderAdminInlineField;e.$input.on({valueChanged:t.proxy(function(e,t){this.rename(t,!0),this.layerTitleSpan.css("display","inline")},this),cancel:t.proxy(function(){this.layerTitleSpan.css("display","inline")},this)}),this.layerTitleSpan.css("display","none"),e.injectNode(this.layerTitle,this.property.name)},a.prototype.rename=function(e,t){if(this.property.nameSynced||t){if(t&&(this.property.nameSynced=0),""==e){if(t&&(this.property.nameSynced=1,this.items.length))return this.items[0].reRender(),!1;e="Layer #"+(this.layerEditor.layerList.length+1)}e=e.substr(0,35),this.property.name!=e&&(this.property.name=e,this.layerTitleSpan.html(e),this.$.trigger("layerRenamed",e))}},a.prototype.setProperty=function(e,t,i){switch(e){case"responsiveposition":case"responsivesize":t=parseInt(t);case"id":case"parentid":case"class":case"inneralign":case"crop":case"parallax":case"adaptivefont":case"mouseenter":case"click":case"mouseleave":case"play":case"pause":case"stop":this.store(!1,e,t,!0);break;case"parentalign":case"parentvalign":case"align":case"valign":case"fontsize":this.store(!0,e,t,!0);break;case"width":var n=this.layerEditor.getResponsiveRatio("h");parseInt(this.getProperty(!1,"responsivesize"))||(n=1);var a=t;this.isDimensionPropertyAccepted(t)||(a=~~t,a!=t&&this.$.trigger("propertyChanged",[e,a])),this.storeWithModifier(e,a,n,!0),this._resize(!1);break;case"height":var s=this.layerEditor.getResponsiveRatio("v");parseInt(this.getProperty(!1,"responsivesize"))||(s=1);var a=t;this.isDimensionPropertyAccepted(t)||(a=~~t,a!=t&&this.$.trigger("propertyChanged",[e,a])),this.storeWithModifier(e,a,s,!0),this._resize(!1);break;case"left":var r=this.layerEditor.getResponsiveRatio("h");parseInt(this.getProperty(!1,"responsiveposition"))||(r=1);var a=~~t;a!=t&&this.$.trigger("propertyChanged",[e,a]),this.storeWithModifier(e,a,r,!0);break;case"top":var o=this.layerEditor.getResponsiveRatio("v");parseInt(this.getProperty(!1,"responsiveposition"))||(o=1);var a=~~t;a!=t&&this.$.trigger("propertyChanged",[e,a]),this.storeWithModifier(e,a,o,!0);break;case"showFieldDesktopPortrait":this.store(!1,"desktopPortrait",parseInt(t),!0);break;case"showFieldDesktopLandscape":this.store(!1,"desktopLandscape",parseInt(t),!0);break;case"showFieldTabletPortrait":this.store(!1,"tabletPortrait",parseInt(t),!0);break;case"showFieldTabletLandscape":this.store(!1,"tabletLandscape",parseInt(t),!0);break;case"showFieldMobilePortrait":this.store(!1,"mobilePortrait",parseInt(t),!0);break;case"showFieldMobileLandscape":this.store(!1,"mobileLandscape",parseInt(t),!0)}"manager"!=i&&this.$.trigger("propertyChanged",[e,t])},a.prototype.getProperty=function(e,t){if(e){var i=this.deviceProperty[this.getMode()],n=this.deviceProperty.desktopPortrait;if("undefined"!=typeof i[t])return i[t];if("undefined"!=typeof n[t])return n[t]}return this.property[t]},a.prototype.store=function(i,n,a,s){var r=this.property[n];if(this.property[n]=a,i){var o=this.getMode();e.history.add(t.proxy(function(){return[this,"store",a,this.deviceProperty[o][n],[this.layer,i,n,o]]},this)),this.deviceProperty[o][n]=a}else e.history.add(t.proxy(function(){return[this,"store",a,r,[this.layer,i,n,this.getMode()]]},this));s&&this.render(n,a)},a.prototype.storeWithModifier=function(i,n,a,s){this.property[i]=n;var r=this.getMode();e.history.add(t.proxy(function(){return[this,"storeWithModifier",n,this.deviceProperty[r][i],[this.layer,i,r]]},this)),this.deviceProperty[r][i]=n,s&&this.renderWithModifier(i,n,a)},a.prototype.render=function(e,t){this["_sync"+e](t)},a.prototype.renderWithModifier=function(e,t,i){"width"!=e&&"height"!=e||!this.isDimensionPropertyAccepted(t)?this["_sync"+e](Math.round(t*i)):this["_sync"+e](t)},a.prototype._syncclass=function(e){this.layer.removeClass(),this.layer.addClass("n2-ss-layer"),e&&""!=e&&this.layer.addClass(e)},a.prototype._syncid=function(e){e&&""!=e?this.layer.attr("id",e):this.layer.removeAttr("id")},a.prototype.subscribeParent=function(){var e=this;this.subscribeParentCallbacks={LayerResized:function(){e.resizeParent.apply(e,arguments)},LayerParent:function(){e.layer.addClass("n2-ss-layer-parent"),e.layer.triggerHandler("LayerParent")},LayerUnParent:function(){e.layer.removeClass("n2-ss-layer-parent"),e.layer.triggerHandler("LayerUnParent")},LayerDeleted:function(t,i,n){i?e["delete"](i,n):e.setProperty("parentid","","layer")},LayerDuplicated:function(t,i,n){e.duplicate(!1,i,n)},LayerShowChange:function(t,i,n){e.getMode()==i&&(e.parentIsVisible=n)},"n2-ss-activate":function(){e.layerRow.addClass("n2-parent-active")},"n2-ss-deactivate":function(){e.layerRow.removeClass("n2-parent-active")},LayerGetDataWithChildren:function(t,i){e.getDataWithChildren(i)}},this.parent=n2("#"+this.property.parentid).on(this.subscribeParentCallbacks)},a.prototype.unSubscribeParent=function(e){if(this.layerRow.removeClass("n2-parent-active"),this.parent&&this.parent.off(this.subscribeParentCallbacks),this.parent=!1,this.subscribeParentCallbacks={},!e){var t=this.layer.position();this.setPosition(t.left,t.top)}},a.prototype.unlink=function(e){e.preventDefault(),this.setProperty("parentid","","layer")},a.prototype.parentPicked=function(e,t,i,n,a){this.setProperty("parentid","","layer"),this.setProperty("align",n,"layer"),this.setProperty("valign",a,"layer"),this.setProperty("parentalign",t,"layer"),this.setProperty("parentvalign",i,"layer"),this.setProperty("parentid",e.requestID(),"layer")},a.prototype._syncparentid=function(e){e&&""!=e?0==t("#"+e).length?this.setProperty("parentid","","layer"):(this.layer.attr("data-parentid",e),this.subscribeParent(),this.setPosition(this.layer.position().left,this.layer.position().top)):(this.layer.removeAttr("data-parentid"),this.unSubscribeParent(!1))},a.prototype._syncparentalign=function(e){this.layer.data("parentalign",e);var t=this.getParent();t&&t._resize(!1)},a.prototype._syncparentvalign=function(e){this.layer.data("parentvalign",e);var t=this.getParent();t&&t._resize(!1)},a.prototype._syncinneralign=function(e){this.layer.css("text-align",e)},a.prototype._synccrop=function(e){"auto"==e&&(e="hidden");var i=this.layer.find("> .n2-ss-layer-mask");if("mask"==e){if(e="hidden",!i.length){i=t("<div class='n2-ss-layer-mask'></div>").appendTo(this.layer);for(var n=0;n<this.items.length;n++)i.append(this.items[n].item)}}else if(i.length)for(var n=0;n<this.items.length;n++)this.layer.append(this.items[n].item),i.remove();this.layer.css("overflow",e)},a.prototype._syncparallax=function(e){},a.prototype._syncalign=function(e,t){"undefined"!==t&&e!=t&&this.setPosition(this.layer.position().left,this.layer.position().top),this.layer.attr("data-align",e)},a.prototype._syncvalign=function(e,t){"undefined"!==t&&e!=t&&this.setPosition(this.layer.position().left,this.layer.position().top),this.layer.attr("data-valign",e)},a.prototype._syncfontsize=function(e){this.adjustFontSize(this.getProperty(!1,"adaptivefont"),e,!0)},a.prototype._syncadaptivefont=function(e){this.adjustFontSize(e,this.getProperty(!0,"fontsize"),!0)},a.prototype.adjustFontSize=function(e,t,i){t=parseInt(t),parseInt(e)?this.layer.css("font-size",nextend.smartSlider.frontend.sliderElement.data("fontsize")*t/100+"px"):100!=t?this.layer.css("font-size",t+"%"):this.layer.css("font-size",""),i&&this.update()},a.prototype._syncleft=function(e){if(this.parent&&this.parentIsVisible){var t=this.parent.position(),i=this.getProperty(!0,"align"),n=this.getProperty(!0,"parentalign"),a=0;switch(n){case"right":a=t.left+this.parent.width();break;case"center":a=t.left+this.parent.width()/2;break;default:a=t.left}switch(i){case"right":this.layer.css({left:"auto",right:this.layer.parent().width()-a-e+"px"});break;case"center":this.layer.css({left:a+e-this.layer.width()/2+"px",right:"auto"});break;default:this.layer.css({left:a+e+"px",right:"auto"})}}else switch(this.getProperty(!0,"align")){case"right":this.layer.css({left:"auto",right:-e+"px"});break;case"center":this.layer.css({left:this.layer.parent().width()/2+e-this.layer.width()/2+"px",right:"auto"});break;default:this.layer.css({left:e+"px",right:"auto"})}this.triggerLayerResized()},a.prototype._synctop=function(e){if(this.parent&&this.parentIsVisible){var t=this.parent.position(),i=this.getProperty(!0,"valign"),n=this.getProperty(!0,"parentvalign"),a=0;switch(n){case"bottom":a=t.top+this.parent.height();break;case"middle":a=t.top+this.parent.height()/2;break;default:a=t.top}switch(i){case"bottom":this.layer.css({top:"auto",bottom:this.layer.parent().height()-a-e+"px"});break;case"middle":this.layer.css({top:a+e-this.layer.height()/2+"px",bottom:"auto"});break;default:this.layer.css({top:a+e+"px",bottom:"auto"})}}else switch(this.getProperty(!0,"valign")){case"bottom":this.layer.css({top:"auto",bottom:-e+"px"});break;case"middle":this.layer.css({top:this.layer.parent().height()/2+e-this.layer.height()/2+"px",bottom:"auto"});break;default:this.layer.css({top:e+"px",bottom:"auto"})}this.triggerLayerResized()},a.prototype._syncresponsiveposition=function(e){this._resize(!1)},a.prototype._syncwidth=function(e){this.layer.css("width",e+(this.isDimensionPropertyAccepted(e)?"":"px"))},a.prototype._syncheight=function(e){this.layer.css("height",e+(this.isDimensionPropertyAccepted(e)?"":"px"))},a.prototype._syncresponsivesize=function(e){this._resize(!1)},a.prototype._syncdesktopPortrait=function(e){this.__syncShowOnDevice("desktopPortrait",e)},a.prototype._syncdesktopLandscape=function(e){this.__syncShowOnDevice("desktopLandscape",e)},a.prototype._synctabletPortrait=function(e){this.__syncShowOnDevice("tabletPortrait",e)},a.prototype._synctabletLandscape=function(e){this.__syncShowOnDevice("tabletLandscape",e)},a.prototype._syncmobilePortrait=function(e){this.__syncShowOnDevice("mobilePortrait",e)},a.prototype._syncmobileLandscape=function(e){this.__syncShowOnDevice("mobileLandscape",e)},a.prototype.__syncShowOnDevice=function(e,t){if(this.getMode()==e){var t=parseInt(t);t?this._show():this._hide(),this.layer.triggerHandler("LayerShowChange",[e,t]),this.triggerLayerResized()}},a.prototype._syncmouseenter=a.prototype._syncclick=a.prototype._syncmouseleave=a.prototype._syncplay=a.prototype._syncpause=a.prototype._syncstop=function(){},a.prototype.___makeLayerAlign=function(){this.alignMarker=t('<div class="n2-ss-layer-align-marker" />').appendTo(this.layer)},a.prototype.___makeLayerResizeable=function(){this.layer.nextendResizable({handles:"n, e, s, w, ne, se, sw, nw",_containment:this.layerEditor.layerContainerElement,start:t.proxy(this.____makeLayerResizeableStart,this),resize:t.proxy(this.____makeLayerResizeableResize,this),stop:t.proxy(this.____makeLayerResizeableStop,this),smartguides:t.proxy(function(){return this.layer.triggerHandler("LayerParent"),this.layerEditor.getSnap()},this),tolerance:5}).on({mousedown:t.proxy(function(e){this.lock||this.layerEditor.positionDisplay.css({left:e.pageX+10,top:e.pageY+10}).html("W: "+parseInt(this.layer.width())+"px<br />H: "+parseInt(this.layer.height())+"px").addClass("n2-active"),document.activeElement&&document.activeElement.blur()},this),mouseup:t.proxy(function(e){this.layerEditor.positionDisplay.removeClass("n2-active")},this)})},a.prototype.____makeLayerResizeableStart=function(e,i){t("#n2-admin").addClass("n2-ss-resize-layer"),this.____makeLayerResizeableResize(e,i),this.layerEditor.positionDisplay.addClass("n2-active")},a.prototype.____makeLayerResizeableResize=function(e,t){this.layerEditor.positionDisplay.css({left:e.pageX+10,top:e.pageY+10}).html("W: "+t.size.width+"px<br />H: "+t.size.height+"px"),this.triggerLayerResized()},a.prototype.____makeLayerResizeableStop=function(e,i){window.nextendPreventClick=!0,setTimeout(function(){window.nextendPreventClick=!1},50),t("#n2-admin").removeClass("n2-ss-resize-layer");var n=!1;if(i.originalSize.width==i.size.width){var a=this.getProperty(!0,"width");this.isDimensionPropertyAccepted(a)&&(n=!0,this._syncwidth(a))}var s=!1;if(i.originalSize.height==i.size.height){var a=this.getProperty(!0,"height");this.isDimensionPropertyAccepted(a)&&(s=!0,this._syncheight(a))}this.setPosition(i.position.left,i.position.top);var r=this.layerEditor.getResponsiveRatio("h"),o=this.layerEditor.getResponsiveRatio("v");if(parseInt(this.getProperty(!1,"responsivesize"))||(r=o=1),!n){var l=Math.round(i.size.width*(1/r));this.storeWithModifier("width",l,r,!1),this.$.trigger("propertyChanged",["width",l])}if(!s){var l=Math.round(i.size.height*(1/o));this.storeWithModifier("height",l,o,!1),this.$.trigger("propertyChanged",["height",l])}this.triggerLayerResized(),this.layer.triggerHandler("LayerUnParent"),this.layerEditor.positionDisplay.removeClass("n2-active")},a.prototype.___makeLayerDraggable=function(){this.layer.nextenddraggable({_containment:this.layerEditor.layerContainerElement,start:t.proxy(this.____makeLayerDraggableStart,this),drag:t.proxy(this.____makeLayerDraggableDrag,this),stop:t.proxy(this.____makeLayerDraggableStop,this),smartguides:t.proxy(function(){return this.layer.triggerHandler("LayerParent"),this.layerEditor.getSnap()},this),tolerance:5})},a.prototype.____makeLayerDraggableStart=function(e,i){t("#n2-admin").addClass("n2-ss-move-layer"),this.____makeLayerDraggableDrag(e,i),this.layerEditor.positionDisplay.addClass("n2-active");var n=this.getProperty(!0,"width");this.isDimensionPropertyAccepted(n)&&this.layer.width(this.layer.width()+.5);var n=this.getProperty(!0,"height");this.isDimensionPropertyAccepted(n)&&this._syncheight(n)},a.prototype.____makeLayerDraggableDrag=function(e,t){this.layerEditor.positionDisplay.css({left:e.pageX+10,top:e.pageY+10}).html("L: "+parseInt(0|t.position.left)+"px<br />T: "+parseInt(0|t.position.top)+"px"),this.triggerLayerResized()},a.prototype.____makeLayerDraggableStop=function(e,i){window.nextendPreventClick=!0,setTimeout(function(){window.nextendPreventClick=!1},50),t("#n2-admin").removeClass("n2-ss-move-layer"),this.setPosition(i.position.left,i.position.top);var n=this.getProperty(!0,"width");this.isDimensionPropertyAccepted(n)&&this._syncwidth(n);var n=this.getProperty(!0,"height");this.isDimensionPropertyAccepted(n)&&this._syncheight(n),this.triggerLayerResized(),this.layer.triggerHandler("LayerUnParent"),this.layerEditor.positionDisplay.removeClass("n2-active")},a.prototype.moveX=function(e){this.setDeviceBasedAlign(),this.setProperty("left",this.getProperty(!0,"left")+e,"layer"),this.triggerLayerResized()},a.prototype.moveY=function(e){this.setDeviceBasedAlign(),this.setProperty("top",this.getProperty(!0,"top")+e,"layer"),this.triggerLayerResized()},a.prototype.setPosition=function(e,t){var i=this.layerEditor.getResponsiveRatio("h"),n=this.layerEditor.getResponsiveRatio("v");parseInt(this.getProperty(!1,"responsiveposition"))||(i=n=1),this.setDeviceBasedAlign();var a=this.parent,s={left:0,leftMultiplier:1,top:0,topMultiplier:1};if(a&&a.is(":visible")){var r=a.position();switch(this.getProperty(!0,"parentalign")){case"right":s.left=r.left+a.width();break;case"center":s.left=r.left+a.width()/2;break;default:s.left=r.left}switch(this.getProperty(!0,"parentvalign")){case"bottom":s.top=r.top+a.height();break;case"middle":s.top=r.top+a.height()/2;break;default:s.top=r.top}}else{switch(a=this.layer.parent(),this.getProperty(!0,"align")){case"center":s.left+=a.width()/2;break;case"right":s.left+=a.width()}switch(this.getProperty(!0,"valign")){case"middle":s.top+=a.height()/2;break;case"bottom":s.top+=a.height()}}var e,o=!1;switch(this.getProperty(!0,"align")){case"left":e=-Math.round((s.left-e)*(1/i));break;case"center":e=-Math.round((s.left-e-this.layer.width()/2)*(1/i));break;case"right":e=-Math.round((s.left-e-this.layer.width())*(1/i)),o=!0}this.storeWithModifier("left",e,i,o),this.$.trigger("propertyChanged",["left",e]);var t,o=!1;switch(this.getProperty(!0,"valign")){case"top":t=-Math.round((s.top-t)*(1/n));break;case"middle":t=-Math.round((s.top-t-this.layer.height()/2)*(1/n));break;case"bottom":t=-Math.round((s.top-t-this.layer.height())*(1/n)),o=!0}this.storeWithModifier("top",t,n,o),this.$.trigger("propertyChanged",["top",t])},a.prototype.setDeviceBasedAlign=function(){var e=this.getMode();"undefined"==typeof this.deviceProperty[e].align&&this.setProperty("align",this.getProperty(!0,"align"),"layer"),"undefined"==typeof this.deviceProperty[e].valign&&this.setProperty("valign",this.getProperty(!0,"valign"),"layer")},a.prototype.snap=function(){this.layer.nextendResizable("option","smartguides",t.proxy(function(){return this.layer.triggerHandler("LayerParent"),this.layerEditor.getSnap()},this)),this.layer.nextenddraggable("option","smartguides",t.proxy(function(){return this.layer.triggerHandler("LayerParent"),this.layerEditor.getSnap()},this))},a.prototype.changeEditorMode=function(e){var t=parseInt(this.property[e]);t?this._show():this._hide(),this.layer.triggerHandler("LayerShowChange",[e,t]),this._renderModeProperties(!1)},a.prototype.resetMode=function(e,t){if("desktopPortrait"!=e){var i;for(var n in this.property)this.deviceProperty[e][n]=i;e==t&&this._renderModeProperties(!0)}},a.prototype._renderModeProperties=function(e){for(var t in this.property)this.property[t]=this.getProperty(!0,t),this.$.trigger("propertyChanged",[t,this.property[t]]);var i=this.getProperty(!0,"fontsize");this.adjustFontSize(this.getProperty(!1,"adaptivefont"),i,!1),this.layer.attr("data-align",this.property.align),this.layer.attr("data-valign",this.property.valign),e&&this._resize(!0)},a.prototype.copyMode=function(e,i){e!=i&&(this.deviceProperty[i]=t.extend({},this.deviceProperty[i],this.deviceProperty[e]))},a.prototype.getMode=function(){return this.layerEditor.getMode()},a.prototype._resize=function(e){this.resize({slideW:this.layerEditor.getResponsiveRatio("h"),slideH:this.layerEditor.getResponsiveRatio("v")},e)},a.prototype.doLinearResize=function(e){this.doThrottledTheResize(e,!0)},a.prototype.resize=function(e,t){this.parent&&!t||this.addToResizeCollection(this,e,!1)},a.prototype.doTheResize=function(e,t,i){var n=e.slideW,a=n,s=e.slideH,r=s;parseInt(this.getProperty(!1,"responsivesize"))||(a=r=1),this.renderWithModifier("width",this.getProperty(!0,"width"),a),this.renderWithModifier("height",this.getProperty(!0,"height"),r),parseInt(this.getProperty(!1,"responsiveposition"))||(n=s=1),this.renderWithModifier("left",this.getProperty(!0,"left"),n),this.renderWithModifier("top",this.getProperty(!0,"top"),s),t||this.triggerLayerResized(i,e)},a.prototype.resizeParent=function(e,t,i){this.addToResizeCollection(this,t,i)},a.prototype.addToResizeCollection=function(e,t,i){d.ratios=t,d.isThrottled=i;for(var n=0;n<d.layers.length;n++)if(d.layers[n]==this){d.layers.splice(n,1);break}d.layers.push(e),p(),this.triggerLayerResized(i,t)},a.prototype.update=function(){var e=this.parent;if("center"==this.getProperty(!0,"align")){var t=0;t=e?e.position().left+e.width()/2:this.layer.parent().width()/2;var i=this.layerEditor.getResponsiveRatio("h");parseInt(this.getProperty(!1,"responsiveposition"))||(i=1),this.layer.css("left",t-this.layer.width()/2+this.getProperty(!0,"left")*i)}if("middle"==this.getProperty(!0,"valign")){var n=0;n=e?e.position().top+e.height()/2:this.layer.parent().height()/2;var i=this.layerEditor.getResponsiveRatio("v");parseInt(this.getProperty(!1,"responsiveposition"))||(i=1),this.layer.css("top",n-this.layer.height()/2+this.getProperty(!0,"top")*i)}this.triggerLayerResized()},a.prototype.triggerLayerResized=function(e,t){e?this._triggerLayerResized(e,t):this._triggerLayerResizedThrottled(!0,t)},a.prototype._triggerLayerResized=function(e,t){this.isDeleted||this.layer.triggerHandler("LayerResized",[t||{slideW:this.layerEditor.getResponsiveRatio("h"),slideH:this.layerEditor.getResponsiveRatio("v")},e||!1])},a.prototype.getStyleText=function(){var e="",t=this.property.crop;return"auto"==t&&(t="hidden"),e+="overflow:"+t+";",e+="text-align:"+this.property.inneralign+";"},a.prototype.isDimensionPropertyAccepted=function(e){return!(!(e+"").match(/[0-9]+%/)&&"auto"!=e)},a.prototype.history=function(i,n,a,s){switch(i){case"store":var r=this.getMode();a[1]&&a[3]!=r?this.deviceProperty[a[3]][a[2]]=n:this[i](a[1],a[2],n,!0),
5
- this._renderModeProperties(!0);break;case"storeWithModifier":var r=this.getMode(),o=1;switch(a[1]){case"width":case"left":o=this.layerEditor.getResponsiveRatio("h");break;case"height":case"top":o=this.layerEditor.getResponsiveRatio("v")}a[2]==r?this[i](a[1],n,o,!0):this.deviceProperty[a[2]][a[1]]=n,this._renderModeProperties(!0);break;case"addLayer":switch(n){case"add":this.layerEditor._zIndexOffset=-1,this.layerEditor._idTranslation={};var l=this.layerEditor.loadSingleData(t.extend(!0,{},a[0]));e.history.changeFuture(this,l),e.history.changeFuture(this.items[0],l.items[0]),this.layerEditor.reIndexLayers(),this.layerEditor.refreshMode();break;case"delete":this["delete"]()}break;case"duplicateLayer":switch(n){case"duplicate":var d=[];this.duplicate(!0,!1,d);for(var p=0;p<d.length;p++)e.history.changeFuture(s.oldLayers[p],d[p]),e.history.changeFuture(s.oldLayers[p].items[0],d[p].items[0]);s.oldLayers=[];break;case"delete":var h=[];a[0]["delete"](!0,h),s.oldLayers=h}break;case"deleteLayer":switch(n){case"create":this.layerEditor._zIndexOffset=-1,this.layerEditor._idTranslation={};var l=this.layerEditor.loadSingleData(t.extend(!0,{},a[0]));e.history.changeFuture(this,l),e.history.changeFuture(this.items[0],l.items[0]),this.layerEditor.reIndexLayers(),this.layerEditor.refreshMode();break;case"delete":this["delete"]()}break;case"storeAnimations":this.animation.storeAnimations(a[0],null,null,t.extend(!0,{},n))}},i.NextendSmartSliderLayer=a}(nextend.smartSlider,n2,window),function(e,t,i,n){function a(i,n,a,s,o){this.activeLayerIndex=-1,this.snapToEnabled=!0,this.staticSlide=n,this.layerDefault={align:null,valign:null},this.solo=!1,this.$=t(this),e.layerManager=this,this.responsive=e.frontend.responsive,new NextendSmartSliderSidebar,this.layerList=[],this.layersItemsElement=t("#n2-ss-layers-items-list"),this.frontendSlideLayers=i,this.frontendSlideLayers.setZero(),this.layerContainerElement=e.$currentSlideElement.find(".n2-ss-layers-container"),this.layerContainerElement.length||(this.layerContainerElement=e.$currentSlideElement),this.layerContainerElement.parent().prepend('<div class="n2-ss-slide-border n2-ss-slide-border-left" /><div class="n2-ss-slide-border n2-ss-slide-border-top" /><div class="n2-ss-slide-border n2-ss-slide-border-right" /><div class="n2-ss-slide-border n2-ss-slide-border-bottom" />'),this.slideSize={width:this.layerContainerElement.width(),height:this.layerContainerElement.height()},e.frontend.sliderElement.on("SliderResize",t.proxy(this.refreshSlideSize,this)),this.initToolbox(),new NextendSmartSliderLayerAnimationManager(this),this.refreshLayers(),e.itemEditor=this.itemEditor=new NextendSmartSliderItemManager(this),this.positionDisplay=t('<div class="n2 n2-ss-position-display"/>').appendTo("body"),this.zIndexList=[],this.layers.each(t.proxy(function(e,i){new NextendSmartSliderLayer(this,t(i),this.itemEditor)},this)),this.reIndexLayers(),this._makeLayersOrderable(),t("#smartslider-slide-toolbox-layer").on("mouseenter",function(){t("#n2-admin").addClass("smartslider-layer-highlight-active")}).on("mouseleave",function(){t("#n2-admin").removeClass("smartslider-layer-highlight-active")}),this._initDeviceModeChange(),this.initSnapTo(),this.initEditorTheme(),this.initAlign(),this.initParentLinker(),this.initEvents();var p=t("#n2-ss-adaptive-font").on("click",t.proxy(function(){this.toolboxForm.adaptivefont.data("field").onoff.trigger("click")},this));this.toolboxForm.adaptivefont.on("nextendChange",t.proxy(function(){1==this.toolboxForm.adaptivefont.val()?p.addClass("n2-active"):p.removeClass("n2-active")},this)),new NextendElementNumber("n2-ss-font-size",-Number.MAX_VALUE,Number.MAX_VALUE),new NextendElementAutocompleteSimple("n2-ss-font-size",["60","80","100","120","140","160","180"]);var h=t("#n2-ss-font-size").on("outsideChange",t.proxy(function(){var e=parseInt(h.val());this.toolboxForm.fontsize.val(e).trigger("change")},this));this.toolboxForm.fontsize.on("nextendChange",t.proxy(function(){h.data("field").insideChange(this.toolboxForm.fontsize.val())},this)),this.zIndexList.length>0&&this.zIndexList[this.zIndexList.length-1].activate(),t(window).on({keydown:t.proxy(function(i){if(!("TEXTAREA"==i.target.tagName||"INPUT"==i.target.tagName||e.timelineControl&&e.timelineControl.isActivated())&&-1!=this.activeLayerIndex){var n=i.keyCode;if(n>=49&&57>=n){var a=i.originalEvent.location||i.originalEvent.keyLocation||0;3==a&&(n+=48)}if(46==n)this["delete"]();else if(35==n)this.duplicate(),i.preventDefault();else if(16==n)r[n]=1;else if(38==n){if(!r[n]){var s=t.proxy(function(){this.layerList[this.activeLayerIndex].moveY(-1*(r[16]?10:1))},this);s(),r[n]=setInterval(s,100)}i.preventDefault()}else if(40==n){if(!r[n]){var s=t.proxy(function(){this.layerList[this.activeLayerIndex].moveY(r[16]?10:1)},this);s(),r[n]=setInterval(s,100)}i.preventDefault()}else if(37==n){if(!r[n]){var s=t.proxy(function(){this.layerList[this.activeLayerIndex].moveX(-1*(r[16]?10:1))},this);s(),r[n]=setInterval(s,100)}i.preventDefault()}else if(39==n){if(!r[n]){var s=t.proxy(function(){this.layerList[this.activeLayerIndex].moveX(r[16]?10:1)},this);s(),r[n]=setInterval(s,100)}i.preventDefault()}else if(n>=97&&105>=n){var o=l[n],p=d[n],h=!1;this.toolboxForm.align.val()==o&&this.toolboxForm.valign.val()==p&&(h=!0),this.horizontalAlign(o,h),this.verticalAlign(p,h)}else if(34==n){i.preventDefault();var c=this.layerList[this.activeLayerIndex].zIndex-1;0>c&&(c=this.zIndexList.length-1),this.zIndexList[c].activate()}else if(33==n){i.preventDefault();var c=this.layerList[this.activeLayerIndex].zIndex+1;c>this.zIndexList.length-1&&(c=0),this.zIndexList[c].activate()}else(i.ctrlKey||i.metaKey)&&(90==n?i.shiftKey?e.history.redo():e.history.undo():67==n?this.copy():86==n&&this.paste(0))}},this),keyup:t.proxy(function(e){"undefined"!=typeof r[e.keyCode]&&r[e.keyCode]&&(clearInterval(r[e.keyCode]),r[e.keyCode]=0)},this)}),this.addContextMenu(),a||e.frontend.sliderElement.fileupload({url:s,pasteZone:!1,dropZone:e.frontend.sliderElement,dataType:"json",paramName:"image",add:t.proxy(function(e,t){t.formData={path:"/"+o},t.submit()},this),done:t.proxy(function(e,t){var i=t.result;if(i.data&&i.data.name){var n=this.itemEditor.createLayerItem("image");n.reRender({image:i.data.url}),n.activate(null,!0)}else NextendAjaxHelper.notification(i)},this),fail:t.proxy(function(e,t){NextendAjaxHelper.notification(t.jqXHR.responseJSON)},this),start:function(){NextendAjaxHelper.startLoading()},stop:function(){setTimeout(function(){NextendAjaxHelper.stopLoading()},100)}}),this.initHideSidebar()}var s=".n2-ss-layer",r={16:0,38:0,40:0,37:0,39:0},o={left:0,center:1,right:2,top:0,middle:1,bottom:2},l={97:"left",98:"center",99:"right",100:"left",101:"center",102:"right",103:"left",104:"center",105:"right"},d={97:"bottom",98:"bottom",99:"bottom",100:"middle",101:"middle",102:"middle",103:"top",104:"top",105:"top"};a.prototype.initHideSidebar=function(){var e=t("#n2-admin");t(".n2-hide-sidebar").on("click",function(){e.hasClass("n2-sidebar-hidden")?e.removeClass("n2-sidebar-hidden"):e.addClass("n2-sidebar-hidden"),t(window).trigger("resize")})},a.prototype.getMode=function(){return this.mode},a.prototype._getMode=function(){return this.responsive.getNormalizedModeString()},a.prototype.getResponsiveRatio=function(e){return"h"==e?this.responsive.lastRatios.slideW:"v"==e?this.responsive.lastRatios.slideH:0},a.prototype.createLayer=function(e){for(var t in this.layerDefault)null!==this.layerDefault[t]&&(e[t]=this.layerDefault[t]);var i=new NextendSmartSliderLayer(this,!1,this.itemEditor,e);return this.reIndexLayers(),this._makeLayersOrderable(),i},a.prototype.addLayer=function(i,n){var a=this._addLayer(i,n);return e.history.add(t.proxy(function(){return[a,"addLayer","add","delete",[a.getData(!0)]]},this)),a},a.prototype._addLayer=function(e,i){var n=t(e);this.layerContainerElement.append(n);var a=new NextendSmartSliderLayer(this,n,this.itemEditor);return i&&(this.reIndexLayers(),this.refreshMode()),a},a.prototype.setSolo=function(t){if(this.solo){if(this.solo.unmarkSolo(),this.solo===t)return this.solo=!1,void e.$currentSlideElement.removeClass("n2-ss-layer-solo-mode");this.solo=!1}this.solo=t,t.markSolo(),e.$currentSlideElement.addClass("n2-ss-layer-solo-mode")},a.prototype.switchToLayerTab=function(){e.slide._changeView(1)},a.prototype._initDeviceModeChange=function(){var i=t("#layerresettodesktop").on("click",t.proxy(this.__onResetToDesktopClick,this));this.resetToDesktopTRElement=i.closest("tr"),this.resetToDesktopGlobalElement=t("#n2-ss-reset-to-desktop").on("click",t.proxy(function(){"table-row"==this.resetToDesktopTRElement.css("display")&&i.trigger("click")},this));var n=t("#n2-ss-show-on-device").on("click",t.proxy(function(){this.toolboxForm["showField"+this.mode.charAt(0).toUpperCase()+this.mode.substr(1)].data("field").onoff.trigger("click")},this));this.globalShowOnDeviceCB=function(e){this.mode==e&&(1==this.toolboxForm["showField"+this.mode.charAt(0).toUpperCase()+this.mode.substr(1)].val()?n.addClass("n2-active"):n.removeClass("n2-active"))},this.toolboxForm.showFieldDesktopPortrait.on("nextendChange",t.proxy(this.globalShowOnDeviceCB,this,"desktopPortrait")),this.toolboxForm.showFieldDesktopLandscape.on("nextendChange",t.proxy(this.globalShowOnDeviceCB,this,"desktopLandscape")),this.toolboxForm.showFieldTabletPortrait.on("nextendChange",t.proxy(this.globalShowOnDeviceCB,this,"tabletPortrait")),this.toolboxForm.showFieldTabletLandscape.on("nextendChange",t.proxy(this.globalShowOnDeviceCB,this,"tabletLandscape")),this.toolboxForm.showFieldMobilePortrait.on("nextendChange",t.proxy(this.globalShowOnDeviceCB,this,"mobilePortrait")),this.toolboxForm.showFieldMobileLandscape.on("nextendChange",t.proxy(this.globalShowOnDeviceCB,this,"mobileLandscape")),this.__onChangeDeviceOrientation(),e.frontend.sliderElement.on("SliderDeviceOrientation",t.proxy(this.__onChangeDeviceOrientation,this)),e.frontend.sliderElement.on("SliderResize",t.proxy(this.__onResize,this))},a.prototype.refreshMode=function(){this.__onChangeDeviceOrientation(),e.frontend.responsive.reTriggerSliderDeviceOrientation()},a.prototype.__onChangeDeviceOrientation=function(){this.mode=this._getMode(),this.globalShowOnDeviceCB(this.mode),this.resetToDesktopTRElement.css("display","desktopPortrait"==this.mode?"none":"table-row"),this.resetToDesktopGlobalElement.css("display","desktopPortrait"==this.mode?"none":"");for(var e=0;e<this.layerList.length;e++)this.layerList[e].changeEditorMode(this.mode)},a.prototype.__onResize=function(e,t){for(var i=this.getSortedLayers(),n=0;n<i.length;n++)i[n].doLinearResize(t)},a.prototype.__onResetToDesktopClick=function(){if(-1!=this.activeLayerIndex){var e=this.getMode();this.layerList[this.activeLayerIndex].resetMode(e,e)}},a.prototype.copyOrResetMode=function(e){var t=this.getMode();if("desktopPortrait"!=e&&e==t)for(var i=0;i<this.layerList.length;i++)this.layerList[i].resetMode(e,t);else if("desktopPortrait"!=e&&"desktopPortrait"==t)for(var i=0;i<this.layerList.length;i++)this.layerList[i].resetMode(e,t);else if(e!=t)for(var i=0;i<this.layerList.length;i++)this.layerList[i].copyMode(t,e)},a.prototype.refreshSlideSize=function(){this.slideSize.width=e.frontend.dimensions.slide.width,this.slideSize.height=e.frontend.dimensions.slide.height},a.prototype._makeLayersOrderable=function(){this.layersOrderableElement=this.layersItemsElement.find(" > ul"),this.layersOrderableElement.sortable({axis:"y",helper:"clone",placeholder:"sortable-placeholder",forcePlaceholderSize:!0,tolerance:"pointer",items:".n2-ss-layer-row",start:function(e,i){t(i.item).data("startindex",i.item.index())},stop:t.proxy(function(i,n){var a=this.zIndexList.length-t(n.item).data("startindex")-1,s=this.zIndexList.length-t(n.item).index()-1;a!=s&&(this.zIndexList.splice(s,0,this.zIndexList.splice(a,1)[0]),this.reIndexLayers(),e.history.add(t.proxy(function(){return[this,"changeZIndex",[a,s],[s,a],[]]},this)))},this)})},a.prototype.reIndexLayers=function(){this.zIndexList=this.zIndexList.filter(function(e){return e!=n});for(var e=this.zIndexList.length-1;e>=0;e--)this.zIndexList[e].setZIndex(e)},a.prototype.initEvents=function(){var e=t("#n2-tab-events"),i=e.find("> table").css("display","none"),n=e.find(".n2-h3"),a=n.html(),s=t('<div class="n2-sidebar-row n2-sidebar-header-bg n2-form-dark n2-sets-header"><div class="n2-table"><div class="n2-tr"><div class="n2-td"><div class="n2-h3 n2-uc">'+a+'</div></div><div style="text-align: '+(nextend.isRTL()?"left":"right")+';" class="n2-td"></div></div></div></div>'),r=t('<a href="#" class="n2-button n2-button-medium n2-button-green n2-h5 n2-uc">'+n2_("Show")+"</a>").on("click",function(e){e.preventDefault(),r.hasClass("n2-button-green")?(i.css("display",""),r.html(n2_("Hide")),r.addClass("n2-button-grey"),r.removeClass("n2-button-green"),t.jStorage.set("n2-ss-events",1)):(i.css("display","none"),r.html(n2_("Show")),r.addClass("n2-button-green"),r.removeClass("n2-button-grey"),t.jStorage.set("n2-ss-events",0))});t.jStorage.get("n2-ss-events",0)&&(i.css("display",""),r.html(n2_("Hide")),r.addClass("n2-button-grey"),r.removeClass("n2-button-green")),n.replaceWith(s),r.appendTo(s.find(".n2-td").eq(1))},a.prototype.initSnapTo=function(){var e=new NextendElementOnoff("n2-ss-snap");t.jStorage.get("n2-ss-snap-to-enabled",1)||(e.insideChange(0),this.snapToDisable()),e.element.on("outsideChange",t.proxy(this.switchSnapTo,this))},a.prototype.switchSnapTo=function(e){e.preventDefault(),this.snapToEnabled?this.snapToDisable():this.snapToEnable()},a.prototype.snapToDisable=function(){this.snapToEnabled=!1,this.snapToChanged(0)},a.prototype.snapToEnable=function(){this.snapToEnabled=!0,this.snapToChanged(1)},a.prototype.snapToChanged=function(){for(var e=0;e<this.layerList.length;e++)this.layerList[e].snap();t.jStorage.set("n2-ss-snap-to-enabled",this.snapToEnabled)},a.prototype.getSnap=function(){return this.snapToEnabled?t(this.staticSlide?".n2-ss-static-slide .n2-ss-layer:not(.n2-ss-layer-locked):not(.n2-ss-layer-parent):visible":".n2-ss-slide.n2-ss-slide-active .n2-ss-layer:not(.n2-ss-layer-locked):not(.n2-ss-layer-parent):visible"):!1},a.prototype.initEditorTheme=function(){this.themeElement=t("#n2-tab-smartslider-editor"),this.themeButton=t("#n2-ss-theme").on("click",t.proxy(this.switchEditorTheme,this)),t.jStorage.get("n2-ss-theme-dark",0)&&(this.themeButton.addClass("n2-active"),this.themeElement.addClass("n2-ss-theme-dark"))},a.prototype.switchEditorTheme=function(){t.jStorage.set("n2-ss-theme-dark",!this.themeButton.hasClass("n2-active")),this.themeButton.toggleClass("n2-active"),this.themeElement.toggleClass("n2-ss-theme-dark")},a.prototype.initAlign=function(){var e=t("#n2-ss-horizontal-align .n2-radio-option"),i=t("#n2-ss-vertical-align .n2-radio-option");e.add(i).on("click",t.proxy(function(n){if(n.ctrlKey||n.metaKey){var a=t(n.currentTarget),s=a.hasClass("n2-sub-active"),r=a.data("align");switch(r){case"left":case"center":case"right":e.removeClass("n2-sub-active"),s?(t.jStorage.set("ss-item-horizontal-align",null),this.layerDefault.align=null):(t.jStorage.set("ss-item-horizontal-align",r),this.layerDefault.align=r,a.addClass("n2-sub-active"));break;case"top":case"middle":case"bottom":i.removeClass("n2-sub-active"),s?(t.jStorage.set("ss-item-vertical-align",null),this.layerDefault.valign=null):(t.jStorage.set("ss-item-vertical-align",r),this.layerDefault.valign=r,a.addClass("n2-sub-active"))}}else if(-1!=this.activeLayerIndex){var r=t(n.currentTarget).data("align");switch(r){case"left":case"center":case"right":this.horizontalAlign(r,!0);break;case"top":case"middle":case"bottom":this.verticalAlign(r,!0)}}},this)),this.toolboxForm.align.on("nextendChange",t.proxy(function(){switch(e.removeClass("n2-active"),this.toolboxForm.align.val()){case"left":e.eq(0).addClass("n2-active");break;case"center":e.eq(1).addClass("n2-active");break;case"right":e.eq(2).addClass("n2-active")}},this)),this.toolboxForm.valign.on("nextendChange",t.proxy(function(){switch(i.removeClass("n2-active"),this.toolboxForm.valign.val()){case"top":i.eq(0).addClass("n2-active");break;case"middle":i.eq(1).addClass("n2-active");break;case"bottom":i.eq(2).addClass("n2-active")}},this));var n=t.jStorage.get("ss-item-horizontal-align",null),a=t.jStorage.get("ss-item-vertical-align",null);null!=n&&(e.eq(o[n]).addClass("n2-sub-active"),this.layerDefault.align=n),null!=a&&(i.eq(o[a]).addClass("n2-sub-active"),this.layerDefault.valign=a)},a.prototype.horizontalAlign=function(e,t){this.toolboxForm.align.val()!=e?this.toolboxForm.align.data("field").options.eq(o[e]).trigger("click"):t&&this.toolboxForm.left.val(0).trigger("change")},a.prototype.verticalAlign=function(e,t){this.toolboxForm.valign.val()!=e?this.toolboxForm.valign.data("field").options.eq(o[e]).trigger("click"):t&&this.toolboxForm.top.val(0).trigger("change")},a.prototype.initParentLinker=function(){var e=this.toolboxForm.parentid.data("field");t("#n2-ss-parent-linker").on({click:function(t){e.click(t)},mouseenter:function(t){e.picker.trigger(t)},mouseleave:function(t){e.picker.trigger(t)}})},a.prototype.deleteLayers=function(){for(var e=this.zIndexList.length-1;e>=0;e--)this.zIndexList[e]["delete"]()},a.prototype.layerDeleted=function(e){this.reIndexLayers(),this.layerList.splice(e,1),this.afterLayerDeleted(e)},a.prototype.afterLayerDeleted=NextendThrottle(function(e){var t=this.getSelectedLayer();e===this.activeLayerIndex?(this.activeLayerIndex=-1,this.zIndexList.length>0?this.zIndexList[this.zIndexList.length-1].activate():this.changeActiveLayer(-1)):t&&(this.activeLayerIndex=t.getIndex())},50),a.prototype.getSortedLayers=function(){for(var e=this.layerList.slice(),t={},i=e.length-1;i>=0;i--)"undefined"!=typeof e[i].property.parentid&&e[i].property.parentid&&("undefined"==typeof t[e[i].property.parentid]&&(t[e[i].property.parentid]=[]),t[e[i].property.parentid].push(e[i]),e.splice(i,1));for(var i=0;i<e.length;i++)"undefined"!=typeof e[i].property.id&&e[i].property.id&&"undefined"!=typeof t[e[i].property.id]&&(t[e[i].property.id].unshift(0),t[e[i].property.id].unshift(i+1),e.splice.apply(e,t[e[i].property.id]),delete t[e[i].property.id]);return e},a.prototype.getActiveLayerData=function(){var e=[];return"undefined"!=typeof this.layerList[this.activeLayerIndex]?this.layerList[this.activeLayerIndex].getDataWithChildren(e):e},a.prototype.getHTML=function(){for(var e=t("<div></div>"),i=this.layerList,n=0;n<i.length;n++)e.append(i[n].getHTML(!0,!0));return e.html()},a.prototype.getData=function(){for(var e=[],t=this.layerList,i=0;i<t.length;i++)e.push(t[i].getData(!0));return e},a.prototype.loadData=function(i,n){e.history.add(t.proxy(function(){return[this,"fixActiveLayer","","",[]]},this));var a=t.extend(!0,[],i);n&&this.deleteLayers(),this._zIndexOffset=this.zIndexList.length,this._idTranslation={};for(var s=0;s<a.length;s++)this.loadSingleData(a[s]);this.reIndexLayers(),this.refreshMode(),-1==this.activeLayerIndex&&this.layerList.length>0&&this.layerList[0].activate(),e.history.add(t.proxy(function(){return[this,"fixActiveLayer","","",[]]},this))},a.prototype.loadSingleData=function(e){var i=t('<div class="n2-ss-layer"></div>').attr("style",e.style),n=i.css("zIndex");if("auto"!=n&&""!=n||(n=e.zIndex?e.zIndex:1),i.css("zIndex",n+this._zIndexOffset),e.id){var a=t.fn.uid();this._idTranslation[e.id]=a,i.attr("id",a)}e.parentid&&("undefined"!=typeof this._idTranslation[e.parentid]?e.parentid=this._idTranslation[e.parentid]:e.parentid="");for(var s=0;s<e.items.length;s++)t('<div class="n2-ss-item n2-ss-item-'+e.items[s].type+'"></div>').data("item",e.items[s].type).data("itemvalues",e.items[s].values).appendTo(i);delete e.style,delete e.items,e.animations=Base64.encode(JSON.stringify(e.animations));for(var r in e)i.data(r,e[r]);return this.addLayer(i,!1)},a.prototype.refreshLayers=function(){this.layers=this.layerContainerElement.find(s)},a.prototype.initToolbox=function(){this.toolboxElement=t("#smartslider-slide-toolbox-layer"),this.toolboxForm={id:t("#layerid"),parentid:t("#layerparentid"),parentalign:t("#layerparentalign"),parentvalign:t("#layerparentvalign"),left:t("#layerleft"),top:t("#layertop"),responsiveposition:t("#layerresponsive-position"),width:t("#layerwidth"),height:t("#layerheight"),responsivesize:t("#layerresponsive-size"),"class":t("#layerclass"),showFieldDesktopPortrait:t("#layershow-desktop-portrait"),showFieldDesktopLandscape:t("#layershow-desktop-landscape"),showFieldTabletPortrait:t("#layershow-tablet-portrait"),showFieldTabletLandscape:t("#layershow-tablet-landscape"),showFieldMobilePortrait:t("#layershow-mobile-portrait"),showFieldMobileLandscape:t("#layershow-mobile-landscape"),crop:t("#layercrop"),inneralign:t("#layerinneralign"),parallax:t("#layerparallax"),align:t("#layeralign"),valign:t("#layervalign"),fontsize:t("#layerfont-size"),adaptivefont:t("#layeradaptive-font"),mouseenter:t("#layeronmouseenter"),click:t("#layeronclick"),mouseleave:t("#layeronmouseleave"),play:t("#layeronplay"),pause:t("#layeronpause"),stop:t("#layeronstop")};for(var e in this.toolboxForm)this.toolboxForm[e].on("outsideChange",t.proxy(this.activateLayerPropertyChanged,this,e));this.responsive.isEnabled("desktop","Landscape")||this.toolboxForm.showFieldDesktopLandscape.closest(".n2-mixed-group").css("display","none"),this.responsive.isEnabled("tablet","Portrait")||this.toolboxForm.showFieldTabletPortrait.closest(".n2-mixed-group").css("display","none"),this.responsive.isEnabled("tablet","Landscape")||this.toolboxForm.showFieldTabletLandscape.closest(".n2-mixed-group").css("display","none"),this.responsive.isEnabled("mobile","Portrait")||this.toolboxForm.showFieldMobilePortrait.closest(".n2-mixed-group").css("display","none"),this.responsive.isEnabled("mobile","Landscape")||this.toolboxForm.showFieldMobileLandscape.closest(".n2-mixed-group").css("display","none")},a.prototype.activateLayerPropertyChanged=function(e,t){if(-1!=this.activeLayerIndex){var i=this.toolboxForm[e].val();this.layerList[this.activeLayerIndex].setProperty(e,i,"manager")}else{var n=this.toolboxForm[e].data("field");"undefined"!=typeof n&&null!==n&&n.insideChange("")}},a.prototype.getSelectedLayer=function(){return-1==this.activeLayerIndex?!1:this.layerList[this.activeLayerIndex]},a.prototype.changeActiveLayer=function(e){var i=this.activeLayerIndex;if(-1!=i){var n=this.layerList[i];n&&(n.$.off("propertyChanged.layerEditor"),n.deActivate())}if(this.activeLayerIndex=e,-1!=e){var n=this.layerList[e];n.$.on("propertyChanged.layerEditor",t.proxy(this.activeLayerPropertyChanged,this)),n.animation.activate();var a=n.property;for(var s in a)this.activeLayerPropertyChanged({target:n},s,a[s])}},a.prototype.activeLayerPropertyChanged=function(e,t,i){if("function"==typeof this["_formSet"+t])this["_formSet"+t](i,e.target);else{var n=this.toolboxForm[t].data("field");"undefined"!=typeof n&&n.insideChange(i)}},a.prototype._formSetname=function(e){},a.prototype._formSetnameSynced=function(e){},a.prototype._formSetdesktopPortrait=function(e,t){this.toolboxForm.showFieldDesktopPortrait.data("field").insideChange(e)},a.prototype._formSetdesktopLandscape=function(e,t){this.toolboxForm.showFieldDesktopLandscape.data("field").insideChange(e)},a.prototype._formSettabletPortrait=function(e,t){this.toolboxForm.showFieldTabletPortrait.data("field").insideChange(e)},a.prototype._formSettabletLandscape=function(e,t){this.toolboxForm.showFieldTabletLandscape.data("field").insideChange(e)},a.prototype._formSetmobilePortrait=function(e,t){this.toolboxForm.showFieldMobilePortrait.data("field").insideChange(e)},a.prototype._formSetmobileLandscape=function(e,t){this.toolboxForm.showFieldMobileLandscape.data("field").insideChange(e)},a.prototype["delete"]=function(){"undefined"!=typeof this.layerList[this.activeLayerIndex]&&this.layerList[this.activeLayerIndex]["delete"]()},a.prototype.duplicate=function(){"undefined"!=typeof this.layerList[this.activeLayerIndex]&&this.layerList[this.activeLayerIndex].duplicate(!0,!1)},a.prototype.copy=function(e){"undefined"==typeof e&&(e=this.getCopied());var i=nextend.smartSlider.layerManager.getActiveLayerData();if(i.length){for(e.unshift({name:i[0].name,layers:i});e.length>5;)e.pop();t.jStorage.set("copied",JSON.stringify(e))}},a.prototype.paste=function(e,t){"undefined"==typeof t&&(t=this.getCopied()),t.length&&"undefined"!=typeof t[e]&&nextend.smartSlider.layerManager.loadData(t[e].layers,!1)},a.prototype.getCopied=function(){var e=t.jStorage.get("copied");return null===e?[]:JSON.parse(e)},a.prototype.addContextMenu=function(){var e=this;t.contextMenu({selector:"#n2-ss-0",build:function(i,n){var a={};"undefined"!=typeof e.layerList[e.activeLayerIndex]&&(a["delete"]={name:"Delete layer",icon:"delete"},a.duplicate={name:"Duplicate layer",icon:"duplicate"},a.copy={name:"Copy layer",icon:"copy"});var s=e.getCopied();if(1==s.length)a.paste={name:"Paste layer",icon:"paste",callback:t.proxy(e.paste,this,0,s)};else if(s.length>1){for(var r={},o=0;o<s.length;o++)r["paste"+o]={name:s[o].name,callback:t.proxy(e.paste,this,o,s)};a.paste={name:"Paste layer",icon:"paste",items:r}}return t.isEmptyObject(a)?!1:{animation:{duration:0,show:"show",hide:"hide"},zIndex:1e6,callback:function(t,i){e[t]()},positionSubmenu:function(e){if(t.ui&&t.ui.position)e.css("display","block").position({my:"left+2 top",at:"right top",of:this,collision:"flipfit fit"}).css("display","");else{var i={top:0,left:this.outerWidth()};e.css(i)}},items:a}}})},a.prototype.history=function(e,t,i){switch(e){case"changeZIndex":this.zIndexList.splice(t[1],0,this.zIndexList.splice(t[0],1)[0]),this.reIndexLayers();break;case"fixActiveLayer":var n=this.getSelectedLayer();(0==n||n.isDeleted)&&-1==this.activeLayerIndex&&this.layerList.length>0&&this.zIndexList[this.zIndexList.length-1].activate()}},i.NextendSmartSliderAdminSlideLayerManager=a}(nextend.smartSlider,n2,window);
1
+ function strip_tags(e,t){t=(((t||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join("");var i=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,s=/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;return e.replace(s,"").replace(i,function(e,i){return t.indexOf("<"+i.toLowerCase()+">")>-1?e:""})}var NextendSmartSliderAdminStorage=function(){this.timelineManager=null,this.timelineControl=null,this.slide=null,this.frontend=null,this.generator=null,this.layerManager=null,this.history=null,this.oneSecWidth=200,this.oneSecMs=1e3,this.fps=20,this.pxToFrame=this.oneSecWidth/this.fps,this.$currentSlideElement=null};NextendSmartSliderAdminStorage.prototype.durationToOffsetX=function(e){return e*this.oneSecWidth},NextendSmartSliderAdminStorage.prototype.offsetXToDuration=function(e){return e/this.oneSecWidth},NextendSmartSliderAdminStorage.prototype.normalizeOffsetX=function(e){return Math.round(e/this.pxToFrame)*this.pxToFrame},NextendSmartSliderAdminStorage.prototype.startEditor=function(e,t,i,s,n,r){return null===this.slide&&window[e].started(function(){new SmartSliderAdminSlide(e,t,i,s,n,r)}),this.slide},window.nextend.pre="div#n2-ss-0 ",window.nextend.smartSlider=new NextendSmartSliderAdminStorage,function(e,t,i){function s(){this.type="backgroundanimation",NextendVisualManagerMultipleSelection.prototype.constructor.apply(this,arguments)}s.prototype=Object.create(NextendVisualManagerMultipleSelection.prototype),s.prototype.constructor=s,s.prototype.loadDefaults=function(){NextendVisualManagerMultipleSelection.prototype.loadDefaults.apply(this,arguments),this.type="backgroundanimation",this.labels={visual:"Background animation",visuals:"Background animations"}},s.prototype.initController=function(){return new NextendBackgroundAnimationEditorController},s.prototype.createVisual=function(e,t){return new NextendVisualWithSetRowMultipleSelection(e,t,this)},i.NextendBackgroundAnimationManager=s}(nextend.smartSlider,n2,window),function(e,t){function i(){this.parameters={shiftedBackgroundAnimation:0},NextendVisualEditorController.prototype.constructor.call(this,!1),this.bgAnimationElement=e(".n2-bg-animation"),this.slides=e(".n2-bg-animation-slide"),this.bgImages=e(".n2-bg-animation-slide-bg"),NextendTween.set(this.bgImages,{rotationZ:1e-4}),this.directionTab=new NextendElementRadio("n2-background-animation-preview-tabs",["0","1"]),this.directionTab.element.on("nextendChange.n2-editor",e.proxy(this.directionTabChanged,this)),nModernizr.csstransforms3d&&nModernizr.csstransformspreserve3d||nextend.notificationCenter.error("Background animations are not available in your browser. It works if the <i>transform-style: preserve-3d</i> feature available. ")}i.prototype=Object.create(NextendVisualEditorController.prototype),i.prototype.constructor=i,i.prototype.loadDefaults=function(){NextendVisualEditorController.prototype.loadDefaults.call(this),this.type="backgroundanimation",this.current=0,this.animationProperties=!1,this.direction=0},i.prototype.get=function(){return null},i.prototype.load=function(e,t,i,s){this.lightbox.addClass("n2-editor-loaded")},i.prototype.setTabs=function(e){},i.prototype.directionTabChanged=function(){this.direction=parseInt(this.directionTab.element.val())},i.prototype.start=function(){this.animationProperties&&(this.timeline?this.timeline.play():this.next())},i.prototype.pause=function(){this.timeline&&this.timeline.pause()},i.prototype.next=function(){this.timeline=new NextendTimeline({paused:!0,onComplete:e.proxy(this.ended,this)});var t=this.bgImages.eq(this.current),i=this.bgImages.eq(1-this.current);nModernizr.csstransforms3d&&nModernizr.csstransformspreserve3d?(this.currentAnimation=new window["NextendSmartSliderBackgroundAnimation"+this.animationProperties.type](this,t,i,this.animationProperties,1,this.direction),this.slides.eq(this.current).css("zIndex",2),this.slides.eq(1-this.current).css("zIndex",3),this.timeline.to(this.slides.eq(this.current),.5,{opacity:0},this.currentAnimation.getExtraDelay()),this.timeline.to(this.slides.eq(1-this.current),.5,{opacity:1},this.currentAnimation.getExtraDelay()),this.currentAnimation.postSetup()):(this.timeline.to(this.slides.eq(this.current),1.5,{opacity:0},0),this.timeline.to(this.slides.eq(1-this.current),1.5,{opacity:1},0)),this.current=1-this.current,this.timeline.play()},i.prototype.ended=function(){this.currentAnimation&&this.currentAnimation.ended(),this.next()},i.prototype.setAnimationProperties=function(e){var t=this.animationProperties;this.animationProperties=e,t||this.next()},t.NextendBackgroundAnimationEditorController=i}(n2,window),Array.prototype.filter||(Array.prototype.filter=function(e){"use strict";if(void 0===this||null===this)throw new TypeError;var t=Object(this),i=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var s=[],n=arguments[1],r=0;i>r;r++)if(r in t){var a=t[r];e.call(n,a,r,t)&&s.push(a)}return s}),function(e,t,i){function s(){this.$input=e('<input type="text" name="name" />').on({mouseup:function(e){e.stopPropagation()},keyup:e.proxy(function(e){27==e.keyCode&&this.cancel()},this),blur:e.proxy(this.save,this)}),this.$form=e('<form class="n2-inline-form"></form>').append(this.$input).on("submit",e.proxy(this.save,this))}s.prototype.injectNode=function(e,t){this.$input.val(t),e.append(this.$form),this.$input.focus()},s.prototype.save=function(e){e.preventDefault(),this.$input.trigger("valueChanged",[this.$input.val()]),this.$input.off("blur"),this.destroy()},s.prototype.cancel=function(){this.$input.trigger("cancel"),this.destroy()},s.prototype.destroy=function(){this.$input.off("blur"),this.$form.remove()},t.NextendSmartSliderAdminInlineField=s}(n2,window),function(e,t,i,s){"use strict";function n(){this.historyStates=50,this.isEnabled=0!=this.historyStates,this.historyAddAllowed=!0,this.isBatched=!1,this.index=-1,this.history=[],this.preventUndoRedo=!1,this.undoBTN=t("#n2-ss-undo").on("click",t.proxy(this.undo,this)),this.redoBTN=t("#n2-ss-redo").on("click",t.proxy(this.redo,this)),this.updateUI()}n.prototype.updateUI=function(){0==this.index||0==this.history.length?this.undoBTN.removeClass("n2-active"):this.undoBTN.addClass("n2-active"),-1==this.index||this.index>=this.history.length?this.redoBTN.removeClass("n2-active"):this.redoBTN.addClass("n2-active")},n.prototype.throttleUndoRedo=function(){return this.preventUndoRedo?!0:(this.preventUndoRedo=!0,setTimeout(t.proxy(function(){this.preventUndoRedo=!1},this),100),!1)},n.prototype.add=function(e){if(this.isEnabled&&this.historyAddAllowed){-1!=this.index&&this.history.splice(this.index,this.history.length),this.index=-1;var i=e();return this.isBatched?this.history[this.history.length-1].push(i):(this.history.push([i]),this.isBatched=!0,setTimeout(t.proxy(function(){this.isBatched=!1},this),100)),this.history.length>this.historyStates&&this.history.unshift(),this.updateUI(),i}},n.prototype.off=function(){this.historyAddAllowed=!1},n.prototype.on=function(){this.historyAddAllowed=!0},n.prototype.undo=function(e){if(e&&e.preventDefault(),this.throttleUndoRedo())return!1;if(this.off(),-1==this.index?this.index=this.history.length-1:this.index--,this.index>=0)for(var t=this.history[this.index],i=t.length-1;i>=0;i--){var s=t[i];s[0].history(s[1],s[3],s[4],s)}else this.index=0;this.on(),this.updateUI()},n.prototype.redo=function(e){if(e&&e.preventDefault(),this.throttleUndoRedo())return!1;if(this.off(),-1!=this.index&&this.index<this.history.length){var t=this.history[this.index];this.index++;for(var i=0;i<t.length;i++){var s=t[i];s[0].history(s[1],s[2],s[4],s)}}this.on(),this.updateUI()},n.prototype.changeFuture=function(e,t){for(var i=0;i<this.history.length;i++)for(var s=0;s<this.history[i].length;s++){this.history[i][s][0]===e&&(this.history[i][s][0]=t);for(var n=2;n<this.history[i][s].length;n++)for(var r=0;r<this.history[i][s][n].length;r++)this.history[i][s][n][r]===e&&(this.history[i][s][n][r]=t)}},n2(window).ready(function(){e.history=new n})}(nextend.smartSlider,n2,window),function(e,t,i){function s(t){var i=e("#n2-quick-slides-edit");i.length<1||(this.ajaxUrl=t,i.on("click",e.proxy(this.openEdit,this)))}s.prototype.openEdit=function(t){t.preventDefault();var i=e("#n2-ss-slides .n2-box-slide"),s=this;this.modal=new NextendModal({zero:{fit:!0,fitX:!1,overflow:"auto",size:[1200,700],title:n2_("Quick Edit - Slides"),back:!1,close:!0,content:'<form class="n2-form"><table></table></form>',controls:['<a href="#" class="n2-button n2-button-normal n2-button-l n2-radius-s n2-button-green n2-uc n2-h4">'+n2_("Save")+"</a>"],fn:{show:function(){var t=this.controls.find(".n2-button-green"),n=this.content.find(".n2-form").on("submit",function(e){e.preventDefault(),t.trigger("click")}),r=n.find("table");i.each(e.proxy(function(t,i){var n=e(i),a=e("<tr />").appendTo(r),o=n.data("slideid");a.append(e("<td />").append('<img src="'+n.data("image")+'" style="width:100px;"/>')),a.append(e("<td />").append(s.createInput("Name","title-"+o,n.data("title"),"width: 240px;"))),a.append(e("<td />").append(s.createTextarea("Description","description-"+o,n.data("description"),"width: 330px;height:24px;")));var l=n.data("link").split("|*|");a.append(e("<td />").append(s.createLink("Link","link-"+o,l[0],"width: 180px;"))),a.append(e("<td />").append(s.createTarget("Target","target-"+o,l.length>1?l[1]:"_self",""))),new NextendElementUrl("link-"+o,nextend.NextendElementUrlParams)},this)),t.on("click",e.proxy(function(t){var n={};i.each(e.proxy(function(t,i){var s=e(i),r=s.data("slideid"),a=e("#title-"+r).val(),o=e("#description-"+r).val(),l=e("#link-"+r).val()+"|*|"+e("#target-"+r).val();a==s.data("title")&&o==s.data("description")&&l==s.data("link")||(n[r]={name:a,description:o,link:l})},this)),jQuery.isEmptyObject(n)?this.hide(t):(this.hide(t),NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(s.ajaxUrl),data:{changed:Base64.encode(JSON.stringify(n))},dataType:"json"}).done(e.proxy(function(t){var i=t.data;for(var s in i){var n=e('.n2-box-slide[data-slideid="'+s+'"]');n.find(".n2-box-placeholder a.n2-h4").html(i[s].title),n.attr("data-title",i[s].rawTitle),n.data("title",i[s].rawTitle),n.attr("data-description",i[s].rawDescription),n.data("description",i[s].rawDescription),n.attr("data-link",i[s].rawLink),n.data("link",i[s].rawLink)}},this)))},this))}}}}),this.modal.setCustomClass("n2-ss-quick-slides-edit-modal"),this.modal.show()},s.prototype.createInput=function(t,i,s){var n="";4==arguments.length&&(n=arguments[3]);var r=e('<div class="n2-form-element-mixed"><div class="n2-mixed-group"><div class="n2-mixed-label"><label for="'+i+'">'+t+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-text n2-border-radius"><input type="text" id="'+i+'" class="n2-h5" autocomplete="off" style="'+n+'"></div></div></div></div>');return r.find("input").val(s),r},s.prototype.createTextarea=function(t,i,s){var n="";4==arguments.length&&(n=arguments[3]);var r=e('<div class="n2-form-element-mixed"><div class="n2-mixed-group"><div class="n2-mixed-label"><label for="'+i+'">'+t+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-textarea n2-border-radius"><textarea id="'+i+'" class="n2-h5" autocomplete="off" style="resize:y;'+n+'"></textarea></div></div></div></div>');return r.find("textarea").val(s),r},s.prototype.createLink=function(t,i,s){var n="";4==arguments.length&&(n=arguments[3]);var r=e('<div class="n2-form-element-mixed"><div class="n2-mixed-group"><div class="n2-mixed-label"><label for="'+i+'">'+t+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-text n2-border-radius"><input type="text" id="'+i+'" class="n2-h5" autocomplete="off" style="'+n+'"><a href="#" class="n2-form-element-clear"><i class="n2-i n2-it n2-i-empty n2-i-grey-opacity"></i></a><a id="'+i+'_button" class="n2-form-element-button n2-h5 n2-uc" href="#">Link</a></div></div></div></div>');return r.find("input").val(s),r},s.prototype.createTarget=function(t,i,s){var n="";4==arguments.length&&(n=arguments[3]);var r=e('<div class="n2-form-element-mixed"><div class="n2-mixed-group"><div class="n2-mixed-label"><label for="'+i+'">'+t+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select id="'+i+'" autocomplete="off" style="'+n+'"><option value="_self">Self</option><option value="_blank">Blank</option></select</div></div></div></div>');return r.find("select").val(s),r},t.NextendSmartSliderQuickSlides=s}(n2,window),function(e,t,i){function s(t){this.showGuides=1,this.guides=[],this.ratios={w:1,h:1},this.container=e('<div class="n2-ruler-container" />').appendTo("#smartslider-adjust-height .n2-ss-slider-outer-container"),this.scale=10,this.vertical=e('<div class="n2-ruler n2-ruler-vertical unselectable"></div>').appendTo(".n2-ss-slider-real-container"),this.horizontal=e('<div class="n2-ruler n2-ruler-horizontal unselectable"></div>').appendTo(this.container),this.verticalSpans=e(),this.horizontalSpans=e(),this.onResize(),nextend.smartSlider.frontend.sliderElement.on("SliderResize",e.proxy(this.onSliderResize,this)),e(window).on("resize",e.proxy(this.onResize,this)),this.positionDisplay=e('<div class="n2 n2-ss-position-display"/>').appendTo("body"),this.horizontal.on("mousedown",e.proxy(function(e){this.showGuides&&new r(this,this.horizontal,this.ratios.w,e)},this)),this.vertical.on("mousedown",e.proxy(function(e){this.showGuides&&new a(this,this.vertical,this.ratios.h,e)},this));try{t=e.extend({vertical:[],horizontal:[]},JSON.parse(Base64.decode(t)));for(var i=0;i<t.horizontal.length;i++){var s=new r(this,this.horizontal,this.ratios.w);s.setPosition(t.horizontal[i])}for(var i=0;i<t.vertical.length;i++){var s=new a(this,this.vertical,this.ratios.h);s.setPosition(t.vertical[i])}}catch(n){}nextend.ruler=this,this.measureToolVertical(),this.measureToolHorizontal()}function n(t,i,s,n){this.ruler=t,this.container=i,this.position=0,this.ratio=s,this.guide=e('<div class="n2-ruler-guide"><div class="n2-ruler-guide-border"></div><div class="n2-ruler-guide-handle"></div></div>').appendTo(i).on("mousedown",e.proxy(function(e){e.preventDefault(),e.stopPropagation(),nextend.smartSlider.layerManager.settings["n2-ss-lock-guides"]||this["delete"]()},this)),this.ruler.addGuide(this),n&&this.create(n)}function r(){n.prototype.constructor.apply(this,arguments)}function a(){n.prototype.constructor.apply(this,arguments)}s.prototype.addGuide=function(e){this.guides.push(e)},s.prototype.removeGuide=function(t){this.guides.splice(e.inArray(t,this.guides),1)},s.prototype.clearGuides=function(){for(var e=this.guides.length-1;e>=0;e--)this.guides[e]["delete"]()},s.prototype.onSliderResize=function(e,t){this.ratios=t;for(var i=0;i<this.guides.length;i++)this.guides[i].setRatio(t.w,t.h);this.onResize()},s.prototype.onResize=function(){var t=nextend.smartSlider.frontend.responsive.responsiveDimensions,i=Math.max(t.slider.width,e("#n2-tab-smartslider-editor").outerWidth(!0)-40),s=Math.max(t.slider.height,e("#n2-tab-smartslider-editor").outerHeight(!0));this.container.css({width:i+40,height:s+40});for(var n=this.horizontalSpans.length-3;n<i/this.scale;n++){var r=e("<span />").appendTo(this.horizontal);n%10==0?r.addClass("n2-ss-ruler-mark-large").append("<span>"+n/10*100+"</span>"):n%2==0&&r.addClass("n2-ss-ruler-mark-medium"),this.horizontalSpans=this.horizontalSpans.add(r)}for(var n=this.verticalSpans.length-3;n<s/this.scale;n++){var r=e("<span />").appendTo(this.vertical);n%10==0?r.addClass("n2-ss-ruler-mark-large").append("<span>"+n/10*100+"</span>"):n%2==0&&r.addClass("n2-ss-ruler-mark-medium"),this.verticalSpans=this.verticalSpans.add(r)}},s.prototype.toArray=function(){for(var e={horizontal:[],vertical:[]},t=0;t<this.guides.length;t++)this.guides[t]instanceof r?e.horizontal.push(this.guides[t].position):this.guides[t]instanceof a&&e.vertical.push(this.guides[t].position);return e},s.prototype.measureToolVertical=function(){var t=e('<div class="n2-ruler-guide" style="z-index:1;"><div class="n2-ruler-guide-border" style="border-color: #f00;"></div></div>').css("display","none").appendTo(this.vertical),i=!1,s=e.proxy(function(){i||(i=!0,t.css("display",""),this.positionDisplay.addClass("n2-active"))},this),n=e.proxy(function(){i&&(i=!1,t.css("display","none"),this.positionDisplay.removeClass("n2-active"))},this);this.vertical.on({mouseenter:e.proxy(function(i){if(this.showGuides){var r=0,a=Math.round(this.vertical.offset().top);s(),this.vertical.on("mousemove.n2-ruler-measure-tool",e.proxy(function(i){if(e(i.target).hasClass("n2-ruler-guide-border")&&e(i.target).parent()[0]!=t[0])n();else if(s(),r!=i.pageY){var o=i.pageY-a;t.css("top",o),this.positionDisplay.html(o-40+"px").css({left:i.pageX+10,top:i.pageY+10}),r=i.pageY}},this))}},this),mouseleave:e.proxy(function(){this.vertical.off(".n2-ruler-measure-tool"),n()},this)})},s.prototype.measureToolHorizontal=function(){var t=e('<div class="n2-ruler-guide" style="z-index:1;"><div class="n2-ruler-guide-border" style="border-color: #f00;"></div></div>').css("display","none").appendTo(this.horizontal),i=!1,s=e.proxy(function(){i||(i=!0,t.css("display",""),this.positionDisplay.addClass("n2-active"))},this),n=e.proxy(function(){i&&(i=!1,t.css("display","none"),this.positionDisplay.removeClass("n2-active"))},this);this.horizontal.on({mouseenter:e.proxy(function(i){if(this.showGuides){var r=0,a=Math.round(this.horizontal.offset().left);s(),this.horizontal.on("mousemove.n2-ruler-measure-tool",e.proxy(function(i){if(e(i.target).hasClass("n2-ruler-guide-border")&&e(i.target).parent()[0]!=t[0])n();else if(s(),r!=i.pageX){var o=Math.max(i.pageX-a,40);t.css("left",o),this.positionDisplay.html(o-40+"px").css({left:i.pageX+10,top:i.pageY+10}),r=i.pageX}},this))}},this),mouseleave:e.proxy(function(){this.horizontal.off(".n2-ruler-measure-tool"),n()},this)})},t.NextendSmartSliderRuler=s,n.prototype._position=function(e,t){return Math.max(0,e)},n.prototype.setPosition=function(e){this.position=e,this.refresh()},n.prototype.refresh=function(){this.positionRender(this.position)},n.prototype["delete"]=function(){this.ruler.removeGuide(this),this.guide.remove()},r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.create=function(e){var t=Math.round(this.container.offset().left)+40;this.position=this._position((e.pageX-t)/this.ratio,e),this.positionRender(this.position)},r.prototype.rawPositionRender=function(e){this.guide.css("left",Math.max(0,e)+40)},r.prototype.positionRender=function(e){this.guide.css("left",Math.max(0,e)*this.ratio+40)},r.prototype.setRatio=function(e,t){this.ratio=t,this.refresh()},a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.prototype.create=function(e){var t=Math.round(this.container.offset().top)+40;this.position=this._position((e.pageY-t)/this.ratio,e),this.positionRender(this.position)},a.prototype.rawPositionRender=function(e){this.guide.css("top",Math.max(0,e)+40)},a.prototype.positionRender=function(e){this.guide.css("top",Math.max(0,e)*this.ratio+40)},a.prototype.setRatio=function(e,t){this.ratio=e,this.refresh()}}(n2,window),function(e,t,i){function s(t,i,s,r,a,o){this.quickPostModal=null,this.quickVideoModal=null,this.parameters=s,this.slides=[],this.ajaxUrl=t,this.contentAjaxUrl=i,this.slidesPanel=e("#n2-ss-slides-container"),this.slidesContainer=this.slidesPanel.find(".n2-ss-slides-container"),this.initMenu(),this.initSlidesOrderable();for(var l=this.slidesContainer.find(".n2-box-slide"),d=0;d<l.length;d++)this.slides.push(new n(this,l.eq(d)));if(e("html").attr("data-slides",this.slides.length),e(".n2-add-quick-image, .n2-box-slide-dummy").on("click",e.proxy(this.addQuickImage,this)),e(".n2-add-quick-video").on("click",e.proxy(this.addQuickVideo,this)),e(".n2-add-quick-post").on("click",e.proxy(this.addQuickPost,this)),this.initBulk(),!r){var h=[];this.slidesContainer.fileupload({url:a,pasteZone:!1,dataType:"json",paramName:"image",dropZone:e("undefined"==typeof nextend.smartSlider?document:".n2-ss-slides-outer-container"),add:e.proxy(function(e,t){t.formData={path:"/"+o},t.submit()},this),done:e.proxy(function(e,t){var i=t.result;i.data&&i.data.name?h.push({title:i.data.name,description:"",image:i.data.url}):NextendAjaxHelper.notification(i)},this),fail:e.proxy(function(e,t){NextendAjaxHelper.notification(t.jqXHR.responseJSON)},this),start:function(){NextendAjaxHelper.startLoading()},stop:e.proxy(function(){h.length?this._addQuickImages(h):setTimeout(function(){NextendAjaxHelper.stopLoading()},100),h=[]},this)});var p=null;this.slidesContainer.on("dragover",e.proxy(function(t){null!==p?(clearTimeout(p),p=null):this.slidesContainer.addClass("n2-drag-over"),p=setTimeout(e.proxy(function(){this.slidesContainer.removeClass("n2-drag-over"),p=null},this),400)},this))}}function n(t,i){this.selected=!1,this.manager=t,this.box=i.data("slide",this).addClass("n2-clickable"),this.box.on("mouseenter",e.proxy(function(){this.manager.showMenu(this)},this)).on("mouseleave",e.proxy(function(){this.manager.hideMenu()},this)).on("click.n2-slide",e.proxy(this.goToEdit,this)),this.publishElement=this.box.find(".n2-slide-published").on("click",e.proxy(this.switchPublished,this)),this.box.find(".n2-ss-box-select").on("click",e.proxy(function(e){e.stopPropagation(),e.preventDefault(),this.invertSelection()},this))}s.prototype.changed=function(){},s.prototype.initSlidesOrderable=function(){this.slidesContainer.sortable({helper:"clone",forcePlaceholderSize:!1,tolerance:"pointer",items:".n2-box-slide",start:function(e,t){t.item.show()},stop:e.proxy(this.saveSlideOrder,this),placeholder:"n2-box-sortable-placeholder n2-box-sortable-placeholder-small",distance:10})},s.prototype.saveSlideOrder=function(t){for(var i=this.slidesContainer.find(".n2-box-slide"),s=[],n=[],r=[],a=0;a<i.length;a++){var o=i.eq(a).data("slide");s.push(o),n.push(o.getId())}for(var a=0;a<this.slides.length;a++)r.push(this.slides[a].getId());if(JSON.stringify(r)!=JSON.stringify(n)){e(window).triggerHandler("SmartSliderSidebarSlidesOrderChanged");var l={nextendcontroller:"slides",nextendaction:"order"};NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,l),data:{slideorder:n}}),this.slides=s,this.changed()}},s.prototype.initSlides=function(){for(var t=(this.slides.length,this.slidesContainer.find(".n2-box-slide")),i=[],s=0;s<t.length;s++){var n=t.eq(s).data("slide");i.push(n)}this.slides=i,this.changed(),e(window).triggerHandler("SmartSliderSidebarSlidesChanged"),e("html").attr("data-slides",this.slides.length)},s.prototype.unsetFirst=function(){for(var e=0;e<this.slides.length;e++)this.slides[e].unsetFirst();this.changed()},s.prototype.addQuickImage=function(t){t.preventDefault(),nextend.imageHelper.openMultipleLightbox(e.proxy(this._addQuickImages,this))},s.prototype.addBoxes=function(t){t.insertBefore(this.slidesContainer.find(".n2-clear")),t.addClass("n2-ss-box-just-added").each(e.proxy(function(t,i){new n(this,e(i))},this)),this.initSlides(),setTimeout(function(){t.removeClass("n2-ss-box-just-added")},200)},s.prototype._addQuickImages=function(t){NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"quickImages"}),data:{images:Base64.encode(JSON.stringify(t))}}).done(e.proxy(function(t){this.addBoxes(e(t.data))},this))},s.prototype.addQuickVideo=function(t){t.preventDefault();var i=this;this.quickVideoModal||(this.quickVideoModal=new NextendModal({zero:{size:[500,350],title:n2_("Add video"),back:!1,close:!0,content:'<form class="n2-form"></form>',controls:['<a href="#" class="n2-button n2-button-normal n2-button-l n2-radius-s n2-button-green n2-uc n2-h4">'+n2_("Add video")+"</a>"],fn:{show:function(){var t=this.controls.find(".n2-button"),s=(this.content.find(".n2-form").on("submit",function(e){e.preventDefault(),t.trigger("click")}).append(this.createInput(n2_("Video url"),"n2-slide-video-url","width: 446px;")),this.content.find("#n2-slide-video-url").focus());this.content.append(this.createHeading(n2_("Examples"))),this.content.append(this.createTable([["YouTube","https://www.youtube.com/watch?v=MKmIwHAFjSU"],["Vimeo","https://vimeo.com/144598279"]],["",""])),t.on("click",e.proxy(e.proxy(function(t){t.preventDefault();var n=s.val(),r=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/,a=n.match(r),o=/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/,l=n.match(o),d=n.match(/\.(mp4|ogv|ogg|webm)/i);a?NextendAjaxHelper.getJSON("https://www.googleapis.com/youtube/v3/videos?id="+encodeURI(a[2])+"&part=snippet&key=AIzaSyC3AolfvPAPlJs-2FgyPJdEEKS6nbPHdSM").done(e.proxy(function(e){if(e.items.length){var t=e.items[0].snippet,s=e.items[0].snippet.thumbnails,r=s.maxres||s.standard||s.high||s.medium||s["default"];i._addQuickVideo(this,{type:"youtube",title:t.title,description:t.description,image:r.url,video:n})}},this)).fail(function(e){nextend.notificationCenter.error(e.error.errors[0].message)}):l?NextendAjaxHelper.getJSON("https://vimeo.com/api/v2/video/"+l[3]+".json").done(e.proxy(function(e){i._addQuickVideo(this,{type:"vimeo",title:e[0].title,description:e[0].description,video:l[3],image:e[0].thumbnail_large})},this)).fail(function(e){nextend.notificationCenter.error(e.responseText)}):d?nextend.notificationCenter.error("This video url is not supported!"):nextend.notificationCenter.error("This video url is not supported!")},this)))}}}})),this.quickVideoModal.show()},s.prototype._addQuickVideo=function(t,i){NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"quickVideo"}),data:{video:Base64.encode(JSON.stringify(i))}}).done(e.proxy(function(t){this.addBoxes(e(t.data)),this.initSlides()},this)),t.hide()},s.prototype.addQuickPost=function(t){if(t.preventDefault(),!this.quickPostModal){var i=this,s={},n=e.proxy(function(e){return"undefined"==typeof s[e]&&(s[e]=NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.contentAjaxUrl),data:{keyword:e},dataType:"json"})),s[e]},this);this.quickPostModal=new NextendModal({zero:{size:[600,430],title:n2_("Add post"),back:!1,close:!0,content:'<div class="n2-form"></div>',fn:{show:function(){this.content.find(".n2-form").append(this.createInput(n2_("Keyword"),"n2-ss-keyword","width:546px;"));var t=e("#n2-ss-keyword"),s=this.createHeading("").appendTo(this.content),r=this.createResult().appendTo(this.content),a="";t.on("keyup",e.proxy(function(){a=t.val(),n(a).done(e.proxy(function(n){if(t.val()==a){""==a?s.html(n2_("No search term specified. Showing recent items.")):s.html(n2_printf(n2_('Showing items match for "%s"'),a));for(var o=n.data,l=[],d=this,h=0;h<o.length;h++)l.push([o[h].title,o[h].info,e('<div class="n2-button n2-button-normal n2-button-xs n2-button-green n2-radius-s n2-uc n2-h5">'+n2_("Select")+"</div>").on("click",{post:o[h]},function(e){i._addQuickPost(d,e.data.post)})]);r.html(""),this.createTable(l,["width:100%;","",""]).appendTo(this.createTableWrap().appendTo(r))}},this))},this)).trigger("keyup").focus()}}}})}this.quickPostModal.show()},s.prototype._addQuickPost=function(t,i){i.image||(i.image=""),NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"quickPost"}),data:{post:i}}).done(e.proxy(function(t){this.addBoxes(e(t.data)),this.initSlides()},this)),t.hide()},s.prototype.initBulk=function(){this.selection=[],this.isBulkSelection=!1;var t=e(".n2-bulk-select").find("a");t.eq(0).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.select()})},this)),t.eq(1).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.deSelect()})},this)),t.eq(2).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.box.hasClass("n2-slide-state-published")?e.select():e.deSelect()})},this)),t.eq(3).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.box.hasClass("n2-slide-state-published")?e.deSelect():e.select()})},this));var i=e(".n2-bulk-actions").find("a");i.eq(0).on("click",e.proxy(function(e){e.preventDefault(),this.bulkAction("deleteSlides")},this)),i.eq(1).on("click",e.proxy(function(e){e.preventDefault(),this.bulkAction("duplicateSlides")},this)),i.eq(2).on("click",e.proxy(function(e){e.preventDefault(),this.bulkAction("publishSlides")},this)),i.eq(3).on("click",e.proxy(function(e){e.preventDefault(),this.bulkAction("unPublishSlides")},this))},s.prototype.addSelection=function(e){0==this.selection.length&&this.enterBulk(),this.selection.push(e)},s.prototype.removeSelection=function(t){this.selection.splice(e.inArray(t,this.selection),1),0==this.selection.length&&this.leaveBulk()},s.prototype.bulkSelect=function(e){for(var t=0;t<this.slides.length;t++)e(this.slides[t])},s.prototype.bulkAction=function(e){var t=[],i=[];this.bulkSelect(function(e){e.selected&&(t.push(e),i.push(e.getId()))}),i.length?this[e](i,t):nextend.notificationCenter.notice("Please select one or more slides for the action!")},s.prototype.enterBulk=function(){this.isBulkSelection||(this.isBulkSelection=!0,this.slidesContainer.sortable("option","disabled",!0),e("#n2-admin").addClass("n2-ss-has-box-selection"))},s.prototype.leaveBulk=function(){if(this.isBulkSelection){this.slidesContainer.sortable("option","disabled",!1),e("#n2-admin").removeClass("n2-ss-has-box-selection");for(var t=0;t<this.slides.length;t++)this.slides[t].deSelect();this.selection=[],this.isBulkSelection=!1}},s.prototype.deleteSlides=function(t,i){this.hideMenu();var s=i[0].box.find(".n2-box-placeholder-title a").text();i.length>1&&(s+=" and "+(i.length-1)+" more"),NextendDeleteModal("slide-delete",s,e.proxy(function(){NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"delete"}),type:"POST",data:{slides:t}}).done(e.proxy(function(){for(var e=0;e<i.length;e++)i[e].deleted();this.initSlides(),this.leaveBulk()},this))},this))},s.prototype.duplicateSlides=function(t,i){for(var s=0;s<this.slides.length;s++)this.slides[s].selected&&this.slides[s].duplicate(e.Event("click",{currentTarget:null}))},s.prototype.publishSlides=function(t,i){NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"publish"}),type:"POST",data:{slides:t}}).done(e.proxy(function(){for(var e=0;e<i.length;e++)i[e].published();this.changed()},this))},s.prototype.unPublishSlides=function(t,i){NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"unpublish"}),type:"POST",data:{slides:t}}).done(e.proxy(function(){for(var e=0;e<i.length;e++)i[e].unPublished();this.changed()},this))},s.prototype.initMenu=function(){this.slide=null,this.menu=e("#n2-ss-slide-menu").detach().addClass("n2-inited"),this.menuActions={publish:this.menu.find(".n2-ss-publish").on("click",e.proxy(function(e){this.slide.switchPublished(e)},this)),unpublish:this.menu.find(".n2-ss-unpublish").on("click",e.proxy(function(e){this.slide.switchPublished(e)},this)),generator:this.menu.find(".n2-ss-generator").on("click",e.proxy(function(e){e.preventDefault(),e.stopPropagation(),window.location=this.slide.box.data("generator")},this)),duplicate:this.menu.find(".n2-ss-duplicate").on("click",e.proxy(function(e){this.slide.duplicate(e)},this)),"delete":this.menu.find(".n2-ss-delete").on("click",e.proxy(function(e){this.slide["delete"](e)},this)),setFirst:this.menu.find(".n2-ss-setFirst").on("click",e.proxy(function(e){this.slide.setFirst(e)},this)),saveLayout:this.menu.find(".n2-ss-saveLayout")},this.menu.find(".n2-button").on("click",e.proxy(function(t){t.preventDefault(),t.stopPropagation(),this.menu.hasClass("n2-active")?this.menu.removeClass("n2-active").off("mouseleave"):this.menu.addClass("n2-active").on("mouseleave",function(){e(this).removeClass("n2-active")})},this))},s.prototype.showMenu=function(e){this.slide=e,this.menu.appendTo(e.box)},s.prototype.hideMenu=function(){this.menu.detach()},t.NextendSmartSliderAdminSidebarSlides=s,n.prototype.getId=function(){return this.box.data("slideid")},n.prototype.setFirst=function(t){
2
+ t.stopPropagation(),t.preventDefault(),NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.manager.ajaxUrl,{nextendaction:"first"}),type:"POST",data:{id:this.getId()}}).done(e.proxy(function(){this.manager.unsetFirst(),this.box.addClass("n2-slide-state-first")},this))},n.prototype.unsetFirst=function(){this.box.removeClass("n2-slide-state-first")},n.prototype.switchPublished=function(e){e.stopPropagation(),e.preventDefault(),this.isPublished()?this.manager.unPublishSlides([this.getId()],[this]):this.manager.publishSlides([this.getId()],[this])},n.prototype.isPublished=function(){return this.box.hasClass("n2-slide-state-published")},n.prototype.published=function(){this.box.addClass("n2-slide-state-published")},n.prototype.unPublished=function(){this.box.removeClass("n2-slide-state-published")},n.prototype.goToEdit=function(e,t){var i=this.box.data("editurl");"undefined"!=typeof t&&t?window.open(i,"_blank"):i==location.href?n2("#n2-admin").toggleClass("n2-ss-slides-outer-container-visible"):window.location=i},n.prototype.duplicate=function(t){t.stopPropagation(),t.preventDefault();var i=e.Deferred();return NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.box.data("editurl"),{nextendaction:"duplicate"})}).done(e.proxy(function(t){var s=e(t.data).insertAfter(this.box),r=new n(this.manager,s);this.manager.initSlides(),i.resolve(r)},this)),i},n.prototype["delete"]=function(e){e.stopPropagation(),e.preventDefault(),this.manager.deleteSlides([this.getId()],[this])},n.prototype.deleted=function(){this.box.remove()},n.prototype.invertSelection=function(e){e&&e.preventDefault(),this.selected?this.deSelect():this.select()},n.prototype.select=function(){this.selected||(this.selected=!0,this.box.addClass("n2-selected"),this.manager.addSelection(this))},n.prototype.deSelect=function(){this.selected&&(this.selected=!1,this.box.removeClass("n2-selected"),this.manager.removeSelection(this))},t.NextendSmartSliderAdminSlide=n}(n2,window),function(e,t,i,s){function n(i){this.detachedPosition={left:t.jStorage.get("ssPanelLeft")||100,top:t.jStorage.get("ssPanelTop")||100,height:t.jStorage.get("ssPanelHeight")||400},this.autoPosition=t.jStorage.get("ssPanelAutoPosition",1),this.lastHeight=this.detachedPosition.height,this.admin=t("#n2-admin"),this.sidebar=t("#n2-ss-slide-sidebar").on("mousedown",t.proxy(nextend.context.setMouseDownArea,nextend.context,"sidebarClicked")),this.title=this.sidebar.find(".n2-panel-titlebar-title"),this.sidebarTD=this.sidebar.parent(),this.layerManager=i,e.sidebarManager=this,this.editorPanel=t(".n2-ss-editor-panel"),this.views={layerEdit:t("#n2-ss-layer-edit")},this.viewPanes={layerEdit:t("#n2-tabbed-slide-editor-settings > .n2-tabs").addClass("n2-scrollable")};for(var s in this.viewPanes)this.viewPanes[s].on("DOMMouseScroll mousewheel",function(e){var i=!1;e.originalEvent&&(e.originalEvent.wheelDelta&&(i=e.originalEvent.wheelDelta/-1<0),e.originalEvent.deltaY&&(i=e.originalEvent.deltaY<0),e.originalEvent.detail&&(i=e.originalEvent.detail<0));var s=function(){return e.stopPropagation(),e.preventDefault(),e.returnValue=!1,!1};return!i&&this.scrollHeight<=t(this).innerHeight()+this.scrollTop+1?s():i&&0>=this.scrollTop-1?s():void 0});this.panelHeading=t("#n2-tabbed-slide-editor-settings").find(".n2-sidebar-tab-switcher .n2-td");var n=this.sidebar.find(".n2-panel-titlebar-nav-right");this.magnet=t('<a href="#"><i class="n2-i n2-i-magnet n2-i-grey-opacity" data-n2tip="Auto position layer window"></i></a>').on("click",t.proxy(function(e){e.preventDefault(),this.magnetize()},this)).css("display","none").appendTo(n),t('<a href="#"><i class="n2-i n2-i-closewindow n2-i-grey-opacity"></i></a>').on("click",t.proxy(function(e){e.preventDefault(),this.hide()},this)).appendTo(n),nextend.tooltip.add(n);var r=t("#n2-ss-slide-vertical-bar");t(".n2-ss-add-layer-button").on("click",function(e){e.preventDefault(),r.toggleClass("n2-active")}),t(".n2-ss-core-item").on("click",function(e){r.removeClass("n2-active")});var a=t("#wpadminbar, .navbar-fixed-top").height()+t(".n2-top-bar").height();this.$verticalBarInner=t(".n2-ss-slide-vertical-bar-inner").each(function(){var e=t(this);e.fixTo(e.parent(),{top:a})}),this.$resizeInnerContainer=t("#n2-ss-layers-switcher_0, #n2-ss-layers-switcher_1"),this.extraHeightToRemove=60,this.$resizeInnerContainer.length||(this.extraHeightToRemove=0,this.$resizeInnerContainer=this.$verticalBarInner),this.$resizeInnerContainer.css("overflow","auto"),this.detach(),t("#n2-admin").on("resize",t.proxy(this.resizeVerticalBar,this)),t(window).on("resize",t.proxy(this.onResize,this))}n.prototype.magnetize=function(){if(!this.autoPosition){this.autoPosition=1,t.jStorage.set("ssPanelAutoPosition",1),this.magnet.css("display","none");var e=this.layerManager.getSelectedLayer();e&&e.positionSidebar()}},n.prototype.show=function(e,i){this.setTitle(e.property.name),t("body").addClass("n2-ss-layer-edit-visible"),this.autoPosition&&this.sidebar.position({my:"left top",at:"right+10 top",collision:"flipfit",of:i.is(":visible")?i:"#n2-ss-layer-list"})},n.prototype._show=function(){t("body").addClass("n2-ss-layer-edit-visible")},n.prototype.hide=function(){t("body").removeClass("n2-ss-layer-edit-visible")},n.prototype.hideWithDeferred=function(e){t("body").hasClass("n2-ss-layer-edit-visible")&&(this.hide(),e.done(t.proxy(this._show,this)))},n.prototype.setTitle=function(e){this.title.html(e)},n.prototype.getLayerEditExcludedHeight=function(){return 85},n.prototype.resizeVerticalBar=function(){this.$resizeInnerContainer.height((window.innerHeight||document.documentElement.clientHeight)-(t("#n2-ss-layers").is(":visible")&&t("#n2-ss-layers").hasClass("n2-active")?t("#n2-ss-layers").height():0)-t("#wpadminbar, .navbar-fixed-top").height()-t(".n2-top-bar").height()-this.extraHeightToRemove)},n.prototype.onResize=function(){this.sidebar.css("display","block"),this.resizeVerticalBar();var e=window.innerHeight||document.documentElement.clientHeight,t=this.sidebar.height()-this.getLayerEditExcludedHeight();this.viewPanes.layerEdit.height(t);var i={},s=window.innerWidth||document.documentElement.clientWidth,n=this.sidebar[0].getBoundingClientRect();n.left<0?i.left=0:n.left+n.width>s&&(i.left=Math.max(0,s-n.width)),n.height>e-n.top&&(i.top=e-n.top-n.height+n.top,i.top<0&&(this.lastHeight=i.height=n.height+i.top,i.top=0)),this.sidebar.css(i),this.sidebar.css("display","")},n.prototype.detach=function(){this.autoPosition?(this.sidebar.css("height",this.detachedPosition.height),this.magnet.css("display","none")):(this.sidebar.css(this.detachedPosition),this.magnet.css("display","inline-block")),this.sidebar.appendTo(this.admin),this.admin.addClass("n2-sidebar-hidden"),t(window).off(".n2-ss-panel"),this.sidebar.removeClass("n2-sidebar-fixed"),this.sidebar.draggable({distance:5,handle:".n2-panel-titlebar",containment:"window",stop:t.proxy(function(e,i){this.sidebar.css("height",this.lastHeight);var s=this.sidebar[0].getBoundingClientRect();this.detachedPosition.left=s.left,this.detachedPosition.top=s.top,t.jStorage.set("ssPanelLeft",s.left),t.jStorage.set("ssPanelTop",s.top),this.autoPosition=0,t.jStorage.set("ssPanelAutoPosition",0),this.magnet.css("display","inline-block")},this),scroll:!1}).resizable({distance:5,handles:"s",stop:t.proxy(function(e,i){this.lastHeight=this.detachedPosition.height=this.sidebar.height(),t.jStorage.set("ssPanelHeight",this.detachedPosition.height)},this),create:t.proxy(function(e,i){t(e.target).find(".ui-resizable-handle").addClass("n2-ss-panel-resizer")},this)}),this.onResize(),nextend.triggerResize()},n.prototype.switchTab=function(e){this.panelHeading.filter('[data-tab="'+e+'"]').trigger("click")},i.NextendSmartSliderSidebar=n}(nextend.smartSlider,n2,window),function(e,t,i,s){function n(i,s,n,r,a,o){this.options=t.extend({slideAsFile:0},o),this.readyDeferred=t.Deferred(),e.slide=this,this._warnInternetExplorerUsers(),this.$slideContentElement=t("#"+s),this.$slideGuidesElement=t("#slideguides"),this.slideStartValue=this.$slideContentElement.val(),this.$sliderElement=t("#"+i),e.frontend=window["n2-ss-0"],e.ruler=new NextendSmartSliderRuler(this.$slideGuidesElement.val()),e.frontend.visible(function(){t("body").addClass("n2-ss-slider-visible");var e=t("#n2-tab-smartslider-editor"),i=e.tinyscrollbar({axis:"x",wheel:!1,wheelLock:!1}).data("plugin_tinyscrollbar");"function"==typeof e.get(0).move&&(e.get(0).move=null),this.sliderElement.on("SliderResize",function(){i.update("relative")})});var l=this.$sliderElement.data("fontsize");nextend.fontManager.setFontSize(l),nextend.styleManager.setFontSize(l),e.$currentSlideElement=e.frontend.adminGetCurrentSlideElement(),new SmartSliderAdminGenerator,e.$currentSlideElement.addClass("n2-ss-currently-edited-slide");var d=e.frontend.parameters.isStaticEdited;new NextendSmartSliderAdminSlideLayerManager(e.$currentSlideElement.data("slide"),d,n,r,a),d||this._initializeBackgroundChanger(),this.readyDeferred.resolve(),t("#smartslider-form").on({checkChanged:t.proxy(this.prepareFormForCheck,this),submit:t.proxy(this.onSlideSubmit,this)}),this.createHistory()}n.prototype.ready=function(e){this.readyDeferred.done(e)},n.prototype.prepareFormForCheck=function(){var t=JSON.stringify(e.layerManager.getData()),i=JSON.stringify(JSON.parse(Base64.decode(this.slideStartValue)));this.$slideContentElement.val(i==t?this.slideStartValue:Base64.encode(t))},n.prototype.onSlideSubmit=function(e){if(!nextend.isPreview)if(this.prepareForm(),e.preventDefault(),nextend.askToSave=!1,this.options.slideAsFile&&typeof window.FormData!==s&&"undefined"!=typeof window.File){var i=new FormData,n=t("#smartslider-form").serializeArray();t.each(n,function(e,t){"slide[slide]"==t.name?i.append("slide",new File([t.value],"slide.txt")):i.append(t.name,t.value)}),NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(window.location.href),type:"POST",data:i,contentType:!1,processData:!1}).done(t.proxy(this.afterSave,this))}else NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(window.location.href),data:t("#smartslider-form").serialize(),dataType:"json"}).done(t.proxy(this.afterSave,this))},n.prototype.afterSave=function(){nextend.askToSave=!0,t("#smartslider-form").trigger("saved"),t(".n2-ss-edit-slide-top-details .n2-h1").html(t("#slidetitle").val())},n.prototype.prepareForm=function(){this.$slideGuidesElement.val(Base64.encode(JSON.stringify(e.ruler.toArray()))),this.$slideContentElement.val(Base64.encode(JSON.stringify(e.layerManager.getData())))},n.prototype._initializeBackgroundChanger=function(){this.background={type:t("#slidebackground-type").on("nextendChange",t.proxy(this.__onAfterBackgroundTypeChange,this)),slideBackgroundColorField:t("#slidebackgroundColor").on("nextendChange",t.proxy(this.__onAfterBackgroundColorChange,this)),slideBackgroundGradientField:t("#slidebackgroundGradient").on("nextendChange",t.proxy(this.__onAfterBackgroundColorChange,this)),slideBackgroundColorEndField:t("#slidebackgroundColorEnd").on("nextendChange",t.proxy(this.__onAfterBackgroundColorChange,this)),slideBackgroundImageField:t("#slidebackgroundImage").on("nextendChange",t.proxy(this.__onAfterBackgroundImageChange,this)),slideBackgroundImageOpacity:t("#slidebackgroundImageOpacity").on("nextendChange",t.proxy(this.__onAfterBackgroundImageOpacityChange,this)),slidebackgroundFocusX:t("#slidebackgroundFocusX").on("nextendChange",t.proxy(this.__onAfterBackgroundImageChange,this)),slidebackgroundFocusY:t("#slidebackgroundFocusY").on("nextendChange",t.proxy(this.__onAfterBackgroundImageChange,this)),slideBackgroundModeField:t("#slidebackgroundMode").on("nextendChange",t.proxy(this.__onAfterBackgroundImageChange,this)),backgroundImageElement:e.$currentSlideElement.find(".nextend-slide-bg"),canvas:e.$currentSlideElement.find(".n2-ss-slide-background")},this.currentBackgroundType=this.background.type.val();var i=t("#slidethumbnail");if(""==i.val()){var s=t("#item_imageimage"),n=t.proxy(function(e){""!=e&&"$system$/images/placeholder/image.png"!=e&&(i.val(e).trigger("change"),this.background.slideBackgroundImageField.off(".slidethumbnail"),s.off(".slidethumbnail"))},this);this.background.slideBackgroundImageField.on("nextendChange.slidethumbnail",t.proxy(function(){n(this.background.slideBackgroundImageField.val())},this)),s.on("nextendChange.slidethumbnail",t.proxy(function(){n(s.val())},this))}},n.prototype.__onAfterBackgroundTypeChange=function(){var t=this.background.type.val();switch(this.currentBackgroundType=t,t){case"image":this.__onAfterBackgroundImageChange();break;case"video":this.__onAfterBackgroundImageChange();break;case"color":e.$currentSlideElement.data("slideBackground").changeDesktop("","",this.background.slideBackgroundModeField.val(),this.background.slidebackgroundFocusX.val(),this.background.slidebackgroundFocusY.val()),this.__onAfterBackgroundColorChange()}},n.prototype.__onAfterBackgroundColorChange=function(){var e=this.background.slideBackgroundColorField.val(),t=this.background.slideBackgroundGradientField.val();if("off"!=t){var i=this.background.slideBackgroundColorEndField.val(),s=this.background.canvas.css({background:"",filter:""});switch(t){case"horizontal":s.css("background","#"+e.substr(0,6)).css("background","-moz-linear-gradient(left, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background"," -webkit-linear-gradient(left, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background","linear-gradient(to right, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background","filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#"+e.substr(0,6)+"', endColorstr='#"+i.substr(0,6)+"',GradientType=1)");break;case"vertical":s.css("background","#"+e.substr(0,6)).css("background","-moz-linear-gradient(top, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background"," -webkit-linear-gradient(top, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background","linear-gradient(to bottom, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background","filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#"+e.substr(0,6)+"', endColorstr='#"+i.substr(0,6)+"',GradientType=0)");break;case"diagonal1":s.css("background","#"+e.substr(0,6)).css("background","-moz-linear-gradient(45deg, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background"," -webkit-linear-gradient(45deg, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background","linear-gradient(45deg, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background","filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#"+e.substr(0,6)+"', endColorstr='#"+i.substr(0,6)+"',GradientType=1)");break;case"diagonal2":s.css("background","#"+e.substr(0,6)).css("background","-moz-linear-gradient(-45deg, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background"," -webkit-linear-gradient(-45deg, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background","linear-gradient(-45deg, "+N2Color.hex2rgbaCSS(e)+" 0%,"+N2Color.hex2rgbaCSS(i)+" 100%)").css("background","filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#"+e.substr(0,6)+"', endColorstr='#"+i.substr(0,6)+"',GradientType=1)")}}else"00"==e.substr(6,8)?this.background.canvas.css("background",""):this.background.canvas.css("background","#"+e.substr(0,6)).css("background",N2Color.hex2rgbaCSS(e))},n.prototype.__onAfterBackgroundImageChange=function(){e.$currentSlideElement.data("slideBackground").changeDesktop(e.generator.fill(this.background.slideBackgroundImageField.val()),"",this.background.slideBackgroundModeField.val(),this.background.slidebackgroundFocusX.val(),this.background.slidebackgroundFocusY.val()),this.__onAfterBackgroundImageOpacityChange()},n.prototype.__onAfterBackgroundImageOpacityChange=function(){e.$currentSlideElement.data("slideBackground").setOpacity(this.background.slideBackgroundImageOpacity.val()/100)},n.prototype._warnInternetExplorerUsers=function(){var e=this.__isInternetExplorer();e&&10>e&&alert(window.ss2lang.The_editor_was_tested_under_Internet_Explorer_10_Firefox_and_Chrome_Please_use_one_of_the_tested_browser)},n.prototype.__isInternetExplorer=function(){var e=navigator.userAgent.toLowerCase();return-1!=e.indexOf("msie")?parseInt(e.split("msie")[1]):!1},n.prototype.getLayout=function(){for(var i=t("#smartslider-form").serializeArray(),s={},n=0;n<i.length;n++){var r=i[n].name.match(/slide\[(.*?)\]/);r&&(s[r[1]]=i[n].value)}return delete s.generator,delete s.published,delete s.publishdates,delete s["record-start"],delete s["record-slides"],delete s.slide,s.slide=e.layerManager.getData(),s},n.prototype.loadLayout=function(i,s,n){var r=i.slide;if(delete i.slide,n?e.layerManager.loadData(r,!0):e.layerManager.loadData(r,!1),s)for(var a in i)t("#slide"+a).val(i[a]).trigger("change");i.slide=r},n.prototype.createHistory=function(){this.slideValues={},n2("#smartslider-form").find('input[id][name^="slide"], textarea[id][name^="slide"]').not("#slideslide").each(t.proxy(function(i,s){var n=t(s),r=n.data("field"),a=n.attr("id");this.slideValues[a]=n.val(),n.on("nextendChange",t.proxy(function(){var i=n.val(),s=this.slideValues[a];this.slideValues[a]=i,e.history.add(t.proxy(function(){return[this,"slideValueChange",i,s,[n,r]]},this))},this))},this))},n.prototype.history=function(e,t,i){switch(e){case"slideValueChange":i[1].insideChange(t)}},i.SmartSliderAdminSlide=n}(nextend.smartSlider,n2,window),function(e,t,i,s){function n(e){this.key="n2-ss-editor-device-lock-mode",this.devices={unknownUnknown:t("<div />")},this.responsives=[e],e.setOrientation("portrait"),e.parameters.onResizeEnabled=0,e.parameters.forceFull=0,e._getDevice=e._getDeviceZoom,this.lock=t("#n2-ss-lock").on("click",t.proxy(this.switchLock,this));var i=e.parameters.sliderWidthToDevice.desktopPortrait;this.container=e.containerElement.closest(".n2-ss-container-device").addBack(),this.container.width(i),this.containerWidth=i,this.initZoom();var s=t("#n2-ss-devices .n2-tr"),n=e.parameters.deviceModes;this.devices.desktopPortrait=t('<div class="n2-td n2-panel-option" data-device="desktop" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-desktop"></i></div>').prependTo(s),n.desktopLandscape?this.devices.desktopLandscape=t('<div class="n2-td n2-panel-option" data-device="desktop" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-desktop-landscape"></i></div>').prependTo(s):this.devices.desktopLandscape=this.devices.desktopPortrait,n.tabletPortrait?this.devices.tabletPortrait=t('<div class="n2-td n2-panel-option" data-device="tablet" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-tablet"></i></div>').prependTo(s):this.devices.tabletPortrait=this.devices.desktopPortrait,n.tabletLandscape?this.devices.tabletLandscape=t('<div class="n2-td n2-panel-option" data-device="tablet" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-tablet-landscape"></i></div>').prependTo(s):this.devices.tabletLandscape=this.devices.desktopLandscape,n.mobilePortrait?this.devices.mobilePortrait=t('<div class="n2-td n2-panel-option" data-device="mobile" data-orientation="portrait"><i class="n2-i n2-it n2-i-v-mobile"></i></div>').prependTo(s):this.devices.mobilePortrait=this.devices.tabletPortrait,n.mobileLandscape?this.devices.mobileLandscape=t('<div class="n2-td n2-panel-option" data-device="mobile" data-orientation="landscape"><i class="n2-i n2-it n2-i-v-mobile-landscape"></i></div>').prependTo(s):this.devices.mobileLandscape=this.devices.tabletLandscape,this.deviceOptions=t("#n2-ss-devices .n2-panel-option"),this.deviceOptions.each(t.proxy(function(e,i){t(i).on({mousedown:t.proxy(nextend.context.setMouseDownArea,nextend.context,"zoomDeviceClicked"),click:t.proxy(this.setDeviceMode,this)})},this)),e.sliderElement.on("SliderDeviceOrientation",t.proxy(this.onDeviceOrientationChange,this))}var r=null;nextend.ssBeforeResponsive=function(){r=new n(this),nextend.ssBeforeResponsive=function(){r.add(this)}},n.prototype.add=function(e){this.responsives.push(e),e.setOrientation("portrait"),e.parameters.onResizeEnabled=0,e.parameters.forceFull=0,e._getDevice=e._getDeviceZoom},n.prototype.onDeviceOrientationChange=function(e,i){t("#n2-admin").removeClass("n2-ss-mode-"+i.lastDevice+i.lastOrientation).addClass("n2-ss-mode-"+i.device+i.orientation),this.devices[i.lastDevice+i.lastOrientation].removeClass("n2-active"),this.devices[i.device+i.orientation].addClass("n2-active")},n.prototype.setDeviceMode=function(i){var s=t(i.currentTarget);if((i.ctrlKey||i.metaKey)&&e.layerManager){var n=s.data("orientation");e.layerManager.copyOrResetMode(s.data("device")+n[0].toUpperCase()+n.substr(1))}else for(var r=0;r<this.responsives.length;r++)this.responsives[r].setOrientation(s.data("orientation")),this.responsives[r].setMode(s.data("device"),this.responsives[0])},n.prototype.switchLock=function(e){e.preventDefault(),this.lock.toggleClass("n2-active"),this.lock.hasClass("n2-active")?(this.setZoomSyncMode(),this.zoomChange(this.zoom.slider("value"),"sync",!1),t.jStorage.set(this.key,"sync")):(this.setZoomFixMode(),t.jStorage.set(this.key,"fix"))},n.prototype.initZoom=function(){var e=t("#n2-ss-slider-zoom");if(e.length>0){"undefined"!=typeof e[0].slide&&(e[0].slide=null),this.zoom=e.removeAttr("slide").slider({range:"min",step:1,value:1,min:0,max:102}),this.responsives[0].sliderElement.on("SliderResize",t.proxy(this.sliderResize,this)),"fix"==t.jStorage.get(this.key,"sync")?this.setZoomFixMode():(this.setZoomSyncMode(),this.lock.addClass("n2-active"));var i=e.parent(),s=t.proxy(function(e){var t=this.zoom.slider("value");this.zoom.slider("value",t+e)},this),n=null,r=t.proxy(function(e){s(e),n=setInterval(t.proxy(s,this,e),40)},this);i.find(".n2-i-minus").on({mousedown:t.proxy(r,this,-1),"mouseup mouseleave":function(){n&&(clearInterval(n),n=null)}}),i.find(".n2-i-plus").on({mousedown:t.proxy(r,this,1),"mouseup mouseleave":function(){n&&(clearInterval(n),n=null)}})}},n.prototype.sliderResize=function(e,t){this.setZoom()},n.prototype.setZoomFixMode=function(){this.zoom.off(".n2-ss-zoom").on({"slide.n2-ss-zoom":t.proxy(this.zoomChangeFixMode,this),"slidechange.n2-ss-zoom":t.proxy(this.zoomChangeFixMode,this)})},n.prototype.setZoomSyncMode=function(){this.zoom.off(".n2-ss-zoom").on({"slide.n2-ss-zoom":t.proxy(this.zoomChangeSyncMode,this),"slidechange.n2-ss-zoom":t.proxy(this.zoomChangeSyncMode,this)})},n.prototype.zoomChangeFixMode=function(e,t){this.zoomChange(t.value,"fix",t)},n.prototype.zoomChangeSyncMode=function(e,t){this.zoomChange(t.value,"sync",t)},n.prototype.zoomChange=function(e,t,i){var s=1;50>e?s=nextend.smallestZoom/this.containerWidth+Math.max(e/50,0)*(1-nextend.smallestZoom/this.containerWidth):e>52&&(s=1+(e-52)/50);var n=parseInt(s*this.containerWidth);this.container.width(n);for(var r=1;r<this.responsives.length;r++)this.responsives[r].containerElement.width(n);for(var r=0;r<this.responsives.length;r++)switch(t){case"sync":this.responsives[r].doResize();break;default:this.responsives[r].doResize(!0)}i&&(i.handle.innerHTML=n+"px")},n.prototype.setZoom=function(){var e=this.responsives[0].containerElement.width()/this.containerWidth,t=50;1>e?t=(e-nextend.smallestZoom/this.containerWidth)/(1-nextend.smallestZoom/this.containerWidth)*50:e>1&&(t=50*(e-1)+52);this.zoom.slider("value");this.zoom.slider("value",t)}}(nextend.smartSlider,n2,window),function(e,t){function i(t,i){this.addToGroupModal=null,this.groupID=t,this.ajaxUrl=i,e(".n2-ss-create-slider").click(e.proxy(function(e){e.preventDefault(),e.stopImmediatePropagation(),this.showModal()},this)),this.notificationStack=new NextendNotificationCenterStackModal(e("body")),e(".n2-ss-add-sample-slider").click(e.proxy(function(e){e.preventDefault(),e.stopImmediatePropagation(),this.showDemoSliders()},this)),"createslider"==window.location.hash.substring(1)&&this.showModal()}i.prototype.showModal=function(){if(!this.createSliderModal){var t=this,i=this.ajaxUrl,s=[];s.push({key:"default",name:n2_("Default"),image:"$ss$/admin/images/sliderpresets/default.png"}),s.push({key:"fullwidth",name:n2_("Full width"),image:"$ss$/admin/images/sliderpresets/fullwidth.png"}),s.push({key:"thumbnailhorizontal",name:n2_("Thumbnail - horizontal"),image:"$ss$/admin/images/sliderpresets/thumbnailhorizontal.png"}),this.createSliderModal=new NextendModal({zero:{size:[N2SSPRO?750:550,N2SSPRO?630:520],title:n2_("Create Slider"),back:!1,close:!0,content:'<form class="n2-form"></form>',controls:['<a href="#" class="n2-button n2-button-normal n2-button-l n2-radius-s n2-button-green n2-uc n2-h4">'+n2_("Create")+"</a>"],fn:{show:function(){var n=this.controls.find(".n2-button-green"),r=this.content.find(".n2-form").on("submit",function(e){e.preventDefault(),n.trigger("click")});r.append(this.createInput(n2_("Slider name"),"createslidertitle","width: 240px;")),r.append(this.createInputUnit(n2_("Width"),"createsliderwidth","px","width: 30px;")),r.append(this.createInputUnit(n2_("Height"),"createsliderheight","px","width: 30px;")),new NextendElementAutocompleteSimple("createsliderwidth",["1920","1200","1000","800","600","400"]),new NextendElementAutocompleteSimple("createsliderheight",["800","600","500","400","300","200"]);var a=e("#createslidertitle").val(n2_("Slider")).focus(),o=e("#createsliderwidth").val(900),l=e("#createsliderheight").val(500);o.parent().addClass("n2-form-element-autocomplete ui-front"),l.parent().addClass("n2-form-element-autocomplete ui-front"),this.createHeading(n2_("Preset")).appendTo(this.content);var d=this.createImageRadio(s).css("height",N2SSPRO?360:100).appendTo(this.content),h=d.find("input");d.css("overflow","hidden"),this.createHeading(n2_("Import Sample Sliders")).appendTo(this.content),e('<div class="n2-ss-create-slider-free-sample" style="background-image: url(\''+nextend.imageHelper.fixed("$ss$/admin/images/free/sample1.png")+'\')"></div><div class="n2-ss-create-slider-free-sample" style="background-image: url(\''+nextend.imageHelper.fixed("$ss$/admin/images/free/sample2.png")+'\')"></div><div class="n2-ss-create-slider-free-sample" style="background-image: url(\''+nextend.imageHelper.fixed("$ss$/admin/images/free/sample3.png")+"')\"></div>").on("click",e.proxy(function(){this.hide(),t.showDemoSliders()},this)).appendTo(this.content),n.on("click",e.proxy(function(){NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(i,{nextendaction:"create"}),data:{groupID:t.groupID,sliderTitle:a.val(),sliderSizeWidth:o.val(),sliderSizeHeight:l.val(),preset:h.val()},dataType:"json"}).done(e.proxy(function(e){NextendAjaxHelper.startLoading()},this))},this))}}}})}this.createSliderModal.show()},i.prototype.showDemoSliders=function(){var t=this;e("body").css("overflow","hidden");var i=0,s=e('<iframe src="//smartslider3.com/demo-import/?pro='+i+"&version="+N2SS3VERSION+"&utm_campaign="+N2SS3C+"&utm_source=import-slider-frame&utm_medium=smartslider-"+N2PLATFORM+"-"+(i?"pro":"free")+'" frameborder="0"></iframe>').css({position:"fixed",zIndex:1e5,left:0,top:0,width:"100%",height:"100%"}).appendTo("body"),n=function(){e("body").css("overflow",""),s.remove(),window.removeEventListener("message",a,!1),t.notificationStack.popStack()},r=function(e){NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(t.ajaxUrl,{nextendaction:"importDemo"}),data:{groupID:t.groupID,key:Base64.encode(e.replace(/^(http(s)?:)?\/\//,"//"))},dataType:"json"}).fail(function(){})},a=function(e){if("http://smartslider3.com"===e.origin||"https://smartslider3.com"===e.origin){var t=e.data;switch(t.key){case"importSlider":return void("function"==typeof nextend.joinCommunity?nextend.joinCommunity(function(){r(t.data.href)}):r(t.data.href));case"closeWindow":n()}}};this.notificationStack.enableStack(),NextendEsc.add(e.proxy(function(){return n(),!0},this)),window.addEventListener("message",a,!1)},t.NextendSmartSliderCreateSlider=i}(n2,window),function(e,t){function i(t,i){this.preventSort=!1,this.groupID=t,this.ajaxUrl=i,this.sliders=[],this.sliderPanel=e("#n2-ss-slider-container"),this.orderBy="ordering"==this.sliderPanel.data("orderby"),this.slidersContainer=this.sliderPanel.find(".n2-ss-sliders-container");for(var s=this.slidersContainer.find(".n2-ss-box-slider"),n=0;n<s.length;n++)this.sliders.push(new NextendSmartSliderAdminSlider(this,s.eq(n)));this.changed(),this.initMenu(),this.initOrderable(),this.create=new NextendSmartSliderCreateSlider(t,i),this.initBulk()}i.prototype.changed=function(){e("html").attr("data-sliders",this.sliders.length)},i.prototype.initSliders=function(){for(var t=(this.sliders.length,this.slidersContainer.find(".n2-ss-box-slider")),i=[],s=0;s<t.length;s++){var n=t.eq(s).data("slider");i.push(n)}this.sliders=i,this.changed(),e(window).triggerHandler("SmartSliderSidebarSlidersChanged")},i.prototype.initOrderable=function(){this.orderBy&&this.slidersContainer.sortable({helper:"clone",forcePlaceholderSize:!1,tolerance:"pointer",connectWith:".n2-ss-box-slider-group",items:".n2-ss-box-slider",start:function(e,t){t.item.show()},stop:e.proxy(this.saveOrder,this),placeholder:"n2-box-sortable-placeholder",distance:10})},i.prototype.saveOrder=function(t){if(this.preventSort)return this.slidersContainer.sortable("cancel"),void(this.preventSort=!1);for(var i=this.slidersContainer.find(".n2-ss-box-slider"),s=[],n=[],r=[],a=0;a<i.length;a++){var o=i.eq(a).data("slider");s.push(o),n.push(o.getId())}for(var a=0;a<this.sliders.length;a++)r.push(this.sliders[a].getId());if(JSON.stringify(r)!=JSON.stringify(n)){e(window).triggerHandler("SmartSliderSidebarSlidersOrderChanged");var l={nextendcontroller:"sliders",nextendaction:"order"};NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,l),data:{groupID:this.groupID,sliderorder:n,isReversed:"DESC"==this.sliderPanel.data("orderbydirection")?1:0}}),this.sliders=s}},i.prototype.initMenu=function(){this.slider=null,this.menu=e("#n2-ss-slider-menu").detach().addClass("n2-inited"),this.menuActions={addToGroup:this.menu.find(".n2-ss-add-to-group").on("click",e.proxy(function(e){e.stopPropagation(),e.preventDefault(),this.addToGroup([this.slider.getId()])},this)),removeFromGroup:this.menu.find(".n2-ss-remove-from-group").on("click",e.proxy(function(e){e.stopPropagation(),e.preventDefault(),this.removeFromGroup([this.slider.getId()])},this)),duplicate:this.menu.find(".n2-ss-duplicate").on("click",e.proxy(function(e){this.slider.duplicate(e)},this)),"delete":this.menu.find(".n2-ss-delete").on("click",e.proxy(function(e){this.slider["delete"](e)},this)),preview:this.menu.find(".n2-ss-preview").on("click",e.proxy(function(e){this.slider.preview(e)},this))},this.menu.find(".n2-button").on("click",e.proxy(function(t){t.preventDefault(),t.stopPropagation(),this.menu.hasClass("n2-active")?this.menu.removeClass("n2-active").off("mouseleave"):this.menu.addClass("n2-active").on("mouseleave",function(){e(this).removeClass("n2-active")})},this))},i.prototype.showMenu=function(e){this.slider=e,this.menu.appendTo(e.box)},i.prototype.hideMenu=function(){this.menu.hasClass("n2-active")&&this.menu.removeClass("n2-active").off("mouseleave"),this.menu.detach()},i.prototype.deleteSliders=function(t,i){this.hideMenu();var s=i[0].box.find(".n2-box-placeholder-title a").text();i.length>1&&(s+=" and "+(i.length-1)+" more"),NextendDeleteModal("slider-delete",s,e.proxy(function(){NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendcontroller:"sliders",nextendaction:"delete"}),type:"POST",data:{sliders:t}}).done(e.proxy(function(){for(var e=0;e<i.length;e++)i[e].deleted();this.initSliders(),this.leaveBulk()},this))},this))},i.prototype.duplicateSliders=function(t,i){for(var s=0;s<this.sliders.length;s++)this.sliders[s].selected&&this.sliders[s].duplicate(e.Event("click",{currentTarget:null}))},i.prototype.exportSliders=function(t,i){window.location.href=NextendAjaxHelper.makeFallbackUrl(this.ajaxUrl,{
3
+ nextendcontroller:"sliders",nextendaction:"exportAll"})+"&"+e.param({sliders:t,currentGroupID:this.groupID})},i.prototype.initBulk=function(){this.selection=[],this.isBulkSelection=!1;var t=e(".n2-bulk-select").find("a");t.eq(0).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.select()})},this)),t.eq(1).on("click",e.proxy(function(e){e.preventDefault(),this.bulkSelect(function(e){e.deSelect()})},this));e(".n2-bulk-actions").find("a").on("click",e.proxy(function(t){switch(t.preventDefault(),e(t.currentTarget).data("action")){case"duplicate":this.bulkAction("duplicateSliders",!1);break;case"delete":this.bulkAction("deleteSliders",!1);break;case"export":this.bulkAction("exportSliders",!1);break;case"addToGroup":this.bulkAction("addToGroup",!0)}},this))},i.prototype.addSelection=function(e){0==this.selection.length&&this.enterBulk(),this.selection.push(e)},i.prototype.removeSelection=function(t){this.selection.splice(e.inArray(t,this.selection),1),0==this.selection.length&&this.leaveBulk()},i.prototype.bulkSelect=function(e){for(var t=0;t<this.sliders.length;t++)e(this.sliders[t])},i.prototype.bulkAction=function(e,t){var i=[],s=[];this.bulkSelect(function(e){!e.selected||t&&e.isGroup||(i.push(e),s.push(e.getId()))}),s.length?(this[e](s,i),this.leaveBulk()):t?nextend.notificationCenter.notice("Please select one or more sliders for the action!"):nextend.notificationCenter.notice("Please select one or more sliders or groups for the action!")},i.prototype.enterBulk=function(){this.isBulkSelection||(this.isBulkSelection=!0,this.orderBy&&this.slidersContainer.sortable("option","disabled",!0),e("#n2-admin").addClass("n2-ss-has-box-selection"))},i.prototype.leaveBulk=function(){if(this.isBulkSelection){this.orderBy&&this.slidersContainer.sortable("option","disabled",!1),e("#n2-admin").removeClass("n2-ss-has-box-selection");for(var t=0;t<this.sliders.length;t++)this.sliders[t].deSelect();this.selection=[],this.isBulkSelection=!1}},i.prototype.removeFromGroup=function(t){return NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"removeFromGroup"}),data:{currentGroupID:this.groupID,sliders:t},dataType:"json"}).done(e.proxy(function(i){for(var s=0;s<t.length;s++)e('[data-sliderid="'+t[s]+'"]').data("slider").deleted();this.initSliders()},this))},i.prototype._addToGroup=function(t,i,s){return NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendaction:"addToGroup"}),data:{currentGroupID:this.groupID,groupID:i,action:t,sliders:s},dataType:"json"}).done(e.proxy(function(n){if("move"==t){for(var r=0;r<s.length;r++)e('[data-sliderid="'+s[r]+'"]').data("slider").deleted();this.initSliders()}var a=e('[data-sliderid="'+i+'"] .n2-box-placeholder-buttons .n2-button-grey');a.html(parseInt(a.html())+s.length)},this))},i.prototype.addToGroup=function(t){var i=null,s=this,n=(this.ajaxUrl,new NextendModal({zero:{size:[350,220],title:n2_("Add to group"),back:!1,close:!0,content:'<form class="n2-form"></form>',controls:['<div class="n2-button n2-button-with-actions n2-button-l n2-button-green n2-radius-s n2-h4"><a class="n2-button-inner" href="#" data-action="move">'+n2_("Move")+'</a><div class="n2-button-menu-open"><i class="n2-i n2-i-buttonarrow"></i><div class="n2-button-menu"><div class="n2-button-menu-inner n2-border-radius"><a class="n2-h4" href="#" data-action="copy">'+n2_("Copy")+'</a><a class="n2-h4" href="#" data-action="link">'+n2_("Link")+"</a></div></div></div></div>"],fn:{show:function(){this.controls.find(".n2-button-menu-open").n2opener();var n=this.controls.find("a"),r=this.content.find(".n2-form").on("submit",function(e){e.preventDefault(),n.eq(0).trigger("click")});r.append(this.createSelect(n2_("Group"),"choosegroup",i,"width:300px;"));var a=e("#choosegroup");n.on("click",e.proxy(function(i){i.preventDefault(),s._addToGroup(e(i.currentTarget).data("action"),a.val(),t).done(e.proxy(function(){this.hide(i)},this))},this))}}}}));NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendcontroller:"sliders",nextendaction:"listGroups"}),dataType:"json"}).done(e.proxy(function(t){i=t.data,"undefined"!=typeof i[this.groupID]&&delete i[this.groupID],e.isEmptyObject(i)?(e("body").on({"groupAdded.addToGroup":e.proxy(function(){e("body").off(".addToGroup"),NextendAjaxHelper.ajax({type:"POST",url:NextendAjaxHelper.makeAjaxUrl(this.ajaxUrl,{nextendcontroller:"sliders",nextendaction:"listGroups"}),dataType:"json"}).done(e.proxy(function(e){i=e.data,"undefined"!=typeof i[this.groupID]&&delete i[this.groupID],n.show()},this))},this),"groupAddCanceled.addToGroup":e.proxy(function(){e("body").off(".addToGroup")},this)}),this.createGroup.showModal()):n.show()},this))},t.NextendSmartSliderManageSliders=i}(n2,window),function(e,t){function i(t,i){this.selected=!1,this.manager=t,this.box=i.data("slider",this).addClass("n2-clickable"),this.isGroup=this.box.hasClass("n2-ss-box-slider-group"),this.box.on("mouseenter",e.proxy(function(){this.manager.showMenu(this)},this)).on("mouseleave",e.proxy(function(){this.manager.hideMenu()},this)).on("click.n2-slider",e.proxy(this.goToEdit,this)),this.box.find(".n2-ss-box-select").on("click",e.proxy(function(e){e.stopPropagation(),e.preventDefault(),this.invertSelection()},this))}i.prototype.getId=function(){return this.box.data("sliderid")},i.prototype.goToEdit=function(e,t){var i=this.box.data("editurl");"undefined"!=typeof t&&t?window.open(i,"_blank"):window.location=i},i.prototype.preview=function(e){e.stopPropagation(),e.preventDefault(),window.open(NextendAjaxHelper.makeFallbackUrl(this.box.data("editurl"),{nextendcontroller:"preview",nextendaction:"index"}),"_blank")},i.prototype.duplicate=function(t){t.stopPropagation(),t.preventDefault();var s=e.Deferred();return NextendAjaxHelper.ajax({url:NextendAjaxHelper.makeAjaxUrl(this.box.data("editurl"),{nextendcontroller:"slider",nextendaction:"duplicate"})}).done(e.proxy(function(t){var n=e(t.data).insertAfter(this.box),r=new i(this.manager,n);this.manager.initSliders(),s.resolve(r)},this)),s},i.prototype["delete"]=function(e){e.stopPropagation(),e.preventDefault(),this.manager.deleteSliders([this.getId()],[this])},i.prototype.deleted=function(){this.box.remove()},i.prototype.invertSelection=function(e){e&&e.preventDefault(),this.selected?this.deSelect():this.select()},i.prototype.select=function(){this.selected||(this.selected=!0,this.box.addClass("n2-selected"),this.manager.addSelection(this))},i.prototype.deSelect=function(){this.selected&&(this.selected=!1,this.box.removeClass("n2-selected"),this.manager.removeSelection(this))},t.NextendSmartSliderAdminSlider=i}(n2,window),function(e,t){function i(t,i){this.element=e("#"+t),this.managerIdentifier=i,this.element.parent().on("click",e.proxy(this.show,this)),this.element.siblings(".n2-form-element-clear").on("click",e.proxy(this.clear,this)),this.name=this.element.siblings("input"),this.updateName(this.element.val()),NextendElement.prototype.constructor.apply(this,arguments)}function s(){i.prototype.constructor.apply(this,arguments)}i.prototype=Object.create(NextendElement.prototype),i.prototype.constructor=i,i.prototype.show=function(t){t.preventDefault(),nextend[this.managerIdentifier].show(this.element.val(),e.proxy(this.save,this))},i.prototype.clear=function(e){e.preventDefault(),e.stopPropagation(),this.val("")},i.prototype.save=function(e,t){this.val(t)},i.prototype.val=function(e){this.element.val(e),this.updateName(e),this.triggerOutsideChange()},i.prototype.insideChange=function(e){this.element.val(e),this.updateName(e),this.triggerInsideChange()},i.prototype.updateName=function(e){e=""==e?n2_("Disabled"):e.split("||").length>1?n2_("Multiple animations"):n2_("Single animation"),this.name.val(e)},t.NextendElementAnimationManager=i,s.prototype=Object.create(i.prototype),s.prototype.constructor=s,s.prototype.clear=function(e){e.preventDefault(),e.stopPropagation();var t=this.element.val().split("|*|");t[2]="",this.val(t.join("|*|"))},s.prototype.updateName=function(e){var t=e.split("|*|");e=t[2],e=""==e?n2_("Disabled"):e.split("||").length>1?n2_("Multiple animations"):n2_("Single animation"),this.name.val(e)},t.NextendElementPostAnimationManager=s}(n2,window),function(e,t){function i(t,i){this.value="",this.element=e("#"+t),this.$container=this.element.closest(".n2-form-tab"),this.panel=e("#"+t+"-panel"),this.setValue(i),this.options=this.panel.find(".n2-subform-image-option").on("click",e.proxy(this.selectOption,this)),this.active=this.getIndex(this.options.filter(".n2-active").get(0)),NextendElement.prototype.constructor.apply(this,arguments)}i.prototype=Object.create(NextendElement.prototype),i.prototype.constructor=i,i.prototype.selectOption=function(t){var i=this.getIndex(t.currentTarget);if(i!=this.active){this.options.eq(i).addClass("n2-active"),this.options.eq(this.active).removeClass("n2-active"),this.active=i;var s=e(t.currentTarget).data("value");this.insideChange(s),this.setValue(s)}},i.prototype.setValue=function(e){this.$container.removeClass("n2-ss-background-type-"+this.value),this.value=e,this.$container.addClass("n2-ss-background-type-"+this.value)},i.prototype.insideChange=function(e){this.element.val(e),this.triggerInsideChange()},i.prototype.getIndex=function(t){return e.inArray(t,this.options)},t.NextendElementBackground=i}(n2,window),function(e,t){function i(t){this.status=0,this.element=e("#"+t),this.$container=e(".n2-ss-parent-picker"),this.overlays=null,this.aligns=this.element.parent().parent().siblings(),this.picker=this.element.siblings(".n2-ss-layer-picker").on({click:e.proxy(function(){this.change("")},this)}),NextendElement.prototype.constructor.apply(this,arguments)}var s={INITIALIZED:0,PICK_PARENT:1,PICK_CHILD:2,PICK_PARENT_ALIGN:3,PICK_CHILD_ALIGN:4},n='<div class="n2-ss-picker-overlay-tile" data-align="left" data-valign="top" /><div class="n2-ss-picker-overlay-tile" data-align="center" data-valign="top" style="left:33%;top:0;" /><div class="n2-ss-picker-overlay-tile" data-align="right" data-valign="top" style="left:66%;top:0;width:34%;" /><div class="n2-ss-picker-overlay-tile" data-align="left" data-valign="middle" style="left:0;top:33%;" /><div class="n2-ss-picker-overlay-tile" data-align="center" data-valign="middle" style="left:33%;top:33%; " /><div class="n2-ss-picker-overlay-tile" data-align="right" data-valign="middle" style="left:66%;top:33%;width:34%;" /><div class="n2-ss-picker-overlay-tile" data-align="left" data-valign="bottom" style="left:0;top:66%;height:34%;" /><div class="n2-ss-picker-overlay-tile" data-align="center" data-valign="bottom" style="left:33%;top:66%;height:34%;" /><div class="n2-ss-picker-overlay-tile" data-align="right" data-valign="bottom" style="left:66%;top:66%;width:34%;height:34%;" />';i.prototype=Object.create(NextendElement.prototype),i.prototype.constructor=i,i.prototype.click=function(t){return e("#n2-admin").hasClass("n2-ss-mode-desktopPortrait")?void(this.status==s.INITIALIZED?(this.data={parent:null,parentVAlign:null,parentHAlign:null,child:null,childVAlign:null,childHAlign:null},e("body").on("mousedown.n2-ss-parent-linker",e.proxy(function(t){var i=e(t.target);i.parent();i.hasClass("n2-ss-picker-overlay")||i.hasClass("n2-ss-picker-overlay-tile")||this.destroy()},this)),NextendEsc.add(e.proxy(function(){return this.destroy(),!1},this)),this.pickParent(t)):(this.data=null,this.change(""),this.destroy())):void nextend.notificationCenter.notice("To chain layers together, please switch to desktop portrait mode!")},i.prototype.pickParent=function(t){var i=nextend.smartSlider.layerManager,n=e(i.mainLayerGroup.getChildLayersRecursive(!0));if(0==n.length)this.destroy();else{this.status=s.PICK_PARENT,nextend.tooltipMouse.show("Pick the parent layer!",t);e('<div class="n2-ss-picker-overlay"></div>').appendTo(n).on("click",e.proxy(function(t){t.preventDefault(),t.stopPropagation();var i=e(t.currentTarget).parent();i.data("layerObject");this.data.parent=i,this._destroy(),this.pickParentAlign(t)},this))}},i.prototype.pickParentAlign=function(t){this.status=s.PICK_PARENT_ALIGN,nextend.tooltipMouse.show("Pick the align point of the parent layer!",t);var i=e(n).appendTo(this.data.parent).on("click",e.proxy(function(t){t.preventDefault(),t.stopPropagation();var s=e(t.currentTarget);this.data.parentHAlign=s.data("align"),this.data.parentVAlign=s.data("valign"),s.off("click").addClass("n2-active"),i.not(s).remove(),this.pickChild(t)},this))},i.prototype.pickChild=function(t){this.status=s.PICK_CHILD,nextend.tooltipMouse.show("Pick the child layer!",t);var i=nextend.smartSlider.layerManager,n=e(i.mainLayerGroup.getChildLayersRecursive(!0)).not(this.data.parent),r=function(t){var i=t.data("layerObject").getProperty(!1,"parentid");i&&""!=i&&r(e("#"+i)),n=n.not(t)};if(r(this.data.parent),!n.length)return nextend.notificationCenter.error("There is no possible child layer for the selected parent layer!"),void this.destroy();var a=e('<div class="n2-ss-picker-overlay"></div>').appendTo(n).on("click",e.proxy(function(t){t.preventDefault(),t.stopPropagation();var i=e(t.currentTarget).parent();i.data("layerObject");this.data.child=i,a.remove(),this.pickChildAlign(t)},this))},i.prototype.pickChildAlign=function(t){this.status=s.PICK_CHILD_ALIGN,nextend.tooltipMouse.show("Pick the align point of the child layer!",t);e(n).appendTo(this.data.child).on("click",e.proxy(function(t){t.preventDefault(),t.stopPropagation();var i=e(t.currentTarget);this.data.childHAlign=i.data("align"),this.data.childVAlign=i.data("valign"),this.done()},this))},i.prototype._destroy=function(){e(".n2-ss-picker-overlay").remove(),e(".n2-ss-picker-overlay-tile").remove()},i.prototype.destroy=function(){nextend.tooltipMouse.hide(),this._destroy(),e("body").off(".n2-ss-parent-linker"),NextendEsc.pop(),this.status=s.INITIALIZED},i.prototype.done=function(){this.data.child.data("layerObject").parentPicked(this.data.parent.data("layerObject"),this.data.parentHAlign,this.data.parentVAlign,this.data.childHAlign,this.data.childVAlign),this.destroy()},i.prototype.change=function(e){this.element.val(e).trigger("change"),this._setValue(e),this.triggerOutsideChange()},i.prototype.insideChange=function(e){this.element.val(e),this._setValue(e),this.triggerInsideChange()},i.prototype._setValue=function(e){e&&""!=e?this.$container.css("display",""):this.$container.css("display","none")},t.NextendElementLayerPicker=i}(n2,window),function(e,t){function i(t){this.element=e("#"+t),this.setAttribute(),this.element.on("nextendChange",e.proxy(this.setAttribute,this))}i.prototype.setAttribute=function(){e("#n2-admin").attr("data-slider-type",this.element.val()),"block"==this.element.val()&&e(".n2-fm-shadow").trigger("click")},t.NextendElementSliderType=i}(n2,window),function(e,t){function i(t){this.element=e("#"+t),this.area=e("#"+t+"_area"),this.areas=this.area.find(".n2-area"),this.areas.on("click",e.proxy(this.chooseArea,this)),NextendElement.prototype.constructor.apply(this,arguments)}i.prototype=Object.create(NextendElement.prototype),i.prototype.constructor=i,i.prototype.chooseArea=function(t){var i=parseInt(e(t.target).data("area"));this.element.val(i),this.setSelected(i),this.triggerOutsideChange()},i.prototype.insideChange=function(e){e=parseInt(e),this.element.val(e),this.setSelected(e),this.triggerInsideChange()},i.prototype.setSelected=function(e){this.areas.removeClass("n2-active"),this.areas.eq(e-1).addClass("n2-active")},t.NextendElementSliderWidgetArea=i}(n2,window),function(e,t){function i(t){this.element=e("#"+t+"-mode"),this.container=this.element.closest(".n2-form-element-mixed"),this.tabs=this.container.find("> .n2-mixed-group"),this.element.on("nextendChange",e.proxy(this.onChange,this)),this.onChange()}i.prototype.onChange=function(){var e=this.element.val();"advanced"==e?(this.tabs.eq(2).css("display",""),this.tabs.eq(1).css("display","none")):(this.tabs.eq(1).css("display",""),this.tabs.eq(2).css("display","none"))},t.NextendElementWidgetPosition=i}(n2,window),function(e,t,i,s){"use strict";function n(){this._refreshTimeout=null,this.modal=!1,this.group=0,e.generator=this;var i=e.$currentSlideElement.data("variables");if(i){this.variables=i;for(var s in this.variables)!isNaN(parseFloat(s))&&isFinite(s)&&(this.group=Math.max(this.group,parseInt(s)+1));this.fill=this.generatorFill,this.group>0&&(this.registerField=this.generatorRegisterField,this.button=t('<a href="#" class="n2-button n2-button-normal n2-button-xs n2-radius-s n2-button-blue n2-h5 n2-uc" style="position:absolute;right: -2px;top: -18px;">Variable</a>').on("click",t.proxy(function(e){e.preventDefault(),this.showModal()},this)),this.registerField(t("#slidetitle")),this.registerField(t("#slidedescription")),this.registerField(t("#slidethumbnail")),this.registerField(t("#slidebackgroundImage")),this.registerField(t("#slidebackgroundAlt")),this.registerField(t("#slidebackgroundTitle")),this.registerField(t("#slidebackgroundVideoMp4")),this.registerField(t("#slidebackgroundVideoWebm")),this.registerField(t("#slidebackgroundVideoOgg")),this.registerField(t("#linkslidelink_0")),this.registerField(t("#layergenerator-visible")),this.registerField(t("#layergroup-generator-visible")),t("body").addClass("n2-ss-dynamic-slide")),this.initSlideDataRefresh()}else this.variables=null}n.prototype.isDynamicSlide=function(){return this.group>0},n.prototype.splitTokens=function(e){for(var t=[],i="",s=0,n=0;n<e.length;n++){var r=e[n];","===r&&0===s?(t.push(i),i=""):(i+=r,"("===r?s++:")"===r&&s--)}return i.length&&t.push(i),t},n.prototype.fill=function(e){return e},n.prototype.generatorFill=function(e){return e.replace(/{((([a-z]+)\(([^}]+)\))|([a-zA-Z0-9][a-zA-Z0-9_\/]*))}/g,t.proxy(this.parseFunction,this))},n.prototype.parseFunction=function(e,t,i,s,n,r){if("undefined"==typeof r){for(var a=this.splitTokens(n),o=0;o<a.length;o++)a[o]=this.parseVariable(a[o]);return this[s].apply(this,a)}return this.parseVariable(r)},n.prototype.parseVariable=function(e){var t=e.match(/^("|')(.*)("|')$/);if(t)return t[2];var i=e.match(/((([a-z]+)\(([^}]+)\)))/);if(i)return this.parseFunction.apply(this,i);var s=e.match(/([a-zA-Z][0-9a-zA-Z_]*)(\/([0-9a-z]+))?/);if(s){var n=s[3];if("undefined"==typeof n)n=0;else{var r=parseInt(n);isNaN(r)||(n=Math.max(n,1)-1)}return"undefined"!=typeof this.variables[n]&&"undefined"!=typeof this.variables[n][s[1]]?this.variables[n][s[1]]:""}return e},n.prototype.fallback=function(e,t){return""==e?t:e},n.prototype.cleanhtml=function(e){return strip_tags(e,"<p><a><b><br /><br/><i>")},n.prototype.removehtml=function(e){return t("<div>"+e+"</div>").text()},n.prototype.splitbychars=function(e,t,i){return e.substr(t,i)},n.prototype.splitbywords=function(e,t,i){var s=e,n=s.length,r=Math.max(0,0==t?0:s.indexOf(" ",t)),a=Math.max(0,i>n?n:s.indexOf(" ",i));return 0==a&&n>=i&&(a=n),s.substr(r,a)},n.prototype.findimage=function(e,t){var i=e,s=/(<img.*?src=[\'"](.*?)[\'"][^>]*>)|(background(-image)??\s*?:.*?url\((["|\']?)?(.+?)(["|\']?)?\))/gi,n=[],r=null;for(t="undefined"!=typeof t?parseInt(t)-1:0;r=s.exec(i);)"undefined"!=typeof r[2]?n.push(r[2]):"undefined"!=typeof r[6]&&n.push(r[6]);return n.length?n.length>t?n[t]:n[n.length-1]:""},n.prototype.findlink=function(e,t){var i=e,s=/href=["\']?([^"\'>]+)["\']?/gi,n=[],r=null;for(t="undefined"!=typeof t?parseInt(t)-1:0;r=s.exec(i);)"undefined"!=typeof r[1]&&n.push(r[1]);return n.length?n.length>t?n[t]:n[n.length-1]:""},n.prototype.removevarlink=function(e){var t=String(e),i=/<a href=\"(.*?)\">(.*?)<\/a>/g;return t.replace(i,"")},n.prototype.registerField=function(e){},n.prototype.generatorRegisterField=function(e){var i=e.parent();i.on({mouseenter:t.proxy(function(){this.activeField=e,this.button.prependTo(i)},this)})},n.prototype.getModal=function(){var e=this;if(!this.modal){var i={key:"",group:1,filter:"no",split:"no",splitStart:0,splitLength:300,findImage:0,findImageIndex:1,findLink:0,findLinkIndex:1,removeVarLink:0},s=function(){var e=i.key+"/"+i.group;return i.findImage&&(e="findimage("+e+","+Math.max(1,i.findImageIndex)+")"),i.findLink&&(e="findlink("+e+","+Math.max(1,i.findLinkIndex)+")"),i.removeVarLink&&(e="removevarlink("+e+")"),"no"!=i.filter&&(e=i.filter+"("+e+")"),"no"!=i.split&&i.splitStart>=0&&i.splitLength>0&&(e=i.split+"("+e+","+i.splitStart+","+i.splitLength+")"),"{"+e+"}"},n=t('<div class="n2-generator-result-container" />'),r=function(){n.html(t("<div/>").text(e.fill(s())).html())},a=e.group,o=null,l=null,d=t('<div class="n2-generator-insert-variable"/>'),h=NextendModal.prototype.createHeading(n2_("Choose the group")).appendTo(d),p=t('<div class="n2-group-container" />').appendTo(d);d.append(NextendModal.prototype.createHeading(n2_("Choose the variable")));var c=t('<div class="n2-variable-container" />').appendTo(d),u=t('<div class="n2-generator-functions-container n2-form-element-mixed" />').appendTo(t('<div class="n2-form" />').appendTo(d));d.append(NextendModal.prototype.createHeading(n2_("Result"))),n.appendTo(d),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Filter")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select autocomplete="off" name="filter" id="n2-generator-function-filter"><option selected="selected" value="no">'+n2_("No")+'</option><option value="cleanhtml">'+n2_("Clean HTML")+'</option><option value="removehtml">'+n2_("Remove HTML")+"</option></select></div></div></div>").appendTo(u);var y=u.find("#n2-generator-function-filter");y.on("change",t.proxy(function(){i.filter=y.val(),r()},this)),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Split by chars")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-list"><select autocomplete="off" name="split" id="n2-generator-function-split"><option selected="selected" value="no">'+n2_("No")+'</option><option value="splitbychars">'+n2_("Strict")+'</option><option value="splitbywords">'+n2_("Respect words")+'</option></select></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">'+n2_("Start")+'</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="0" id="n2-generator-function-split-start"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">'+n2_("Length")+'</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="300" id="n2-generator-function-split-length"></div></div></div>').appendTo(u);var f=u.find("#n2-generator-function-split");f.on("change",t.proxy(function(){i.split=f.val(),r()},this));var g=u.find("#n2-generator-function-split-start");g.on("change",t.proxy(function(){i.splitStart=parseInt(g.val()),r()},this));var m=u.find("#n2-generator-function-split-length");m.on("change",t.proxy(function(){i.splitLength=parseInt(m.val()),r()},this)),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Find image")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-findimage"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">'+n2_("Index")+'</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="1" id="n2-generator-function-findimage-index"></div></div></div>').appendTo(u);var v=u.find("#n2-generator-function-findimage");v.on("nextendChange",t.proxy(function(){i.findImage=parseInt(v.val()),r()},this));var x=u.find("#n2-generator-function-findimage-index");x.on("change",t.proxy(function(){i.findImageIndex=parseInt(x.val()),r()},this)),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Find link")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-findlink"></div><div class="n2-form-element-text n2-text-has-unit n2-border-radius"><div class="n2-text-sub-label n2-h5 n2-uc">'+n2_("Index")+'</div><input type="text" autocomplete="off" style="width: 22px;" class="n2-h5" value="1" id="n2-generator-function-findlink-index"></div></div></div>').appendTo(u);var b=u.find("#n2-generator-function-findlink");b.on("nextendChange",t.proxy(function(){i.findLink=parseInt(b.val()),r()},this));var S=u.find("#n2-generator-function-findlink-index");S.on("change",t.proxy(function(){i.findLinkIndex=parseInt(S.val()),r()},this)),t('<div class="n2-mixed-group"><div class="n2-mixed-label"><label>'+n2_("Remove links")+'</label></div><div class="n2-mixed-element"><div class="n2-form-element-onoff"><div class="n2-onoff-slider"><div class="n2-onoff-no"><i class="n2-i n2-i-close"></i></div><div class="n2-onoff-round"></div><div class="n2-onoff-yes"><i class="n2-i n2-i-tick"></i></div></div><input type="hidden" autocomplete="off" value="0" id="n2-generator-function-removevarlink"></div></div></div>').appendTo(u);var k=u.find("#n2-generator-function-removevarlink");k.on("nextendChange",t.proxy(function(){i.removeVarLink=parseInt(k.val()),r()},this));var w=u.find("#n2-generator-function-removevarlink-index");w.on("change",t.proxy(function(){i.removeVarLinkIndex=parseInt(w.val()),r()},this));for(var L in this.variables[0])t('<a href="#" class="n2-button n2-button-normal n2-button-s n2-button-grey n2-radius-s">'+L+"</a>").on("click",t.proxy(function(e,s){s.preventDefault(),o.removeClass("n2-active"),t(s.currentTarget).addClass("n2-active"),i.key=e,r()},this,L)).appendTo(c);o=c.find("a"),o.eq(0).trigger("click"),1==a&&(h.css("display","none"),p.css("display","none"));for(var C=0;a>C;C++)t('<a href="#" class="n2-button n2-button-normal n2-button-s n2-button-grey n2-radius-s">'+(C+1)+"</a>").on("click",t.proxy(function(e,s){s.preventDefault(),l.removeClass("n2-active"),t(s.currentTarget).addClass("n2-active"),i.group=e+1,r()},this,C)).appendTo(p);l=p.find("a"),l.eq(0).trigger("click");var I=!1;this.modal=new NextendModal({zero:{size:[1e3,a>1?560:490],title:n2_("Insert variable"),back:!1,close:!0,content:d,controls:['<a href="#" class="n2-button n2-button-normal n2-button-l n2-radius-s n2-button-green">'+n2_("Insert")+"</a>"],fn:{show:function(){I||(new NextendElementOnoff("n2-generator-function-findimage"),new NextendElementOnoff("n2-generator-function-findlink"),new NextendElementOnoff("n2-generator-function-removevarlink"),I=!0),this.controls.find(".n2-button").on("click",t.proxy(function(t){t.preventDefault(),e.insert(s()),this.hide(t)},this))}}}},!1),this.modal.setCustomClass("n2-ss-generator-modal")}return this.modal},n.prototype.showModal=function(){this.getModal().show()},n.prototype.insert=function(e){this.activeField.val(e).trigger("change")},n.prototype.initSlideDataRefresh=function(){var e=t("#slidetitle").on("nextendChange",t.proxy(function(){this.variables.slide.name=e.val(),this.refresh()},this)),i=t("#slidedescription").on("nextendChange",t.proxy(function(){this.variables.slide.description=i.val(),this.refresh()},this))},n.prototype.refresh=function(){this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null),this._refreshTimeout=setTimeout(t.proxy(this._refresh,this),100)},n.prototype._refresh=function(){for(var t=e.layerManager.layerList,i=0;i<t.length;i++)for(var s=t[i].items,n=0;n<s.length;n++)s[n].reRender()},i.SmartSliderAdminGenerator=n}(nextend.smartSlider,n2,window),function(e,t,i){function s(t){this.ajaxUrl=t,e("#generatorrecord-viewer").on("click",e.proxy(this.showRecords,this))}s.prototype.showRecords=function(t){t.preventDefault(),NextendAjaxHelper.ajax({type:"POST",url:this.ajaxUrl,data:e("#smartslider-form").serialize(),dataType:"json"}).done(function(e){var t=new NextendModal({zero:{size:[1300,700],title:"Records",content:e.data.html}},!0);t.content.css("overflow","auto")}).error(function(e){if(200==e.status){var t=new NextendModal({zero:{size:[1300,700],title:"Response",content:e.responseText}},!0);t.content.css("overflow","auto")}})},t.NextendSmartSliderGeneratorRecords=s}(n2,window),function(e,t,i,s){function n(e,n,r,a){this.item=e,this.layer=n,this.itemEditor=r,this.type=this.item.data("item"),this.values=this.item.data("itemvalues"),"object"!=typeof this.values&&(this.values=t.parseJSON(this.values)),i["NextendSmartSliderItemParser_"+this.type]!==s?this.parser=new i["NextendSmartSliderItemParser_"+this.type](this,r.getItemType(this.type)):this.parser=new i.NextendSmartSliderItemParser(this),this.item.data("item",this),"undefined"!=typeof a&&(0==this.layer.items.length||this.layer.items.length<=a?this.item.appendTo(this.layer.layer):this.layer.items[a].item.before(this.item)),"undefined"==typeof a||0==this.layer.items.length||this.layer.items.length<=a?this.layer.items.push(this):this.layer.items.splice(a,0,this),0===this.item.children().length&&this.reRender(),t("<div/>").addClass("ui-helper ui-item-overlay").css("zIndex",89).appendTo(this.item),t(window).trigger("ItemCreated")}n.prototype.changeValue=function(e,i){this==this.itemEditor.activeItem?t("#item_"+this.type+e).data("field").insideChange(i):this.values[e]=i},n.prototype.activate=function(e,t,i){this.itemEditor.setActiveItem(this,t,i)&&this.parser.activate()},n.prototype.deActivate=function(){this.parser.deActivate()},n.prototype.render=function(e,i,s){this.layer.layer.triggerHandler("itemRender"),this.item.html(this.parser.render(e,i)),this.values=s,t("<div/>").addClass("ui-helper ui-item-overlay").css("zIndex",89).appendTo(this.item);var n=this.parser.getName(i);n=n===!1?this.type:n.replace(/[<>]/gi,""),this.layer.rename(n,!1),this.layer.update()},n.prototype.reRender=function(e){var i={},s=this.itemEditor,n=s.getItemType(this.type),r=n.template;for(var a in this.values)i[a]=this.values[a];i=t.extend({},this.parser.getDefault(),i,e);var o=t.extend({},i);this.parser.parseAll(i,this),this.values=o;for(var l in i){var d=new RegExp("\\{"+l+"\\}","g");r=r.replace(d,i[l])}this.render(t(r),i,this.values)},n.prototype.duplicate=function(){this.layer.addItem(this.getHTML(),!0)},n.prototype["delete"]=function(){this.item.trigger("mouseleave"),this.item.remove(),this.itemEditor.activeItem==this&&(this.itemEditor.activeItem=null)},n.prototype.getHTML=function(e){var i="";return i=e?"["+this.type+' values="'+Base64.encode(JSON.stringify(this.values))+'"]':t('<div class="n2-ss-item n2-ss-item-'+this.type+'"></div>').attr("data-item",this.type).attr("data-itemvalues",JSON.stringify(this.values))},n.prototype.getData=function(){return{type:this.type,values:this.values}},n.prototype.history=function(e,i,s){switch(e){case"updateCurrentItem":this.reRender(t.extend(!0,{},i)),this.values=i,this.itemEditor.setActiveItem(this,null,!0)}},i.NextendSmartSliderItem=n}(nextend.smartSlider,n2,window),function(e,t,i,s){function n(e){this.suppressChange=!1,this.activeItemOriginalData=null,this.layerEditor=e,this._initInstalledItems(),this.form={},this.activeForm={form:t("<div></div>")}}n.prototype.setActiveItem=function(e,i,s){if(e!=this.activeItem||s){this.activeItemOriginalData=null;var n=e.type,r=e.values;this.activeForm.form.css("display","none"),this.activeForm=this.getItemType(n),this.activeItem&&this.activeItem.deActivate(),this.activeItem=e,this.suppressChange=!0;for(var a in r){var o=t("#item_"+n+a).data("field");o&&o.insideChange(r[a])}return this.suppressChange=!1,this.activeForm.form.css("display","block"),this.focusFirst(i),!0}return!1},n.prototype.focusFirst=function(e){var t=this.activeForm.fields.eq(0).data("field");nextend.smartSlider.generator.isDynamicSlide()&&t.connectedField&&t.connectedField instanceof NextendElementImage||this.activeForm.fields.eq(0).data("field").focus("undefined"!=typeof e&&e);
4
+ },n.prototype._initInstalledItems=function(){t(".n2-ss-core-item").on("click",t.proxy(function(e){this.createLayerItem(this.layerEditor.getActiveGroup(),t(e.currentTarget).data("item"),"click")},this))},n.prototype.createLayerItem=function(s,n,r){s=s||this.layerEditor.getActiveGroup();var a=this.getItemType(n),o=this.layerEditor.createLayer(s,t(".n2-ss-core-item-"+n).data("layerproperties")),l=t("<div></div>").data("item",n).data("itemvalues",t.extend(!0,{},a.values)).addClass("n2-ss-item n2-ss-item-"+n),d=new i.NextendSmartSliderItem(l,o,this,0);return r&&"click"==r?o.layer.trigger("mousedown",["create"]).trigger("mouseup",["create"]).trigger("click",["create"]):o.activate(),e.sidebarManager.switchTab("item"),e.history.add(t.proxy(function(){return[this,"createLayer","create","delete",[s,d,n]]},this)),d},n.prototype.getItemType=function(e){if(this.form[e]===s){var i=t("#smartslider-slide-toolbox-item-type-"+e),n={form:i,template:i.data("itemtemplate"),values:i.data("itemvalues"),fields:i.find('[name^="item_'+e+'"]'),fieldNameRegexp:new RegExp("item_"+e+"\\[(.*?)\\]","")};n.fields.on({nextendChange:t.proxy(this.updateCurrentItem,this),keydown:t.proxy(this.updateCurrentItemDeBounced,this)}),this.form[e]=n}return this.form[e]},n.prototype.updateCurrentItem=function(i){if(!this.suppressChange){null===this.activeItemOriginalData&&(this.activeItemOriginalData=t.extend({},this.activeItem.values));var s={},n={},r=this.form[this.activeItem.type],a=r.template,o=this.activeItem.parser;r.fields.each(t.proxy(function(e,i){var i=t(i),a=i.attr("name").match(r.fieldNameRegexp)[1];n[a]=s[a]=i.val()},this)),s=t.extend({},o.getDefault(),s),o.parseAll(s,this.activeItem);for(var l in s){var d=new RegExp("\\{"+l+"\\}","g");a=a.replace(d,s[l])}i&&"nextendChange"==i.type&&(e.history.add(t.proxy(function(){return[this.activeItem,"updateCurrentItem",t.extend({},n),this.activeItemOriginalData,[]]},this)),this.activeItemOriginalData=null),this.activeItem.render(t(a),s,n)}},n.prototype.updateCurrentItemDeBounced=NextendDeBounce(function(e){this.updateCurrentItem(e)},100),n.prototype.history=function(t,i,s){switch(t){case"createLayer":switch(i){case"delete":s[1].layer["delete"]();break;case"create":var n=this.createLayerItem(s[0],s[2]);e.history.changeFuture(s[1].layer,n.layer),e.history.changeFuture(s[1],n)}}},i.NextendSmartSliderItemManager=n}(nextend.smartSlider,n2,window),function(e,t,i){function s(e,t){this.pre="div#"+nextend.smartSlider.frontend.sliderElement.attr("id")+" ",this.formData=t,this.item=e,this.fonts=[],this.styles=[],this.needFill=[],this.added()}s.prototype.getDefault=function(){return{}},s.prototype.added=function(){},s.prototype.addedFont=function(t,i){var s=e("#item_"+this.item.type+i);s.length&&(this.fonts.push({mode:t,name:i,field:s.data("field"),def:this.formData.values[i]}),e.when(nextend.fontManager.addVisualUsage(t,this.item.values[i],this.pre)).done(e.proxy(function(e){e||this.item.changeValue(i,"")},this)))},s.prototype.addedStyle=function(t,i){var s=e("#item_"+this.item.type+i);s.length&&(this.styles.push({mode:t,name:i,field:s.data("field"),def:this.formData.values[i]}),e.when(nextend.styleManager.addVisualUsage(t,this.item.values[i],this.pre)).done(e.proxy(function(e){e||this.item.changeValue(i,"")},this)))},s.prototype.parseAll=function(e,t){for(var i=0;i<this.fonts.length;i++)e[this.fonts[i].name+"class"]=nextend.fontManager.getClass(e[this.fonts[i].name],this.fonts[i].mode)+" ";for(var i=0;i<this.styles.length;i++)e[this.styles[i].name+"class"]=nextend.styleManager.getClass(e[this.styles[i].name],this.styles[i].mode)+" ";for(var i=0;i<this.needFill.length;i++)"undefined"!=typeof e[this.needFill[i]]&&(e[this.needFill[i]]=nextend.smartSlider.generator.fill(e[this.needFill[i]]+""))},s.prototype.render=function(e,t){return e},s.prototype.getName=function(e){return!1},s.prototype.resizeLayerToImage=function(t,i){e("<img/>").attr("src",i).load(function(){var e=t.layer.layerEditor.slideSize,i=e.width,s=e.height;if(this.width>0&&this.height>0){if(i=parseInt(Math.min(this.width,i)),s=parseInt(Math.min(this.height,s)),nextend.smartSlider.history.off(),e.width/e.height<=i/s)t.layer.setProperty("width",i),t.layer.setProperty("height",this.height*i/this.width);else{var n=Math.min(this.width*e.height/this.height,i);t.layer.setProperty("width",n),t.layer.setProperty("height",this.height*n/this.width)}nextend.smartSlider.history.on()}})},s.prototype.fitLayer=function(e){return!1},s.prototype.activate=function(){nextend.basicCSS.activate("ss3item"+this.item.type,this.item.values,{font:this.fonts,style:this.styles})},s.prototype.deActivate=function(){nextend.basicCSS.deActivate()},t.NextendSmartSliderItemParser=s}(n2,window),function(e,t,i){function s(){NextendSmartSliderItemParser.apply(this,arguments)}s.prototype=Object.create(NextendSmartSliderItemParser.prototype),s.prototype.constructor=s,s.prototype.added=function(){this.needFill=["content","url"],this.addedFont("link","font"),this.addedStyle("button","style"),nextend.smartSlider.generator.registerField(e("#item_buttoncontent")),nextend.smartSlider.generator.registerField(e("#linkitem_buttonlink_0"))},s.prototype.getName=function(e){return e.content},s.prototype.parseAll=function(e){var t=e.link.split("|*|");e.url=t[0],e.target=t[1],delete e.link,0|e.fullwidth?e.display="block;":e.display="inline-block;",e.extrastyle=0|e.nowrap?"white-space: nowrap;":"",NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments)},t.NextendSmartSliderItemParser_button=s}(n2,window),function(e,t,i){function s(){NextendSmartSliderItemParser.apply(this,arguments)}s.prototype=Object.create(NextendSmartSliderItemParser.prototype),s.prototype.constructor=s,s.prototype.getDefault=function(){return{link:"#|*|_self",font:"",style:""}},s.prototype.added=function(){this.needFill=["heading","url"],this.addedFont("hover","font"),this.addedStyle("heading","style"),nextend.smartSlider.generator.registerField(e("#item_headingheading")),nextend.smartSlider.generator.registerField(e("#linkitem_headinglink_0"))},s.prototype.getName=function(e){return e.heading},s.prototype.parseAll=function(t){t.uid=e.fn.uid();var i=t.link.split("|*|");t.url=i[0],t.target=i[1],delete t.link,0|t.fullwidth?t.display="block;":t.display="inline-block;",t.extrastyle=0|t.nowrap?"white-space: nowrap;":"",t.heading=e("<div>"+t.heading+"</div>").text().replace(/\n/g,"<br />"),t.priority=2,t["class"]="",NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),"#"==t.url||""==t.url?(t.afontclass="",t.astyleclass=""):(t.afontclass=t.fontclass,t.fontclass="",t.astyleclass=t.styleclass,t.styleclass="")},s.prototype.render=function(e,t){if("#"==t.url||""==t.url){var i=e.find("a");i.parent().html(i.html())}return e},t.NextendSmartSliderItemParser_heading=s}(n2,window),function(e,t,i){function s(){NextendSmartSliderItemParser.apply(this,arguments)}s.prototype=Object.create(NextendSmartSliderItemParser.prototype),s.prototype.constructor=s,s.prototype.getDefault=function(){return{size:"100%|*|auto",link:"#|*|_self",style:""}},s.prototype.added=function(){this.needFill=["image","url"],this.addedStyle("box","style"),nextend.smartSlider.generator.registerField(e("#item_imageimage")),nextend.smartSlider.generator.registerField(e("#item_imagealt")),nextend.smartSlider.generator.registerField(e("#item_imagetitle")),nextend.smartSlider.generator.registerField(e("#linkitem_imagelink_0"))},s.prototype.getName=function(e){return e.image.split("/").pop()},s.prototype.parseAll=function(e,t){var i=e.size.split("|*|");e.width=i[0],e.height=i[1],delete e.size;var s=e.link.split("|*|");e.url=s[0],e.target=s[1],delete e.link,NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),t&&"$system$/images/placeholder/image.png"==t.values.image&&e.image!=t.values.image?(e.image=nextend.imageHelper.fixed(e.image),this.resizeLayerToImage(t,e.image)):e.image=nextend.imageHelper.fixed(e.image)},s.prototype.fitLayer=function(e){return this.resizeLayerToImage(e,nextend.imageHelper.fixed(e.values.image)),!0},s.prototype.render=function(e,t){return"#"==t.url&&e.html(e.children("a").html()),e},t.NextendSmartSliderItemParser_image=s}(n2,window),function(e,t,i){function s(){NextendSmartSliderItemParser.apply(this,arguments)}function n(e){var t=!1,i=!1,s="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary";return-1!==e.indexOf("<object")&&(e=e.replace(/<object[\s\S]+?<\/object>/g,function(e){return e.replace(/[\r\n]+/g,"")})),e=e.replace(/<[^<>]+>/g,function(e){return e.replace(/[\r\n]+/g," ")}),-1===e.indexOf("<pre")&&-1===e.indexOf("<script")||(t=!0,e=e.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(e){return e.replace(/(\r\n|\n)/g,"<wp-line-break>")})),-1!==e.indexOf("[caption")&&(i=!0,e=e.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(e){return e=e.replace(/<br([^>]*)>/g,"<wp-temp-br$1>"),e=e.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(e){return e.replace(/[\r\n\t]+/," ")}),e.replace(/\s*\n\s*/g,"<wp-temp-br />")})),e+="\n\n",e=e.replace(/<br \/>\s*<br \/>/gi,"\n\n"),e=e.replace(new RegExp("(<(?:"+s+")(?: [^>]*)?>)","gi"),"\n$1"),e=e.replace(new RegExp("(</(?:"+s+")>)","gi"),"$1\n\n"),e=e.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n"),e=e.replace(/\r\n|\r/g,"\n"),e=e.replace(/\n\s*\n+/g,"\n\n"),e=e.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n"),e=e.replace(/<p>\s*?<\/p>/gi,""),e=e.replace(new RegExp("<p>\\s*(</?(?:"+s+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),e=e.replace(/<p>(<li.+?)<\/p>/gi,"$1"),e=e.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>"),e=e.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>"),e=e.replace(new RegExp("<p>\\s*(</?(?:"+s+")(?: [^>]*)?>)","gi"),"$1"),e=e.replace(new RegExp("(</?(?:"+s+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),e=e.replace(/\s*\n/gi,"<br />\n"),e=e.replace(new RegExp("(</?(?:"+s+")[^>]*>)\\s*<br />","gi"),"$1"),e=e.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),e=e.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]"),e=e.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,t,i){return i.match(/<p( [^>]*)?>/)?e:t+"<p>"+i+"</p>"}),t&&(e=e.replace(/<wp-line-break>/g,"\n")),i&&(e=e.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),e}s.prototype=Object.create(NextendSmartSliderItemParser.prototype),s.prototype.constructor=s,s.prototype.getDefault=function(){return{contentmobile:"",contenttablet:"",font:"",style:""}},s.prototype.added=function(){this.needFill=["content","contenttablet","contentmobile"],this.addedFont("paragraph","font"),this.addedStyle("heading","style"),nextend.smartSlider.generator.registerField(e("#item_textcontent")),nextend.smartSlider.generator.registerField(e("#item_textcontenttablet")),nextend.smartSlider.generator.registerField(e("#item_textcontentmobile"))},s.prototype.getName=function(e){return e.content},s.prototype.parseAll=function(e){NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),e.p=n(e.content),e.ptablet=n(e.contenttablet),e.pmobile=n(e.contentmobile)},s.prototype.render=function(e,t){return""==t.contenttablet&&(e=e.filter(":not(.n2-ss-tablet)"),e.filter(".n2-ss-desktop").addClass("n2-ss-tablet")),""==t.contentmobile&&(e=e.filter(":not(.n2-ss-mobile)"),e.filter(".n2-ss-tablet, .n2-ss-desktop").last().addClass("n2-ss-mobile")),e.find("p").addClass(t.fontclass+" "+t.styleclass),e.find("a").on("click",function(e){e.preventDefault()}),e},t.NextendSmartSliderItemParser_text=s}(n2,window),function(e,t,i){function s(){NextendSmartSliderItemParser.apply(this,arguments)}s.prototype=Object.create(NextendSmartSliderItemParser.prototype),s.prototype.constructor=s,s.prototype.added=function(){this.needFill=["vimeourl"],nextend.smartSlider.generator.registerField(e("#item_vimeovimeourl"))},s.prototype.getName=function(e){return e.vimeourl},s.prototype.parseAll=function(t,i){var s=i.values.vimeourl!=t.vimeourl;if(NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),""==t.image&&(t.image="$system$/images/placeholder/video.png"),t.image=nextend.imageHelper.fixed(t.image),s&&""!=t.vimeourl){var n=/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/,r=t.vimeourl.match(n),a=!1;r?a=r[3]:t.vimeourl.match(/^[0-9]+$/)&&(a=t.vimeourl),a?NextendAjaxHelper.getJSON("https://vimeo.com/api/v2/video/"+encodeURI(a)+".json").done(e.proxy(function(t){e("#item_vimeoimage").val(t[0].thumbnail_large).trigger("change")},this)).fail(function(e){nextend.notificationCenter.error(e.responseText)}):nextend.notificationCenter.error("The provided URL does not match any known Vimeo url or code!")}},s.prototype.fitLayer=function(e){return!0},t.NextendSmartSliderItemParser_vimeo=s}(n2,window),function(e,t,i){function s(){NextendSmartSliderItemParser.apply(this,arguments)}s.prototype=Object.create(NextendSmartSliderItemParser.prototype),s.prototype.constructor=s,s.prototype.added=function(){this.needFill=["youtubeurl","image","start"],nextend.smartSlider.generator.registerField(e("#item_youtubeyoutubeurl")),nextend.smartSlider.generator.registerField(e("#item_youtubeimage")),nextend.smartSlider.generator.registerField(e("#item_youtubestart"))},s.prototype.getName=function(e){return e.youtubeurl},s.prototype.parseAll=function(t,i){var s=i.values.youtubeurl!=t.youtubeurl;if(NextendSmartSliderItemParser.prototype.parseAll.apply(this,arguments),""==t.image&&(t.image="$system$/images/placeholder/video.png"),t.image=nextend.imageHelper.fixed(t.image),s){var n=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/,r=t.youtubeurl.match(n);r?NextendAjaxHelper.getJSON("https://www.googleapis.com/youtube/v3/videos?id="+encodeURI(r[2])+"&part=snippet&key=AIzaSyC3AolfvPAPlJs-2FgyPJdEEKS6nbPHdSM").done(e.proxy(function(t){if(t.items.length){var s=t.items[0].snippet.thumbnails,n=s.maxres||s.standard||s.high||s.medium||s["default"],a=n.url;"{video_url}"==i.values.youtubeurl&&(a=a.replace(r[2],"{video_id}")),e("#item_youtubeimage").val(a).trigger("change")}},this)).fail(function(e){nextend.notificationCenter.error(e.error.errors[0].message)}):nextend.notificationCenter.error("The provided URL does not match any known YouTube url or code!")}},s.prototype.fitLayer=function(e){return!0},s.prototype.render=function(e,t){return parseInt(t.playbutton)||e.find(".n2-video-play").remove(),e},t.NextendSmartSliderItemParser_youtube=s}(n2,window),function(e,t,i,s){function n(){this.property={},this.deviceProperty={}}n.prototype.getMode=function(){return this.layerEditor.getMode()},n.prototype.getProperty=function(e,t){if(e){var i=this.deviceProperty[this.getMode()],s=this.deviceProperty.desktopPortrait;if("undefined"!=typeof i[t])return i[t];if("undefined"!=typeof s[t])return s[t]}r