/**
 * This file handles the external Ad Integration with the Brightcove Player.
 * 
 * @author Jesse Streb
 */

var player = null;
var experience = null;
var adModule = null;
var videoPlayerModule;
var firstMediaBeginFired = false;

/**
 * An event fired by the Brightcove Player.  Since we have a custom ad integration we register the correct ad formats.
 * @param {Object} message
 */
 function onTemplateLoaded(pId) 
 {
 	player = brightcove.getExperience(pId);
 	experience = player.getModule(APIModules.EXPERIENCE);
 	
    experience.addEventListener(BCExperienceEvent.TEMPLATE_READY, onTemplateReady);
    experience.addEventListener(BCExperienceEvent.CONTENT_LOAD, onContentLoaded);
    
    adModule = player.getModule(APIModules.ADVERTISING);
    adModule.addEventListener(BCAdvertisingEvent.AD_COMPLETE, bc_onAdComplete);
    adModule.enableAdFormats(0, 2, 14);
}

function onContentLoaded() 
{
    adModule.addEventListener(BCAdvertisingEvent.EXTERNAL_AD, onExternalAd);
}

function onTemplateReady() 
{
    try 
	{
        adModule.enableExternalAds(true);
		videoPlayerModule = player.getModule(APIModules.VIDEO_PLAYER);
		videoPlayerModule.addEventListener(BCMediaEvent.BEGIN, onMediaBegin);
		videoPlayerModule.addEventListener(BCMediaEvent.COMPLETE, onMediaComplete);
		
		
    } catch (e) 
	{
		//gulp
    }
}

//function onMediaBegin(pEvent)
//{
//	if(firstMediaBeginFired) 
//	{
//		//console.log("FIRST MEDIA BEGIN FIRED");
//		var currentVideo = videoPlayerModule.getCurrentVideo();
//		var html = '';
//		html += '<a href="' + SITE_ROOT + '">' + SITE_ROOT_TITLE + '</a> &raquo; ';
//				
//		if(PLAYLIST_ID)
//		{
//			html += '<a href="' + SITE_ROOT + PLAYLIST_ID + '/' + PLAYLIST_SEF + '/">' + PLAYLIST_NAME + '</a> &raquo; ';
//		}
//		
//		html += currentVideo.displayName
//		
//		jQuery("#Breadcrumb").html(html);
//		
//		NextUp.updateSharingLinks();
//	}
//	else
//	{
//		//console.log("WHO IS calling it?");
//		firstMediaBeginFired = true;
//		
//	}
//}

//function onMediaComplete(pEvent)
//{
//	var videoID = NextUp.getNextVideo();
//	if(videoID) 
//	{
//		videoPlayerModule.loadVideo(videoID);
//	}
//}


/************************************************************************************
 * Functions to handle the custom ad integration
 ************************************************************************************/

function onExternalAd(pXML) {
	try {
    	var externalAd = new External_Ad(pXML.ad);
    	var ad = externalAd.getVideoAd();
    	adModule.showAd(externalAd.getVideoAd());
	} catch (e) {
    	adModule.resumeAfterExternalAd();
    	return;
	}
	
	try {
	    if (document.getElementById('bigbox_companion') != null && externalAd.getExpandedAd() != "") {
			//alert("externalAd.getExpandedAd()"+externalAd.getExpandedAd());
	        document.getElementById('bigbox_companion').innerHTML = externalAd.getExpandedAd();
		} 
		//else {
		//	if(document.getElementById('CityTv-SquareBanner') != null) {
				/*To show a default ad place the default ad code here.  Essentially set the 
				 *innerHTML of the CityTv-SquareBanner to the dart ad tag.
				 */
        //                        var timestamp = new Date();
		//	return '<iframe width="300" height="250" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" src="http://citynews.video.citytv.com/core/assets/brightcove/ros_ad.html">' +
		//	'</iframe>';
		//	}
		//}
	} catch (e) {
		//gulp
	}
}

