function onMediaBegin(evt) {
    PlayerUtils.currentVideo = PlayerUtils.videoPlayer.getCurrentVideo();
    PlayerUtils.updateLink();

    // Set current video information
    PlayerUtils.currentVideo = PlayerUtils.videoPlayer.getCurrentVideo();
    PlayerUtils.show_current_video_tags();
    PlayerUtils.show_current_video_info();

    // Send information to tracking service
    PlayerUtils.sendCurrentVideoTrackingInfo(evt.type);
}

function onMediaComplete(evt) {
    // Send information to tracking service
    PlayerUtils.sendCurrentVideoTrackingInfo(evt.type);
}

function onTemplateReady(e) {
    var search = getSiteParameters();
    if (search != 0) {
        var parameterName = "bctid=";
        var begin = search.indexOf(parameterName);
        var end;
        if (begin != -1) {
            begin += parameterName.length;
            end = search.indexOf( "&", begin );
            if ( end == -1 ) {
                end = search.length;
            }
            PlayerUtils.load_video(unescape(search.substring(begin, end)));
        }
    }
    PlayerUtils.updateLink();
}

function onMediaChange(e) {
    /* // Set current video information
    PlayerUtils.currentVideo = PlayerUtils.videoPlayer.getCurrentVideo();
    PlayerUtils.show_current_video_tags();
    PlayerUtils.show_current_video_info();

    // Send information to tracking service
    PlayerUtils.sendCurrentVideoTrackingInfo(evt.type);*/

    if(PlayerUtils.experience.getReady()) {
        PlayerUtils.updateLink();
    }
}

// called when template loads, this function stores a reference to the player and modules.
// Then event listeners will be added for when the template is ready and when a user
// clicks on a video.
function onTemplateLoaded(experienceID) {
//    $('splash').hide();
    // Get references to API Modules
    var bcExp = brightcove.getExperience(experienceID);
    PlayerUtils.videoPlayer = bcExp.getModule(APIModules.VIDEO_PLAYER);
    PlayerUtils.experience = bcExp.getModule(APIModules.EXPERIENCE);
    PlayerUtils.content = bcExp.getModule(APIModules.CONTENT);
    PlayerUtils.social = bcExp.getModule(APIModules.SOCIAL);
    PlayerUtils.social.setLink(getSiteHost());
    PlayerUtils.templateLoaded();

    //var localizationOptions = PlayerUtils.experience.getConfiguredPropertiesForID("localization");
    //var language = localizationOptions.language;
    //alert(localizationOptions);

    // Register events
    PlayerUtils.videoPlayer.addEventListener(BCMediaEvent.BEGIN, onMediaBegin);
    PlayerUtils.videoPlayer.addEventListener(BCMediaEvent.COMPLETE, onMediaComplete);
    PlayerUtils.experience.addEventListener(BCExperienceEvent.TEMPLATE_READY, onTemplateReady);
    PlayerUtils.videoPlayer.addEventListener(BCMediaEvent.CHANGE, onMediaChange);

    // Send information to tracking service
    PlayerUtils.sendCurrentVideoTrackingInfo('templateLoaded');

}
