var OverlayPlayer = function () {
	this.currentChannelClass = "";
	this.dataBase = "";
	this.environmentPrefix = "";
	this.defaultPlaybackState = "PLAYING";
	this.skinName = "default";
	
	this.playerWidth = 624;
	this.playerHeight = 360;


	this.init = function (playerParams) {
		if (playerParams.dataBase) {
			this.dataBase = playerParams.dataBase;
		}
		if (playerParams.environmentPrefix) {
			this.environmentPrefix = playerParams.environmentPrefix;
		}
		if (playerParams.defaultPlaybackState) {
			this.defaultPlaybackState = playerParams.defaultPlaybackState;
		}
		if (playerParams.skinName) {
			this.defaultPlaybackState = playerParams.skinName;
		}
	};

	
	this.closePlayer = function () {
		$.unblockUI({
			onUnblock: jQuery.proxy(this.resetPlayerContainer, this)
		});
		
		return false;
	};
	
	this.resetPlayerContainer = function () {
		swfobjectAlias.removeSWF("overlayPlayerContainer");
		$("#overlayPlayerContainer").html($("#noflashPrototype").html());
	};
	
	
	this.openPlayer = function (item_data, header_style, header_color) {
		var header = $('#playerOverlayContainer #playerOverlayHeader .channelNameDisplay');
		
		if (this.currentChannelClass) {
			$(header).removeClass(this.currentChannelClass);
		}
		
		if (header_style) {
			this.currentChannelClass = header_style;
			
			$(header).addClass(this.currentChannelClass);
		}
		
		if (header_color) {
			$(header).attr('style', 'color: #'+header_color);
		}
		
		
		$(header).html(item_data.header_content);
		
		$('#playerOverlayContainer #playerOverlayFooter').html(new Date(item_data.video_date * 1000).format('d.m.Y') + ' | ' + item_data.title);
		
		
		var winWidth;
		var winHeight;

		var popUpHeight = 443;
		var popUpWidth = 676;
		
		if ($.browser.msie) {
			winWidth = document.documentElement.clientWidth;
			winHeight = document.documentElement.clientHeight;
		} else {
			winWidth = window.innerWidth;
			winHeight = window.innerHeight;
		}

		var topOffset = Math.round((winHeight - popUpHeight)/2);
		var leftOffset = Math.round((winWidth - popUpWidth)/2);
	
		$.blockUI({
			message: $('#playerOverlayContainer'),
			overlayCSS: {
				cursor: "default"
			},
			css: {
				cursor: "auto",
				backgroundColor: "transparent",
				border: "none",
		        width:  popUpWidth+'px',
		        height: popUpHeight+'px',
		        top: topOffset+"px",
		        left: leftOffset+"px",
		        textAlign: "left"
			},
			fadeIn: 400,
			fadeOut: 400
		});
		
		var version = swfobjectAlias.getFlashPlayerVersion();
		
		if (version.major < 10) {
			var html = $("#noflashPrototype").html();
			$("#overlayPlayerContainer").html(html);
			return;
		}
		
		var flashvars = {
			mode: "single",
			
			dataBase: this.dataBase,
			environmentPrefix: this.environmentPrefix,
			
			id: item_data.id,
			playbackState: this.defaultPlaybackState,
			skinName: this.skinName,
			
			additionalPermalinkData: "&view="+Globals.currentSite
		};
		
		var flashvars_string = $.param(flashvars);
		
		var html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.playerWidth+'" height="'+this.playerHeight+'" id="overlay_flashplayer" name="overlay_flashplayer" align="middle">';
			html+= '	<param name="movie" value="./video/swf/fp_cms_tagged.swf">';
			html+= '	<param name="play" value="true">';
			html+= '	<param name="menu" value="false">';
			html+= '	<param name="quality" value="high">';
			html+= '	<param name="salign" value="tl">';
			html+= '	<param name="allowfullscreen" value="true">';
			html+= '	<param name="allowscriptaccess" value="always">';
			html+= '	<param name="allownetworking" value="all">';
			html+= '	<param name="wmode" value="transparent">';
			html+= '	<param name="flashvars" value="'+flashvars_string+'">';
			html+= '	<!--[if !IE]>-->';
			html+= '	<object type="application/x-shockwave-flash" data="./video/swf/fp_cms_tagged.swf" width="'+this.playerWidth+'" height="'+this.playerHeight+'" align="middle">';
			html+= '		<param name="play" value="true">';
			html+= '		<param name="menu" value="false">';
			html+= '		<param name="quality" value="high">';
			html+= '		<param name="salign" value="tl">';
			html+= '		<param name="allowfullscreen" value="true">';
			html+= '		<param name="allowscriptaccess" value="always">';
			html+= '		<param name="allownetworking" value="all">';
			html+= '		<param name="wmode" value="transparent">';
			html+= '		<param name="flashvars" value="'+flashvars_string+'">';
			html+= '	<!--<![endif]-->';
			html+= $("#noflashPrototype").html();
			html+= '	<!--[if !IE]>-->';
			html+= '	</object>';
			html+= '	<!--<![endif]-->';
			html+= '</object>';
		
		$("#overlayPlayerContainer").html(html);
		
	};
		
};

OverlayPlayer.instance = null;
OverlayPlayer.getInstance = function () {
	if (!OverlayPlayer.instance) {
		OverlayPlayer.instance = new OverlayPlayer();
	}

	return OverlayPlayer.instance;
};
