// BCLibrary 2.2.4
// 04/17/2008 2008

// Omniture Tracking
function nlinkCode(EVNT,PRP12,PRP13,PRP14,EVR1,EVR2,EVR3,EVR7) {
	var s=s_gi(omnitureSuiteName);
	s.linkTrackVars='events,prop12,prop13,prop14,eVar1,eVar2,eVar3,eVar7';
	s.linkTrackEvents=EVNT;
	s.events=EVNT;
	s.prop12=PRP12; 
	s.prop13=PRP13; 
	s.prop14=PRP14; 
	s.eVar1=EVR1;
	s.eVar2=EVR2;
	s.eVar3=EVR3;
	s.eVar7=EVR7;
	s.tl(this,'o','Video Progress');
}

// END OMNITURE FUNCTION
var cueDone;
var videoAdAsset;
var videoAdURL;
var videoTrack;
var expandedBannerClickURL;
var expandedBannerURL;
var expandedBannerTrack;
var collapsedBannerURL;
var collapsedBannerClickURL;
var collapsedBannerTrack;
var displayNameOfCurrentContent;
var duration;
var ad =
{
	// Setup some defaults.
	type:"videoAd", //the ad format ("videoAd")
 	trackStartURLs:[""], //the list of URLs to fire to track impressions when the video starts playing
 	videoURL:videoAdAsset, //the url to the video asset (FLV or SWF)
  	videoClickURL:"", //the url to launch when the video is clicked
  	duration:15 //the length of the video ad in seconds
};

function parseXMLObject(xmlObject)
{
	
// parse code for IE
if (window.ActiveXObject)
  {
  var doc=new ActiveXObject("Microsoft.XMLDOM");
  	doc.async="false";
	doc.loadXML(xmlObject);
  }
// code for every other browser
else
  {
  var parser=new DOMParser();
	// alert(xmlObject.responseText);
	var doc=parser.parseFromString(xmlObject,"text/xml");
  }
// Box element
	
	try{expandedBannerURL=doc.getElementsByTagName("Box300x250")[0].childNodes[0].nodeValue;}
	catch(e){}
	
	try{expandedBannerClickURL=doc.getElementsByTagName("Baseboard300x250ClickURL")[0].childNodes[0].nodeValue;}
	catch(e){}

	try{expandedBannerTrack=doc.getElementsByTagName("Baseboard300x250TrackingURL")[0].childNodes[0].nodeValue;}
	catch(e){}
	
	try{collapsedBannerURL=doc.getElementsByTagName("Baseboard728x90")[0].childNodes[0].nodeValue;}
	catch(e){}
	
	try{collapsedBannerClickURL=doc.getElementsByTagName("Baseboard728x90ClickURL")[0].childNodes[0].nodeValue;}
	catch(e){}
	
	try{collapsedBannerTrack=doc.getElementsByTagName("Baseboard728x90TrackingURL")[0].childNodes[0].nodeValue;}
	catch(e){}
	
	try{videoAdAsset=doc.getElementsByTagName("videoURL")[0].childNodes[0].nodeValue;}
	catch(e){}

	try{videoAdURL=doc.getElementsByTagName("videoClickURL")[0].childNodes[0].nodeValue;}
	catch(e){}
	
	try{videoTrack=doc.getElementsByTagName("videoTrackingURL")[0].childNodes[0].nodeValue;}
	catch(e){}

	ad.videoURL=videoAdAsset;
	ad.videoClickURL=videoAdURL;
}

var tempURL = "";
var tempAssetURL = "";
function playAd(adXML, callback) {
    // perform whatever ad actions are necessary with adXML and, when complete, fire callbackFlash(callback);
	expandedBannerClickURL = "";
	expandedBannerURL = "";
	expandedBannerTrack = "";
	collapsedBannerURL = "";
	collapsedBannerClickURL = "";
	collapsedBannerTrack = "";
	
	parseXMLObject( adXML );
	
	// ---------------------------------------------------------------------------------
	// Received the ad information from the parse, so now we send it to the BC flash app to play as an ad
	try{ callFlash("playAd", ad); }
	catch(e){}
	// ---------------------------------------------------------------------------------
	
	// ---------------------------------------------------------------------------------
	// Put the expandedbanner into the box ad location (if location is available)
	try{			
				if (typeof(expandedBannerTrack) != "undefined" && expandedBannerTrack != '') {
					if((expandedBannerTrack.substr(-3, 3) == "jpg") || (expandedBannerTrack.substr(-3, 3) == "gif") ) {
						document.getElementById(BCBoxTrackingPixelLocation).innerHTML='<img src="'+expandedBannerTrack+'" border="0">';
			        } else {
						document.getElementById(BCBoxTrackingPixelLocation).innerHTML='<iframe src="'+expandedBannerTrack+'" id="pixel"  width="1" height="1" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>';
					}
			    }
			
			if (typeof(expandedBannerURL) != "undefined" && expandedBannerURL != '') {
				 //alert(expandedBannerURL);
				 //alert(expandedBannerURL);
				if(expandedBannerURL.substr(-3, 3) == "swf") { //if the expanded banner is a swf
		
					var objectTag = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="300" height="250" id="expandedBanner" align="middle">\n';
					objectTag += '\t<param name="allowScriptAccess" value="always" />\n';
					objectTag += '\t<param name="movie" value="' + expandedBannerURL + '" />\n';
					objectTag += '\t<param name="quality" value="high" />\n';
					objectTag += '\t<param name="bgcolor" value="#ffffff" />\n';
					objectTag += '\t<param name="FlashVars" value="clickTag=' + expandedBannerClickURL + '" />\n';
					objectTag += '\t<embed src="' + expandedBannerURL + '" quality="high" bgcolor="#ffffff" width="300" height="250" name="expandedBanner" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="clickTag=' + expandedBannerClickURL + '" />\n';
					objectTag += '</object>\n';
					
					document.getElementById(BCSynchedBoxAdLocation).innerHTML = objectTag;
				}
				else if((expandedBannerURL.substr(-3, 3) == "jpg") || (expandedBannerURL.substr(-3, 3) == "gif") ) {
					document.getElementById(BCSynchedBoxAdLocation).innerHTML='<a href="'+expandedBannerClickURL+'" border="0" target="_blank" ><img src="'+expandedBannerURL+'" border="0"></a>';
	        	} else {
					if (!expandedBannerURL=="") {
					document.getElementById(BCSynchedBoxAdLocation).innerHTML='<iframe src="/bcplayers/Player/3Tier/SharedFiles/include/boxad.jsp?asset='+expandedBannerURL+'&url='+expandedBannerClickURL+'&width=300&height=250" id="boxadframe" width="300" height="250" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>';
					}
				} 
			
			
			}
			
		}
		catch(e){}
	// ---------------------------------------------------------------------------------
	
	// ---------------------------------------------------------------------------------
	// Put the collapsedBannner into the banner ad location (if location is avialable)
	
	try{			
				if (typeof(collapsedBannerTrack) != "undefined" && collapsedBannerTrack != '') {
					if((collapsedBannerTrack.substr(-3, 3) == "jpg") || (collapsedBannerTrack.substr(-3, 3) == "gif") ) {
						document.getElementById(BCBannerTrackingPixelLocation).innerHTML='<img src="'+collapsedBannerTrack+'" border="0">';
			        } else {
						document.getElementById(BCBannerTrackingPixelLocation).innerHTML='<iframe src="'+collapsedBannerTrack+'" id="pixel"  width="100" height="100" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>';
					}
			    }
			
				if (typeof(collapsedBannerURL) != "undefined" && collapsedBannerURL != '') {
					if(collapsedBannerURL.substr(-3, 3) == "swf") { //if the collapsed banner is a swf
			
						var objectTag = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="728" height="90" id="collapsedBanner" align="middle">\n';
						objectTag += '\t<param name="allowScriptAccess" value="always" />\n';
						objectTag += '\t<param name="movie" value="' + collapsedBannerURL + '" />\n';
						objectTag += '\t<param name="quality" value="high" />\n';
						objectTag += '\t<param name="bgcolor" value="#ffffff" />\n';
						objectTag += '\t<param name="FlashVars" value="clickTag=' + collapsedBannerClickURL + '" />\n';
						objectTag += '\t<embed src="' + collapsedBannerURL + '" quality="high" bgcolor="#ffffff" width="728" height="90" name="collapsedBanner" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="clickTag=' + collapsedBannerClickURL + '" />\n';
						objectTag += '</object>\n';
						
						parent.document.getElementById(containerPageBottomAdId).innerHTML = objectTag;
					}
					else if((collapsedBannerURL.substr(-3, 3) == "jpg") || (expandedBannerURL.substr(-3, 3) == "gif") ) {
						parent.document.getElementById(containerPageBottomAdId).innerHTML='<a href="'+collapsedBannerClickURL+'" border="0" target="_blank" ><img src="'+collapsedBannerURL+'" border="0"></a>';
					} else {
						if (!collapsedBannerURL=="") {
						parent.document.getElementById(containerPageBottomAdId).innerHTML='<iframe src="/bcplayers/Player/3Tier/SharedFiles/include/boxad.jsp?asset='+collapsedBannerURL+'&url='+collapsedBannerClickURL+'&width=728&height=90" id="boxadframe" width="728" height="90" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>';
						}
					}
				}
			
		}
		catch(e){}

		// ---------------------------------------------------------------------------------

		// ---------------------------------------------------------------------------------
		// Put the video tracker into the video pixle location (if location is avialable)

		try{			
					if (typeof(videoTrack) != "undefined" && videoTrack != '') {
						if((videoTrack.substr(-3, 3) == "jpg") || (videoTrack.substr(-3, 3) == "gif") ) {
							document.getElementById(BCVideoTrackingPixelLocation).innerHTML='<img src="'+videoTrack+'" border="0">';
				        } else {
							document.getElementById(BCVideoTrackingPixelLocation).innerHTML='<iframe src="'+videoTrack+'" id="pixel"  width="1" height="1" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>';
						}
				    }
		}
		catch(e){}
 }


function receiveBCEventInfo(eventName, type)
{
		var typeToAd = "";
		if (type=="ad") {
			typeToAd=ad.videoURL;
		}
	// for debug purposes, only
	
	if (debugdiv != "") {
		var currentText = document.getElementById( debugdiv ).innerHTML;
		currentText=currentText+'<br>' + eventName + ' ' + typeToAd;
		document.getElementById( debugdiv ).innerHTML=currentText;
	}
}


if (useBCPlayer=="true") {
	
	// ------------------------------------------------------------------
	// BC Player Code
	// ------------------------------------------------------------------
	// ------------------------------------------------------------------
	// ------------------------------------------------------------------

	 // By use of this code snippet, I agree to the Brightcove Publisher T and C 
	 // found at http://www.brightcove.com/publishertermsandconditions.html. 

	 var config = new Array();

	 /* 
	 * feel free to edit these configurations
	 * to modify the player experience
	 */
	 ;
	 if (typeof bcVideoId == 'undefined') {} else {
		config["videoId"] = bcVideoId; //the default video loaded into the player
	}
	 
	 if (typeof bcVideoRef == 'undefined') {} else {
	 config["videoRef"] = bcVideoRef; //the default video loaded into the player by ref id specified in console
	}
	
	if (typeof bcLineupId == 'undefined') {} else {
	 config["lineupId"] = bcLineupId; //the default lineup loaded into the player
	}
	
	if (typeof bcLineupRef == 'undefined') {} else {
	 config["lineupRef"] = bcLineupRef;
	 }

	 config["playerTag"] = bcPlayerTag; //player tag used for identifying this page in brightcove reporting
	 config["autoStart"] = autoStart; //tells the player to start playing video on load
	 config["preloadBackColor"] = preloadBackColor; //background color while loading the player
	 config["wmode"] = 'transparent'; 
	 if (adTechID != null) {
	 var grpid;

	
	 if (typeof pageGroupId =='undefined') {
	 	if (typeof BCadGroupId == 'undefined') {
			grpid = Math.round(Math.random() * 1000);
			} else {
			grpid = BCadGroupId;
			}
		} else {
	 	grpid = pageGroupId
	 	}
		// alert('groupid set to ' + grpid);
		config["adServerURL"] = 'http://adserver.adtech.de/addyn/3.0/611/'+adTechID+'/0/187/ADTECH;grp='+grpid+';cc=2';
	 	config["externalAds"] = true;  //this line is necessary for the JS stuff too
		}

	  /* 
	 * set the player's size using the parameters below
	 * to make this player dynamically resizable, set the width and height as a percentage
	 */

	 config["width"] = bcPlayerWidth;
	 config["height"] = bcPlayerHeight;
 
	 /* do not edit these config items */
	 config["playerId"] = bcPlayerID;
	 createExperience(config);


	var videoTitle;
	var videoDescription;
	var eType = "";

	function onTemplateLoaded(message) {
		
		// Event Listeners...
	    callFlash("addEventListener", "contentLoad", "onContentLoad");
	    callFlash("addEventListener", "pause", "onPause"); 
		callFlash("addEventListener", "streamStart", "onStreamStart");
		callFlash("addEventListener", "mediaComplete", "onMediaComplete");
		callFlash("addEventListener", "menuPageOpened", "onMenuPageOpened");
		callFlash("addEventListener", "adStart", "onAdStart");
		// End Event Listeners....
	}


	// ------------------------------------------------------------
	// ------------------------------------------------------------
	// Event Listner functions.
	// ------------------------------------------------------------

	function onContentLoad() {
		eType="contentLoad";
	}
	
	function onStreamStart (evt) {
		callFlash("getCurrentTitle");
	}

	function onAdStart (evt) {
		if (callFlash("removeEventListener", "cuePoint", "onCuePoint")) {
			receiveBCEventInfo("[Removed eventListener cuePoint, adStart] " + videoTitle, "");
		}
	}

	function onPause() {
		receiveBCEventInfo("[Pause] ", "ad");
	}

	function onCuePoint(cuePoint) {
		receiveBCEventInfo("[Received cuePoint] " + cuePoint.parameters.cuePoint.name, "");
		if (cuePoint.parameters.cuePoint.name == '50%') {
		receiveBCEventInfo("[Omniture:50%] " + cuePoint.parameters.cuePoint.name, "");
		// Removed 2008-12-18 CR: linkCode('event14','','','','','','',''); //ADDED FOR OMNITURE - Clip 50% Event
		}
	}
	
	function onMediaComplete() {
		receiveBCEventInfo("[Omniture:Finished] " + videoTitle, "");
		// Removed 2008-12-18 CR: linkCode('event13','','','','','','',''); //ADDED FOR OMNITURE - Clip 100% Event
		if (callFlash("removeEventListener", "cuePoint", "onCuePoint")) {
			receiveBCEventInfo("[Removed eventListener cuePoint] " + videoTitle, "");
		}
		
	}
	
	function onMenuPageOpened() {
		receiveBCEventInfo("[Omniture:MenuOptionAccessed] " + videoTitle, "");
		// Removed 2008-12-18 CR: linkCode('event12','','','','','','',''); //ADDED FOR OMNITURE - Viral Event

		
	}
	
	function createCuePoint() {
		var midPointTime = totalVideoLength/1000;
		receiveBCEventInfo("[Set midPointTime] " + midPointTime, "");
		callFlash("addCuePoints",titleId, [{time:midPointTime,name:'50%'}])
	}

	// ------------------------------------------------------------
	// ------------------------------------------------------------
	// Result functions.
	// ------------------------------------------------------------

	function getCurrentTitle_Result(titleDTO) {
		callFlash("addEventListener", "cuePoint", "onCuePoint");
		receiveBCEventInfo("[Added eventListener: cuePoint] " + titleDTO.displayName, " ");

		receiveBCEventInfo("[Omniture:ShowTitle] " + titleDTO.displayName, " ");
		videoTitle = titleDTO.displayName;
		titleId = titleDTO.id;

		var tags = new Array();
	 	if (titleDTO.tags != null) {
		tags = titleDTO.tags;
		} else {
			tags[0] = "Untagged Video"
		}
		receiveBCEventInfo("[Omniture:Tag1] " + tags[0], " ");
		totalVideoLength = titleDTO.length;
		totalVideoLength = totalVideoLength/2;
		
		createCuePoint();
		// Removed 2008-12-18 CR: linkCode('',titleDTO.displayName,'','',titleDTO.displayName,'','',''); //ADDED FOR OMNITURE - TitleName
		// Removed 2008-12-18 CR: linkCode('','',tags[0],'','',tags[0],'',''); //ADDED FOR OMNITURE - Category
		// Removed 2008-12-18 CR: linkCode('event8','','','','','','',''); //ADDED FOR OMNITURE - Event for clip viewed
		// Removed 2008-12-18 CR: linkCode('','','',bcPlayerTag,'','',bcPlayerTag,''); //ADDED FOR OMNITURE - PlayerName
		
		receiveBCEventInfo("[Omniture:Player] " + bcPlayerTag, " ");		
		receiveBCEventInfo("[Omniture:Sent] Event2 (Clip Start) ", "" );
		receiveBCEventInfo("[Omniture:Sent] ShowTitle= "+titleDTO.displayName+", Tag[0]= "+tags[0], "" );
	}
	
	// -----------------------------------------------------
	// -----------------------------------------------------
}