function enableOmnitureTracking(videotitle)
{
	var ot = new OmnitureTracking(videotitle,this);
	ot.enableTracking();
}

function trackMediaWithOmniture(trackingTitle)
{
	var OM_linkTrackVars = "prop20,eVar2,events";
	var OM_linkTrackEvents = "event3";
	var OM_prop20 = trackingTitle;
	var OM_eVar2 = trackingTitle;
	var OM_events = "event3";

	s.linkTrackVars = OM_linkTrackVars;
	s.linkTrackEvents = OM_linkTrackEvents;
	s.prop20 = OM_prop20;
	s.eVar2 = OM_eVar2;
	s.events = OM_events;
	s.tl(this, 'o');
}

function SniffBrowser()
{
	this.appleDeviceFlag = false;

	this.isAppleDevice = function()
	{
		if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)))
		{
			this.appleDeviceFlag = true;
		}
		return this.appleDeviceFlag;
	}
}

function AppleMediaSwitcher()
{
    this.scriptTag = "<a ";
	this.divTagLabel = "media_switcher_generic";
	this.sniffBrowser = new SniffBrowser();

	this.enableTrackingFlag = false;
	this.trackingTitle = "";
	
	this.setMovieLink = function(link)
	{
		if (this.sniffBrowser.isAppleDevice())
		{
			this.scriptTag += "href=\"" + link + "\" target=\"_blank\" onclick=\"enableOmnitureTracking('" + this.trackingTitle + "');\">";
		}
	}

	this.setFlashLink = function(link)
	{
		if (!this.sniffBrowser.isAppleDevice())
		{
			this.scriptTag += "href=\"javascript:;\" onclick=\"" + link + ";enableOmnitureTracking('" + this.trackingTitle + "');\">";
		}
	}

	this.setFlashLinkPopUp = function(link,w,h)
	{
		if (!this.sniffBrowser.isAppleDevice())
		{
			var popup = "window.open('" + link + "','','width=" + w + ",height=" + h + "');";
		
			this.scriptTag += "href=\"javascript:;\" onclick=\"" + popup + "enableOmnitureTracking('" + this.trackingTitle + "');\">";
		}
	}

	this.setDivTagLabel = function(label)
	{
		this.divTagLabel = label;
	}

	this.enableTracking = function(videotitle)
	{
		this.enableTrackingFlag = true;
		this.trackingTitle = videotitle;
	}

	this.switchMedia = function()
	{
		var divTag = document.getElementById(this.divTagLabel);

		this.scriptTag += divTag.innerHTML + "</a>";
		divTag.innerHTML = this.scriptTag;
		
		if (this.enableTrackingFlag)
		{
			//trackMediaWithOmniture(this.trackingTitle);	
		}
	}
}

function OmnitureTracking(videotitle,ctx)
{
	this.OM_linkTrackVars = "prop20,eVar2,events";
	this.OM_linkTrackEvents = "event3";
	this.OM_prop20 = videotitle;
	this.OM_eVar2 = videotitle;
	this.OM_events = "event3";
	this.OM_context = ctx;
	
	this.enableTracking = function()
	{
		this.OM_context.s.linkTrackVars = this.OM_linkTrackVars;
		this.OM_context.s.linkTrackEvents = this.OM_linkTrackEvents;
		this.OM_context.s.prop20 = this.OM_prop20;
		this.OM_context.s.eVar2 = this.OM_eVar2;
		this.OM_context.s.events = this.OM_events;
		this.OM_context.s.tl(this.OM_context, 'o');
	}
}

function Map()
{
    this.keyArray = new Array();
    this.valArray = new Array();

	this.put = function(key,val)
	{
		var elementIndex = this.findIt(key);
    
		if (elementIndex == (-1))
		{
			this.keyArray.push(key);
			this.valArray.push(val);
		}
		else
		{
			this.valArray[elementIndex] = val;
		}
	}

	this.get = function(key)
	{
		var result = null;
		var elementIndex = this.findIt(key);

		if (elementIndex != (-1))
		{   
			result = this.valArray[elementIndex];
		}  
    
		return result;
	}

	this.remove = function(key)
	{
		var result = null;
		var elementIndex = this.findIt(key);

		if (elementIndex != (-1))
		{
			this.keyArray = this.keyArray.removeAt(elementIndex);
			this.valArray = this.valArray.removeAt(elementIndex);
		}  
    
		return ;
	}

	this.size = function()
	{
		return (this.keyArray.length);  
	}

	this.clear = function()
	{
		for (var i = 0; i < this.keyArray.length; i++)
		{
			this.keyArray.pop(); this.valArray.pop();   
		}
	}

	this.keySet = function()
	{
		return (this.keyArray);
	}

	this.valSet = function()
	{
		return (this.valArray);   
	}

	this.showMe = function()
	{
		var result = "";
    
		for (var i = 0; i < this.keyArray.length; i++)
		{
			result += "Key: " + this.keyArray[i] + "\tValues: " + this.valArray[i] + "\n";
		}
		return result;
	}

	this.findIt = function(key)
	{
		var result = (-1);

		for (var i = 0; i < this.keyArray.length; i++)
		{
			if (this.keyArray[ i ] == key)
			{
				result = i;
				break;
			}
		}
		return result;
	}

	this.getKey = function(index)
	{
		return this.keyArray[index];
	}

	this.getValue = function(index)
	{
		return this.valArray[index];
	}
}

function SuperArray()
{
    this.myArray = new Array();
	
	this.add = function(key)
	{
		this.myArray.push(key);
	}

	this.foundIt = function(key)
	{
		var found = false;

		for (var i = 0; i < this.myArray.length; i++)
		{
			if (this.myArray[i] == key)
			{
				found = true;
				break;
			}
		}
		return found;
	}
	
}
