nfl.namespace('partners');
nfl.partners.videoplayer = Class.create();
nfl.partners.videoplayer.prototype	= {
	initialize: function(containerid, dartURL, previewImage) {
		nfl.log("nfl.partners.videoplayer.initialize");
		this.flashid 		= 'vgvideoplayerflash';
		this.containerid	= containerid;
		this.dartURL		= dartURL;
		this.previewImage	= (typeof previewImage !== 'undefined' && previewImage != '')?(nfl.global.imagepath + "/img/partners/vg-player-stills/"+ previewImage +".jpg"):false;
		if(this.previewImage){
			this.opts	= {'flashVars':$H({'dartUrl':this.dartURL,'previewImage':this.previewImage, 'fullscreen':false})};
		}else{
			this.opts	= {'flashVars':$H({'dartUrl':this.dartURL, 'fullscreen':false})};
		}

	 	//document.observe('dom:loaded',this.write.bind(this));
	 	document.observe('videogallery:thumbnails:loaded',this.onThumbnailLoad.bind(this));
	 	document.observe('videogallery:thumbnails:click',this.onThumbnailClick.bind(this));
	},
	onThumbnailLoad: function(event){
		/* get first thumbnail info, and load player with it */
		nfl.log("nfl.partners.videoplayer.onThumbnailLoad: "+ Object.toJSON(event.memo.thumbnail));
		var thumbnailObj			= event.memo.thumbnail;
		if(!this.previewImage){ nfl.log("setting preview image to: "+ thumbnailObj.video_player_cp); this.opts.flashVars.set('previewImage', thumbnailObj.video_player_cp); }
		this.opts.flashVars			= $H({'mediaPath': thumbnailObj.mediapath, 'mediaFile': thumbnailObj.mediafile, 'format': thumbnailObj.format}).merge(this.opts.flashVars);
		this.write();
		//this.play(thumbnailObj.mediafile,thumbnailObj.mediapath,thumbnailObj.format,thumbnailObj.id);
	},
	write: function(){
		nfl.log("nfl.partners.videoplayer.write");
		/* this is a hack */
		var pageDomain = 'http://' + window.document.domain;
		if (pageDomain.indexOf("localhost") != -1) pageDomain += ":8080";
		/* end this hack */
	 	var o = $H({
	 		id: this.flashid,
			flashVars: $H({
				baseURL: pageDomain,
				format: "progVideo",
				emailAFriendBaseUrl: "/email-a-friend?id=",
				playerbar: nfl.global.imagepath + "/img/flash/video_landing/player_bar_base.jpg",
				playerVolume: "50",
				autoplay: "true",
				fullscreen: "false"
			}).merge(this.opts.flashVars),
			params: { wmode: "transparent" },
			width: '646',
			height: '400',
			version: "8",
			background: "#FFFFFF"
		});
		this.flash = new nfl.media.Flash(nfl.global.imagepath + '/flash/videogallery.swf', this.containerid, o.merge($H(this.opts)));
	},
	getID: function() { return this.id },
	getFlash: function() { return this.flash },
	reload: function() {
		$(this.containerid).update();
		this.write();
	},
	onThumbnailClick: function(event){
		var thumbnailObj	= event.memo.thumbnail;
		// now play thumbnail video
		nfl.log("do nfl.partners.videoplayer.play('"+ thumbnailObj.format +"','"+ thumbnailObj.mediafile +"','"+ thumbnailObj.mediapath +"',null,'"+ (this.dartURL + window.adRandom) +"','"+ thumbnailObj.id +"') from onThumbnailClick");
		this.play(thumbnailObj.mediafile,thumbnailObj.mediapath,thumbnailObj.format,thumbnailObj.id);
	},
	play: function(file, path, format, id){
		$(this.flashid).playVideo(format, file, path, null, this.dartURL + window.adRandom, id);	
	}
}