

//---------------------------------------------
// Begin ROO vxFlashPlayer
//

var g_vxQueryString = "vxSiteId=99f3199b-6793-465e-b1ea-258f3626a694&vxTemplate=http%3a%2f%2fpublish.vx.roo.com%2ftownhall%2f0902Portal%2fIntegrated.swf&vxChannel=News&vxClipId=2115_Jpeb603831";
var g_vxSecure 		= "http://";
var g_vxBaseURL		= "http://publish.vx.roo.com/townhall/0902Portal/";
var g_vxUIBaseURL	= "http://publish.vx.roo.com/townhall/0902Portal/";

/**
 * vxFlashPlayer_include.js 
 *
 * Embed code for vxFlashPlayer
 *
 * (c) 2007 ROO Group
 *
 */
 
/** 
 * Function: declareScriptTag
 *
 * Description: returns script tag with the scriptFile supplied.
 */
function declareScriptTag(scriptFile)
{
	return "<scr" + "ipt type='text/javascript' src=" + scriptFile + "></scr" + "ipt>\n";
}

/**
 * vxMain -- starting point for vxFlashPlayer embed.  At this point, all .js files should be loaded and we're ready to proceed with embed.
 * 
 */
function vxMain()
{
	// handle old-style URL params first...
	var old_vxSiteId 		= vxGetParam("siteid", "e256f482-95b0-490e-9b24-1fd64e416c56");
	var old_vxChannel 		= vxGetParam("channel", "");
	if( old_vxChannel == "" ) old_vxChannel 	= vxGetParam("Channel", ""); // getClientXML uses Channel instead of channel
	var old_vxClipId 		= vxGetParam("clipid", "");
	if( old_vxClipId == "" ) old_vxClipId 		= vxGetParam("ClipId", ""); // getClientXML uses ClipId instead of clipid
	var old_vxBitrate 		= vxGetParam("bitrate", "");
	if( old_vxBitrate == "" ) old_vxBitrate		= vxGetParam("Bitrate", ""); // getClientXML uses Bitrate instead of bitrate
	// JS:09.20.2007 disable format for now as old links on ROOTV with format=wmv are breaking the flash player.
	//var old_vxFormat 		= vxGetParam("format",	g_vxFormat);
	//if( old_vxFormat == "" ) old_vxFormat		= vxGetParam("Format",	""); // getClientXML uses Format instead of format
	var old_vxFormat = "";

	// new format URL params
	var vxSiteId 		= vxGetParam("vxSiteId", 		old_vxSiteId);
	var vxChannel 		= vxGetParam("vxChannel", 		old_vxChannel);
	var vxSearch 		= vxGetParam("vxSearch", 		"");
	var vxClipId 		= vxGetParam("vxClipId", 		old_vxClipId);
	var vxBitrate 		= vxGetParam("vxBitrate", 		old_vxBitrate);
	var vxFormat 		= vxGetParam("vxFormat", 		old_vxFormat);
	var vxServerBase 	= vxGetParam("vxServerBase",	"");
	var vxTemplate 		= vxGetParam("vxTemplate", 		"Channelbar.swf");
	var vxTint   		= vxGetParam("vxTint",			"");
	var vxIMU	 		= vxGetParam("vxIMU",			"");
	var vxClickToPlay	= vxGetParam("vxClickToPlay",	"");
	var vxFullscreen	= vxGetParam("vxFullscreen",	"imuCompatibility");
	var vxSecure		= vxGetParam("vxSecure",		g_vxSecure);
	var vxBD			= vxGetParam("vxBD",			"");
	var vxHBX			= vxGetParam("vxHBX",			"");
	var vxRowCount		= vxGetParam("vxRowCount",		"");
	var vxStartMode		= vxGetParam("vxStartMode",		"normal");
	var vxCore			= vxGetParam("vxCore", 			"");
	var vxExternalIMU	= vxGetParam("vxExternalIMU",	"");
	var vxPreviewId		= vxGetParam("vxPreviewId",		"");
	var vxDebug			= vxGetParam("vxDebug",			"");
	var vxFilmStrip		= vxGetParam("vxFilmStrip",		"");
	var vxDynChannel	= vxGetParam("vxDynChannel",	"");
	var vxDynChannelAds	= vxGetParam("vxDynChannelAds",	"");
	var vxMinFlashVer	= vxGetParam("vxMinFlashVer",	"8");
	var vxTransparent	= vxGetParam("vxTransparent",	"false");
	g_vxEmbedMode		= vxGetParam("vxEmbedMode",		"fullsize");	
	g_vxIEFormFix		= vxGetParam("vxIEFormFix",		0);
	g_vxIEOffsetFix		= vxGetParam("vxIEOffsetFix",	"");
	
	// Do not cache the loader swf if vxIEFormFix is 1 or true.
	var sLoaderURL = g_vxIEFormFix == 1 || g_vxIEFormFix == "true" ? noCacheIE(g_vxBaseURL + "flashembed/") : g_vxBaseURL + "flashembed/";

	// Create the SWFObject
	var so = new SWFObject(sLoaderURL, "vxFlashPlayerEmbed", "100%", "100%", vxMinFlashVer, "#FFFFFF");
	
//	so.addParam("scale", 			"exactfit");	
	if(vxFullscreen=="none" || vxFullscreen=="enlargedOnly")
	{
		so.addParam("allowFullScreen", 	"false");
	} else {
		so.addParam("allowFullScreen", 	"true");
	}
	
	so.addParam("allowScriptAccess", "always");
	
	var vxWMode = "opaque";
	
	if(vxFullscreen=="full")
		vxWMode = "windowed";
	if(vxTransparent=="true")
		vxWMode = "transparent";

	so.addParam("wmode", vxWMode);

	so.addVariable("vxBaseURL",			escape(g_vxBaseURL));
	so.addVariable("vxTemplate",		escape((vxIsAbsoluteURL(vxTemplate) ? vxTemplate : (g_vxUIBaseURL + vxTemplate))));
	so.addVariable("vxEmbedMode",		g_vxEmbedMode);
	so.addVariable("vxSiteId", 			vxSiteId);
	so.addVariable("vxChannel", 		vxChannel);
	so.addVariable("vxSearch",			escape(vxSearch));
	so.addVariable("vxClipId", 			vxClipId);
	so.addVariable("vxBitrate",			vxBitrate);
	so.addVariable("vxFormat", 			vxFormat);
	so.addVariable("vxServerBase",		vxServerBase);
	so.addVariable("vxIMU",				vxIMU);
	so.addVariable("vxClickToPlay",		vxClickToPlay);
	so.addVariable("vxTint",	        vxTint);
	so.addVariable("vxFullscreen",	    vxFullscreen);
	so.addVariable("vxSecure",			vxSecure);
	so.addVariable("vxBD",	    		vxBD);
	so.addVariable("vxHBX", 			vxHBX);
	so.addVariable("vxExternalIMU",		vxExternalIMU);
	so.addVariable("vxRowCount",		vxRowCount);
	so.addVariable("vxStartMode",  		vxStartMode);
	so.addVariable("vxCore",			vxCore);
	so.addVariable("vxPreviewId",	    vxPreviewId);
	so.addVariable("vxDebug",	    	vxDebug);
	so.addVariable("vxFilmStrip",		vxFilmStrip);
	so.addVariable("vxDynChannel",		escape(vxDynChannel));
	so.addVariable("vxHBXClipIdVar",	vxGetParam("vxHBX.clipIdVar", ""));
	so.addVariable("vxHBXClientType", 	vxGetParam("vxHBX.clientType", "Flash Player"));

	so.useExpressInstall(g_vxBaseURL + "scripts/swfobject/expressinstall.swf");
	if( !so.write("vxFlashPlayerContent")) 
	{
		// we failed to write the Flash content, so show the failure div.
		document.getElementById("vxFlashPlayerFailure").style.display = 'block';
		vxSetPlayerSize("100%", "100%");
		return;
	} else {
		if(so.getAttribute("doExpressInstall"))
		{
			vxSetPlayerSize("371px", "200px");
		}
	}

	// fix for <form> tag on IE
	if(!(navigator.plugins && navigator.mimeTypes.length)) 
	{
		window[so.getAttribute('id')] = document.getElementById(so.getAttribute('id'));
	}
	
	if( vxExternalIMU != "true" ) 
	{
		// capture browser resize events so we can adjust IMU appropriately
		window.onresize = vxOnResize;
	}
	
	if( vxDebug != "" ) 
	{
		var vxDebugOutputDIV = document.createElement("div");
		vxDebugOutputDIV.id		= "vxDebug";		
		document.getElementById('vxFlashPlayer').appendChild(vxDebugOutputDIV);
	}
}

var g_vxEmbedMode = "";
var g_vxIEOffsetFix = "";
var g_vxIEFormFix 	= 0;
var g_vxPlayerDims = "";

var vxQueryString = new Querystring();
var vxEmbedQS = new Querystring(g_vxQueryString);
		
//
// include helper javascripts.  when vxFlashPlayer.js is loaded, it calls back to our vxMain defined above.
//

document.write(declareScriptTag(g_vxBaseURL + "scripts/swfobject/swfobject.js"));
if( vxGetParam("vxHBX") == "true" )
{
	document.write(declareScriptTag(g_vxBaseURL + "scripts/hitbox/hbx_config.js"));
	document.write(declareScriptTag(g_vxBaseURL + "scripts/hitbox/hbx.js"));
}

if( vxGetParam("vxDebug") != "" && vxGetParam("vxDebug") != null ) 
{
	document.write(declareScriptTag(g_vxBaseURL + "scripts/debug.js"));
}

document.write(declareScriptTag(g_vxBaseURL + "scripts/vxFlashPlayer.js"));

/** 
 * Function: vxGetParam
 *
 * Returns the requested QueryString param.  The following order of precedence is used:
 * 
 * 1. QS param on client HTML
 * 2. QS param on embed/
 * 3. defaultValue
 */
function vxGetParam(name, defaultValue)
{
	return vxQueryString.get(name, vxEmbedQS.get(name,	defaultValue));
}


/* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
*/
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

	// Turn <plus> back to <space>
	// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
	// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}

/**
 * Fixes the IE caching issue that breaks ExternalInterface.
 */
function noCacheIE(url)
{
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	if(!isIE)return(url);
	var newUrl = '?';
	if(url.indexOf('?') != -1)newUrl = '&';
	var now = new Date();
	var rand = Math.random().toString().substring(2,4);
	newUrl = url + newUrl + "noCacheIE=" + rand + '-' + now.getTime().toString();
	return(newUrl);
}
