Debug = new Object();
Debug.active = false;
Debug.mode = "";
Debug.alert = function (statement) {
if(!this.active)return;
alert(statement);
}; 

Debug.alertObject = function (obj) {
if(!this.active)return;
var str = "";

for (var i in obj)
str += i + ' = ' + obj[i] + '\n';

alert(str);
}; 

Debug.traceObject = function (obj) {
if(!this.active)return;
var str = "";

for (var i in obj)
str += i + ' = ' + obj[i] + '\n';

Debug.trace(str);
}; 

Debug.traceOnly = function (statement) {
Debug.active = true;
Debug.trace(statement);	
Debug.active = false;	
}
Debug.trace = function (statement) {
if(!this.active)return;
if(!this.mode=="alert"){	
Debug.alert(statement);
return;
}
if(document.getElementById("debugTextArea")&&statement){
document.getElementById("debugTextArea").value += ('\n'+statement);	
return;
}
var debugDiv= document.createElement('div');
var width = "100%";
var height = 200;
var left = 10;
var top = screen.availHeight - height - ((window.ActiveXObject) ? 60 : 90);
var newStyle = 'display:inline;position:absolute;z-index:300;left:' + left + 'px;top:' + top + 'px;width:' + width + 'px;height:' + height + 'px;';	
debugDiv.style.cssText = newStyle;
document.body.appendChild(debugDiv);	
var debugTextArea= document.createElement('textarea');
debugTextArea.setAttribute("name","debugTextArea");
debugTextArea.setAttribute("id","debugTextArea");
debugTextArea.setAttribute("cols","130");
debugTextArea.setAttribute("rows","8");
debugTextArea.setAttribute("wrap","off");
debugDiv.appendChild(debugTextArea);	
var debugButton= document.createElement('button');
debugButton.setAttribute("name","debugButton");
debugButton.setAttribute("id","debugButton");
var buttext = document.createTextNode('clear');
debugButton.appendChild(buttext);
debugButton.onclick = function () {
document.getElementById("debugTextArea").value = "";
};

debugDiv.appendChild(debugButton);	
if(statement){
debugTextArea.value+=statement;
}

}; 

openDebugger = function () {
Debug.active = true;
try {
debugwin.focus();
}catch(e){
debugwin = window.open('/global/flash/logcontroller/','debugger','width=400,height=300,resizable=yes')
debugwin.focus();
}
}; 

/*
unFocus.Utilities.EventManager, version 1.0b (beta) (2005/12/16)
Copyright: 2005, Kevin Newman (http://www.unfocus.com/Projects/)
License: http://creativecommons.org/licenses/LGPL/2.1/
*/
// make sure faux-namespace is available before adding to it
if (typeof unFocus == "undefined") var unFocus = {};
if (!unFocus.Utilities) unFocus.Utilities = {};

unFocus.Utilities.EventManager = function(arg) {
this._listeners = {};
for (var i = 0; i < arguments.length; i++) {
this._listeners[arguments[i]] = [];
}
};

unFocus.Utilities.EventManager.prototype.addEventListener = function($type, $listener) {
for (var i = 0; i < this._listeners[$type].length; i++)
if (this._listeners[$type][i] == $listener) return;

this._listeners[$type].push($listener);
};

unFocus.Utilities.EventManager.prototype.removeEventListener = function($type, $listener) {
for (var i = 0; i < this._listeners[$type].length; i++) {
if (this._listeners[$type][i] == $listener) {
this._listeners.splice(i,1);
return;
}
}
};

unFocus.Utilities.EventManager.prototype.notifyListeners = function($type, $data) {
for (var i = 0; i < this._listeners[$type].length; i++)
this._listeners[$type][i]($data);
};

/*
unFocus.History, version 1.9 (alpha) (2006/04/14)
Copyright: 2005-2006, Kevin Newman (http://www.unfocus.com/Projects/HistoryKeeper/)
License: http://creativecommons.org/licenses/LGPL/2.1/
*/

unFocus.History = (function() {

function Keeper() {
var _this = this,

_pollInterval = 200, _intervalID,

_currentHash;

var _getHash = function() {
return location.hash.substring(1);
};
_currentHash = _getHash();

function _setHash($newHash) {
window.location.hash = $newHash;
}

function _watchHash() {

var $newHash = _getHash();

if(!$newHash)
$newHash = "/" + window.location.search;

if (_currentHash != $newHash) {

_currentHash = $newHash;
_this.notifyListeners("historyChange", $newHash);

}
}

_this.getCurrent = function() {
return _currentHash;
};

function _createAnchor($newHash) {
if (!_checkAnchorExists($newHash)) {
var $anchor = document.createElement("a");
$anchor.setAttribute("name", $newHash);
if (/MSIE/.test(navigator.userAgent) && !window.opera)
$anchor = document.createElement('<a name="'+$newHash+'">'+$newHash+"</a>");
with ($anchor.style) {
position = "absolute";
display = "block";
top = getScrollY()+"px";
left = getScrollX()+"px";
}
document.body.insertBefore($anchor,document.body.firstChild);
}
}
function _checkAnchorExists($name) {
var $anchors = document.anchors;
for (var i = 0; i < $anchors.length; i++)
if ($anchors[i].name == $name)
return true;
return false;
}
if (typeof self.pageYOffset == "number") {
function getScrollY() {
return self.pageYOffset;
}
} else if (document.documentElement && document.documentElement.scrollTop) {
function getScrollY() {
return document.documentElement.scrollTop;
}
} else if (document.body) {
function getScrollY() {
return document.body.scrollTop;
}
}
eval(String(getScrollY).toString().replace(/Top/g,"Left").replace(/Y/g,"X"));

_this.addHistory = function(){};

if (/Safari/.test(navigator.appVersion)) {
_getHash = function() {
var _location = location.toString();
var i = _location.indexOf("#");
if (i < 0) return "";
return _location.substring(i+1);
};
}
if (typeof ActiveXObject != "undefined" && window.print && 
!window.opera && navigator.userAgent.match(/MSIE (\d\.\d)/)[1] >= 5.5) {
var _historyFrameObj;

function _createHistoryFrame() {

if(_historyFrameObj)
return;

var $historyFrameName = "unFocusHistoryFrame";
_historyFrameObj = document.createElement("iframe");
_historyFrameObj.setAttribute("name", $historyFrameName);
_historyFrameObj.setAttribute("id", $historyFrameName);
_historyFrameObj.style.position = "absolute";
_historyFrameObj.style.top = "-3000px";
document.body.insertBefore(_historyFrameObj,document.body.firstChild);
_createHistoryHTML(_currentHash);
}

function _createHistoryHTML($newHash) {
_historyFrameObj.src = "/sitewide/fbml/utils/historyUpdate.html?newHash="+escape($newHash);
}

_this._updateFromHistory = function() {
_this._updateFromHistory = function($hash) {
_currentHash = $hash;
_this.notifyListeners("historyChange", $hash);
};
};

_this.addHistory = function($newHash) {

_this.addHistory = function($newHash) { // adds history and bookmark hash

_createHistoryFrame();

if (_currentHash != $newHash) {
_currentHash = $newHash;
_createHistoryHTML($newHash);
}
};
_this.addHistory($newHash);
};
_this.addEventListener("historyChange", function($hash) { _setHash($hash) });

} else /*if (!/Safari/.test(navigator.userAgent))*/ {

if (setInterval)
_intervalID = setInterval(_watchHash, _pollInterval);

_this.addHistory = function($newHash) { // adds history and bookmark hash
_this.addHistory = function($newHash) {
if (_currentHash != $newHash) {
_createAnchor($newHash);
_currentHash = $newHash;
_setHash($newHash);
_this.notifyListeners("historyChange",$newHash);
}
};
};
}
}
Keeper.prototype = new unFocus.Utilities.EventManager("historyChange");

return new Keeper();

})();
BrowserManager_findTarget = function(url,target) {//find a browserManager instance in an iframe and call navigate on it
var paths = BrowserManager_findPaths(target);
if(paths){	
url = BrowserManager_buildUrl(url,paths.newPath);
frames[paths.fullPath].browserManager.navigate(url,paths.newPath,true);
}
}

BrowserManager_findPaths = function(target) {//find a browserManager instance in an iframe and call navigate on it
var path = '';
var browsers = target.split(this.delimeter);

for(var i in browsers){

path += (i>0 ? this.delimeter : '') + browsers[i];
try{
// check for browserManager
if(frames[path].browserManager){
// if found, truncate path thus far and pass only the remaining browsers.
var newPath = browsers[i] + target.split(path).join("");
return {fullPath:path,newPath:newPath};
}

}catch(e){
// no error handling here, just move to the next browser.
}

}
return null;
}

BrowserManager_buildUrl = function(url,target) {
if(url.indexOf(',target=')>0){	
url = url.slice(0,url.indexOf(',target='));
}
url += ',target=' + target;
return url;
}

BrowserManager_removeItemAt = function (a,index) {
var temp = [];
for(var i = 0; i<a.length; i++)
if(i!=index)
temp[temp.length] = a[i]; //since there is no push on mac ie
return temp;
}; 

BrowserManager_buildOmnitureCall = function (args) {

var vals = args.split('&');
var o = new Object();
o.tVars = new Object();

for(var item in vals){

var p = vals[item].split("=");
if(p[0] == "pageVals"){

if(p[1].charAt(p[1].length - 1) == ";") 
p[1] = p[1].substr(0, p[1].length -1);

var pageValsArray = p[1].split(";");
for(var pageValItem in pageValsArray){
var pageValPair = pageValsArray[pageValItem].split("|");
var pname = pageValPair[0];
if(pname!=null && pname!=undefined && pname!="")
o[pname] = pageValPair[1]
}

}else{
var pname = p[0];
if(pname!=null && pname!=undefined && pname!="")
o.tVars[pname] = p[1];
}
}

return o;
}; 

function BrowserManager(name,defaultBrowser,controller) {
this.name = name;
this.delimeter = '_';
this.childBrowsers = new Array();
this.defaultBrowser = defaultBrowser;
this.pathToFrameWork = "/global/apps/fbml/mtvi/";
this.swfName = "flash_browser.swf";
this.controller = controller;
}

BrowserManager.prototype.routeMessage = function(type,args,target,pathSegment) {

if(Debug.active)
Debug.trace(this.name + ' BrowserManager.routeMessage(' + type + ',' + args + ','+target+','+pathSegment+');');

if(pathSegment){
// it's an iframe we're looking for, with a BrowserManager in it.
// we found a path segment, so there is a childBrowser w/ the name pathSegment
// lets continue to route to the target through it.
var targetNew = pathSegment.slice(pathSegment.lastIndexOf('.')+1,pathSegment.length) + target.split(pathSegment).join("");
this.childBrowsers[pathSegment].routeMessage(type,args,target);
return;
}

if(type=="command"){

var func = args.slice(0,args.indexOf(":"))
var args = args.slice(args.indexOf(":")+1)

if(this.childBrowsers[target]){

// we have what we are looking for
this.childBrowsers[target].command(target,func,args);

}else{

// we don't have what we're looking for and we don't have a path segment.
// so let's see if this framework can find one.
// if it does, it will kick it back out

this.findFirstChild(target).command(target,func,args);
}
}

if(type=="setBrowserProperty"){

// here we don't have a pathSegment, so we'll dig into the first flash thing we find (since we are setting a browser property)
// if it's in here, we'll set it
// otherwise maybe we'll find a pathSegment
var temp = args.split('=');
this.findFirstChild(target).setBrowserProperty(target,temp[0],temp[1]);
}

if(type=="navigate"){

var targetSwfBrowser = this.childBrowsers[this.defaultBrowser];
if(target){

// the full target will be sent to the SwfBrowser to handle
args = BrowserManager_buildUrl(args,target);

// call navigate on the first browser - slice the target down to the first browser.
targetSwfBrowser = this.findFirstChild(target)//(target.indexOf(this.delimeter)>0) ? target.slice(0,target.indexOf(this.delimeter)) : target;
}

targetSwfBrowser.navigate(args);
}
}

BrowserManager.prototype.omniture = function(args) {

if(Debug.active)
Debug.trace('omniture = ' + args)

try {

var o = BrowserManager_buildOmnitureCall(args)
if(Debug.active){

str = "";
for(var i in o) {
str+= '\t' + i + ' = ' + o[i] + '\n';
for(oi in o[i])
str+= '\t\t' + oi + ' = ' + o[i][oi] + '\n';

}

Debug.trace(str);

}
REPORTING.makeCall('fbml_pv',o);

}catch(e) {

Debug.trace("ominiture error: " + e + " ->\nomniture object :");
for(var i in o) {
Debug.trace('\t' + i + ' = ' + o[i]);
for(oi in o[i])
Debug.trace('\t\t' + oi + ' = ' + o[i][oi]);

}
}
}

BrowserManager.prototype.omniture_grid = function(args) {
var o = BrowserManager_buildOmnitureCall(args);
REPORTING.makeCall("fbml_grid", o.tVars);
}

BrowserManager.prototype.omniture_lev = function(args) {
var o = BrowserManager_buildOmnitureCall(args);
REPORTING.makeCall("fbml_lev", o.tVars);
}

BrowserManager.prototype.updateTitle = function(title) {
window.document.title = title ? unescape(unescape(title)) : "";
}

BrowserManager.prototype.updateUrl = function(url) {
this.controller.onNavigate(url);
}

BrowserManager.prototype.createWindow = function(parentWindow,type,name,position,left,top,width,height,src) {

try{

this.childBrowsers[name] = eval(' new ' + type + '()');
var temp = BrowserManager_removeItemAt(arguments,1);
this.childBrowsers[name].createWindow.apply(this.childBrowsers[name],temp);

}catch(e){

//window.status = 'Error creating ' + name + ' : ' + e;	
}
}

BrowserManager.prototype.updateWindow = function(name,position,left,top,width,height,src) {

try{

var temp = BrowserManager_removeItemAt(arguments,0);
this.childBrowsers[name].updateWindow.apply(this.childBrowsers[name],temp);

}catch(e){
//window.status = 'Error updating ' + name + ' : ' + e;	
}
}

BrowserManager.prototype.destroyWindow = function(name) {

try{

this.childBrowsers[name].destroyWindow();

}catch(e){
//window.status = 'Error destroying ' + name + ' : ' + e;	
}
}

BrowserManager.prototype.findFirstChild = function(name) {
var path = '';
var browsers = name.split(this.delimeter);
for (var i in browsers){

path += (i>0 ? this.delimeter : '') + browsers[i];

try{

var b = this.childBrowsers[path];
if(b)
return b;

}catch(e){ /** no error handling here, just move to the next browser.**/}
}
}

BrowserManager.prototype.onPageLoad = function() {
for (i in this.childBrowsers){
this.childBrowsers[i].onPageLoad();
}
}
BrowserManager.prototype.navigateTop = function(args) {
top.location.href = args;
}

BrowserManager.prototype.targetOpener = function(args) {
try {

if(navigator.platform.toLowerCase().indexOf('win') == -1)
throw "mac"; //weird bug with losing querystring params using gateway.swf

window.opener.browserManager.routeMessage("navigate",args);
window.opener.focus();
}catch(e){
try{
window.opener.location.href = args;
window.opener.focus();
}catch(e){
var w = window.open(args,"targetOpen");
w.focus();
//browserManager.routeMessage("navigate",args);
}

}
}

function HistoryController() {
var navigateToUrl;
var browserModel;
this.onNavigate = function(hash) {

if(!hash)
hash = "/"+window.location.search;

this.onNavigate = function(hash) {
navigateToUrl = hash;
unFocus.History.addHistory(hash);
};
this.onNavigate(hash);
};

this.historyListener = function(historyHash) {

if(!historyHash)
return;

if (historyHash != navigateToUrl) 
browserModel.routeMessage("navigate", historyHash);

navigateToUrl = null;
};

this.setBrowser = function(b) {
browserModel = b;
}

unFocus.History.addEventListener('historyChange', this.historyListener);
};
function SwfBrowser() { 
SwfBrowser.swfBrowserArray.push(this);
}

SwfBrowser.swfBrowserArray = new Array();
SwfBrowser.initReadyCalled = false;

SwfBrowser.initRequest = function() {
return true;
}

//*************************************

SwfBrowser.prototype.createWindow = function(parentWindow,name,position,left,top,width,height,flashVarArray,src,args,flashVersion) {
this.name = name;
this.wmode = args ? args : "transparent";
this.flashVersion = flashVersion ? flashVersion : 7;

if(!flashVarArray)
flashVarArray = new Array();

if(src){
this.swfSrc = src;
//flashVars = 'documentSrc=' + this.initialUrl;	
}else{
this.swfSrc = browserManager.pathToFrameWork + browserManager.swfName;
}

if(BrowserManager.version){
var concatStr = (this.swfSrc.indexOf('?')>=0) ? '&' : '?'; 
this.swfSrc += concatStr + '_EsiFBMLVersion=' + BrowserManager.version;
flashVarArray["_EsiFBMLVersion"] = BrowserManager.version;
}

flashVarArray["name"] = name;

var isIE = (navigator.userAgent.toLowerCase().indexOf("msie")!=-1);
flashVarArray["isIE"] = isIE;

var flashVars = SwfBrowser_buildFlashVarString(flashVarArray);

if(browserManager.swfQuality==undefined)
this.quality = "autohigh";
else 
this.quality = browserManager.swfQuality;

var buff = '<div id="' + this.name + '_div" style="height:' + height + 'px;width=' + width + 'px;position:relative;left:' + 0 + 'px;top:' + 0 + 'px;">\n'; 

if(isIE){
buff+='<object id="' + this.name + '" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + this.flashVersion + ',0,0,0" width="' + width + '" height="' + height + '" align="middle">\n' + 
'<' + 'param name="movie" value="' + this.swfSrc + '" />\n' +
'<' + 'param name="swLiveConnect" value="true" />\n' +
'<' + 'param name="flashVars" value="'+ flashVars + '" />\n' +
'<' + 'param name="quality" value="' + this.quality + '" />\n' +
'<' + 'param name="scale" value="noscale" />\n' +
'<' + 'param name="salign" value="lt" />\n' +
'<' + 'param name="menu" value="false" />\n' +
'<' + 'param name="wmode" value="' + this.wmode + '" />\n' +
'<' + 'param name="allowFullScreen" value="true" />\n' + 
'<' + 'param name="SeamlessTabbing" value="false" />\n';

if(SwfBrowser.bgcolor)
buff += '<' + 'param name="bgcolor" value="' + SwfBrowser.bgcolor + '" />\n'
}else{

buff += '<' + 'embed sr' + 'c="' + this.swfSrc + '" quality="' + this.quality + '" ' + 
'flashVars="'+ flashVars + '"' + 
'wmode="' + this.wmode + '" scale="noscale" salign="lt" width="' + width + '" height="' + height + '" '
}

if(SwfBrowser.bgcolor)
buff += 'bgcolor="' + SwfBrowser.bgcolor + '" '

buff += 'align="middle" menu="false" type="application/x-shockwave-flash" allowFullScreen="true" AllowScriptAccess="always" ' + 
'pluginspage="http://www.macromedia.com/go/getflashplayer" swLiveConnect="true" id="' + this.name + '" SeamlessTabbing="false" />\n';

if(isIE)
buff+='</object>\n'; 

buff+='</div>\n';
document.getElementById(parentWindow).innerHTML = buff;
document.write(this.writeFSCommand());	
}

function SwfBrowser_buildFlashVarString(flashVars) {

var buff = "";

for(i in flashVars)
buff += i + "=" + escape(flashVars[i]) + "&";

return buff.slice(0,buff.length-1);

}
function SwfBrowser_getPlugin(id){

try {
Debug.trace("document.getElementById(" + id + ") = " + document.getElementById(id))
return document.getElementById(id);	

}catch(e) {
Debug.trace("window.document[" + id + "] = " + window.document[id])
return window.document[id];	
}

}
function SwfBrowser_setVariable(id,name,value) {
alert('SwfBrowser_setVariable(' + id + ',' + name + ',' + value + ')');	
if(navigator.platform.toLowerCase().indexOf('win') != -1){	
try {
document.getElementById(id).SetVariable(name, value);	
}catch(e) {
window.document[id].SetVariable(name, value);	
}
}else{
var diff = (new Date().getTime()-this.time);

if(diff<20){
this.divId++;
SwfBrowser_writeLocalConnectionDiv(this.divId,id,name,value);
}else{
this.divId=0;
SwfBrowser_writeLocalConnectionDiv(0,id,name,value);
}

this.time = new Date().getTime();
}
}
SwfBrowser_writeLocalConnectionDiv = function (divid,id,name,value) {

var gateway = browserManager.pathToFrameWork + "gateway.swf";

var divcontainer = "flash_setvariables_"+divid;
if(!document.getElementById(divcontainer)){
var divholder = document.createElement("div");
divholder.id = divcontainer;
document.body.appendChild(divholder);
}

document.getElementById(divcontainer).innerHTML = "";
var flashquery = name + '=' + value;
var divinfo = '<embed sr' + 'c="' + gateway + '" FlashVars="lc='+id+'&fq='+escape(flashquery)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
document.getElementById(divcontainer).innerHTML = divinfo;

}; 

SwfBrowser.prototype.navigate = function(navigateToUrl) {
var p = SwfBrowser_getPlugin(this.name)
Debug.trace("p - " + p)
p.navigate(navigateToUrl);
}

SwfBrowser.prototype.command = function(target,commandName,args) {
SwfBrowser_getPlugin(this.name).command(target,commandName,args);
}

SwfBrowser.prototype.setBrowserProperty = function(target,property,args) {
SwfBrowser_getPlugin(this.name).setBrowserProperty(target,property,args);
}

SwfBrowser.prototype.writeFSCommand = function() {
var buff = "<sc" + "ript language=\"javascript\">\n" + 
"\tfunction " + this.name + "_DoFSCommand(command, arguments) {\n" + 
//"\t\tprompt('',arguments);\n" + 
"\t\tvar args = arguments.split(\",\");\n" + 
"var scriptCall = command + \"(\" + args + \")\";\n" + 
"eval(scriptCall);\n" + 
"\t}\n" + 
"<" + "/script>\n"; 
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
document.write('<' + 'script language=\"VBScript\"\>\n');
document.write('On Error Resume Next\n');
document.write('Sub ' + this.name + '_FSCommand(ByVal command, ByVal args)\n');
document.write('\tCall ' + this.name + '_DoFSCommand(command, args)\n');
document.write('End Sub\n');
document.write('<' + '/script\>\n');
}
return buff;
}

SwfBrowser.prototype.onPageLoad = function() { }
SwfBrowser.prototype.updateWindow = function() { }
SwfBrowser.prototype.destroyWindow = function() { }

function IframeBrowser() { };
IframeBrowser.prototype.createWindow = function(parentWindow,name,position,left,top,width,height,src,depth,visible,scrolling) {
Debug.trace('IframeBrowser.createWindow(' + parentWindow + ',' + name + ',' + position + ',' + left + ',' + top + ',' + width + ',' + height + ',' + src + ',' + depth + ',' + visible + ',' + scrolling + ')');	
try {
var scrolling = scrolling && scrolling != "null" ? scrolling : "no";
if(navigator.appName=="Microsoft Internet Explorer"){
// bug in ie with creating transparency in an iframe using createElement.
// this way is not supported in mozilla
this.iframeBrowser = document.createElement('<iframe name="' + name + '" id="' + name + '" sr' + 'c="" allowtransparency="true" scrolling="' + scrolling + '" frameborder="0"></iframe>');
}else{
this.iframeBrowser = document.createElement('iframe');
this.iframeBrowser.setAttribute("id", name);
this.iframeBrowser.setAttribute("name", name);
this.iframeBrowser.setAttribute("frameborder", 0);
this.iframeBrowser.setAttribute("scrolling", scrolling);
this.iframeBrowser.setAttribute("allowtransparency", "true"); 
this.iframeBrowser.setAttribute("background-color", "transparent"); 
}
this.iframeBrowser.style.display = 'none';

this.target = document.getElementById(parentWindow+"_div");	
var existingNode = document.getElementById(name);
if(existingNode){
existingNode.parentNode.removeChild(existingNode);
}
this.target.appendChild(this.iframeBrowser);

if(src){
this.updateWindow(position,left,top,width,height,src,depth,visible);
}

}catch(e) {
Debug.trace("IframeBrowser Error: " + e);
}
}
IframeBrowser.prototype.updateWindow = function (position,left,top,width,height,src,depth,visible) {
Debug.trace(this.iframeBrowser.id + ' IframeBrowser_updateWindow(' + position + ',' + left + ',' + top + ',' + width + ',' + height + ',' + src + ')');	
try {

position = "absolute";

// update the style of the iframe
var display = (visible==true||visible=="true"||visible==undefined) ? 'inline' : 'none';
this.iframeBrowser.style.cssText = 'display:' + display + 
';z-index:'+depth+';position:' + position + ';left:' + left + 'px;top:' + 
top + 'px;width:' + width + 'px;height:' + height + 'px;';	

// if there is a src and the src is different, then update.
//if(this.iframeBrowser.contentWindow.location.pathname)
//currentSrc = this.iframeBrowser.contentWindow.location.pathname + this.iframeBrowser.contentWindow.location.search;	

this.setSrc(src);

}catch(e) {

this.setSrc(src);
}
}

IframeBrowser.prototype.setSrc = function(src) {

if(src && this.currentSrc!=src){

try{

if(this.iframeBrowser.contentWindow)
this.iframeBrowser.contentWindow.location.replace(src);
else
this.iframeBrowser.src = src;	

this.currentSrc = src;
}catch(e){

this.iframeBrowser.src = src;
this.currentSrc = src;
} 
}

}

IframeBrowser.prototype.destroyWindow = function() {
try{
//this.iframeBrowser.src = "";
//using replace to prevent adding to the history obj
this.iframeBrowser.contentWindow.location.replace("about:blank");
}catch(e){
Debug.trace("IframeBrowser :: error clearing src");
}
this.target.removeChild(this.iframeBrowser);	
}
IframeBrowser.prototype.routeMessage = function(type,args,target) { 
Debug.trace(this.iframeBrowser.name + " IframeBrowser.routeMessage(" + type + "," + args + "," + target + ")");	
try {
frames[this.iframeBrowser.name].browserManager.routeMessage(type,args,target);
}catch(e){
Debug.trace('IframeBrowser.routeMessage Error: ' + e);	
}
}
IframeBrowser.prototype.onPageLoad = function() { }

function IBannerBrowser() { };
IBannerBrowser.prototype.createWindow = function(parentWindow,name,position,left,top,width,height,src,depth,visible) {
try{

this.iframeBrowser = document.getElementById("iBanner");

if(src){
this.updateWindow(position,left,top,width,height,src);
}

}catch(e) {
Debug.trace("IBannerBrowser Error: " + e);
}
}
IBannerBrowser.prototype.updateWindow = function (position,left,top,width,height,src) {
this.iframeBrowser.src = src;
}
IBannerBrowser.prototype.destroyWindow = function() {
}
IBannerBrowser.prototype.routeMessage = function(type,args,target) { }
IBannerBrowser.prototype.onPageLoad = function() { }

function IBillboardBrowser() { };
IBillboardBrowser.prototype.createWindow = function(parentWindow,name,position,left,top,width,height,src,depth,visible) {
try{

this.iframeBrowser = document.getElementById("iBillboard");

if(src){
this.updateWindow(position,left,top,width,height,src);
}

}catch(e) {
Debug.trace("IBillboardBrowser Error: " + e);
}
}
IBillboardBrowser.prototype.updateWindow = function (position,left,top,width,height,src) {
this.iframeBrowser.src = src;
}
IBillboardBrowser.prototype.destroyWindow = function() {
}
IBillboardBrowser.prototype.routeMessage = function(type,args,target) { }
IBillboardBrowser.prototype.onPageLoad = function() { }

function MediaPlayerBrowser() {
this.noActiveX = !window.ActiveXObject; 
this.isMac = (navigator.platform.indexOf('Mac')==0); 
this.useMediaPlayer = true;
try {
this.useMediaPlayer = detectionObject.ok;
this.noMediaPlayerProcessor = detectionObject.onError;
}catch(e){
Debug.trace('detection failed');
}
}
MediaPlayerBrowser.prototype.createWindow = function(parentWindow,name,position,left,top,width,height,src,nodes) {

try {
// create browser container div
this.mediaPlayerBrowser = document.createElement('div');
this.id = name;

// find parent window to attach this media div to.
this.target = document.getElementById(parentWindow+"_div");	
this.target.appendChild(this.mediaPlayerBrowser);

// create the windows media player object
//var existingNode = document.getElementById(name);	
//if(existingNode){	
//existingNode.parentNode.removeChild(existingNode);	
//}	
this.updateWindow(position,left,top,width,height,src);	

}catch(e){
Debug.trace("MediaPlayerBrowser Error: " + e);
}

}
MediaPlayerBrowser.prototype.updateWindow = function(position,left,top,width,height,src) {
Debug.trace(this.id + ' MediaPlayerBrowser_updateWindow(' + position + ',' + left + ',' + top + ',' + width + ',' + height + ',' + src + ')');	

this.currentSrc = src;

if(!this.useMediaPlayer) {
try{
this.noMediaPlayerProcessor(src);
return;
}catch(e){ 
Debug.trace('No media player error hanlder')
};
}

if(this.isMac)
return;
// set div style
var newStyle = 'display:inline;position:' + position + ';left:' + left + 'px;top:' + top + 'px;width:' + width + 'px;height:' + height + 'px;';	
this.mediaPlayerBrowser.style.cssText = newStyle;

if(this.noActiveX){

//if there is a media player and there is no activex then remove the existing one.
if(this.mediaPlayer){
if(!src){
return;
}
this.mediaPlayerBrowser.removeChild(this.mediaPlayer);
}

//adjust height for wmp controls
height = parseInt(height) + 40;

this.mediaPlayer = document.createElement('embed');
this.mediaPlayer.setAttribute('type',"application/x-mplayer2");
this.mediaPlayer.setAttribute('uiMode',"full");
if(src||src==""){
this.mediaPlayer.setAttribute('SRC',src);
}

}else{

// if there is a media player, then adjust 
if(src){
this.trackPlayer();
}
if(this.mediaPlayer){

this.mediaPlayer.uiMode = 'none';
this.mediaPlayer.style.display = "inline";

this.mediaPlayer.setAttribute('width',width);
this.mediaPlayer.setAttribute('height',height);

if(src||src==""){
this.startImage = null;
this.mediaPlayer.setAttribute('URL',src);
}

//MediaPlayerBrowser_writeEventScript(this.id);	

return;

}else{

//create windows media player object
this.mediaPlayer = document.createElement('object');
this.mediaPlayer.setAttribute('codebase',"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=7,0,0,1954");
this.mediaPlayer.setAttribute('classid',"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6");
this.mediaPlayer.setAttribute('type',"application/x-oleobject");
this.mediaPlayer.setAttribute('URL',src);
this.mediaPlayer.setAttribute('uiMode',"none");
this.mediaPlayer.setAttribute('windowlessVideo',"true");

}
}

this.mediaPlayer.setAttribute('width',width);
this.mediaPlayer.setAttribute('height',height);
this.mediaPlayer.setAttribute('id',this.id + '_player');
this.mediaPlayer.setAttribute('autoStart',"true");

this.mediaPlayerBrowser.appendChild(this.mediaPlayer);

if(MediaPlayerBrowser.maxBandwidth)
this.mediaPlayer.network.maxBandwidth = MediaPlayerBrowser.maxBandwidth;

defaultMediaPlayerInstance = this;

this.mediaPlayer.attachEvent("playstatechange",this.playstatechange); 
this.mediaPlayer.attachEvent("currentItemChange",this.currentItemChange); 

}
MediaPlayerBrowser.prototype.destroyWindow = function() {
Debug.trace('MediaPlayerBrowser_destroyWindow(' + this.id + ')');	

if(this.noActiveX){
this.mediaPlayer.SRC = null;
this.mediaPlayerBrowser.removeChild(this.mediaPlayer);	
}else{
this.mediaPlayer.controls.pause();
this.mediaPlayer.uiMode = 'invisible';
this.mediaPlayer.style.display = "none";
this.mediaPlayer.URL = null;
}

this.target.removeChild(this.mediaPlayerBrowser);	
}
MediaPlayerBrowser.prototype.command = function(name,commandName,args) {
Debug.trace("MediaPlayerBrowser.command(" + name + "," + commandName + "," + args + ")");	
switch(commandName) {
case "play":
this.mediaPlayer.controls.play();
this.trackPlayer();
break;
case "stop":
this.mediaPlayer.close();
MediaPlayerBrowser_setPosition(this.id,0) 
clearInterval(this.positionInterval);
break;
case "pause":
this.mediaPlayer.controls.pause();
break;
case "fastForward":
this.mediaPlayer.controls.fastForward();
break;
case "fastReverse":
this.mediaPlayer.controls.fastReverse();
break;
case "goTo":
this.mediaPlayer.controls.currentPosition = args;
break;
case "setVolume":
this.mediaPlayer.settings.volume = args;
break;
default:
break;

}
}
MediaPlayerBrowser.prototype.trackPlayer = function () {
if(this.positionInterval){
clearInterval(this.positionInterval);
}
this.positionInterval = setInterval("MediaPlayerBrowser_setPosition('" + this.id + "')", 250)
}; 
MediaPlayerBrowser_setPosition = function(name,position){ 
var position = position ? position : browserManager.childBrowsers[name].mediaPlayer.controls.currentPosition
browserManager.routeMessage("command","setPosition:"+position,"root_browser_media_mediaControl")
}	
MediaPlayerBrowser.prototype.setDuration = function(){ 
try {
var duration = this.mediaPlayer.currentMedia.duration
browserManager.routeMessage("command","setDuration:"+duration,"root_browser_media_mediaControl")
}catch(e) {
//window.status = 'Error MediaPlayerBrowser_setDuration ' + this.id + ' : ' + e;
}
}

MediaPlayerBrowser_writeEventScript = function (name) {

//document.write('<SCRI' + 'PT LANGUAGE = "JScr' + 'ipt" FOR="' + name + '_player" EVENT="playStateChange(NewState)"/>')	
}; 

MediaPlayerBrowser.prototype.showStartImage = function () {
if(this.startImage)
return;
var img = "/relaunch/sitewide/components/media/od_initial.gif"
this.startImageDiv = document.createElement("div")
this.startImage = document.createElement("img")
this.startImage.src = img;
this.startImageDiv.style.cssText = "z-index:100;position:absolute;bottom:0;right:0;";
this.startImageDiv.appendChild(this.startImage);
this.mediaPlayerBrowser.appendChild(this.startImageDiv);

}; 

var coad = false;
var lastAdTag = "";

MediaPlayerBrowser.prototype.currentItemChange = function (state) {

var adDisplayed = false;

// unfortunaltely, we lose the scope here, using defaultMediaPlayerInstance is temporary and means that we can have only one media player.
var adTag = defaultMediaPlayerInstance.mediaPlayer.currentMedia.getItemInfo("coAd");

if((typeof adTag == "undefined") || (adTag == "") && coad == false){
// let the regular ad stay
} else {
if((adTag == "none") && (coad == false)){
// let the regular ad stay
} else {
// adTag is set
if(adTag.indexOf("doubleclick") != -1){
coad = true;
}
}
}

//if(typeof adFrame != "undefined"){	
if(adTag != lastAdTag){
if(adTag.indexOf("doubleclick") != -1){
try{
document.getElementById("root_browser_media_tabMenu_ad").src = adTag;
}catch(e){
}
//adFrame.location.href = adTag; 
//top.browserManager.routeMessage("navigate",coAdUrl,"root_browser_media_mediaControl");	
}
} else{
// the ad is the same as last one so don't change it
}
//}	

//window.status = 'adTag = ' + adTag;
lastAdTag = adTag;

}
MediaPlayerBrowser.prototype.playstatechange = function (state) {

// unfortunaltely, we lose the scope here, using defaultMediaPlayerInstance is temporary and means that we can have only one media player.

if(state=="3"){ //play
defaultMediaPlayerInstance.showStartImage();
defaultMediaPlayerInstance.setDuration();
}
if(state=="8"){ //stop 
}
}; 

MediaPlayerBrowser.prototype.onPageLoad = function() { }

// Currently functions exactly as IframeBrowser
function AdBrowser() {
}
AdBrowser.prototype.createWindow = function(parentWindow,name,position,left,top,width,height,src,depth,visible) {
//alert('AdBrowser.createWindow(' + parentWindow + ',' + name + ',' + position + ',' + left + ',' + top + ',' + width + ',' + height + ',' + src + ',' + depth + ',' + visible + ')');	
try {
if(navigator.appName=="Microsoft Internet Explorer"){
// bug in ie with creating transparency in an iframe using createElement.
// this way is not supported in mozilla
this.iframeBrowser = document.createElement('<iframe name="' + name + '" id="' + name + '" src="/global/apps/fbml/js/" allowtransparency="true" scrolling="no" frameborder="0"></iframe>');
}else{

this.iframeBrowser = document.createElement('iframe');
this.iframeBrowser.setAttribute("id", name);
this.iframeBrowser.setAttribute("name", name);
this.iframeBrowser.setAttribute("frameborder", 0);
this.iframeBrowser.setAttribute("scrolling", "no");
this.iframeBrowser.setAttribute("allowtransparency", "true"); 
this.iframeBrowser.setAttribute("background-color", "transparent"); 
}
this.iframeBrowser.style.display = 'none';

this.target = document.getElementById(parentWindow+"_div");	
this.target.appendChild(this.iframeBrowser);
if(src){
this.updateWindow(position,left,top,width,height,src,depth,visible);
}

}catch(e) {
alert("AdBrowser Error: " + e);
}
}
AdBrowser.prototype.updateWindow = function(position,left,top,width,height,src,depth,visible) {
//alert(this.iframeBrowser.id + ' AdBrowser.updateWindow(' + position + ',' + left + ',' + top + ',' + width + ',' + height + ',' + src + ')');	

// update the style of the iframe
var display = (visible==true||visible=="true"||visible==null) ? 'inline' : 'none';
var cssText = 'display:' + display + 
';z-index:'+depth+';position:' + position + ';left:' + left + 'px;top:' + 
top + 'px;width:' + width + 'px;height:' + height + 'px;';	
this.iframeBrowser.style.cssText = cssText;
// if there is a src and the src is different, then update.
if(this.iframeBrowser.contentWindow)
var currentSrc = this.iframeBrowser.contentWindow.location.pathname + this.iframeBrowser.contentWindow.location.search;	

if(src && currentSrc!=src){
this.iframeBrowser.src = src;
}
}
AdBrowser.prototype.destroyWindow = function() {
Debug.trace('AdBrowser_destroyWindow(' + this.iframeBrowser.id + ')');	
this.target.removeChild(this.iframeBrowser);	
}
AdBrowser.prototype.command = function() { }
AdBrowser.prototype.onPageLoad = function() { }

function PopUpBrowser() { };

PopUpBrowser.prototype.createWindow = function(parentWindow,name) {
this.name = name;
};
PopUpBrowser.prototype.updateWindow = function(position,left,top,width,height,src,features) {
//alert('PopUpBrowser_updateWindow(' + left + ',' + top + ',' + width + ',' + height + ',' + src + ',' + features + ')');	

if(!src){
return;
}
if(!this.popUpBrowser||this.popUpBrowser.closed){
//alert("not open, create");	

var agt = navigator.userAgent.toLowerCase();

//if (agt.indexOf("msie") == -1 && src.indexOf("http://") == -1 && src.indexOf("/") == 0) {	
//var host = window.location.hostname;	
//src = "http://" + host + src;	
//}	

if ((features.indexOf("fullscreen=yes") != -1) && (agt.indexOf("msie") == -1)) {
var newwidth = window.screen.availWidth;
var newheight = window.screen.availHeight;
this.popUpBrowser = window.open(src,this.name,'width='+newwidth+',height='+newheight+',left='+left+',top='+top+','+features);
} else {

if(width!="0" && height!="0")
var features = this.buildFeatures(width,height,left,top,features)

if(!features || features=="null")
this.popUpBrowser = window.open(src,this.name);
else 
this.popUpBrowser = window.open(src,this.name,features);

}
}else{
// update the style of the pop up window - THIS DOES NOT WORK CROSS DOMAIN
//this.popUpBrowser.moveTo(top,left);	
//this.popUpBrowser.resizeTo(width,height);	

// if there is a src and the src is different, then update.
if(src && this.currentSrc!=src){
this.popUpBrowser.location.href = src;	
}

// bring it to the front
this.popUpBrowser.focus();	
}
this.currentSrc = src;
}
PopUpBrowser.prototype.buildFeatures = function (width, height, left, top, features) {
var blnHasAProp = false;
var len = arguments.length;
for(var i=0;i<len;i++){
var arg = arguments[i];
if(arg != '' && arg != null && arg != undefined)
blnHasAProp = true;
}
return (blnHasAProp) ? 'width='+width+',height='+height+',left='+left+',top='+top+','+features : false;
}; 
PopUpBrowser.prototype.destroyWindow = function() {
//alert('PopUpBrowser_destroyWindow(' + this.popUpBrowser + ')');	
//if(this.popUpBrowser){	
//this.popUpBrowser.close();	
//}	
}

PopUpBrowser.prototype.onPageLoad = function() {
}

function ArcadeBrowser() { };

ArcadeBrowser.prototype.createWindow = function(parentWindow, name) {
this.name = name;
};

ArcadeBrowser.prototype.updateWindow = function(position,left,top,width,height,src,features) {
//alert(src);

//If we don't have a src no need popping the window.
if(!src) {
return;
}

//Sets width and height from params passed in the url named width and height.
if(width == "0" && height == "0") {
var sParams = src.split("&");
for(var i = 0; i < sParams.length; i++) {
var parts = sParams[i].split("=");
if (parts[0] == "plugWidth") {
var width = parts[1];
//alert(width);
}

if (parts[0] == "plugHeight") {
var height = parts[1];
//alert(height);
}
}
}
//BrowserManager.updateWindow('root','absolute',0,0,width,height,src);
//genPop(src,this.name,'width='+width+',height='+height);
window.open(src,this.name,'width='+width+',height='+height+',toolbar=no,resizable=no,scrollbars=no');
}

ArcadeBrowser.prototype.destroyWindow = function() { };

ArcadeBrowser.prototype.onPageLoad = function() { };
function RadioBrowser() { };

RadioBrowser.prototype.createWindow = function() {
};
RadioBrowser.prototype.updateWindow = function() {
var stationID = arguments[5];
launchRSN(stationID);
}

RadioBrowser.prototype.destroyWindow = function() { };

RadioBrowser.prototype.onPageLoad = function() { };

function BugBrowser() {
this.noActiveX = !window.ActiveXObject; 
this.setMediaPlayerTarget("root_browser_advideo_mediaPlayer");
}
BugBrowser.prototype.createWindow = function(parentWindow,name,position,left,top,width,height,src,nodes) {

//relaunch specific...tooltip is for the media player in ie only...
if(this.noActiveX)return;

try {
// create browser container div
this.bugBrowser = document.createElement('div');
this.id = name;

// find parent window to attach this media div to.
this.target = document.getElementById(parentWindow+"_div");	
this.target.appendChild(this.bugBrowser);

this.bugBrowser.classPointer = this;
this.bugBrowser.style.visibility = "hidden";	
// create the windows media player object
this.updateWindow(position,left,top,width,height,src);	

}catch(e){
Debug.trace("bugBrowser Error: " + e);
}

}
BugBrowser.prototype.updateWindow = function(position,left,top,width,height,src,depth) {
//alert(this.id + ' BugBrowser_updateWindow(' + position + ',' + left + ',' + top + ',' + width + ',' + height + ',' + src + ',' + depth + ')');	

if(this.noActiveX)return;

var newStyle = 'display:inline;background-image:url(spacdder.gif);position:' + position + ';left:' + left + 'px;top:' + top + 'px;width:' + width + 'px;height:' + height + 'px;z-index:705;';	
this.bugBrowser.style.cssText = newStyle;

if(this.bugBrowserImage){
if(this.lastSrc==src)
return;
}
this.bugBrowserImage = document.createElement('img');
this.bugBrowserImage.setAttribute('src',src);
this.lastSrc = src;
BugBrowser_hideBugBrowser(this.bugBrowserImage)

this.bugBrowser.appendChild(this.bugBrowserImage);

}
BugBrowser.prototype.destroyWindow = function() {

if(this.noActiveX)return;
this.target.removeChild(this.bugBrowser);	
}
BugBrowser.prototype.command = function(name,commandName,args) {
switch(commandName) {
case "setOverDriveUrl":
this.setOverDriveUrl(args);
case "removeOverDriveUrl":
this.removeOverDriveUrl();
case "setMediaPlayerTarget":
this.setMediaPlayerTarget();
break;
}
}

BugBrowser.prototype.setMediaPlayerTarget = function (target) {
this.mediaPlayerTarget = target;
}

BugBrowser.prototype.setOverDriveUrl = function (url) {
this.bugBrowser.overdriveurl = url;
this.bugBrowser.onclick = function () {
launchOverdrive("vid="+this.overdriveurl);
browserManager.routeMessage("command","stop:null","root_browser_advideo_mediaPlayer");
}; 
this.bugBrowser.onmouseover = function () {
BugBrowser_showBugBrowser(this.classPointer.bugBrowserImage);	
}; 
this.bugBrowser.onmouseout = function () {
BugBrowser_hideBugBrowser(this.classPointer.bugBrowserImage);	
}; 
}; 

BugBrowser.prototype.removeOverDriveUrl = function () {

this.bugBrowserImage.onclick = null;
this.bugBrowserImage.onmouseout = null;
this.bugBrowserImage.onmouseover = null;
}

BugBrowser_showBugBrowser = function (obj) {
obj.style.visibility = "visible";	
obj.style.cursor = "pointer";
}; 
BugBrowser_hideBugBrowser = function (obj) {
obj.style.visibility = "hidden";	
obj.style.cursor = "auto";
}; 
BugBrowser.prototype.onPageLoad = function() { }

function OverdriveBrowser() { };

OverdriveBrowser.prototype.createWindow = function() {
};
OverdriveBrowser.prototype.updateWindow = function() {
launchOverdrive(arguments[5]);
}

OverdriveBrowser.prototype.destroyWindow = function() { };

OverdriveBrowser.prototype.onPageLoad = function() { };

function UrgeBrowser() { };

UrgeBrowser.prototype.createWindow = function() {
};
UrgeBrowser.prototype.updateWindow = function() {
launchUrge(arguments[5]);
}

UrgeBrowser.prototype.destroyWindow = function() { };

UrgeBrowser.prototype.onPageLoad = function() { };
// WMPBrowser 
function WMPBrowser(targetDiv,playerName) {

//private vars
var name = "wmplayer"
var _iframe = null;
var _target;
var _currentSrc;

this.updateWindow = function(src,x,y,w,h) {

try {

if(!_iframe)
_init();

_iframe.style.cssText = 'position:absolute;float:left;padding-left:' + x + 'px;padding-top:'+y + 'px;width:' + w + 'px;height:' + h + 'px;';

}catch(e) {	}

_setSrc(src);

setPlayerSize(w,h)
}

this.pause = function() {
try {
_getWMPPlayer().controls.pause();
} catch (e) {}
};

this.stop = function() {
try {
_getWMPPlayer().controls.stop();
} catch (e) {}
};

this.play = function() {
try {
_getWMPPlayer().controls.play();
} catch (e) {}
};

this.onVideoEnd = function() {
try{

var r = this;
setTimeout(function () { r.destroyWindow(); }, 50);

}catch(e){

Debug.trace("IframeBrowser :: e " + e);
}
}

this.destroyWindow = function(){

try {

if(_iframe){
_setSrc("about:blank");
_target.removeChild(_iframe);
_getFlashContainer().videoPlayStateChange("Media End");
}

} catch (e) {

Debug.trace("doDestroy: e = " + e);
}
}

this.getCurrentPosition = function() {

try{
return _getWMPPlayer().controls.currentPosition;
}catch(e){
return 0;
}
}

this.setCurrentPosition = function(val) {

try{
_getWMPPlayer().controls.currentPosition = val;
}catch(e){
return 0;
}
}

this.getDuration = function() {

try{
return _getPlayerContainer().player.currentMedia.duration;
}catch(e){
return 0;
}
}

this.setPlayerSize = function(width,height){

try {

_iframe.setAttribute("width",width);
_iframe.setAttribute("height",height);

} catch (e) {

// ping
var r = this;
setTimeout(function () { r.setPlayerSize(width,height); }, 100);
}
};

this.setPlayerVolume = function(volume) {

if(!_iframe)
return;

try {
_getWMPPlayer().settings.volume = volume;
} catch(e) {}
};

this.setPlayerPlayState = function(newstate) {

try {

if(newstate == "Media End")
this.onVideoEnd();
else
_getFlashContainer().videoPlayStateChange(newstate);

} catch (e) {
Debug.trace("setPlayerPlayState e:" + e);
}
};

// private methods

var _getFlashContainer = function() {
return document.getElementById(playerName);
}

var _getPlayerContainer = function() {
return window.frames[name];
};

var _getWMPPlayer = function() {
return _getPlayerContainer().player;
};

var _init = function()	{

try {

if(navigator.appName=="Microsoft Internet Explorer"){

_iframe = document.createElement('<iframe name="' + name + '" id="' + name + '" allowtransparency="true" sr' + 'c="" scrolling="no" frameborder="0"></iframe>');

} else {
_iframe = document.createElement("iframe");
_iframe.setAttribute("id", name);
_iframe.setAttribute("name", name);
_iframe.setAttribute("frameborder", 0);
_iframe.setAttribute("scrolling", "no");
}

_iframe.style.cssText = "position:absolute;float:left;";

var existingNode = document.getElementById(name);
if(existingNode)
existingNode.parentNode.removeChild(existingNode);

_target = document.getElementById(targetDiv);	
_target.appendChild(_iframe);

}catch(e) {	}
}

var _setSrc = function(src) {

if(src && _currentSrc!=src){

try{

if(_iframe.contentWindow)
_iframe.contentWindow.location.replace(src);
else
_iframe.src = src;	

_currentSrc = src;

}catch(e){

_iframe.src = _currentSrc = src;	
} 
}
}
};

function messageBoardBrowser() { };

messageBoardBrowser.prototype.createWindow = function() {
};
messageBoardBrowser.prototype.updateWindow = function() {
var boardID = arguments[5];
boardPop(boardID);
}

messageBoardBrowser.prototype.destroyWindow = function() { };

messageBoardBrowser.prototype.onPageLoad = function() { };

function LinkEventBrowser() { };

LinkEventBrowser.prototype.createWindow = function() {
};
LinkEventBrowser.prototype.updateWindow = function() {
// launchOverdrive(arguments[5]);
o = new Object(); 
o.lev = arguments[5];
REPORTING.makeCall('fbml_lev', o);
}

LinkEventBrowser.prototype.destroyWindow = function() { };

LinkEventBrowser.prototype.onPageLoad = function() { };

function MTVMediaPlayerBrowser() { };

MTVMediaPlayerBrowser.prototype.createWindow = function() {
};
MTVMediaPlayerBrowser.prototype.updateWindow = function() {

launchVideo(arguments[5]);
}

MTVMediaPlayerBrowser.prototype.destroyWindow = function() { };

MTVMediaPlayerBrowser.prototype.onPageLoad = function() { };

function MTVFlipbookBrowser() { };

MTVFlipbookBrowser.prototype.createWindow = function() {
};
MTVFlipbookBrowser.prototype.updateWindow = function() {

popFlip(arguments[5]);
}

MTVFlipbookBrowser.prototype.destroyWindow = function() { };

MTVFlipbookBrowser.prototype.onPageLoad = function() { };

function UberBrowser() { };

UberBrowser.prototype.createWindow = function() {
};
UberBrowser.prototype.updateWindow = function() {
window.launchBroadbandVideo(arguments[5]);
}

UberBrowser.prototype.destroyWindow = function() { };

UberBrowser.prototype.onPageLoad = function() { };
