ctv.ca.MediaUrl = function (url, mediaType, coAdUrl, trackingStartUrl, trackingEndUrl, vid,
                            parentClipTitle, parentClipShowTypeId, parentClipShowTypeName, parentClipSeason,
                            parentClipEpisode, parentClipCat, isAd) {
    this.url = url;
    this.mediaType = mediaType;
    this.coAdUrl = coAdUrl;
    this.trackingStartUrl = trackingStartUrl;
    this.trackingEndUrl = trackingEndUrl;
    this.vid = vid;
    
    this.parentClipTitle = parentClipTitle;
    this.parentClipShowTypeId = parentClipShowTypeId;
    this.parentClipShowTypeName = parentClipShowTypeName;
    this.parentClipSeason = parentClipSeason;
    this.parentClipEpisode = parentClipEpisode;
    this.parentClipCat = parentClipCat;
    
    this.isAd = isAd;
}

ctv.ca.MediaUrl.registerClass('ctv.ca.MediaUrl', Sys.Component);

ctv.ca.PlayList = function (index, serviceId, name, videos)
{
    this.index = index;
    this.serviceId = serviceId;
    this.name = name;
    this.videos = videos; 
}
ctv.ca.PlayList.registerClass('ctv.ca.PlayList', Sys.Component);

ctv.ca.VideoObject = function (parentPlaylistIndex, index, id, contentTypeId, contentTypeName, imageUrl, title, description, clips)
{
    this.parentPlaylistIndex = parentPlaylistIndex;
    this.videoIndex = index;
    this.videoId = id;
    this.contentTypeId = contentTypeId;
    this.contentTypeName = contentTypeName;
    this.videoImageUrl = imageUrl;
    this.videoTitle = title;
    this.videoDescription = description;
    this.clips = clips;
}
ctv.ca.VideoObject.registerClass('ctv.ca.VideoObject', Sys.Component);

ctv.ca.ClipObject = function(playListIndex, parentVideoIndex, index, id, clipTypeId, imageUrl, title, description,
                             showTypeId, showTypeName, season, episode, clipCat, clipUrl)
{
    this.playListIndex = playListIndex;
    this.parentVideoIndex = parentVideoIndex;
    this.clipIndex = index;
    this.clipId = id;
    this.clipTypeId = clipTypeId;
	this.clipImageUrl = imageUrl;
    this.clipTitle = title;
    this.clipDescription = description;
    this.showTypeId = showTypeId;
    this.showTypeName = showTypeName;
    this.season = season;
    this.episode = episode;
    this.clipCat = clipCat;
	this.clipUrl = clipUrl;
}
ctv.ca.ClipObject.registerClass('ctv.ca.ClipObject', Sys.Component);

ctv.ca.PlayerHead = function (itemArr)
{
    this.slots = itemArr;
}
ctv.ca.PlayerHead.registerClass('ctv.ca.PlayerHead', Sys.Component);

ctv.ca.TabList = function (tabName, xmlUrl, dataMsg)
{
    this.tabName = tabName;
    this.xmlUrl = xmlUrl;
    this.dataMsg = dataMsg;
    
}
ctv.ca.TabList.registerClass('ctv.ca.TabList', Sys.Component);


var ctvPlayerHead = new ctv.ca.PlayerHead(new Array());
var ctvAdPlayerHead = new ctv.ca.PlayerHead(new Array());
var ctvClipQueue = new Array();
