text: /*global redux_change, wp, redux*/
  
  (function ($) {
      "use strict";
  
      redux.field_objects = redux.field_objects || {};
      redux.field_objects.slides = redux.field_objects.slides || {};
  
      $(document).ready(
          function () {
              //redux.field_objects.slides.init();
          }
      );
  
      redux.field_objects.slides.init = function (selector) {
  
          if (!selector) {
              selector = $(document).find(".redux-group-tab:visible").find('.redux-container-slides:visible');
          }
  
          $(selector).each(
              function () {
                  var el = $(this);
  
                  redux.field_objects.media.init(el);
  
                  var parent = el;
                  if (!el.hasClass('redux-field-container')) {
                      parent = el.parents('.redux-field-container:first');
                  }
                  if (parent.is(":hidden")) { // Skip hidden fields
                      return;
                  }
  
                  if (parent.hasClass('redux-container-slides')) {
                      parent.addClass('redux-field-init');
                  }
  
                  if (parent.hasClass('redux-field-init')) {
                      parent.removeClass('redux-field-init');
                  } else {
                      return;
                  }
  
                  el.find('.redux-slides-remove').live(
                      'click', function () {
                          redux_change($(this));
  
                          $(this).parent().siblings().find('input[type="text"]').val('');
                          $(this).parent().siblings().find('textarea').val('');
                          $(this).parent().siblings().find('input[type="hidden"]').val('');
  
                          var slideCount = $(this).parents('.redux-container-slides:first').find('.redux-slides-accordion-group').length;
  
                          if (slideCount > 1) {
                              $(this).parents('.redux-slides-accordion-group:first').slideUp(
                                  'medium', function () {
                                      $(this).remove();
                                  }
                              );
                          } else {
                              var content_new_title = $(this).parent('.redux-slides-accordion').data('new-content-title');
  
                              $(this).parents('.redux-slides-accordion-group:first').find('.remove-image').click();
                              $(this).parents('.redux-container-slides:first').find('.redux-slides-accordion-group:last').find('.redux-slides-header').text(content_new_title);
                          }
                      }
                  );
  
                  //el.find( '.redux-slides-add' ).click(
                  el.find('.redux-slides-add').off('click').click(
                      function () {
                          var newSlide = $(this).prev().find('.redux-slides-accordion-group:last').clone(true);
  
                          var slideCount = $(newSlide).find('.slide-title').attr("name").match(/[0-9]+(?!.*[0-9])/);
                          var slideCount1 = slideCount * 1 + 1;
  
                          $(newSlide).find('input[type="text"], input[type="hidden"], textarea').each(
                              function () {
  
                                  $(this).attr(
                                      "name", jQuery(this).attr("name").replace(/[0-9]+(?!.*[0-9])/, slideCount1)
                                  ).attr("id", $(this).attr("id").replace(/[0-9]+(?!.*[0-9])/, slideCount1));
                                  $(this).val('');
                                  if ($(this).hasClass('slide-sort')) {
                                      $(this).val(slideCount1);
                                  }
                              }
                          );
  
                          var content_new_title = $(this).prev().data('new-content-title');
  
                          $(newSlide).find('.screenshot').removeAttr('style');
                          $(newSlide).find('.screenshot').addClass('hide');
                          $(newSlide).find('.screenshot a').attr('href', '');
                          $(newSlide).find('.remove-image').addClass('hide');
                          $(newSlide).find('.redux-slides-image').attr('src', '').removeAttr('id');
                          $(newSlide).find('h3').text('').append('<span class="redux-slides-header">' + content_new_title + '</span><span class="ui-accordion-header-icon ui-icon ui-icon-plus"></span>');
                          $(this).prev().append(newSlide);
                      }
                  );
  
                  el.find('.slide-title').keyup(
                      function (event) {
                          var newTitle = event.target.value;
                          $(this).parents().eq(3).find('.redux-slides-header').text(newTitle);
                      }
                  );
  
  
                  el.find(".redux-slides-accordion")
                      .accordion(
                          {
                              header: "> div > fieldset > h3",
                              collapsible: true,
                              active: false,
                              heightStyle: "content",
                              icons: {
                                  "header": "ui-icon-plus",
                                  "activeHeader": "ui-icon-minus"
                              }
                          }
                      )
                      .sortable(
                          {
                              axis: "y",
                              handle: "h3",
                              connectWith: ".redux-slides-accordion",
                              start: function (e, ui) {
                                  ui.placeholder.height(ui.item.height());
                                  ui.placeholder.width(ui.item.width());
                              },
                              placeholder: "ui-state-highlight",
                              stop: function (event, ui) {
                                  // IE doesn't register the blur when sorting
                                  // so trigger focusout handlers to remove .ui-state-focus
                                  ui.item.children("h3").triggerHandler("focusout");
                                  var inputs = $('input.slide-sort');
                                  inputs.each(
                                      function (idx) {
                                          $(this).val(idx);
                                      }
                                  );
                              }
                          }
                      );
              }
          );
      };
  })(jQuery);