/**
 * 
 * Insert a playlist into the editor for a page or post through the media manager
 * 
 */
function s3video_playlist_media_manager()
{
    if (isset($_POST['insertPlaylistId']) && !empty($_POST['insertPlaylistId'])) {
        $insertHtml = "[S3_embed_playlist id='" . $_POST['insertPlaylistId'] . "']";
        media_send_to_editor($insertHtml);
        die;
    }
    $pluginSettings = s3_video_check_plugin_settings();
    // Load playlist management class
    require_once WP_PLUGIN_DIR . '/s3-video/includes/playlist_management.php';
    $playlistManagement = new s3_playlist_management();
    // Load all of the existing playlists
    $existingPlaylists = $playlistManagement->getAllPlaylists();
    require_once WP_PLUGIN_DIR . '/s3-video/views/playlist-management/media_manager_show_playlists.php';
}
/**
 * 
 * Load the player dependent Javascript
 */
function s3_video_load_player_js()
{
    wp_enqueue_script('jquery');
    wp_enqueue_script('swfobject');
    $pluginSettings = s3_video_check_plugin_settings();
    if (empty($pluginSettings['amazon_s3_video_player']) || $pluginSettings['amazon_s3_video_player'] == 'flowplayer') {
        wp_enqueue_script('flowPlayer', WP_PLUGIN_URL . '/s3-video/js/flowplayer-3.2.12.js', array('jquery'), '1.0');
        wp_enqueue_script('flowPlayerPlaylist', WP_PLUGIN_URL . '/s3-video/js/jquery.playlist.js', array('jquery'), '1.0');
    } else {
        // If any playlists exist load both players
        require_once WP_PLUGIN_DIR . '/s3-video/includes/playlist_management.php';
        $playlistManagement = new s3_playlist_management();
        if ($playlistManagement->getAllPlaylists()) {
            wp_enqueue_script('flowPlayer', WP_PLUGIN_URL . '/s3-video/js/flowplayer-3.2.12.js', array('jquery'), '1.0');
            wp_enqueue_script('flowPlayerPlaylist', WP_PLUGIN_URL . '/s3-video/js/jquery.playlist.js', array('jquery'), '1.0');
        }
        wp_enqueue_script('videoJS', WP_PLUGIN_URL . '/s3-video/js/video.min.js');
        wp_register_style('s3_video_videoJS_css', WP_PLUGIN_URL . '/s3-video/css/video-js.css');
        wp_enqueue_style('s3_video_videoJS_css');
    }
}
/**
 * 
 * Post / Page Video insertion functionality for the media manager
 * 
 */
function s3video_video_media_manager()
{
    $pluginSettings = s3_video_check_plugin_settings();
    $existingVideos = s3_video_get_all_existing_video($pluginSettings);
    if (isset($_POST['insertVideoName']) && !empty($_POST['insertVideoName'])) {
        $insertHtml = "[S3_embed_video file='" . $_POST['insertVideoName'] . "']";
        media_send_to_editor($insertHtml);
        die;
    }
    require_once WP_PLUGIN_DIR . '/s3-video/views/video-management/media_manager_insert_video.php';
}
/**
 * 
 * Page to configure plugin settings i.e Amazon access keys etc
 * 
 */
function s3_video_plugin_settings()
{
    if (!empty($_POST)) {
        if (!empty($_POST['amazon_access_key']) && !empty($_POST['amazon_secret_access_key']) && !empty($_POST['amazon_video_bucket'])) {
            register_setting('amazon_s3_video', 'amazon_access_key');
            register_setting('amazon_s3_video', 'amazon_secret_access_key');
            register_setting('amazon_s3_video', 'amazon_video_bucket');
            register_setting('amazon_s3_video', 'amazon_url');
            register_setting('amazon_s3_video', 'amazon_prefix');
            register_setting('s3-video-results-limit', 's3_video_page_result_limit');
            register_setting('amazon_s3_video_autoplay', 'video_autoplay');
            register_setting('amazon_s3_video_autobuffer', 'video_autobuffer');
            register_setting('amazon_s3_playlist_autoplay', 'playlist_autoplay');
            register_setting('amazon_s3_playlist_autobuffer', 'playlist_autobuffer');
            register_setting('amazon_s3_video_player', 'video_player');
            register_setting('amazon_s3_video_playerwidth', 'video_playerwidth');
            register_setting('amazon_s3_video_playerheight', 'video_playerheight');
            update_option('amazon_access_key', trim($_POST['amazon_access_key']));
            update_option('amazon_secret_access_key', trim($_POST['amazon_secret_access_key']));
            update_option('amazon_video_bucket', trim($_POST['amazon_video_bucket']));
            update_option('amazon_video_folder', trim($_POST['amazon_video_folder']));
            update_option('amazon_s3_video_player', trim($_POST['video_player']));
            update_option('amazon_s3_video_playerwidth', trim($_POST['video_playerwidth']));
            update_option('amazon_s3_video_playerheight', trim($_POST['video_playerheight']));
            update_option('amazon_s3_video_autoplay', $_POST['video_autoplay']);
            update_option('amazon_s3_video_autobuffer', $_POST['video_autobuffer']);
            update_option('amazon_s3_playlist_autoplay', $_POST['playlist_autoplay']);
            update_option('amazon_s3_playlist_autobuffer', $_POST['playlist_autobuffer']);
            update_option('amazon_prefix', trim($_POST['amazon_prefix']));
            update_option('amazon_s3_video_player', $_POST['video_player']);
            if (!empty($_POST['amazon_url'])) {
                update_option('amazon_url', $_POST['amazon_url']);
            } else {
                update_option('amazon_url', 's3.amazonaws.com');
            }
            if (!empty($_POST['page_result_limit'])) {
                update_option('s3_video_page_result_limit', $_POST['page_result_limit']);
            } else {
                update_option('s3_video_page_result_limit', 15);
            }
            $successMsg = 'Plugin settings saved successfully.';
            $pluginSettings = s3_video_check_plugin_settings();
        }
    } else {
        $pluginSettings = s3_video_check_plugin_settings(FALSE);
    }
    require_once WP_PLUGIN_DIR . '/s3-video/views/settings/plugin_settings.php';
}