/**
 * Add the post_relationship filter to the filter popup.
 *
 */
function wpv_add_post_relationship($args)
{
    global $wpdb;
    $edit = isset($args['mode']) && $args['mode'] == 'edit';
    $view_settings = isset($args['view_settings']) ? $args['view_settings'] : array();
    $defaults = array('post_relationship_mode' => 'current_page', 'post_relationship_id' => 0);
    $view_settings = wp_parse_args($view_settings, $defaults);
    wp_nonce_field('wpv_get_posts_select_nonce', 'wpv_get_posts_select_nonce');
    ?>

	<div class="post_relationship-div" style="margin-left: 20px;">

        <ul>
            <?php 
    $radio_name = $edit ? '_wpv_settings[post_relationship_mode][]' : 'post_relationship_mode[]';
    ?>
            <li>
                <?php 
    $checked = $view_settings['post_relationship_mode'] == 'current_page' ? 'checked="checked"' : '';
    ?>
                <label><input type="radio" name="<?php 
    echo $radio_name;
    ?>
" value="current_page" <?php 
    echo $checked;
    ?>
>&nbsp;<?php 
    _e('Post where this View is inserted', 'wpv-views');
    ?>
</label>
            </li>
            
            <li>
                <?php 
    $checked = $view_settings['post_relationship_mode'] == 'parent_view' ? 'checked="checked"' : '';
    ?>
                <label><input type="radio" name="<?php 
    echo $radio_name;
    ?>
" value="parent_view" <?php 
    echo $checked;
    ?>
>&nbsp;<?php 
    _e('Post set by parent View', 'wpv-views');
    ?>
</label>
            </li>
            
            <li>
                <?php 
    $checked = $view_settings['post_relationship_mode'] == 'this_page' ? 'checked="checked"' : '';
    ?>
                <label><input type="radio" name="<?php 
    echo $radio_name;
    ?>
" value="this_page" <?php 
    echo $checked;
    ?>
>&nbsp;<?php 
    _e('Specific:', 'wpv-views');
    ?>
</label>
                
                <?php 
    $select_id = $edit ? 'wpv_post_relationship_post_type' : 'wpv_post_relationship_post_type_add';
    ?>
                <select id="<?php 
    echo $select_id;
    ?>
">
                <?php 
    $post_types = get_post_types(array('public' => true), 'objects');
    if ($view_settings['post_relationship_id'] == 0) {
        if ($edit && isset($_POST['post_relationship_type'])) {
            $selected_type = $_POST['post_relationship_type'];
        } else {
            $selected_type = 'page';
        }
    } else {
        $selected_type = $wpdb->get_var($wpdb->prepare("\n                                SELECT post_type FROM {$wpdb->prefix}posts WHERE ID=%d", $view_settings['post_relationship_id']));
        if (!$selected_type) {
            $selected_type = 'page';
        }
    }
    foreach ($post_types as $post_type) {
        $selected = $selected_type == $post_type->name ? ' selected="selected"' : '';
        echo '<option value="' . $post_type->name . '"' . $selected . '>' . $post_type->labels->singular_name . '</option>';
    }
    ?>
                </select>
                
                <?php 
    $post_relationship_select_name = $edit ? '_wpv_settings[post_relationship_id]' : 'wpv_post_relationship_id_add';
    ?>
                <?php 
    wpv_show_posts_dropdown($selected_type, $post_relationship_select_name, $view_settings['post_relationship_id']);
    ?>

                <img id="wpv_update_post_relationship" src="<?php 
    echo WPV_URL;
    ?>
/res/img/ajax-loader.gif" width="16" height="16" style="display:none" alt="loading" />
                
            </li>
        </ul>
        
	</div>
    
	<?php 
}
	/**
	* wpv_get_post_relationship_post_select_callback
	*
	* Render a select dropdown given a post type
	*
	* @since unknown
	*/
	
	static function wpv_get_post_relationship_post_select_callback() {
		$nonce = $_POST["wpnonce"];
		if ( ! wp_verify_nonce( $nonce, 'wpv_view_filter_post_relationship_post_type_nonce' ) ) {
			die( "Security check" );
		}
		wpv_show_posts_dropdown( $_POST['post_type'], 'post_relationship_id' );
		die();
	}
/**
* Render post relationship filter options
*/
function wpv_render_post_relationship($args)
{
    global $wpdb;
    $edit = isset($args['mode']) && $args['mode'] == 'edit';
    $view_settings = isset($args['view_settings']) ? $args['view_settings'] : array();
    $defaults = array('post_relationship_mode' => 'current_page', 'post_relationship_id' => 0, 'post_relationship_shortcode_attribute' => 'wpvprchildof', 'post_relationship_url_parameter' => 'wpv-pr-child-of');
    $view_settings = wp_parse_args($view_settings, $defaults);
    ?>

        <ul>
            <li>
                <?php 
    $checked = $view_settings['post_relationship_mode'] == 'current_page' ? 'checked="checked"' : '';
    ?>
                <label><input type="radio" class="js-post-relationship-mode" name="post_relationship_mode[]" value="current_page" <?php 
    echo $checked;
    ?>
 />&nbsp;<?php 
    _e('Post where this View is inserted', 'wpv-views');
    ?>
</label>
            </li>

            <li>
                <?php 
    $checked = $view_settings['post_relationship_mode'] == 'parent_view' ? 'checked="checked"' : '';
    ?>
                <label><input type="radio" class="js-post-relationship-mode" name="post_relationship_mode[]" value="parent_view" <?php 
    echo $checked;
    ?>
 />&nbsp;<?php 
    _e('Post set by parent View', 'wpv-views');
    ?>
</label>
            </li>
            
            <li>
				<?php 
    $checked = $view_settings['post_relationship_mode'] == 'shortcode_attribute' ? 'checked="checked"' : '';
    ?>
				<label><input type="radio" class="js-post-relationship-mode" name="post_relationship_mode[]" value="shortcode_attribute" <?php 
    echo $checked;
    ?>
 />&nbsp;<?php 
    _e('Post with ID set by the shortcode attribute', 'wpv-views');
    ?>
</label>
				<input class="js-post-relationship-shortcode-attribute js-wpv-filter-validate" data-type="shortcode" type="text" value="<?php 
    echo $view_settings['post_relationship_shortcode_attribute'];
    ?>
" />
            </li>
            
            <li>
				<?php 
    $checked = $view_settings['post_relationship_mode'] == 'url_parameter' ? 'checked="checked"' : '';
    ?>
				<label><input type="radio" class="js-post-relationship-mode" name="post_relationship_mode[]" value="url_parameter" <?php 
    echo $checked;
    ?>
 />&nbsp;<?php 
    _e('Post with ID set by the URL parameter', 'wpv-views');
    ?>
</label>
				<input class="js-post-relationship-url-parameter js-wpv-filter-validate" data-type="url" type="text" value="<?php 
    echo $view_settings['post_relationship_url_parameter'];
    ?>
" />
            </li>

            <li>
                <?php 
    $checked = $view_settings['post_relationship_mode'] == 'this_page' ? 'checked="checked"' : '';
    ?>
                <label><input type="radio" class="js-post-relationship-mode" name="post_relationship_mode[]" value="this_page" <?php 
    echo $checked;
    ?>
 />&nbsp;<?php 
    _e('Specific:', 'wpv-views');
    ?>
</label>

                <select id="wpv_post_relationship_post_type" class="js-post-relationship-post-type" data-nonce="<?php 
    echo wp_create_nonce('wpv_view_filter_post_relationship_post_type_nonce');
    ?>
">
                <?php 
    $post_types = get_post_types(array('public' => true), 'objects');
    if ($view_settings['post_relationship_id'] == 0) {
        if ($edit && isset($_POST['post_relationship_type'])) {
            $selected_type = $_POST['post_relationship_type'];
        } else {
            $selected_type = 'page';
        }
    } else {
        $selected_type = $wpdb->get_var($wpdb->prepare("\n                                SELECT post_type FROM {$wpdb->prefix}posts WHERE ID=%d", $view_settings['post_relationship_id']));
        if (!$selected_type) {
            $selected_type = 'page';
        }
    }
    foreach ($post_types as $post_type) {
        $selected = $selected_type == $post_type->name ? ' selected="selected"' : '';
        echo '<option value="' . $post_type->name . '"' . $selected . '>' . $post_type->labels->singular_name . '</option>';
    }
    ?>
                </select>

                <?php 
    $post_relationship_select_name = 'post_relationship_id';
    ?>
                <?php 
    wpv_show_posts_dropdown($selected_type, $post_relationship_select_name, $view_settings['post_relationship_id']);
    ?>

            </li>
        </ul>
        <p>
			<a class="wpv-help-link" target="_blank" href="http://wp-types.com/documentation/user-guides/querying-and-displaying-child-posts/">
				<?php 
    _e('Querying and Displaying Child Posts', 'wpv-views');
    ?>
			</a>
		</p>
	<?php 
}
/**
* DEPRECATED test
*/
function wpv_get_posts_select()
{
    if (wp_verify_nonce($_POST['wpv_nonce'], 'wpv_get_posts_select_nonce')) {
        wpv_show_posts_dropdown($_POST['post_type']);
    }
    die;
}