function genesis_register_theme_settings()
{
    register_setting(GENESIS_SETTINGS_FIELD, GENESIS_SETTINGS_FIELD);
    add_option(GENESIS_SETTINGS_FIELD, genesis_theme_settings_defaults());
    if (!isset($_REQUEST['page']) || $_REQUEST['page'] != 'genesis') {
        return;
    }
    if (genesis_get_option('reset')) {
        update_option(GENESIS_SETTINGS_FIELD, genesis_theme_settings_defaults());
        wp_redirect(admin_url('admin.php?page=genesis&reset=true'));
        exit;
    }
}
/**
 * This registers the settings field and adds defaults to the options table.
 * It also handles settings resets by pushing in the defaults.
 */
function genesis_register_theme_settings()
{
    register_setting(GENESIS_SETTINGS_FIELD, GENESIS_SETTINGS_FIELD);
    add_option(GENESIS_SETTINGS_FIELD, genesis_theme_settings_defaults());
    if (!isset($_REQUEST['page']) || $_REQUEST['page'] != 'genesis') {
        return;
    }
    if (genesis_get_option('reset')) {
        update_option(GENESIS_SETTINGS_FIELD, genesis_theme_settings_defaults());
        genesis_admin_redirect('genesis', array('reset' => 'true'));
        exit;
    }
}
/**
 * This function is what actually gets output to the page. It handles the markup,
 * builds the form, outputs necessary JS stuff, and fires <code>do_meta_boxes()</code>
 */
function genesis_theme_settings_admin()
{
    global $_genesis_theme_settings_pagehook, $screen_layout_columns;
    if ($screen_layout_columns == 3) {
        $width = "width: 32.67%";
    } elseif ($screen_layout_columns == 2) {
        $width = "width: 49%;";
        $hide3 = " display: none;";
    } else {
        $width = "width: 99%;";
        $hide2 = $hide3 = " display: none;";
    }
    ?>
	
	<div id="genesis-theme-settings" class="wrap genesis-metaboxes">
	<form method="post" action="options.php">
		
		<?php 
    wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false);
    ?>
		<?php 
    wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false);
    ?>
		<?php 
    settings_fields(GENESIS_SETTINGS_FIELD);
    // important!
    ?>
		<input type="hidden" name="<?php 
    echo GENESIS_SETTINGS_FIELD;
    ?>
[theme_version]>" value="<?php 
    esc_attr(genesis_option('theme_version'));
    ?>
" />
		
		<?php 
    screen_icon('options-general');
    ?>
		<h2><?php 
    _e('Genesis - Theme Settings', 'genesis');
    ?>
</h2>
		
		<div class="top-buttons">
			<input type="submit" class="button-primary" value="<?php 
    _e('Save Settings', 'genesis');
    ?>
" />
			<input type="submit" class="button-highlighted" name="<?php 
    echo GENESIS_SETTINGS_FIELD;
    ?>
[reset]" value="<?php 
    _e('Reset Settings', 'genesis');
    ?>
" />
		</div>
		
		<?php 
    if (genesis_get_option('reset')) {
        update_option(GENESIS_SETTINGS_FIELD, genesis_theme_settings_defaults());
        echo '<div id="message" class="updated" id="message"><p><strong>' . __('Theme Settings Reset', 'genesis') . '</strong></p></div>';
    } elseif (isset($_REQUEST['updated']) && $_REQUEST['updated'] == 'true') {
        echo '<div id="message" class="updated" id="message"><p><strong>' . __('Theme Settings Saved', 'genesis') . '</strong></p></div>';
    }
    ?>
		
		<div class="metabox-holder">
			<div class="postbox-container" style="<?php 
    echo $width;
    ?>
">
				<?php 
    do_meta_boxes($_genesis_theme_settings_pagehook, 'column1', null);
    ?>
			</div>
			<div class="postbox-container" style="<?php 
    echo $width;
    echo $hide2;
    ?>
">
				<?php 
    do_meta_boxes($_genesis_theme_settings_pagehook, 'column2', null);
    ?>
			</div>
		</div>
		
		<div class="bottom-buttons">
			<input type="submit" class="button-primary" value="<?php 
    _e('Save Settings', 'genesis');
    ?>
" />
			<input type="submit" class="button-highlighted" name="<?php 
    echo GENESIS_SETTINGS_FIELD;
    ?>
[reset]" value="<?php 
    _e('Reset Settings', 'genesis');
    ?>
" />
		</div>
	</form>
	</div>
	<script type="text/javascript">
		//<![CDATA[
		jQuery(document).ready( function($) {
			// close postboxes that should be closed
			$('.if-js-closed').removeClass('if-js-closed').addClass('closed');
			// postboxes setup
			postboxes.add_postbox_toggles('<?php 
    echo $_genesis_theme_settings_pagehook;
    ?>
');
		});
		//]]>
	</script>

<?php 
}