text: /*global redux_change, redux*/
  
  /**
   * Switch
   * Dependencies        : jquery
   * Feature added by    : Smartik - http://smartik.ws/
   * Date            : 03.17.2013
   */
  
  (function( $ ) {
      "use strict";
  
      redux.field_objects = redux.field_objects || {};
      redux.field_objects.switch = redux.field_objects.switch || {};
  
      $( document ).ready(
          function() {
              //redux.field_objects.switch.init();
          }
      );
  
      redux.field_objects.switch.init = function( selector ) {
  
          if ( !selector ) {
              selector = $( document ).find( ".redux-group-tab:visible" ).find( '.redux-container-switch:visible' );
          }
  
          $( selector ).each(
              function() {
                  var el = $( this );
                  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-field-init' ) ) {
                      parent.removeClass( 'redux-field-init' );
                  } else {
                      return;
                  }
                  el.find( ".cb-enable" ).click(
                      function() {
                          if ( $( this ).hasClass( 'selected' ) ) {
                              return;
                          }
  
                          var parent = $( this ).parents( '.switch-options' );
  
                          $( '.cb-disable', parent ).removeClass( 'selected' );
                          $( this ).addClass( 'selected' );
                          $( '.checkbox-input', parent ).val( 1 );
  
                          redux_change( $( '.checkbox-input', parent ) );
  
                          //fold/unfold related options
                          var obj = $( this );
                          var $fold = '.f_' + obj.data( 'id' );
  
                          el.find( $fold ).slideDown( 'normal', "swing" );
                      }
                  );
  
                  el.find( ".cb-disable" ).click(
                      function() {
                          if ( $( this ).hasClass( 'selected' ) ) {
                              return;
                          }
  
                          var parent = $( this ).parents( '.switch-options' );
  
                          $( '.cb-enable', parent ).removeClass( 'selected' );
                          $( this ).addClass( 'selected' );
                          $( '.checkbox-input', parent ).val( 0 );
  
                          redux_change( $( '.checkbox-input', parent ) );
  
                          //fold/unfold related options
                          var obj = $( this );
                          var $fold = '.f_' + obj.data( 'id' );
  
                          el.find( $fold ).slideUp( 'normal', "swing" );
                      }
                  );
  
                  el.find( '.cb-enable span, .cb-disable span' ).find().attr( 'unselectable', 'on' );
              }
          );
      };
  })( jQuery );