﻿// This plugin will embed a standard YouTube player using an iframe
// iFrame API reference: http://code.google.com/apis/youtube/iframe_api_reference.html
// Author: Justine N - Created On:[10/26/11]
(function($) {
    $.fn.youtubeStandardPlayer = function(settings) {

        var defaultOptions = {
            width: 640,
            height: 300,
            autostart: false,
            videoId: '', //'-XndWzMMkR8'
            videoPrerollId: '',
            showRelVideos: 1, //Leave as default for iOS to work
            ytModestBranding: 0 //Leave as default for iOS to work
        };

        if (settings) {
            $.extend(defaultOptions, settings);
        }

        var thisId = $(this).attr('id');
        var videoPlayed = false;

        // This code loads the IFrame Player API code asynchronously.
        //console.log("loading YouTube stuff...");
                        var tag = document.createElement('script');
                        tag.src = "http://www.youtube.com/player_api";
                        var firstScriptTag = document.getElementsByTagName('script')[0];
                        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

                        //  This function creates an <iframe> (and YouTube player) after the API code downloads.
                        var player;
                        onYouTubePlayerAPIReady = function() {
                            //console.log("in onYouTubePlayerAPIReady");
                            player = new YT.Player(thisId, {
                                height: defaultOptions.height,
                                width: defaultOptions.width,
                                videoId: defaultOptions.videoPrerollId == "" ? defaultOptions.videoId : defaultOptions.videoPrerollId,
                                playerVars: {
                                    'rel': defaultOptions.showRelVideos,
                                    'modestbranding': defaultOptions.ytModestBranding
                                },
                                events: {
                                    'onReady': onIframePlayerReady,
                                    'onStateChange': onIframePlayerStateChange
                                }
                            });
                        }
                        // The API will call this function when the video player is ready.
                        onIframePlayerReady = function(event) {
                            if (defaultOptions.autostart == true)
                                event.target.playVideo();
                        }

                        //  The API calls this function when the player's state changes.
                        onIframePlayerStateChange = function(event) {
                            if (event.data == YT.PlayerState.ENDED) {
                                // Check for preroll
                                if (defaultOptions.videoPrerollId != "" && videoPlayed == false) {
                                    player.loadVideoById(defaultOptions.videoId);
                                    videoPlayed = true;
                                }
                            }
                        }
        

    }
    return this;
})(jQuery);
