//defaults
//var vp_trackEvent_handlers = "Omniture,NetRatings";
var vp_trackEvent_handlers = "Omniture";

function vp_setTrackEvent_handlers(inputParam)
{	vp_trackEvent_handlers = inputParam;	}

//PLAYER ID ADDED 01-12-2007
function omnitureCall( pageName, network, tab, show, title, clipid, guid, videolength, bitrate, stream, fullscreen, time, eventType, playerID)
{
	//MANIPULATE PARAMETERS
	streamBitrate = stream.substr(stream.length-4,4);	//STREAM BITRATE - ONLY FOR NBCU STREAMS, NBBC BREAKS
	var streamSourceArray = new Array();
	streamSourceArray = stream.split("/");
	streamSource = streamSourceArray[streamSourceArray.length-2];
	
	//CREATE OBJECT
	var obj = new Object();
	obj.pageName = pageName;
	obj.network = network;
	obj.tab = tab;
	obj.show = show;
	obj.title = title;
	obj.clipid = clipid;
	obj.guid = guid;
	obj.videolength = videolength;
	obj.userBitrate = bitrate;
	obj.streamBitrate = streamBitrate;
	obj.stream = stream;
	obj.streamSource = streamSource;
	obj.fullscreen = fullscreen;
	obj.time = time;
	obj.eventType = eventType;
	obj.playerID = playerID;	//ADDED 01-12-2007

	// debug
	var tmpStr = "<font size=-2>Events Engine: <br>" +
						"Page name: " + obj.pageName + "<br>" + 
						"Network name: " + String( obj.network ).toLowerCase() + "<br>" + 
						"Tab: " + obj.tab + "<br>" +
						"Show name: " + obj.show + "<br>" + 
						"Title: " + obj.title + "<br>" +
						"Clip ID: " + obj.clipid + "<br>" +
						"Unique ID: " + obj.guid + "<br>" +
						"Length: " + obj.videolength + "<br>" +
						"User Bitrate: " + obj.userBitrate + "<br>" +
						"Stream: " + obj.stream + "<br>" +
						"StreamBitrate: " + obj.streamBitrate + "<br>" +
						"StreamSource: " + obj.streamSource + "<br>" +
						"Fullscreen: " + obj.fullscreen + "<br>" +
						"Event: " + obj.eventType + "<br>" + 
						"Time: " + obj.time + "<br>" + 
						"</font>";
						
	if (document.getElementById( "debugEventObj" )) document.getElementById( "debugEventObj" ).innerHTML = tmpStr;

	switch (String(obj.network).toLowerCase())
	{
		case "ah":
			break;
		case "nbc - snl/conan":
			break;
		case "scifi":
			break;
		case "usa":
			break;
		case "nbc":
			break;
		case "bravo":
			break;
		case "mun":
			break;
		case "mun2":
			break;
		case "bbc":
			break;
		case "dew":
			break;
		case "ivillage":
			obj.pageName = String(obj.pageName).replace(/^ivillage/,"ivillagevideo");
			obj.network = "ivillagevideo";
			break;
		case "nbcsports":
			break;
		case "rydercup":
			break;
		case "rotoworld":
			break;
		case "tvsd":
			break;
		case "wrc":
			break;
		case "knbc":
			break;
		case "wmaq":
			break;
		case "wvit":
			break;
		case "wtvj":
			break;
		case "wcau":
			break;
		case "kntv":
			break;
		case "knsd":
			break;
		case "kxas":
			break;
		case "wnbc":
			break;
		case "meganshow":
			break;
		case "dotcomedy":
 			break;
		case "nbcrewind":
			break;
	}
	
	//CREATE ARRAY FOR EVENT HANDLERS
	vp_trackEvent_handlers_array = new Array();
	vp_trackEvent_handlers_array = vp_trackEvent_handlers.split(",");

	//CALL EACH EVENT HANDLER
	doOmniture(obj);
	/* COMMENTED OUT - ONLY OMNITURE CALLED
	for (func in vp_trackEvent_handlers_array) {;
		func = vp_trackEvent_handlers_array[func];
		eval('if (typeof do'+func+' == "function") do'+func+'(obj);');
	}
	*/
	
	//CALL EVENTS AFTER PRIMARY EVENT HANDLERS
	switch ( String( obj.eventType ).toLowerCase() )
	{
		case "start":
			try {embeddedPlayerManager.getPlayer(obj.playerID).executeRunOnClipStart();}
			catch(e) {}
			break;
		case "switched":
			try {embeddedPlayerManager.getPlayer(obj.playerID).executeRunOnClipSwitched();}
			catch(e) {}
			break;
		case "completed":
			try {embeddedPlayerManager.getPlayer(obj.playerID).executeRunOnClipCompleted();}
			catch(e) {}
			//vp_playlist_nextClip();
			//embeddedPlayerManager.getPlayer(obj.playerID).playNextClipInPlaylist();
			break;
		case "closed":
			try {embeddedPlayerManager.getPlayer(obj.playerID).executeRunOnClosed();}
			catch(e) {}
			break;
		/* REMOVED 01-12-2007 - OLD
		case "start":
			try {vp_afterClipStart()}
			catch(err) {}
			break;
		case "switched":
			try {vp_afterClipSwitch()}
			catch(err) {}
			break;
		case "completed":
			try {vp_afterClipComplete()}
			catch(err) {}
			//vp_playlist_nextClip();
			embeddedPlayerManager.getPlayer().playNextClipInPlaylist();
			break;
		case "closed":
			try {vp_afterClipClose()}
			catch(err) {}
			break;
		*/
	}
}


function doOmniture(obj) {
	// exit function if path (pageName) is undefined
	if ( obj.pageName == undefined || obj.pageName == null ) { return; }

	// set Omniture properites
	switch (String(obj.network).toLowerCase())
	{
		case "ah":
			s_prop20 = "nbcutvdistd,nbcuaccesshwbu";
			s_prop8 = "TV Distribution";
			break;
		case "nbc - snl/conan":
			s_prop20 = "nbcutventd,nbcunetworkbu";
			s_prop8 = "TV Entertainment";
			break;
		case "scifi":
			s_prop20 = "nbcuscifid,nbcuscifivideobu";
			s_prop8 = "Cable";
			break;
		case "usa":
			s_prop20 = "nbcuusanetworkd,nbcuusanetbu";
			s_prop8 = "Cable";
			break;
		case "nbc":
			s_prop20 = "nbcutventd,nbcunetworkbu";
			s_prop8 = "TV Entertainment";
			break;
		case "bravo":
			s_prop20 = "nbcubravotvbu,nbcubravod";
			s_prop8 = "Bravo";
			break;
		case "mun":
			s_prop20 = "nbcutelemundod,nbcutelemundonetbu";
			s_prop8 = "Cable";
			break;
		case "mun2":
			s_prop20 = "nbcutelemundod,nbcumun2bu";
			s_prop8 = "TV Entertainment";
			break;
		case "bbc":
			s_prop20 = "nbcubbcbu,nbcubravod";
			s_prop8 = "Bravo";
			break;
		case "dew":
			s_prop20 = "nbcusportsd,dewactionsportsbu";
			s_prop8 = "NBC Sports";
			break;
		case "ivillage":
			s_prop20 = "nbcuivillagenetwork,nbcuivillagebranded,nbcuivillagevideo";
			s_prop8 = "iVillage";
			obj.pageName = String(obj.pageName).replace(/^ivillage/,"ivillagevideo");
			obj.network = "ivillagevideo";
			break;
		case "nbcsports":
			s_prop20 = "nbcusportsd,nbcusportsbu";
			s_prop8 = "NBC Sports";
			break;
		case "rydercup":
			s_prop20 = "nbcusportsd,nbcusportsbu";
			s_prop8 = "NBC Sports";
			break;
		case "rotoworld":
			s_prop20 = "nbcusportsd,nbcusportsbu";
			s_prop8 = "NBC Sports";
			break;
		case "tvsd":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "wrc":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "knbc":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "wmaq":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "wvit":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "wtvj":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "wcau":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "kntv":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "knsd":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "kxas":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "wnbc":
			s_prop20 = "nbcutvstationsd,nbcuoositesbu";
			s_prop8 = "TV Stations";
			break;
		case "meganshow":
			s_prop20 = "nbcutvdistd,nbcummshowbu";
			s_prop8 = "TV Distribution";
			break;
		case "dotcomedy":
			s_prop20 = "nbcudotcomedyd,nbcudotcomedyvbu";
 			s_prop8 = "Dot Comedy";
 			break;
		case "nbcrewind":
			s_prop20 = "nbcutventd,nbcu247bu";
			s_prop8 = "TV Entertainment";
			break;
		case "dogshowusa":
			s_prop20 = "nbcusportsd,nbcudogshowbu";
			s_prop8 = "Dog Show Usa";
			break;
		case "outzonetv":
			s_prop20 = "nbcubravod,nbcuoutzonebu";
			s_prop8 = "Outzone";
			break;
		case "usafullepisode":
			s_prop20 = "nbcuusanetworkd,nbcuusanetbu";
			s_prop8 = "Cable";
			break;
		case "nbcsportsfullepisode":
			s_prop20 = "nbcusportsd,nbcupokerbu";
			s_prop8 = "NBC Sports";
			break;
		case "scificlassics":
			s_prop20 = "nbcuscifid,nbcuscifivideobu";
			s_prop8 = "Cable";
			break;
		default:
			s_prop20 = "";
			s_prop8 = "";
	}

	 //set the omniture object
	var s=s_gi('nbcuglobal');

	s.pageName = obj.pageName;
	s.prop2   = 'Video Player';
	s.prop3   = obj.tab;
	s.prop4   = obj.show; // show name = first folder name
	s.prop8   = s_prop8;
	s.prop9   = obj.network;
	s.prop10  = obj.show;
	s.prop18  = String( obj.time ); // playtime
	s.prop20  = s_prop20; //additional accounts
	s.prop42  = obj.guid;
	s.prop43  = obj.clipid;
	s.prop44  = String(obj.fullscreen);
	s.prop45  = obj.streamBitrate;
	s.prop47  = String(obj.autoplay);
	s.prop48  = 'Embedded Video Player';
	s.prop49  = obj.title;
	s.prop50  = obj.streamSource;
	s.linkTrackVars='prop18,prop20,prop44,prop47,prop46,prop48';

	switch ( String( obj.eventType ).toLowerCase() )
	{
		case "start":
if (document.getElementById("debugEvent")) document.getElementById("debugEvent").innerHTML = "<br><font size=-2>start</font>" + document.getElementById("debugEvent").innerHTML;
//alert("start");
			s.prop18='';
			s.prop46='Start';
			if (typeof s.t == 'function') void(s.t());
			break;
		case "switched":
if (document.getElementById("debugEvent")) document.getElementById("debugEvent").innerHTML = "<br><font size=-2>switched</font>" + document.getElementById("debugEvent").innerHTML;;
//alert("switched");
			s.prop46='Switched';
			s.prop48  = '';
			if (typeof s.tl == 'function') void(s.tl(true, 'o', s.pageName));
			break;
		case "completed":
if (document.getElementById("debugEvent")) document.getElementById("debugEvent").innerHTML = "<br><font size=-2>completed</font>" + document.getElementById("debugEvent").innerHTML;;
//alert("completed");
			s.prop46='Completed';
			s.prop48  = '';
			if (typeof s.tl == 'function') void(s.tl(true, 'o', s.pageName));
			break;
		case "closed":
if (document.getElementById("debugEvent")) document.getElementById("debugEvent").innerHTML = "<br><font size=-2>closed</font>" + document.getElementById("debugEvent").innerHTML;;
//alert("closed");
			s.prop46='Closed';
			s.prop48  = '';
			if (typeof s.tl == 'function') void(s.tl(true, 'o', s.pageName));
			break;
	}
	//DEBUG PROP OUTPUT
	if (document.getElementById("debugOmni"))
	{
		document.getElementById("debugOmni").innerHTML = "<font size=-2>"+
			"OMNITURE S.PROP INFO"+
			"<br>s.pagename: "+s.pageName+
			"<br>s.prop2: "+s.prop2+
			"<br>s.prop3: "+s.prop3+
			"<br>s.prop4: "+s.prop4+
			"<br>s.prop8: "+s.prop8+
			"<br>s.prop9: "+s.prop9+
			"<br>s.prop10: "+s.prop10+
			"<br>s.prop18: "+s.prop18+
			"<br>s.prop20: "+s.prop20+
			"<br>s.prop42: "+s.prop42+
			"<br>s.prop43: "+s.prop43+
			"<br>s.prop44: "+s.prop44+
			"<br>s.prop45: "+s.prop45+
			"<br>s.prop46: "+s.prop46+
			"<br>s.prop47: "+s.prop47+
			"<br>s.prop48: "+s.prop48+
			"<br>s.prop49: "+s.prop49+
			"<br>s.prop50: "+s.prop50+
			"<br>s.linkTrackVars: "+s.linktrackVars+
			"</font>";
	}
}

function doNetRatings(obj) {
	switch (String(obj.network).toLowerCase())
	{
		case "ah":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "Access Hollywood";
		break;
		case "nbc - snl/conan":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "NBC.com";
		break;
		case "scifi":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "SCIFI.com";
		break;
		case "usa":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "USA Network";
		break;
		case "nbc":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "NBC.com";
		break;
		case "bravo":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "Bravo";
		break;
		case "mun":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "mun2":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "bbc":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "Bravo";
		break;
		case "dew":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "NBC Sports";
		break;
		case "ivillagevideo":
		scparent = "General Electric";
		scbrand = "iVillage Network";
		scchannel = "iVillage Video";
		break;
		case "nbcsports":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "NBC Sports";
		break;
		case "rydercup":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "NBC Sports";
		break;
		case "rotoworld":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "NBC Sports";
		break;
		case "tvsd":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "wrc":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "knbc":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "wmaq":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "wvit":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "wtvj":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "wcau":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "kntv":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "knsd":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "kxas":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
		case "wnbc":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";              
		break;
		case "meganshow":
		scparent = "General Electric";
		scbrand = "iVillage Network";
		scchannel = "";
		break;
		case "dotcomedy":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "DotComedy";              
		break;
		case "nbcrewind":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "NBC.com";
		break;
		case "dogshowusa":
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "NBC Sports";
		break;
		default:
		scparent = "General Electric";
		scbrand = "NBC Universal";
		scchannel = "";
		break;
	}

	//CALL EVENTS
	switch ( String( obj.eventType ).toLowerCase() )
	{
		case "start":
			//CALL NETRATINGS FUNCTION
			_scdav(obj.title,obj.show,'',scparent,scbrand,scchannel);
			break;
		case "switched":
			break;
		case "completed":
			break;
		case "closed":
			break;
	}
}

function _scdav(_sctitle,_sccontainer,_scgroup,_scparent,_scbrand,_scchannel)
{

//	_sctitle = Title of the Stream
//	_sccontainer = Name of the Stream's Container or Referring Page
//	_scgroup = This value should be 0 unless you are uniquely identifying the group of streams (like 'The Office') and you want this data to be available in the syndicated service
	var ScImgSrc;
	
	var ScRandom = Math.ceil(Math.random()*1000000000);
	ScImgSrc = 'http://secure-us.imrworldwide.com/cgi-bin/m?ci=us-nbcuniversal';
	ScImgSrc += '&amp;cg=' + escape(_scgroup);				//Content Group	(Not Necessary)
	ScImgSrc += '&amp;tl=dav0-' + escape(_sctitle);				//Title of the Stream
	ScImgSrc += '&amp;si=' + escape(_sccontainer);				//Container of Stream
	ScImgSrc += '&amp;c0=pa,' + escape(_scparent);			//MarketView Parent
	ScImgSrc += '&amp;c1=br,' + escape(_scbrand);				//MarketView Brand
	ScImgSrc += '&amp;c2=ch,' + escape(_scchannel);					//MarketView Channel
	//ScImgSrc += '&amp;c3=st,StreamType';				//Use only if tagging advertising	
	ScImgSrc += '&amp;cc=1';					//Cookie Check (Always on)
	ScImgSrc += '&amp;rnd=' + ScRandom;

	var vp_nielsenContainer = document.createElement("div");
	vp_nielsenContainer.id = "vp_nielsenContainerDiv";
	document.body.appendChild(vp_nielsenContainer);
	document.getElementById(vp_nielsenContainer.id.toString()).style.visibility = "hidden";
	document.getElementById(vp_nielsenContainer.id.toString()).style.display = "none";
	document.getElementById(vp_nielsenContainer.id.toString()).innerHTML = "<img src=\""+ScImgSrc+"\" style=\"display:none;\" border=\"0\" alt=\"\"/>";
//prompt("CALL TO NETRATIGS","<img src=\""+ScImgSrc+"\" style=\"display:none;\" border=\"0\" alt=\"\"/>");
//	document.write('<img src="'+ScImgSrc+'" style="display:none;" border="0" alt=""/>');
}