﻿var $rayv = function() {

	initializeRayvPlayer = function(playerId, channelId, affiliate, coverImageUrl, allowDVR, allowDetach) {
		if (!Rayv) {
			throw new Error('Rayv is undefined');
		}

		Rayv.Embed(playerId, {
			'ChannelID': channelId,
			'Affiliate': affiliate,
			'CoverImageURL': coverImageUrl,
			'allowDVR': allowDVR,
			'allowDetach': allowDetach
		});	
	},

	initializeFlashPlayer = function(flashPlayerUrl, playerId, width, height, connectionName, streamName, additionalFlashVars, bufferTime, skipFcSubscribe) {
		if (!swfobject) {
			throw new Error('swfobject is undefined');
		}

		var flashvars = {
			'ConnectionName': connectionName,
			'StreamName': streamName,
			'BufferTime': bufferTime,
			'SkipFcSubscribe': skipFcSubscribe
		};

		if (additionalFlashVars && typeof additionalFlashVars === "object"){
			for (var key in additionalFlashVars) {
				flashvars[key] = additionalFlashVars[key];
			}
		}

		var params = {
			'play': 'true',
			'loop': 'false',
			'quality': 'high',
			'allowFullScreen': 'true',
			'allowScriptAccess': 'sameDomain'
		};

		var attributes = {};

		swfobject.embedSWF(flashPlayerUrl, playerId, width, height, '9.0.0','', flashvars, params, attributes);
	}

	return {
		initializeFlashPlayer: initializeFlashPlayer,
		initializeRayvPlayer: initializeRayvPlayer
	}
}();
