if(typeof Btv == "undefined") Btv={};
if(typeof Btv.Video == "undefined") Btv.Video={};
Btv.Video.VideoQueries_class = function() {};
ajaxProPrototypes.Object.extend(Btv.Video.VideoQueries_class.prototype, ajaxProPrototypes.Object.extend(new AjaxPro.AjaxClass(), {
	GetNowPlayingInfo: function(videoID) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.GetNowPlayingInfo.arguments)[1]) || (null);
		return this.invoke(false, v, "POST", "GetNowPlayingInfo", {"videoID":videoID}, ajaxProPrototypes.Function.argumentsToArray(this.GetNowPlayingInfo.arguments).slice(2));
	},
	GetCategoryClips: function(catID, count) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.GetCategoryClips.arguments)[2]) || (null);
		return this.invoke(false, v, "POST", "GetCategoryClips", {"catID":catID, "count":count}, ajaxProPrototypes.Function.argumentsToArray(this.GetCategoryClips.arguments).slice(3));
	},
	GetVideos: function(count, videoID, type, categoryID, expirationOffsetSeconds, seasonNum, episodeNum, sourceID) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.GetVideos.arguments)[8]) || (null);
		return this.invoke(false, v, "POST", "GetVideos", {"count":count, "videoID":videoID, "type":type, "categoryID":categoryID, "expirationOffsetSeconds":expirationOffsetSeconds, "seasonNum":seasonNum, "episodeNum":episodeNum, "sourceID":sourceID}, ajaxProPrototypes.Function.argumentsToArray(this.GetVideos.arguments).slice(9));
	},
	RateVideo: function(videoID, videoRating) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.RateVideo.arguments)[2]) || (null);
		return this.invoke(false, v, "POST", "RateVideo", {"videoID":videoID, "videoRating":videoRating}, ajaxProPrototypes.Function.argumentsToArray(this.RateVideo.arguments).slice(3));
	},
	WatchVideoCounter: function(videoID, isEpisode) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.WatchVideoCounter.arguments)[2]) || (null);
		return this.invoke(false, v, "POST", "WatchVideoCounter", {"videoID":videoID, "isEpisode":isEpisode}, ajaxProPrototypes.Function.argumentsToArray(this.WatchVideoCounter.arguments).slice(3));
	},
	GetMostWatchedVideos: function(count, categoryScopeID, expirationOffsetSeconds, startDate, cacheID) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.GetMostWatchedVideos.arguments)[5]) || (null);
		return this.invoke(false, v, "POST", "GetMostWatchedVideos", {"count":count, "categoryScopeID":categoryScopeID, "expirationOffsetSeconds":expirationOffsetSeconds, "startDate":startDate, "cacheID":cacheID}, ajaxProPrototypes.Function.argumentsToArray(this.GetMostWatchedVideos.arguments).slice(6));
	},
	GetCategoriesWithRecentVideos: function(count, categoryScopeID, minVideoCount) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.GetCategoriesWithRecentVideos.arguments)[3]) || (null);
		return this.invoke(false, v, "POST", "GetCategoriesWithRecentVideos", {"count":count, "categoryScopeID":categoryScopeID, "minVideoCount":minVideoCount}, ajaxProPrototypes.Function.argumentsToArray(this.GetCategoriesWithRecentVideos.arguments).slice(4));
	},
	GetCategoriesWithPopularVideos: function(count, categoryScopeID) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.GetCategoriesWithPopularVideos.arguments)[2]) || (null);
		return this.invoke(false, v, "POST", "GetCategoriesWithPopularVideos", {"count":count, "categoryScopeID":categoryScopeID}, ajaxProPrototypes.Function.argumentsToArray(this.GetCategoriesWithPopularVideos.arguments).slice(3));
	},
	GetFavoriteCategoriesWithVideos: function(categoryScopeID) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.GetFavoriteCategoriesWithVideos.arguments)[1]) || (null);
		return this.invoke(false, v, "POST", "GetFavoriteCategoriesWithVideos", {"categoryScopeID":categoryScopeID}, ajaxProPrototypes.Function.argumentsToArray(this.GetFavoriteCategoriesWithVideos.arguments).slice(2));
	},
	GetPartitionSummaries: function(categoryScopeID, id, labels) {
		var v = (ajaxProPrototypes.Function.argumentsToArray(this.GetPartitionSummaries.arguments)[3]) || (null);
		return this.invoke(false, v, "POST", "GetPartitionSummaries", {"categoryScopeID":categoryScopeID, "id":id, "labels":labels}, ajaxProPrototypes.Function.argumentsToArray(this.GetPartitionSummaries.arguments).slice(4));
	},
	url: '/ajaxpro/Btv.Video.VideoQueries,App_Code.ashx?typeVersion=11.01'
}));
Btv.Video.VideoQueries = new Btv.Video.VideoQueries_class();

