bb.page.video = bb.page.video || {};

bb.page.video.currentTitleNode = null;
bb.page.video.currentDescriptionNode = null;

document.observe("dom:loaded", function() {
    bb.page.video.init();
    bb.page.video.currentTitleNode = $$("h3.video-title")[0];
    bb.page.video.currentDescriptionNode = $$("div.summary p")[0];
    
    var startingVideo = bb.getQueryStringValue("video");
    if (startingVideo) {
        bb.page.video.loadVideoByXml(startingVideo);        
    } else {
        bb.page.video.loadVideo(1);
    }
});

/**
 * initalization for SPP page. Makes initial AJAX request for Product & SKU data,
 * then uses that data to render elements on the page.
 */
bb.page.video.init = function() {
    var subnavLinks = $$("a.video-link");
    subnavLinks.each( function(linkNode) {
        var reResults = linkNode.className.match(/video-id-(\d+)/);
        if (reResults) {
            var videoID = reResults[1];
            if (videoID) {
                linkNode.observe("click", function(clickEvt) {
                    clickEvt.preventDefault();
                    bb.page.video.loadVideo(videoID);
                });
            }
        }
    });
};

bb.page.video.loadVideoByXml = function(startingVideo) {
    if (bb.page.videoData) {
        var startingVideoID = 1;
        var videoData = bb.page.videoData.find( function(vidData) {
            return vidData.xml.indexOf(startingVideo) > -1;
        });
        if (videoData) {
            bb.page.video.loadVideo(videoData.id);
        } else {
            bb.page.video.loadVideo(1);
        }
    }
};


bb.page.video.loadVideo = function(videoID) {
    if (bb.page.videoData) {
        var videoData = bb.page.videoData.find( function(vidData) {
            return vidData.id == videoID;
        });
        if (videoData) {
            if (bb.page.video.currentTitleNode) {
                bb.page.video.currentTitleNode.update(videoData.title);
            }
            if (bb.page.video.currentDescriptionNode) {
                bb.page.video.currentDescriptionNode.update(videoData.description);
            }
            console.log(videoData.xml);

            var flashvars = {
                xml    : videoData.xml,
                width  : 745,
                height : 310
            };
            var params = {
                allowFullScreen: "true",
                menu    : "false",
                wmode   : "opaque",
                bgcolor : "#FFFFFF",
                scale   : "noscale"
            };
            var attributes = {};
            
            swfobject.embedSWF(
                "/media/flash/videoplayer/BobbiBrownVideoPlayerLEARN.swf",
                "flash-video-container",
                "745",
                "310",
                "9.0.124",
                "/media/flash/expressInstall.swf",
                flashvars, params, attributes
            );
            //
            // set active link in left-hand subnav            
            var videoSubLinks = $$("a.video-link");
            videoSubLinks.each(function(link) {
                if (link.className.indexOf("video-id-" + videoID) > -1) {
                    link.addClassName("current");
                } else {
                    link.removeClassName("current");
                }
            });
        }
    }
}
