var maxprepsVideoPlayer;

/*
function CreateVideoPlayer(settingsName, initialPlaylists, startBehavior, endBehavior, adRules, trackingName, oWidth, oHeight, staticFileRoot, dynamicFileRoot, defaultUrls, wmode) {
	
	var videoPlayerTag = getVideoPlayerHTML(settingsName, initialPlaylists, startBehavior, endBehavior, adRules, trackingName, oWidth, oHeight, staticFileRoot, dynamicFileRoot, defaultUrls, wmode);
	document.write(videoPlayerTag);
alert(' what is vp tag? -> \n' + videoPlayerTag);
	maxprepsVideoPlayer = getMovie('videoPlayer');
}

function getVideoPlayerHTML(settingsName, initialPlaylists, startBehavior, endBehavior, adRules, trackingName, oWidth, oHeight, staticFileRoot, dynamicFileRoot, defaultUrls, wmode) {
	
	if(wmode != undefined && (wmode == 'transparent' || wmode == 'window' || wmode == 'opaque') ) {;}
	else wmode = 'opaque';	

	var flashVars = "oWidth=" + oWidth + "&oHeight=" + oHeight + "&trackingName=" + trackingName + "&staticFileRoot=" + staticFileRoot + "&settingsName=" + settingsName;
	flashVars    += "&dynamicFileRoot=" + dynamicFileRoot + "&defaultUrls=" + defaultUrls + "&startBehavior=" + startBehavior + "&endBehavior=" + endBehavior;
	
	if(adRules != null && adRules != "")                		flashVars += "&adRules=" +							adRules;
	if(initialPlaylists != null && initialPlaylists != "")	flashVars += "&initialPlaylists=" +			initialPlaylists;
	
	var tag = "";
	tag =		'<div id="videoPlayerInnerDiv" name="videoPlayerInnerDiv" onmouseover="Javascript:onMouseOverVideoPlayerHandler()" onmouseout="Javascript:onMouseOutVideoPlayerHandler()" > \n';

	tag +=		'<object ';
	
	// insert parameters just for internet explorer
	if(navigator.appName.indexOf("Microsoft") != -1) {
		tag += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
		tag += 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ';
	}

	tag +=		'data="' + staticFileRoot + '/flash/videoPlayer/videoPlayer.swf" ';
	tag +=		'type="application/x-shockwave-flash" ';
	tag +=		'width="' + oWidth + 'px" ';
	tag +=		'height="' + oHeight + 'px" ';
	tag +=		'id="videoPlayer" ';
	tag +=		'align="middle" ';
	tag +=		'allowScriptAccess="always" ';
	tag +=		'> \n';

	tag +=		'<param name="movie" value="' + staticFileRoot + '/flash/videoPlayer/videoPlayer.swf" /> \n';
	tag +=		'<param name="scale" value="noscale" /> \n';
	tag +=		'<param name="salign" value="lt" /> \n';
	tag +=		'<param name="wmode" value="' + wmode + '"/> \n';
	tag +=		'<param name="quality" value="high" /> \n';
	tag +=		'<param name="allowScriptAccess" value="always" /> \n';
	tag +=		'<param name="FlashVars" value="' + flashVars + '" /> \n';

	tag +=		'</object>';
	tag +=		'</div>';

	return tag;
}
*/

function CreateVideoPlayer(settingsName, initialPlaylists, startBehavior, endBehavior, adRules, trackingName, oWidth, oHeight, staticFileRoot, dynamicFileRoot, defaultUrls, wmode, listName) {
	var holderDiv =	'<div id="videoPlayerInnerDiv" name="videoPlayerInnerDiv" onmouseover="Javascript:onMouseOverVideoPlayerHandler(); return;" onmouseout="Javascript:onMouseOutVideoPlayerHandler(); return;" ></div>';
	document.write(holderDiv);
	
	// modify any params coming in...
	if(wmode != 'transparent' && wmode != 'window' && wmode != 'opaque') wmode = 'opaque';	
	if(adRules == null) adRules = "";
	if(initialPlaylists == null) initialPlaylists = "";

	
	var so = new SWFObject(staticFileRoot + "/flash/VideoPlayer/VideoPlayer.swf?ClearCache=1", "videoPlayer", (oWidth + "px"), (oHeight + "px"), "9", "#FFFFFF");
 	
 	so.addParam("scale", "noscale");
 	so.addParam("salign", "lt");
 	so.addParam("wmode", wmode);
 	so.addParam("quality", "high");
 	so.addParam("allowScriptAccess", "always");
 
 	so.addVariable("oWidth", oWidth);
	so.addVariable("oHeight", oHeight);
	so.addVariable("trackingName", trackingName);
	so.addVariable("staticFileRoot", staticFileRoot);
	so.addVariable("dynamicFileRoot", dynamicFileRoot);
	so.addVariable("settingsName", settingsName);
	so.addVariable("defaultUrls", defaultUrls);
	so.addVariable("startBehavior", startBehavior);
	so.addVariable("endBehavior", endBehavior);
	so.addVariable("initialPlaylists", initialPlaylists);
	so.addVariable("adRules", adRules);
	so.addVariable("listName", listName);
	
	so.write("videoPlayerInnerDiv");
}

window.onbeforeunload = function() {
	if(getMovie('videoPlayer').stopVideo != null) {
		getMovie('videoPlayer').stopVideo();
	}
}


function videoPlayerReady() {
	showVideoPlayer();
}

function showVideoPlayer() {
	var overlayImage = document.getElementById("overlayImage");
	overlayImage.style.display = "none";
}
function hideVideoPlayer() {
	var overlayImage = document.getElementById("overlayImage");
	overlayImage.style.display = "visible";

	var videoPlayerDiv = document.getElementById("videoPlayerInnerDiv");
	videoPlayerDiv.style.visibility = "hidden";
}


// debug function ===============================================================================================================
function trace(arg) {
	alert(arg);
}

			
function getMovie(movieName) {

	if (navigator.appName.indexOf("Microsoft") != -1) {
		return document.getElementById(movieName);
	}
	else {
		return document[movieName];
	}
}

var mouseOverVideoPlayer = false;
function onMouseOverVideoPlayerHandler() {
	mouseOverVideoPlayer = true;
	//alert('mouse over ' + mouseOverVideoPlayer);
}
function onMouseOutVideoPlayerHandler() {
	mouseOverVideoPlayer = false;
	//alert('mouse out ' + mouseOverVideoPlayer + ' ' + ( (getMovie('videoPlayer') != undefined) ? true : false) + ' ' + ( (getMovie('videoPlayer').stopVideo != undefined) ? true : false) + ' ' + ( (getMovie('videoPlayer').addVideo != undefined) ? true : false) );
}
function getMouseOverVideoPlayer() {
	return mouseOverVideoPlayer;
}

// video player interface functions ==============================================================================================
/* availible events to call on videoplayer... 
	addVideo - ID
	addShow - showName or showUrl
	addSearch - searchString, searchLocation, defaultUrls,
	addPlaylist - searchString (using the new type::soemType;;key::somekey) optional params are position::someposition. Also can put in more than one per delimited by ,
	removeVideo - searchString, property to search on
	removeAllVideos
	pauseVideo
	unPauseVideo
	nextVideo
	previousVideo
	setVideoVolume - newVolume (as percentage 0-100);
	videoSeekTo - new location (as percentage 0-100); */

function addPlaylist(playlistStr) {
	//alert(playlistStr);
	var success = getMovie('videoPlayer').addPlaylist(playlistStr);
}

function addVideoToVideoPlayer(videoID,autoPlay,urlSet) {
	if(urlSet == undefined || urlSet == null) urlSet = "default";
	var success = getMovie('videoPlayer').addVideo(videoID,autoPlay,urlSet);
}
function addVideoToVideoPlayerByUrl(videoUrl,autoPlay,urlSet) {
	if(urlSet == undefined || urlSet == null) urlSet = "default";
	var success = getMovie('videoPlayer').addUrl(videoUrl,autoPlay,urlSet);
}
function addShowToVideoPlayer(showUrl, autoPlay) {
	var success = getMovie('videoPlayer').addShow(showUrl,autoPlay);
}
function addSearchToVideoPlayer(searchTxt,searchType,count,autoPlay,urlSet) {
	if(count == undefined || urlSet == null) count = 5;
	if(urlSet == undefined || urlSet == null) urlSet = "default";
	var success = getMovie('videoPlayer').addSearch(searchTxt,searchType,count,autoPlay,urlSet);
}

function removeAllVideosFromVideoPlayer() {
	var success = getMovie('videoPlayer').removeAllVideos();
}
function removeVideoFromVideoPlayer(field,value) {
	var success = getMovie('videoPlayer').removeVideo(field,value);
}


// deals with ad functions ======================================================================================================
function loadCompanionAd(sUrl) {
	var oAd = document.getElementById("lyrVideoCompanionAd");
	
	//var nAd = document.getElementById("lyrAdDivContainer");
	//nAd.innerHTML = sUrl;

	var iframe = "<iframe id='companionAd' name='companionAd' border='0' frameBorder='0' leftMargin='0' topMargin='0' marginWidth='0' marginHeight='0' src='/LoadCompanionAd.aspx?URL=" + sUrl + "' onLoad='Javascript:onCompanionAdLoadHandler()' scrolling='no' style='width:0;height:0;borderStyle:none; borderWidth:0; visibility:hidden;'> </iframe>";

	oAd.innerHTML = iframe;
}


function onCompanionAdLoadHandler() {
	var minWidth = 100;
	var minHeight = 100;
	var maxWidth = 300;
	var maxHeight = 600;

	var myFrame = document.getElementById("companionAd");
	
	var info = findElementsSpace(myFrame);

	var inRange = (minWidth <= info.right && minHeight <= info.bottom && maxWidth >= info.right && maxHeight >= info.bottom) ? true : false;

//alert(inRange + " " + info.right + " " + info.bottom + " " + maxWidth + " " + maxHeight + " " + minWidth + " " + minHeight);

	if(inRange) {
		myFrame.style.visibility = "visible";

		myFrame.style.width = info.right + "px";
		myFrame.style.height = (info.bottom + 5) + "px";

		showCompanionAd();
		
	}
	else {

		hideCompanionAd();
	}

}

function hasPrerollAd(value) {
	if(value.toLowerCase() == "false") {
		var jAd = document.getElementById("lyrHideAdOnVideoCompanionAd");
		jAd.style.visibility = "visible";
	}
}

function showCompanionAd( loadSuccess, width, height ) {
	var cAd = document.getElementById("lyrVideoCompanionAd");
	var jAd = document.getElementById("lyrHideAdOnVideoCompanionAd");
	var pAd = document.getElementById("lyrAdDivContainer");

	if(!isNaN(companionAdYOffset)) {
		cAd.style.top = companionAdYOffset + "px";
	}
	if(!isNaN(companionAdXOffset)) {
		cAd.style.left = companionAdXOffset + "px";
	}
	
	
	if(hideJumboSkyscraper) {
		jAd.style.visibility = "hidden";
		jAd.style.left = "-9999px";
	}
	else {
		if(moveJumboSkyscraperY) {
			jAd.style.top = ((companionAdYOffset + 5) + cAd.offsetHeight) + "px";
			pAd.style.height = (jAd.offsetHeight + jAd.offsetTop) + "px";
		}
		if(moveJumboSkyscraperX) {
			jAd.style.left = ((comapnionAdXOffset + 5) + cAd.offsetLeft) + "px";
			pAd.style.width = (jAd.offsetWidth + jAd.offsetLeft) + "px";
		}
	}
	
	cAd.style.visibility = "visible";
}

function hideCompanionAd() {
	var cAd = document.getElementById("lyrVideoCompanionAd");
	var jAd = document.getElementById("lyrHideAdOnVideoCompanionAd");
	var pAd = document.getElementById("lyrAdDivContainer");

	cAd.style.visibility = "hidden";
	cAd.innerHTML = "";
	
	// so that we can have it hidden initially
	jAd.style.visibility = "visible";
	
	if(hideJumboSkyscraper) {
		jAd.style.left = "0px";
	}
	else {
		if(moveJumboSkyscraperY) {
			jAd.style.top = "0px";
			pAd.style.height = jAd.offsetHeight + "px";
		}
		if(moveJumboSkyscraperX) {
			jAd.style.left = "0px";
			pAd.style.width = jAd.style.width + "px";
		}
	}
}

function getAdFeedsFromJavascript() {
	var adFeeds = new Object();

	adFeeds.adUrl = flashProcad(adUrl,0,0,"100x100");
	adFeeds.companionAdUrl = flashProcad(companionAdUrl,0,1,"300x250");
	
	//alert("adUrl -> " + adFeeds.adUrl + "\nCompanionAdUrl -> " + adFeeds.companionAdUrl);

	return adFeeds;
}

function flashProcad(tag,isSync,useSeed,size) {

	if(isSync) {
		tag = addPTile(tag);
	}
	else{
		tag = addTile(tag);
	}
	
	// seed is for companionAd. if not seed need to give it a Position (before[preroll], middle[inline], after[postroll]).
	if(useSeed) {
		tag += "dc_seed=;";
	}
	else {
		//tag += "pos=";
	}

	if(size != undefined) {
		tag += "sz=" + size + ";";
	}
	else {
		tag += "sz=100x100;";
	}


	tag = addOrd(tag);

	var nrJumpTag = tag.replace(/\/adj\//, "\/jump\/");
	var nrImageTag = tag.replace(/\/adj\//, "\/ad\/");
	
	return tag;
}