//jQuery Functions

var bcExp;
var modVP;
var modExp;
var modContent;
var adModule;
var adScriptObj;
var appReady = false;
var basePath = "";
var myPlayer;

function init(path)
{								
	//if(window.console != undefined) console.log("baby channel - init")
		
	basePath = path;
	
	var displayObj = {
			error: "nowPlayingBlockData",
			results: "thumbnailBlockData",
			menu: "menu",	
			title: "nowPlayingBlockTitle",
			popular: "mostPopularSectionData",
			basePath: basePath	
	}		
	
	document.getElementById("searchText").value = "Search Video";
	
	babyChannel = new BabyChannel();		
	babyChannel.tagPageLoad("babyChannel.videosByTagResults", "baby channel", displayObj);
	
	// Add hack for a failed onTemplateLoad
	var bc_config = {};

	bc_config["id"] = "myExperience";
	bc_config["bgcolor"] = "#FFFFFF";
	bc_config["width"] = 486;
	bc_config["height"] = 345;
	bc_config["playerId"] = 1847329001;
	bc_config["publisherID"] = 495713462;
	bc_config["@videoPlayer"] = null;

	myPlayer = new BCPlayer(bc_config, "playerBlock");
}

function createPlayer()
{							
	//if(window.console != undefined) console.log("baby channel - createPlayer")
		
	if(!myPlayer.created) myPlayer.create();
}

function pageLoad(tags, title)
{						
	//if(window.console != undefined) console.log("baby channel - pageLoad")
		
	document.getElementById("thumbnailBlockTitle1").innerHTML = title;
	babyChannel.tagPageLoad("babyChannel.videosByTagResults", tags);
}

function videoSearch()
{						
	//if(window.console != undefined) console.log("baby channel - videoSearch")
		
	if(document.getElementById("searchText").value != "" && document.getElementById("searchText").value != "Search Video"){
		document.getElementById("thumbnailBlockTitle1").innerHTML = "Search Results";
		babyChannel.videoSearch(document.getElementById("searchText").value, "babyChannel.videosByTextResults");
	}
}

// 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) 
{						
	//if(window.console != undefined) console.log("baby channel - onTemplateLoaded")
		
    bcExp = brightcove.getExperience(experienceID);
     
    modVP = bcExp.getModule(APIModules.VIDEO_PLAYER);
    modExp = bcExp.getModule(APIModules.EXPERIENCE);
    modContent = bcExp.getModule(APIModules.CONTENT);
  
    modExp.addEventListener(BCExperienceEvent.TEMPLATE_READY, onTemplateReady);
    modExp.addEventListener(BCExperienceEvent.CONTENT_LOAD, onContentLoad);
    modContent.addEventListener(BCContentEvent.VIDEO_LOAD, onVideoLoad); 
    
    adModule = bcExp.getModule(APIModules.ADVERTISING);
    //adModule.externalAds(true);
    //adModule.enableOverrideAds(true);
    //adModule.addEventListener(BCAdvertisingEvent.EXTERNAL_AD, onExternalAd);
    adModule.addEventListener(BCAdvertisingEvent.AD_START, onAdStart); 
    //adModule.addEventListener(BCAdvertisingEvent.AD_COMPLETE, onAdComplete);  
}

function onTemplateReady(evt) 
{						
	//if(window.console != undefined) console.log("baby channel - onTemplateReady")
		
	appReady = true;
	
	// play if first
	if(babyChannel.firstLoad){
		babyChannel.firstLoad = false;
		loadContentById(babyChannel.currentJsonData["items"][0].id);
	}
}

function onContentLoad(evt) 
{						
	//if(window.console != undefined) console.log("baby channel - onContentLoad")
		
    var currentVideo = modVP.getCurrentVideo();  
}

function onVideoLoad(evt) 
{						
	//if(window.console != undefined) console.log("baby channel - onVideoLoad")
		
    // Play video that was just loaded
    modVP.loadVideo(evt.video.id);
}

function onAdStart(evt) 
{						
	//if(window.console != undefined) console.log("baby channel - onAdStart")
		
	top.frames['adBlockIFrame'].location = basePath+ "/ad_tag.html";
}

function clearTxt() 
{						
	//if(window.console != undefined) console.log("baby channel - clearTxt")
		
	 document.getElementById("searchText").value = "";
}

function loadContentById(id)
{						
	//if(window.console != undefined) console.log("baby channel - loadContentById")
		
	if(appReady) {
		modContent.getVideoAsynch(id);
		document.getElementById("nowPlayingBlockTitle").innerHTML = babyChannel.getVideoDetail(id).name ;
		document.getElementById("nowPlayingBlockContent").innerHTML = babyChannel.getVideoDetail(id).shortDescription;
	}
}

function loadPopularContentById(id)
{						
	//if(window.console != undefined) console.log("baby channel - loadPopularContentById")
		
	if(appReady) {
		modContent.getVideoAsynch(id);
		document.getElementById("nowPlayingBlockTitle").innerHTML = babyChannel.getPopularVideoDetail(id).name ;
		document.getElementById("nowPlayingBlockContent").innerHTML = babyChannel.getPopularVideoDetail(id).shortDescription;
	}
}

function loadMyBabyChannelContentById(id)
{						
	//if(window.console != undefined) console.log("baby channel - loadMyBabyChannelContentById")
		
	if(appReady) {
		modContent.getVideoAsynch(id);
		document.getElementById("nowPlayingBlockTitle").innerHTML = babyChannel.getMyBabyChannelVideoDetail(id).name ;
		document.getElementById("nowPlayingBlockContent").innerHTML = babyChannel.getMyBabyChannelVideoDetail(id).shortDescription;
	}
}

function menuToggle(menuStr, items)
{						
	//if(window.console != undefined) console.log("baby channel - menuToggle")
		
	for(var i=1; i<=items; i++)
	{
		$(('#'+menuStr+i)).slideToggle('slow');
	}
}