diff --git a/handlers/views_handler_area_text.inc b/handlers/views_handler_area_text.inc
index f17511d..b55c4dd 100644
--- a/handlers/views_handler_area_text.inc
+++ b/handlers/views_handler_area_text.inc
@@ -73,11 +73,13 @@ class views_handler_area_text extends views_handler_area {
         '#collapsed' => TRUE,
         '#value' => $output,
         '#id' => 'edit-options-token-help',
-        '#dependency' => array(
-          'edit-options-tokenize' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[tokenize]"]' => array('checked' => TRUE),
+          ),
         ),
-        '#prefix' => '<div>',
-        '#suffix' => '</div>',
+//        '#prefix' => '<div>',
+//        '#suffix' => '</div>',
       );
     }
   }
diff --git a/handlers/views_handler_argument.inc b/handlers/views_handler_argument.inc
index 8e46bf3..3a0cd8d 100644
--- a/handlers/views_handler_argument.inc
+++ b/handlers/views_handler_argument.inc
@@ -269,8 +269,13 @@ class views_handler_argument extends views_handler {
       '#size' => 20,
       '#default_value' => $this->options['exception']['title'],
       '#description' => t('Override the view and other argument titles. Use "%1" for the first argument, "%2" for the second, etc.'),
-      '#dependency' => array(
-        'edit-options-exception-title-enable' => array('1'),
+//      '#dependency' => array(
+//        'edit-options-exception-title-enable' => array('1'),
+//      ),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[title_enable]"]' => array('checked' => TRUE),
+        ),
       ),
     );
 
@@ -304,8 +309,13 @@ class views_handler_argument extends views_handler {
       '#title_display' => 'invisible',
       '#default_value' => $this->options['title'],
       '#description' => t('Override the view and other argument titles. Use "%1" for the first argument, "%2" for the second, etc.'),
-      '#dependency' => array(
-        'edit-options-title-enable' => array('1'),
+//      '#dependency' => array(
+//        'edit-options-title-enable' => array('1'),
+//      ),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[title_enable]"]' => array('checked' => TRUE),
+        ),
       ),
       '#fieldset' => 'argument_present',
     );
@@ -322,8 +332,13 @@ class views_handler_argument extends views_handler {
       '#title_display' => 'invisible',
       '#default_value' => $this->options['breadcrumb'],
       '#description' => t('Enter a breadcrumb name you would like to use. See "Title" for percent substitutions.'),
-      '#dependency' => array(
-        'edit-options-breadcrumb-enable' => array('1'),
+//      '#dependency' => array(
+//        'edit-options-breadcrumb-enable' => array('1'),
+//      ),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[breadcrumb_enable]"]' => array('checked' => TRUE),
+        ),
       ),
       '#fieldset' => 'argument_present',
     );
@@ -345,8 +360,13 @@ class views_handler_argument extends views_handler {
       '#type' => 'select',
       '#title' => t('Validator'),
       '#default_value' => $this->options['validate']['type'],
-      '#dependency' => array(
-        'edit-options-specify-validation' => array('1'),
+//      '#dependency' => array(
+//        'edit-options-specify-validation' => array('1'),
+//      ),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[specify_validation]"]' => array('checked' => TRUE),
+        ),
       ),
     );
 
@@ -404,8 +424,13 @@ class views_handler_argument extends views_handler {
       '#title' => t('Action to take if filter value does not validate'),
       '#default_value' => $this->options['validate']['fail'],
       '#options' => $validate_options,
-      '#dependency' => array(
-        'edit-options-specify-validation' => array('1'),
+//      '#dependency' => array(
+//        'edit-options-specify-validation' => array('1'),
+//      ),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[specify_validation]"]' => array('checked' => TRUE),
+        ),
       ),
       '#fieldset' => 'argument_present',
     );
diff --git a/handlers/views_handler_argument_string.inc b/handlers/views_handler_argument_string.inc
index dbb98fe..fbe5469 100644
--- a/handlers/views_handler_argument_string.inc
+++ b/handlers/views_handler_argument_string.inc
@@ -57,7 +57,11 @@ class views_handler_argument_string extends views_handler_argument {
       '#title' => t('Character limit'),
       '#description' => t('How many characters of the filter value to filter against. If set to 1, all fields starting with the first letter in the filter value would be matched.'),
       '#default_value' => $this->options['limit'],
-      '#dependency' => array('edit-options-glossary' => array(TRUE)),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[glossary]"]' => array('checked' => TRUE),
+        ),
+      ),
       '#fieldset' => 'more',
     );
 
diff --git a/handlers/views_handler_field.inc b/handlers/views_handler_field.inc
index 5a5c4b7..9d8002b 100644
--- a/handlers/views_handler_field.inc
+++ b/handlers/views_handler_field.inc
@@ -471,17 +471,22 @@ class views_handler_field extends views_handler {
       '#type' => 'textfield',
       '#title' => t('Label'),
       '#default_value' => $label,
-      '#dependency' => array(
-        'edit-options-custom-label' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[custom_label]"]' => array('checked' => TRUE),
+        ),
       ),
+
       '#weight' => -102,
     );
     $form['element_label_colon'] = array(
       '#type' => 'checkbox',
       '#title' => t('Place a colon after the label'),
       '#default_value' => $this->options['element_label_colon'],
-      '#dependency' => array(
-        'edit-options-custom-label' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[custom_label]"]' => array('checked' => TRUE),
+        ),
       ),
       '#weight' => -101,
     );
@@ -514,8 +519,10 @@ class views_handler_field extends views_handler {
       '#type' => 'select',
       '#default_value' => $this->options['element_type'],
       '#description' => t('Choose the HTML element to wrap around this field, e.g. H1, H2, etc.'),
-      '#dependency' => array(
-        'edit-options-element-type-enable' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_type_enable]"]' => array('checked' => TRUE),
+        ),
       ),
       '#fieldset' => 'style_settings',
     );
@@ -523,8 +530,10 @@ class views_handler_field extends views_handler {
     $form['element_class_enable'] = array(
       '#type' => 'checkbox',
       '#title' => t('Create a CSS class'),
-      '#dependency' => array(
-        'edit-options-element-type-enable' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_type_enable]"]' => array('checked' => TRUE),
+        ),
       ),
       '#default_value' => !empty($this->options['element_class']) || (string) $this->options['element_class'] == '0',
       '#fieldset' => 'style_settings',
@@ -534,11 +543,17 @@ class views_handler_field extends views_handler {
       '#description' => t('You may use token substitutions from the rewriting section in this class.'),
       '#type' => 'textfield',
       '#default_value' => $this->options['element_class'],
-      '#dependency' => array(
-        'edit-options-element-class-enable' => array(1),
-        'edit-options-element-type-enable' => array(1),
+//      '#dependency' => array(
+//        'edit-options-element-class-enable' => array(1),
+//        'edit-options-element-type-enable' => array(1),
+//      ),
+//      '#dependency_count' => 2,
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_type_enable]"]' => array('checked' => TRUE),
+          ':input[name="options[element_class_enable]"]' => array('checked' => TRUE),
+        ),
       ),
-      '#dependency_count' => 2,
       '#fieldset' => 'style_settings',
     );
 
@@ -554,16 +569,20 @@ class views_handler_field extends views_handler {
       '#type' => 'select',
       '#default_value' => $this->options['element_label_type'],
       '#description' => t('Choose the HTML element to wrap around this label, e.g. H1, H2, etc.'),
-      '#dependency' => array(
-        'edit-options-element-label-type-enable' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_label_type_enable]"]' => array('checked' => TRUE),
+        ),
       ),
       '#fieldset' => 'style_settings',
     );
     $form['element_label_class_enable'] = array(
       '#type' => 'checkbox',
       '#title' => t('Create a CSS class'),
-      '#dependency' => array(
-        'edit-options-element-label-type-enable' => array(1)
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_label_type_enable]"]' => array('checked' => TRUE),
+        ),
       ),
       '#default_value' => !empty($this->options['element_label_class']) || (string) $this->options['element_label_class'] == '0',
       '#fieldset' => 'style_settings',
@@ -573,11 +592,17 @@ class views_handler_field extends views_handler {
       '#description' => t('You may use token substitutions from the rewriting section in this class.'),
       '#type' => 'textfield',
       '#default_value' => $this->options['element_label_class'],
-      '#dependency' => array(
-        'edit-options-element-label-class-enable' => array(1),
-        'edit-options-element-label-type-enable' => array(1),
+//      '#dependency' => array(
+//        'edit-options-element-label-class-enable' => array(1),
+//        'edit-options-element-label-type-enable' => array(1),
+//      ),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_label_type_enable]"]' => array('checked' => TRUE),
+          ':input[name="options[element_label_class_enable]"]' => array('checked' => TRUE),
+        ),
       ),
-      '#dependency_count' => 2,
+//      '#dependency_count' => 2,
       '#fieldset' => 'style_settings',
     );
 
@@ -593,8 +618,10 @@ class views_handler_field extends views_handler {
       '#type' => 'select',
       '#default_value' => $this->options['element_wrapper_type'],
       '#description' => t('Choose the HTML element to wrap around this field and label, e.g. H1, H2, etc. This may not be used if the field and label are not rendered together, such as with a table.'),
-      '#dependency' => array(
-        'edit-options-element-wrapper-type-enable' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_wrapper_type_enable]"]' => array('checked' => TRUE),
+        ),
       ),
       '#fieldset' => 'style_settings',
     );
@@ -602,8 +629,10 @@ class views_handler_field extends views_handler {
     $form['element_wrapper_class_enable'] = array(
       '#type' => 'checkbox',
       '#title' => t('Create a CSS class'),
-      '#dependency' => array(
-        'edit-options-element-wrapper-type-enable' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_wrapper_type_enable]"]' => array('checked' => TRUE),
+        ),
       ),
       '#default_value' => !empty($this->options['element_wrapper_class']) || (string) $this->options['element_wrapper_class'] == '0',
       '#fieldset' => 'style_settings',
@@ -613,11 +642,17 @@ class views_handler_field extends views_handler {
       '#description' => t('You may use token substitutions from the rewriting section in this class.'),
       '#type' => 'textfield',
       '#default_value' => $this->options['element_wrapper_class'],
-      '#dependency' => array(
-        'edit-options-element-wrapper-class-enable' => array(1),
-        'edit-options-element-wrapper-type-enable' => array(1),
+//      '#dependency' => array(
+//        'edit-options-element-wrapper-class-enable' => array(1),
+//        'edit-options-element-wrapper-type-enable' => array(1),
+//      ),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[element_wrapper_class_enable]"]' => array('checked' => TRUE),
+          ':input[name="options[element_wrapper_type_enable]"]' => array('checked' => TRUE),
+        ),
       ),
-      '#dependency_count' => 2,
+//      '#dependency_count' => 2,
       '#fieldset' => 'style_settings',
     );
 
@@ -651,8 +686,10 @@ class views_handler_field extends views_handler {
         '#type' => 'textarea',
         '#default_value' => $this->options['alter']['text'],
         '#description' => t('The text to display for this field. You may include HTML. You may enter data from this view as per the "Replacement patterns" below.'),
-        '#dependency' => array(
-          'edit-options-alter-alter-text' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][alter_text]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -667,8 +704,10 @@ class views_handler_field extends views_handler {
         '#type' => 'textfield',
         '#default_value' => $this->options['alter']['path'],
         '#description' => t('The Drupal path or absolute URL for this link. You may enter data from this view as per the "Replacement patterns" below.'),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
         '#maxlength' => 255,
       );
@@ -676,16 +715,20 @@ class views_handler_field extends views_handler {
         '#type' => 'checkbox',
         '#title' => t('Use absolute path'),
         '#default_value' => $this->options['alter']['absolute'],
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['replace_spaces'] = array(
         '#type' => 'checkbox',
         '#title' => t('Replace spaces with dashes'),
         '#default_value' => $this->options['alter']['replace_spaces'],
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1)
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['external'] = array(
@@ -693,16 +736,20 @@ class views_handler_field extends views_handler {
         '#title' => t('External server URL'),
         '#default_value' => $this->options['alter']['external'],
         '#description' => t("Links to an external server using a full URL: e.g. 'http://www.example.com' or 'www.example.com'."),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['path_case'] = array(
         '#type' => 'select',
         '#title' => t('Transform the case'),
         '#description' => t('When printing url paths, how to transform the case of the filter value.'),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
        '#options' => array(
           'none' => t('No transform'),
@@ -718,8 +765,10 @@ class views_handler_field extends views_handler {
         '#type' => 'textfield',
         '#default_value' => $this->options['alter']['link_class'],
         '#description' => t('The CSS class to apply to the link.'),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['alt'] = array(
@@ -727,8 +776,10 @@ class views_handler_field extends views_handler {
         '#type' => 'textfield',
         '#default_value' => $this->options['alter']['alt'],
         '#description' => t('Text to place as "title" text which most browsers display as a tooltip when hovering over the link.'),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['rel'] = array(
@@ -736,8 +787,10 @@ class views_handler_field extends views_handler {
         '#type' => 'textfield',
         '#default_value' => $this->options['alter']['rel'],
         '#description' => t('Include Rel attribute for use in lightbox2 or other javascript utility.'),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['prefix'] = array(
@@ -745,8 +798,10 @@ class views_handler_field extends views_handler {
         '#type' => 'textfield',
         '#default_value' => $this->options['alter']['prefix'],
         '#description' => t('Any text to display before this link. You may include HTML.'),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['suffix'] = array(
@@ -754,8 +809,10 @@ class views_handler_field extends views_handler {
         '#type' => 'textfield',
         '#default_value' => $this->options['alter']['suffix'],
         '#description' => t('Any text to display after this link. You may include HTML.'),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['target'] = array(
@@ -763,8 +820,10 @@ class views_handler_field extends views_handler {
         '#type' => 'textfield',
         '#default_value' => $this->options['alter']['target'],
         '#description' => t("Target of the link, such as _blank, _parent or an iframe's name. This field is rarely used."),
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -816,10 +875,17 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#collapsible' => TRUE,
         '#collapsed' => TRUE,
         '#value' => $output,
-        '#dependency' => array(
-          'edit-options-alter-make-link' => array(1),
-          'edit-options-alter-alter-text' => array(1),
-          'edit-options-alter-more-link' => array(1),
+//        '#dependency' => array(
+//          'edit-options-alter-make-link' => array(1),
+//          'edit-options-alter-alter-text' => array(1),
+//          'edit-options-alter-more-link' => array(1),
+//        ),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][make_link]"]' => array('checked' => TRUE),
+            ':input[name="options[alter][alter_text]"]' => array('checked' => TRUE),
+            ':input[name="options[alter][more_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -835,8 +901,10 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#type' => 'textfield',
         '#default_value' => $this->options['alter']['max_length'],
         '#description' => t('The maximum number of characters this field can be.'),
-        '#dependency' => array(
-          'edit-options-alter-trim' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][trim]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -845,8 +913,10 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#title' => t('Trim only on a word boundary'),
         '#description' => t('If checked, this field be trimmed only on a word boundary. This is guaranteed to be the maximum characters stated or less. If there are no word boundaries this could trim a field to nothing.'),
         '#default_value' => $this->options['alter']['word_boundary'],
-        '#dependency' => array(
-          'edit-options-alter-trim' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][trim]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -855,8 +925,10 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#title' => t('Add an ellipsis'),
         '#description' => t('If checked, a "..." will be added if a field was trimmed.'),
         '#default_value' => $this->options['alter']['ellipsis'],
-        '#dependency' => array(
-          'edit-options-alter-trim' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][trim]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -865,8 +937,10 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#title' => t('Add a read-more link if output is trimmed.'),
         '#description' => t('If checked, a read-more link will be added at the end of the trimmed output'),
         '#default_value' => $this->options['alter']['more_link'],
-        '#dependency' => array(
-          'edit-options-alter-trim' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][trim]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -875,10 +949,16 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#title' => t('More link text'),
         '#default_value' => $this->options['alter']['more_link_text'],
         '#description' => t('The text which will be displayed on the more link. You may enter data from this view as per the "Replacement patterns" above.'),
-        '#dependency_count' => 2,
-        '#dependency' => array(
-          'edit-options-alter-trim' => array(1),
-          'edit-options-alter-more-link' => array(1),
+//        '#dependency_count' => 2,
+//        '#dependency' => array(
+//          'edit-options-alter-trim' => array(1),
+//          'edit-options-alter-more-link' => array(1),
+//        ),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][trim]"]' => array('checked' => TRUE),
+            ':input[name="options[alter][more_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
       $form['alter']['more_link_path'] = array(
@@ -886,10 +966,16 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#title' => t('More link path'),
         '#default_value' => $this->options['alter']['more_link_path'],
         '#description' => t('The path which is used for the more link. You may enter data from this view as per the "Replacement patterns" above.'),
-        '#dependency_count' => 2,
-        '#dependency' => array(
-          'edit-options-alter-trim' => array(1),
-          'edit-options-alter-more-link' => array(1),
+//        '#dependency_count' => 2,
+//        '#dependency' => array(
+//          'edit-options-alter-trim' => array(1),
+//          'edit-options-alter-more-link' => array(1),
+//        ),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][trim]"]' => array('checked' => TRUE),
+            ':input[name="options[alter][more_link]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -898,8 +984,10 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#title' => t('Field can contain HTML'),
         '#description' => t('If checked, HTML corrector will be run to ensure tags are properly closed after trimming.'),
         '#default_value' => $this->options['alter']['html'],
-        '#dependency' => array(
-          'edit-options-alter-trim' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][trim]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
@@ -915,8 +1003,10 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
         '#title' => t('Preserve certain tags'),
         '#description' => t('List the tags that need to be preserved during the stripping process. example &quot;&lt;p&gt; &lt;br&gt;&quot; which will preserve all p and br elements'),
         '#default_value' => $this->options['alter']['preserve_tags'],
-        '#dependency' => array(
-          'edit-options-alter-strip-tags' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[alter][strip_tags]"]' => array('checked' => TRUE),
+          ),
         ),
       );
 
diff --git a/handlers/views_handler_field_custom.inc b/handlers/views_handler_field_custom.inc
index 66586de..7d3459e 100644
--- a/handlers/views_handler_field_custom.inc
+++ b/handlers/views_handler_field_custom.inc
@@ -29,10 +29,8 @@ class views_handler_field_custom extends views_handler_field {
 
     // Remove the checkbox
     unset($form['alter']['alter_text']);
-    unset($form['alter']['text']['#dependency']);
-    unset($form['alter']['text']['#process']);
-    unset($form['alter']['help']['#dependency']);
-    unset($form['alter']['help']['#process']);
+    unset($form['alter']['text']['#states']);
+    unset($form['alter']['help']['#states']);
     $form['#pre_render'][] = 'views_handler_field_custom_pre_render_move_text';
   }
 
diff --git a/handlers/views_handler_field_date.inc b/handlers/views_handler_field_date.inc
index 8f3fe39..293f3e9 100644
--- a/handlers/views_handler_field_date.inc
+++ b/handlers/views_handler_field_date.inc
@@ -49,6 +49,15 @@ class views_handler_field_date extends views_handler_field {
       '#description' => t('If "Custom", see <a href="http://us.php.net/manual/en/function.date.php" target="_blank">the PHP docs</a> for date formats. Otherwise, enter the number of different time units to display, which defaults to 2.'),
       '#default_value' => isset($this->options['custom_date_format']) ? $this->options['custom_date_format'] : '',
       '#dependency' => array('edit-options-date-format' => array('custom', 'raw time ago', 'time ago', 'raw time hence', 'time hence', 'raw time span', 'time span', 'raw time span', 'inverse time span', 'time span')),
+//      '#states' => array(
+//        'visible' => array(
+//          array(
+//            ':input[name="options[date_format]"]' => array('value' => 'raw time ago'),
+//            'xor',
+//            ':input[name="options[date_format]"]' => array('value' => 'custom'),
+//          ),
+//        ),
+//      ),
     );
 
     parent::options_form($form, $form_state);
diff --git a/handlers/views_handler_field_math.inc b/handlers/views_handler_field_math.inc
index 08fba06..3172be9 100644
--- a/handlers/views_handler_field_math.inc
+++ b/handlers/views_handler_field_math.inc
@@ -36,7 +36,7 @@ class views_handler_field_math extends views_handler_field_numeric {
 
     // Then move the existing help:
     $form['expression_help'] = $form['alter']['help'];
-    unset($form['expression_help']['#dependency']);
+    unset($form['expression_help']['#states']);
     unset($form['alter']['help']);
   }
 
diff --git a/handlers/views_handler_field_numeric.inc b/handlers/views_handler_field_numeric.inc
index d10d3d0..eb2a53b 100644
--- a/handlers/views_handler_field_numeric.inc
+++ b/handlers/views_handler_field_numeric.inc
@@ -44,7 +44,11 @@ class views_handler_field_numeric extends views_handler_field {
         '#title' => t('Precision'),
         '#default_value' => $this->options['precision'],
         '#description' => t('Specify how many digits to print after the decimal point.'),
-        '#dependency' => array('edit-options-set-precision' => array(TRUE)),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[set_precision]"]' => array('checked' => TRUE),
+          ),
+        ),
         '#size' => 2,
       );
       $form['decimal'] = array(
@@ -80,14 +84,22 @@ class views_handler_field_numeric extends views_handler_field {
       '#title' => t('Singular form'),
       '#default_value' => $this->options['format_plural_singular'],
       '#description' => t('Text to use for the singular form.'),
-      '#dependency' => array('edit-options-format-plural' => array(TRUE)),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[format_plural]"]' => array('checked' => TRUE),
+        ),
+      ),
     );
     $form['format_plural_plural'] = array(
       '#type' => 'textfield',
       '#title' => t('Plural form'),
       '#default_value' => $this->options['format_plural_plural'],
       '#description' => t('Text to use for the plural form, @count will be replaced with the value.'),
-      '#dependency' => array('edit-options-format-plural' => array(TRUE)),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[format_plural]"]' => array('checked' => TRUE),
+        ),
+      ),
     );
     $form['prefix'] = array(
       '#type' => 'textfield',
diff --git a/handlers/views_handler_field_prerender_list.inc b/handlers/views_handler_field_prerender_list.inc
index 00a571a..53e1f99 100644
--- a/handlers/views_handler_field_prerender_list.inc
+++ b/handlers/views_handler_field_prerender_list.inc
@@ -51,7 +51,11 @@ class views_handler_field_prerender_list extends views_handler_field {
       '#type' => 'textfield',
       '#title' => t('Separator'),
       '#default_value' => $this->options['separator'],
-      '#dependency' => array('radio:options[type]' => array('separator')),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[type]"]' => array('value' => 'separator'),
+        ),
+      ),
     );
     parent::options_form($form, $form_state);
   }
diff --git a/handlers/views_handler_field_serialized.inc b/handlers/views_handler_field_serialized.inc
index 1579fce..ef432b4 100644
--- a/handlers/views_handler_field_serialized.inc
+++ b/handlers/views_handler_field_serialized.inc
@@ -38,7 +38,11 @@ class views_handler_field_serialized extends views_handler_field {
       '#type' => 'textfield',
       '#title' => t('Which key should be displayed'),
       '#default_value' => $this->options['key'],
-      '#dependency' => array('edit-options-format' => array('key')),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[format]"]' => array('value' => 'key'),
+        ),
+      ),
     );
   }
 
diff --git a/handlers/views_handler_filter.inc b/handlers/views_handler_filter.inc
index b8c6ac1..3db9d86 100644
--- a/handlers/views_handler_filter.inc
+++ b/handlers/views_handler_filter.inc
@@ -357,8 +357,11 @@ class views_handler_filter extends views_handler {
         '#title' => t('Operator identifier'),
         '#size' => 40,
         '#description' => t('This will appear in the URL after the ? to identify this operator.'),
-        '#dependency' => array(
-          'edit-options-expose-use-operator' => array(1)
+        // @todo: the checkbox is outside but the textfield is inside of the fieldset?
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[expose][use_operator]"]' => array('checked' => TRUE),
+          ),
         ),
         '#fieldset' => 'more',
       );
diff --git a/includes/admin.inc b/includes/admin.inc
index 6940348..cc85d26 100644
--- a/includes/admin.inc
+++ b/includes/admin.inc
@@ -333,8 +333,10 @@ function views_ui_add_form($form, &$form_state) {
     '#title_display' => 'invisible',
     '#size' => 64,
     '#default_value' => !empty($form_state['view']) ? $form_state['view']->description : '',
-    '#dependency' => array(
-      'edit-description-enable' => array(1),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="description_enable"]' => array('checked' => TRUE),
+      ),
     ),
   );
 
@@ -4755,24 +4757,37 @@ function views_ui_admin_settings_basic() {
       'above' => t('Above the preview'),
       'below' => t('Below the preview'),
     ),
-    '#id' => 'edit-show-sql',
+//    '#id' => 'edit-show-sql',
     '#default_value' => variable_get('views_ui_show_sql_query_where', 'above'),
-    '#dependency' => array('edit-views-ui-show-preview-information' => array(TRUE)),
-    '#prefix' => '<div id="edit-show-sql-wrapper" class="views-dependent">',
-    '#suffix' => '</div>',
+//    '#dependency' => array('edit-views-ui-show-preview-information' => array(TRUE)),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="views_ui_show_preview_information"]' => array('checked' => TRUE),
+      ),
+    ),
+//    '#prefix' => '<div id="edit-show-sql-wrapper" class="views-dependent">',
+//    '#suffix' => '</div>',
   );
 
   $form['live_preview']['views_ui_show_sql_query'] = array(
     '#type' => 'checkbox',
     '#title' => t('Show the SQL query'),
     '#default_value' => variable_get('views_ui_show_sql_query', FALSE),
-    '#dependency' => array('edit-views-ui-show-preview-information' => array(TRUE)),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="views_ui_show_preview_information"]' => array('checked' => TRUE),
+      ),
+    ),
   );
   $form['live_preview']['views_ui_show_performance_statistics'] = array(
     '#type' => 'checkbox',
     '#title' => t('Show performance statistics'),
     '#default_value' => variable_get('views_ui_show_performance_statistics', FALSE),
-    '#dependency' => array('edit-views-ui-show-preview-information' => array(TRUE)),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="views_ui_show_preview_information"]' => array('checked' => TRUE),
+      ),
+    ),
   );
 
   $form['live_preview']['views_show_additional_queries'] = array(
@@ -4780,7 +4795,11 @@ function views_ui_admin_settings_basic() {
     '#title' => t('Show other queries run during render during live preview'),
     '#description' => t("Drupal has the potential to run many queries while a view is being rendered. Checking this box will display every query run during view render as part of the live preview."),
     '#default_value' => variable_get('views_show_additional_queries', FALSE),
-    '#dependency' => array('edit-views-ui-show-preview-information' => array(TRUE)),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="views_ui_show_preview_information"]' => array('checked' => TRUE),
+      ),
+    ),
   );
 
 //  $form['live_preview']['views_ui_show_performance_statistics_where'] = array(
@@ -4865,7 +4884,11 @@ function views_ui_admin_settings_advanced() {
     '#title' => t('Page region to output performance statistics/debug messages'),
     '#default_value' => variable_get('views_devel_region', 'footer'),
     '#options' => $regions,
-    '#dependency' => array('edit-views-devel-output' => array(1)),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="views_devel_output"]' => array('checked' => TRUE),
+      ),
+    ),
   );
 
   $options = views_fetch_plugin_names('display_extender');
diff --git a/modules/node/views_plugin_argument_validate_node.inc b/modules/node/views_plugin_argument_validate_node.inc
index 018965d..14d5cd6 100644
--- a/modules/node/views_plugin_argument_validate_node.inc
+++ b/modules/node/views_plugin_argument_validate_node.inc
@@ -44,7 +44,12 @@ class views_plugin_argument_validate_node extends views_plugin_argument_validate
       '#title' => t('Access operation to check'),
       '#options' => array('view' => t('View'), 'update' => t('Edit'), 'delete' => t('Delete')),
       '#default_value' => $this->options['access_op'],
-      '#dependency' => array('edit-options-validate-options-node-access' => array(TRUE)),
+//      '#dependency' => array('edit-options-validate-options-node-access' => array(TRUE)),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[validate][options][user][access]"]' => array('checked' => TRUE),
+        ),
+      ),
     );
 
     $form['nid_type'] = array(
diff --git a/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc b/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc
index 116a4de..5b0b34d 100644
--- a/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc
+++ b/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc
@@ -52,7 +52,11 @@ class views_handler_argument_term_node_tid_depth extends views_handler_argument
       '#title' => t("Use Drupal's taxonomy term path to create breadcrumb links"),
       '#description' => t('If selected, the links in the breadcrumb trail will be created using the standard drupal method instead of the custom views method. This is useful if you are using modules like taxonomy redirect to modify your taxonomy term links.'),
       '#default_value' => !empty($this->options['use_taxonomy_term_path']),
-      '#dependency' => array('edit-options-set-breadcrumb' => array(TRUE)),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[set_breadcrumb]"]' => array('checked' => TRUE),
+        ),
+      ),
     );
     parent::options_form($form, $form_state);
   }
diff --git a/modules/taxonomy/views_handler_field_term_node_tid.inc b/modules/taxonomy/views_handler_field_term_node_tid.inc
index 6b9c93a..ca46c1d 100644
--- a/modules/taxonomy/views_handler_field_term_node_tid.inc
+++ b/modules/taxonomy/views_handler_field_term_node_tid.inc
@@ -65,13 +65,16 @@ class views_handler_field_term_node_tid extends views_handler_field_prerender_li
     }
 
     $form['vocabularies'] = array(
-      '#prefix' => '<div><div id="edit-options-vocabularies">',
-      '#suffix' => '</div></div>',
       '#type' => 'checkboxes',
       '#title' => t('Vocabularies'),
       '#options' => $options,
       '#default_value' => $this->options['vocabularies'],
-      '#dependency' => array('edit-options-limit' => array(TRUE)),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[limit]"]' => array('checked' => TRUE),
+        ),
+      ),
+
     );
 
     parent::options_form($form, $form_state);
diff --git a/modules/taxonomy/views_handler_filter_term_node_tid.inc b/modules/taxonomy/views_handler_filter_term_node_tid.inc
index e0dd0f9..8945edc 100644
--- a/modules/taxonomy/views_handler_filter_term_node_tid.inc
+++ b/modules/taxonomy/views_handler_filter_term_node_tid.inc
@@ -82,7 +82,11 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on
       '#type' => 'checkbox',
       '#title' => t('Show hierarchy in dropdown'),
       '#default_value' => !empty($this->options['hierarchy']),
-      '#dependency' => array('radio:options[type]' => array('select')),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[type]"]' => array('value' => 'select'),
+        ),
+      ),
     );
   }
 
diff --git a/modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc b/modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc
index 65d427b..7ffb595 100644
--- a/modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc
+++ b/modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc
@@ -51,9 +51,10 @@ class views_plugin_argument_default_taxonomy_tid extends views_plugin_argument_d
       '#type' => 'checkbox',
       '#title' => t('Limit terms by vocabulary'),
       '#default_value'=> $this->options['limit'],
-      '#process' => array('form_process_checkbox', 'ctools_dependent_process'),
-      '#dependency' => array(
-        'edit-options-argument-default-taxonomy-tid-node' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[argument_default][taxonomy_tid][node]"]' => array('checked' => TRUE),
+        ),
       ),
     );
 
@@ -64,16 +65,15 @@ class views_plugin_argument_default_taxonomy_tid extends views_plugin_argument_d
     }
 
     $form['vocabularies'] = array(
-      '#prefix' => '<div><div id="edit-options-vids">',
-      '#suffix' => '</div></div>',
       '#type' => 'checkboxes',
       '#title' => t('Vocabularies'),
       '#options' => $options,
       '#default_value' => $this->options['vocabularies'],
-      '#process' => array('form_process_checkboxes', 'ctools_dependent_process'),
-      '#dependency' => array(
-        'edit-options-argument-default-taxonomy-tid-limit' => array(1),
-        'edit-options-argument-default-taxonomy-tid-node' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[argument_default][taxonomy_tid][limit]"]' => array('checked' => TRUE),
+          ':input[name="options[argument_default][taxonomy_tid][node]"]' => array('checked' => TRUE),
+        ),
       ),
     );
 
@@ -86,8 +86,10 @@ class views_plugin_argument_default_taxonomy_tid extends views_plugin_argument_d
         ',' => t('Filter to items that share all terms'),
         '+' => t('Filter to items that share any term'),
       ),
-      '#dependency' => array(
-        'edit-options-argument-default-taxonomy-tid-node' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[argument_default][taxonomy_tid][node]"]' => array('checked' => TRUE),
+        ),
       ),
     );
   }
diff --git a/modules/user/views_handler_field_user_name.inc b/modules/user/views_handler_field_user_name.inc
index 5c9bd25..8947db1 100644
--- a/modules/user/views_handler_field_user_name.inc
+++ b/modules/user/views_handler_field_user_name.inc
@@ -50,8 +50,10 @@ class views_handler_field_user_name extends views_handler_field_user {
       '#title' => t('Text to display for anonymous users'),
       '#type' => 'textfield',
       '#default_value' => $this->options['anonymous_text'],
-      '#dependency' => array(
-        'edit-options-overwrite-anonymous' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[overwrite_anonymous]"]' => array('checked' => TRUE),
+        ),
       ),
       '#fieldset' => 'more',
     );
diff --git a/modules/user/views_plugin_argument_validate_user.inc b/modules/user/views_plugin_argument_validate_user.inc
index f479609..7a3efca 100644
--- a/modules/user/views_plugin_argument_validate_user.inc
+++ b/modules/user/views_plugin_argument_validate_user.inc
@@ -42,14 +42,17 @@ class views_plugin_argument_validate_user extends views_plugin_argument_validate
 
     $form['roles'] = array(
       '#type' => 'checkboxes',
-      '#prefix' => '<div id="edit-options-validate-options-user-roles-wrapper">',
-      '#suffix' => '</div>',
       '#title' => t('Restrict to the selected roles'),
       '#options' => array_map('check_plain', user_roles(TRUE)),
       '#default_value' => $this->options['roles'],
       '#description' => t('If no roles are selected, users from any role will be allowed.'),
-      '#dependency' => array(
-        'edit-options-validate-options-user-restrict-roles' => array(1),
+//      '#dependency' => array(
+//        'edit-options-validate-options-user-restrict-roles' => array(1),
+//      ),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[validate][options][user][restrict_roles]"]' => array('checked' => TRUE),
+        ),
       ),
     );
   }
diff --git a/plugins/views_plugin_cache_time.inc b/plugins/views_plugin_cache_time.inc
index 53123a3..8a28108 100644
--- a/plugins/views_plugin_cache_time.inc
+++ b/plugins/views_plugin_cache_time.inc
@@ -41,9 +41,10 @@ class views_plugin_cache_time extends views_plugin_cache {
       '#maxlength' => '30',
       '#description' => t('Length of time in seconds raw query results should be cached.'),
       '#default_value' => $this->options['results_lifespan_custom'],
-      '#process' => array('form_process_select','ctools_dependent_process'),
-      '#dependency' => array(
-        'edit-cache-options-results-lifespan' => array('custom'),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="cache_options[results_lifespan]"]' => array('value' => 'custom'),
+        ),
       ),
     );
     $form['output_lifespan'] = array(
@@ -60,9 +61,10 @@ class views_plugin_cache_time extends views_plugin_cache {
       '#maxlength' => '30',
       '#description' => t('Length of time in seconds rendered HTML output should be cached.'),
       '#default_value' => $this->options['output_lifespan_custom'],
-      '#process' => array('form_process_select','ctools_dependent_process'),
-      '#dependency' => array(
-        'edit-cache-options-output-lifespan' => array('custom'),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="cache_options[output_lifespan]"]' => array('value' => 'custom'),
+        ),
       ),
     );
   }
diff --git a/plugins/views_plugin_display.inc b/plugins/views_plugin_display.inc
index d937c4b..9fdbe66 100644
--- a/plugins/views_plugin_display.inc
+++ b/plugins/views_plugin_display.inc
@@ -1477,17 +1477,23 @@ class views_plugin_display extends views_plugin {
           '#title' => t("Display 'more' link only if there is more content"),
           '#description' => t("Leave this unchecked to display the 'more' link even if there are no more items to display."),
           '#default_value' => !$this->get_option('use_more_always'),
-            '#dependency' => array(
-              'edit-use-more' => array(TRUE),
+          '#states' => array(
+            'visible' => array(
+              array(
+                ':input[name="use_more"]' => array('checked' => TRUE),
+              ),
             ),
+          ),
         );
         $form['use_more_text'] = array(
           '#type' => 'textfield',
           '#title' => t('More link text'),
           '#description' => t("The text to display for the more link."),
           '#default_value' => $this->get_option('use_more_text'),
-          '#dependency' => array(
-            'edit-use-more' => array(TRUE),
+          '#states' => array(
+            'visible' => array(
+              ':input[name="use_more"]' => array('checked' => TRUE),
+            ),
           ),
         );
         break;
@@ -1767,7 +1773,11 @@ class views_plugin_display extends views_plugin {
           '#title' => t('Custom URL'),
           '#default_value' => $this->get_option('link_url'),
           '#description' => t('A Drupal path or external URL the more link will point to. Note that this will override the link display setting above.') . $output,
-          '#dependency' => array('radio:link_display' => array('custom_url')),
+          '#states' => array(
+            'visible' => array(
+              ':input[name="link_display"]' => array('value' => 'custom_url'),
+            ),
+          ),
         );
         break;
       case 'analyze-theme':
diff --git a/plugins/views_plugin_display_feed.inc b/plugins/views_plugin_display_feed.inc
index 37d0ae4..0965fc1 100644
--- a/plugins/views_plugin_display_feed.inc
+++ b/plugins/views_plugin_display_feed.inc
@@ -154,7 +154,11 @@ class views_plugin_display_feed extends views_plugin_display_page {
           '#default_value' => $this->get_option('sitename_title'),
         );
         $form['title'] = $title;
-        $form['title']['#dependency'] = array('edit-sitename-title' => array(FALSE));
+        $form['title']['#states'] = array(
+          'visible' => array(
+            ':input[name="sitename_title"]' => array('checked' => FALSE),
+          ),
+        );
         break;
       case 'displays':
         $form['#title'] .= t('Attach to');
diff --git a/plugins/views_plugin_display_page.inc b/plugins/views_plugin_display_page.inc
index f077a63..245ab77 100644
--- a/plugins/views_plugin_display_page.inc
+++ b/plugins/views_plugin_display_page.inc
@@ -345,7 +345,14 @@ class views_plugin_display_page extends views_plugin_display {
           '#type' => 'textfield',
           '#default_value' => $menu['title'],
           '#description' => t('If set to normal or tab, enter the text to use for the menu item.'),
-          '#dependency' => array('radio:menu[type]' => array('normal', 'tab', 'default tab')),
+//          '#dependency' => array('radio:menu[type]' => array('normal', 'tab', 'default tab')),
+          '#states' => array(
+            'visible' => array(
+              ':input[name="menu[type]"]' => array('value' => 'normal'),
+              'or',
+              ':input[name="menu[type]"]' => array('value' => 'tab'),
+            ),
+          ),
         );
         $form['menu']['description'] = array(
           '#title' => t('Description'),
diff --git a/plugins/views_plugin_exposed_form.inc b/plugins/views_plugin_exposed_form.inc
index 287dd89..8ba5919 100644
--- a/plugins/views_plugin_exposed_form.inc
+++ b/plugins/views_plugin_exposed_form.inc
@@ -71,8 +71,10 @@ class views_plugin_exposed_form extends views_plugin {
       '#description' => t('Text to display in the reset button of the exposed form.'),
       '#default_value' => $this->options['reset_button_label'],
       '#required' => TRUE,
-      '#dependency' => array(
-        'edit-exposed-form-options-reset-button' => array(1)
+      '#states' => array(
+        'invisible' => array(
+          'input[name="exposed_form_options[reset_button]"]' => array('checked' => FALSE),
+        ),
       ),
     );
 
@@ -112,8 +114,10 @@ class views_plugin_exposed_form extends views_plugin {
       '#title' => t('Hide submit button'),
       '#description' => t('Hide submit button if javascript is enabled.'),
       '#default_value' => $this->options['autosubmit_hide'],
-      '#dependency' => array(
-        'edit-exposed-form-options-autosubmit' => array(1),
+      '#states' => array(
+        'invisible' => array(
+          'input[name="exposed_form_options[autosubmit]"]' => array('checked' => FALSE),
+        ),
       ),
     );
   }
diff --git a/plugins/views_plugin_pager_full.inc b/plugins/views_plugin_pager_full.inc
index d4c2203..dc3072a 100644
--- a/plugins/views_plugin_pager_full.inc
+++ b/plugins/views_plugin_pager_full.inc
@@ -151,8 +151,10 @@ class views_plugin_pager_full extends views_plugin_pager {
       '#required' => TRUE,
       '#description' => t('Label to use in the exposed items per page form element.'),
       '#default_value' => $this->options['expose']['items_per_page_label'],
-      '#dependency' => array(
-        'edit-pager-options-expose-items-per-page' => array(1)
+      '#states' => array(
+        'invisible' => array(
+          'input[name="pager_options[expose][items_per_page]"]' => array('checked' => FALSE),
+        ),
       ),
     );
 
@@ -162,8 +164,10 @@ class views_plugin_pager_full extends views_plugin_pager {
       '#required' => TRUE,
       '#description' => t('Set between which values the user can choose when determining the items per page. Separated by comma.'),
       '#default_value' => $this->options['expose']['items_per_page_options'],
-      '#dependency' => array(
-        'edit-pager-options-expose-items-per-page' => array(1)
+      '#states' => array(
+        'invisible' => array(
+          'input[name="pager_options[expose][items_per_page]"]' => array('checked' => FALSE),
+        ),
       ),
     );
 
@@ -180,8 +184,10 @@ class views_plugin_pager_full extends views_plugin_pager {
       '#title' => t('All items label'),
       '#description' => t('Which label will be used to display all items'),
       '#default_value' => $this->options['expose']['items_per_page_options_all_label'],
-      '#dependency' => array(
-        'edit-items-per-page-options-all' => array(1),
+      '#states' => array(
+        'invisible' => array(
+          'input[name="pager_options[expose][items_per_page_options_all]"]' => array('checked' => FALSE),
+        ),
       ),
     );
 
@@ -198,8 +204,10 @@ class views_plugin_pager_full extends views_plugin_pager {
       '#required' => TRUE,
       '#description' => t('Label to use in the exposed offset form element.'),
       '#default_value' => $this->options['expose']['offset_label'],
-      '#dependency' => array(
-        'edit-pager-options-expose-offset' => array(1)
+      '#states' => array(
+        'invisible' => array(
+          'input[name="pager_options[expose][offset]"]' => array('checked' => FALSE),
+        ),
       ),
     );
   }
diff --git a/plugins/views_plugin_query_default.inc b/plugins/views_plugin_query_default.inc
index aa8e7db..dc8e3d5 100644
--- a/plugins/views_plugin_query_default.inc
+++ b/plugins/views_plugin_query_default.inc
@@ -260,7 +260,11 @@ class views_plugin_query_default extends views_plugin_query {
       '#title' => t('Pure Distinct'),
       '#description' => t('This will prevent views from adding the base column to the distinct field. If this is not selected and the base column is a primary key, then a non-pure distinct will not function properly because the primary key is always unique.'),
       '#default_value' => !empty($this->options['pure_distinct']),
-      '#dependency' => array('edit-query-options-distinct' => '1'),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="query[options][distinct]"]' => array('checked' => TRUE),
+        ),
+      ),
     );
     $form['slave'] = array(
       '#type' => 'checkbox',
diff --git a/plugins/views_plugin_row_fields.inc b/plugins/views_plugin_row_fields.inc
index b1c02e1..8bf395f 100644
--- a/plugins/views_plugin_row_fields.inc
+++ b/plugins/views_plugin_row_fields.inc
@@ -48,12 +48,11 @@ class views_plugin_row_fields extends views_plugin_row {
       '#options' => $options,
       '#default_value' => $this->options['inline'],
       '#description' => t('Inline fields will be displayed next to each other rather than one after another. Note that some fields will ignore this if they are block elements, particularly body fields and other formatted HTML.'),
-      '#dependency' => array(
-        'edit-row-options-default-field-elements' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="row_options[default_field_elements]"]' => array('checked' => TRUE),
+        ),
       ),
-      '#prefix' => '<div id="edit-row-options-inline-wrapper"><div>',
-      '#suffix' => '</div></div>',
-
     );
 
     $form['separator'] = array(
diff --git a/plugins/views_plugin_style.inc b/plugins/views_plugin_style.inc
index 4b8d9e7..5def269 100644
--- a/plugins/views_plugin_style.inc
+++ b/plugins/views_plugin_style.inc
@@ -220,17 +220,27 @@ class views_plugin_style extends views_plugin {
             '#title' => t('Use rendered output to group rows'),
             '#default_value' => $grouping['rendered'],
             '#description' => t('If enabled the rendered output of the grouping field is used to group the rows.'),
-            '#dependency' => array(
-              'edit-style-options-grouping-' . $i . '-field' => array_keys($field_labels),
-            )
+//            '#dependency' => array(
+//              'edit-style-options-grouping-' . $i . '-field' => array_keys($field_labels),
+//            ),
+            '#states' => array(
+             'visible' => array(
+              ':input[name="style_options[grouping][' . $i . '][field]"]' => array('value' => ''),
+              ),
+            ),
           );
           $form['grouping'][$i]['rendered_strip'] = array(
             '#type' => 'checkbox',
             '#title' => t('Remove tags from rendered output'),
             '#default_value' => $grouping['rendered_strip'],
-            '#dependency' => array(
-              'edit-style-options-grouping-' . $i . '-field' => array_keys($field_labels),
-            )
+//            '#dependency' => array(
+//              'edit-style-options-grouping-' . $i . '-field' => array_keys($field_labels),
+//            )
+            '#states' => array(
+              'disabled' => array(
+                ':input[name="style_options[grouping][' . $i . '][field]"]' => array('value' => ''),
+              ),
+            ),
           );
         }
       }
diff --git a/plugins/views_plugin_style_summary.inc b/plugins/views_plugin_style_summary.inc
index 5081dd6..256c0e3 100644
--- a/plugins/views_plugin_style_summary.inc
+++ b/plugins/views_plugin_style_summary.inc
@@ -54,8 +54,10 @@ class views_plugin_style_summary extends views_plugin_style {
       '#type' => 'textfield',
       '#title' => t('Items to display'),
       '#default_value' => $this->options['items_per_page'],
-      '#dependency' => array(
-        'edit-options-summary-options-' . str_replace('_', '-', $this->definition['name']) . '-override' => array(1)
+      '#states' => array(
+        'visible' => array(
+          ':input[name="options[summary][options][' . $this->definition['name'] . '][override]"]' => array('checked' => TRUE),
+        ),
       ),
     );
   }
diff --git a/plugins/views_plugin_style_table.inc b/plugins/views_plugin_style_table.inc
index 98919ab..b4aa6a9 100644
--- a/plugins/views_plugin_style_table.inc
+++ b/plugins/views_plugin_style_table.inc
@@ -207,9 +207,7 @@ class views_plugin_style_table extends views_plugin_style {
     }
 
     foreach ($columns as $field => $column) {
-      $safe = str_replace(array('][', '_', ' '), '-', $field);
-      // the $id of the column for dependency checking.
-      $id = 'edit-style-options-columns-' . $safe;
+      $column_selector = ':input[name="style_options[columns][' . $field . ']"]';
 
       $form['columns'][$field] = array(
         '#type' => 'select',
@@ -220,14 +218,22 @@ class views_plugin_style_table extends views_plugin_style {
         $form['info'][$field]['sortable'] = array(
           '#type' => 'checkbox',
           '#default_value' => !empty($this->options['info'][$field]['sortable']),
-          '#dependency' => array($id => array($field)),
+          '#states' => array(
+            'visible' => array(
+              $column_selector => array('value' => $field),
+            ),
+          ),
         );
         $form['info'][$field]['default_sort_order'] = array(
           '#type' => 'select',
           '#options' => array('asc' => t('Ascending'), 'desc' => t('Descending')),
           '#default_value' => !empty($this->options['info'][$field]['default_sort_order']) ? $this->options['info'][$field]['default_sort_order'] : 'asc',
-          '#dependency_count' => 2,
-          '#dependency' => array($id => array($field), 'edit-style-options-info-' . $safe . '-sortable' => array(1)),
+          '#states' => array(
+            'visible' => array(
+              $column_selector => array('value' => $field),
+              ':input[name="style_options[info][' . $field . '][sortable]"]' => array('checked' => TRUE),
+            ),
+          ),
         );
         // Provide an ID so we can have such things.
         $radio_id = drupal_html_id('edit-default-' . $field);
@@ -239,7 +245,11 @@ class views_plugin_style_table extends views_plugin_style {
           // because 'radio' doesn't fully support '#id' =(
           '#attributes' => array('id' => $radio_id),
           '#default_value' => $default,
-          '#dependency' => array($id => array($field)),
+          '#states' => array(
+            'visible' => array(
+              $column_selector => array('value' => $field),
+            ),
+          ),
         );
       }
       $form['info'][$field]['align'] = array(
@@ -251,18 +261,30 @@ class views_plugin_style_table extends views_plugin_style {
           'views-align-center' => t('Center'),
           'views-align-right' => t('Right'),
           ),
-        '#dependency' => array($id => array($field)),
+        '#states' => array(
+          'visible' => array(
+            $column_selector => array('value' => $field),
+          ),
+        ),
       );
       $form['info'][$field]['separator'] = array(
         '#type' => 'textfield',
         '#size' => 10,
         '#default_value' => isset($this->options['info'][$field]['separator']) ? $this->options['info'][$field]['separator'] : '',
-        '#dependency' => array($id => array($field)),
+        '#states' => array(
+          'visible' => array(
+            $column_selector => array('value' => $field),
+          ),
+        ),
       );
       $form['info'][$field]['empty_column'] = array(
         '#type' => 'checkbox',
         '#default_value' => isset($this->options['info'][$field]['empty_column']) ? $this->options['info'][$field]['empty_column'] : FALSE,
-        '#dependency' => array($id => array($field)),
+        '#states' => array(
+          'visible' => array(
+            $column_selector => array('value' => $field),
+          ),
+        ),
       );
 
       // markup for the field name
diff --git a/plugins/views_wizard/views_ui_base_views_wizard.class.php b/plugins/views_wizard/views_ui_base_views_wizard.class.php
index 8893ab8..224d317 100644
--- a/plugins/views_wizard/views_ui_base_views_wizard.class.php
+++ b/plugins/views_wizard/views_ui_base_views_wizard.class.php
@@ -103,8 +103,10 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface {
     $form['displays']['page']['options'] = array(
       '#type' => 'container',
       '#attributes' => array('class' => array('options-set'),),
-      '#dependency' => array(
-        'edit-page-create' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="page[create]"]' => array('checked' => TRUE),
+        ),
       ),
       '#pre_render' => array('ctools_dependent_pre_render'),
       '#prefix' => '<div><div id="edit-page-wrapper">',
@@ -147,7 +149,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface {
       '#size' => 5,
       '#element_validate' => array('views_element_validate_integer'),
     );
-    $form['displays']['page']['options']['pager'] = array(
+    $form['displays']['page']['options']['pagerz'] = array(
       '#title' => t('Use a pager'),
       '#type' => 'checkbox',
       '#default_value' => TRUE,
@@ -159,10 +161,11 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface {
     );
     $form['displays']['page']['options']['link_properties'] = array(
       '#type' => 'container',
-      '#dependency' => array(
-        'edit-page-link' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="page[link]"]' => array('checked' => TRUE),
+        ),
       ),
-      '#pre_render' => array('ctools_dependent_pre_render'),
       '#prefix' => '<div id="edit-page-link-properties-wrapper">',
       '#suffix' => '</div>',
     );
@@ -194,10 +197,11 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface {
       );
       $form['displays']['page']['options']['feed_properties'] = array(
         '#type' => 'container',
-        '#dependency' => array(
-          'edit-page-feed' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="page[feed]"]' => array('checked' => TRUE),
+          ),
         ),
-        '#pre_render' => array('ctools_dependent_pre_render'),
         '#prefix' => '<div id="edit-page-feed-properties-wrapper">',
         '#suffix' => '</div>',
       );
@@ -213,8 +217,10 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface {
         '#options' => $feed_row_options,
         '#default_value' => key($feed_row_options),
         '#access' => (count($feed_row_options) > 1),
-        '#dependency' => array(
-          'edit-page-feed' => array(1),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="page[feed]"]' => array('checked' => TRUE),
+          ),
         ),
         '#pre_render' => array('ctools_dependent_pre_render'),
         '#prefix' => '<div id="edit-page-feed-properties-row-plugin-wrapper">',
@@ -239,8 +245,10 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface {
     $form['displays']['block']['options'] = array(
       '#type' => 'container',
       '#attributes' => array('class' => array('options-set'),),
-      '#dependency' => array(
-        'edit-block-create' => array(1),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="block[create]"]' => array('checked' => TRUE),
+        ),
       ),
       '#pre_render' => array('ctools_dependent_pre_render'),
       '#prefix' => '<div id="edit-block-wrapper">',
