// Copyright 2007 VideoEgg, Inc.
// Premium content player

var VE_PremiumConfig = null;
var VE_PremiumPlayer_getParams = null;

var VE_debugAlert = function(str)
{
	if (typeof(VE_DEBUG) == "boolean" && VE_DEBUG == true)
		alert(str);
}

var VE_includejs = function(url)
{
	var str = "<script language='javascript' src='" + url + "'></script>";
	document.write(str);
}

var VE_initPremiumPlayer = function(channel, config)
{
	if (typeof(config) != "object" || typeof(channel) != "string" ||
		channel.length == 0)
	{
		VE_debugAlert("VideoEgg Error: Invalid initialization parameters.");
		return;
	}

	VE_PremiumConfig = config;
	
	// Ensures that we get a default video if the ad server is down.
	var defaultSettings = "http://update.videoegg.com/js/premium/";
	defaultSettings += channel + ".js";
	VE_includejs(defaultSettings);

	if (typeof(VE_DEBUG) == "boolean" && VE_DEBUG)
		return;  // just use the default settings.

	var adStr = "http://videoegg.adbureau.net/hserver";
	adStr += "/channel=" + channel;

	if (typeof(config.adVars) == "object")
	{
		adStr += "/area=" + config.adVars["site"] + "_pp";

		if (typeof(config.adVars["VL"]) == "string")  
			adStr += "/vl=" + config.adVars["VL"];
		else if (typeof(config.adVars["vl"]) == "string")
			adStr += "/vl=" + config.adVars["vl"];
	}

	adStr += "/random=" + Math.floor(Math.random() * 99999999);
	
	VE_includejs(adStr);
}


var VE_ensureObject = function(obj)
{
	if (typeof(obj) == "object")
		return obj;
	else
		return new Object();
}

var VE_getPremiumPlayerHTML = function()
{
	if (VE_PremiumConfig == null || VE_PremiumPlayer_getParams == null)
	{
		VE_debugAlert("VideoEgg Error: Premium Player not initialized.");
		return "";
	}

	var params = VE_PremiumPlayer_getParams();
	var pObj = VE_PremiumConfig;

	var rnd = Math.floor(Math.random() * params.videos.length);
	pObj.file = params.videos[rnd];

	if (typeof(params.ccid) != "undefined")
	{
		pObj.adVars = VE_ensureObject(pObj.adVars)
		pObj.adVars.ccid = params.ccid;
	}

	if (typeof(params.pid) != "undefined")
		pObj.pid = params.pid;
		
	if (typeof(params.clickurl) != "undefined")
		pObj.clickurl = params.clickurl;

	if (typeof(params.extraFlashVars) == "string" &&
		params.extraFlashVars.length > 0)
	{
		if (typeof(pObj.extraFlashVars) == "undefined")
			pObj.extraFlashVars = "";

		if (pObj.extraFlashVars.length > 0)
			pObj.extraFlashVars += "&";
			
		pObj.extraFlashVars += params.extraFlashVars;
	}

	var VE_api = VE_getPlayerAPI("1.4");
	var embed = VE_api.getPlayerHTML(pObj);
	var html = params.html;

	if (typeof(html) == "string" && html.length > 0)
		html = html.replace(/VE_PLAYER/, embed);
	else
		html = embed;

	return html;
}

var VE_embedPremiumPlayer = function(channel, config)
{
	VE_initPremiumPlayer(channel, config);

	// Must embed inside another script tag to ensure proper
	// execution order.
	VE_includejs("http://update.videoegg.com/js/PremiumPlayerHTML.js");
}
