if (typeof Nicovideo == 'undefined') {
	Nicovideo = new Object();
}

Nicovideo.version = '1.4.2';
Nicovideo.url = 'http://www.nicovideo.jp/';
Nicovideo.playerUrl = 'http://ext.nicovideo.jp/swf/player/thumbwatch.swf?ts=1264842453';

if (typeof Nicovideo.Video == 'undefined') {
	Nicovideo.Video = function (video) {
		if (video) {
			for (var key in video) {
				this[key] = video[key];
			}
		}
	};
	Nicovideo.Video.create = function (video) {
		if (typeof this.__cache == "undefined") this.__cache = {};
		var v = this.__cache[video.v];
		if (!v) v = this.__cache[video.v] = new this(video);
		return v;
	};
	Nicovideo.Video.prototype = {
		getPlayURL: function () {
			return Nicovideo.url + 'watch/' + this.v;
		},
		getShortTitle: function () {
			return this.title.substring(0, 60) + 
				(this.title.length > 60 ? "..." : "");
		},
		getShortDescription: function () {
			return this.description.substring(0, 60) + 
				(this.description.length > 60 ? "..." : "");
		}
	};
}
if (typeof Nicovideo.MiniPlayer == 'undefined') {
	Nicovideo.MiniPlayer = function (video, vars, width, height) {
		this.id          = Nicovideo.MiniPlayer.allocateId(this);
		this.video       = video;
		this.attributes  = {};
		this.parameters  = {};
		this.variables   = vars || {};
		this.width       = width  || '485';
		this.height      = height || '385';
	};
	Nicovideo.MiniPlayer.prototype = {
		defaultAttributes: {},
		defaultParameters: {
			allowScriptAccess: 'always',
			bgcolor: '#000000',
			quality: 'high'
		},
		defaultVariables: {
			thumbWatch: 1,
			playerTimestamp: '1265087081',
			player_version_xml: '1265087024'
		},


		_merge: function () {
			var o = {};
			for (var i = 0, len = arguments.length; i < len; i++) {
				var arg = arguments[i];
				if (typeof arg != "object") continue;
				for (var key in arg) {
					o[key] = arg[key];
				}
			}
			return o;
		},
		getHTML: function () {
			var id = this.id,
				video = this.video,
				attrs = this._merge(this.defaultAttributes, this.attributes),
				params = this._merge(this.defaultParameters, this.parameters),
				vars = this._merge(
					this.defaultVariables,
					{
						v: video.v,
						thumbTitle: video.getShortTitle(),
						thumbDescription: video.getShortDescription(),
						thumbImage: video.thumbnail,
						thumbWidth: this.width,
						thumbHeight: this.height,
						mylist_counter: video.mylistCount.toString()
							.replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"),
						movie_type: video.movieType,
						wv_id: video.id
					},
					this.variables
				);

			var flashvars = [];
			for (var key in vars) {
				flashvars.push(key + '=' + encodeURIComponent(vars[key]));
			}
			params.flashvars = flashvars.join("&");

			var html;
			if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
				html =
					'<embed type="application/x-shockwave-flash"'
					+ ' id="' + id + '"'
					+ ' name="' + id + '"'
					+ ' src="' + Nicovideo.playerUrl + '"'
					+ ' width="' + this.width  + '"'
					+ ' height="' + this.height + '"'
					;
				for (var key in params) {
					html += ' ' + key + '="' + params[key] + '"';
				}
				for (var key in attrs) {
					html += ' ' + key + '="' + attrs[key] + '"';
				}
				html += ' />';
			} else {
				html =
					'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
					+ ' id="' + id + '"'
					+ ' name="' + id + '"'
					+ ' width="' + this.width + '"'
					+ ' height="' + this.height + '"'
					;
				for (var key in attrs) {
					html += ' ' + key + '="' + attrs[key] + '"';
				}
		 		html += '>';
				html += '<param name="movie" value="' + Nicovideo.playerUrl + '" />';
				for (var key in params) {
					html += '<param name="' + key + '" value="' + params[key] + '" />';
				}
				html += '</object>';
			}

			return html;
		},
		write: function (id) {
			if (id === undefined) {
				document.write(this.getHTML());
			} else if (typeof id == "string") {
				var el = document.all ? document.all[id] : document.getElementById(id);
				if (el) el.innerHTML = this.getHTML();
			} else if (id) {
				id.innerHTML = this.getHTML();
			}
		}
	};

	Nicovideo.MiniPlayer.players = {};
	Nicovideo.MiniPlayer.playerCount = 0;
	Nicovideo.MiniPlayer.allocateId = function (player) {
		var id = 'external_nico_' + (this.playerCount++);
		this.players[id] = player;
		return id;
	};

	if (document.all && !window.opera) {
		window.attachEvent("onbeforeunload", function () {
			window.attachEvent("onunload", function () {
				for (var i = 0, l = Nicovideo.MiniPlayer.playerCount; i < l; i++) {
					var id = 'external_nico_' + i, el = document.all ? document.all[id] : document.getElementById(id);
					if (el && el.parentNode) {
						for (var key in el) {
							if (typeof el[key] == 'function')
								el[key] = null;
						}
						el.parentNode.removeChild(el);
					}
				}
			});
		});
	}


}

(function () {
	var b = true;
	try {
		var w = window.parent, self = window.self;
		while (w && w != self) {
			if (w.location.host != self.location.host) {
				b = false;
				break;
			}
			if (w === w.parent) break;
			w = w.parent;
		}
	} catch (e) {
		b = false;
	}

	if (!b) {
		Nicovideo = undefined;
		document.write(
			'<p><a href="http://www.nicovideo.jp/watch/sm7478397" target="_blank">\u3010\u4f5c\u696d\u7528BGM\u3011 \u2605Michael Jackson \u30d2\u30c3\u30c8\u30d1\u30ec\u30fc\u30c9\u2605\u3000\u3010\u97f3\u8cea\u91cd\u8996\uff0f18\u66f2\u3011</a></p>'
		);
		return;
	}

	var video = Nicovideo.Video.create({
		v: 'sm7478397'
	,	id: 'sm7478397'
	,	title: '\u3010\u4f5c\u696d\u7528BGM\u3011 \u2605Michael Jackson \u30d2\u30c3\u30c8\u30d1\u30ec\u30fc\u30c9\u2605\u3000\u3010\u97f3\u8cea\u91cd\u8996\uff0f18\u66f2\u3011'
	,	description: '\u97f3\u8cea\u91cd\u8996\u2606\u6570\u3005\u306e\u4f1d\u8aac\u30fb\u8a18\u9332\u3092\u6b8b\u3057\u305f\u30de\u30a4\u30b1\u30eb\u30fb\u30b8\u30e3\u30af\u30bd\u30f3\u3002\u4ea1\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u672c\u5f53\u306b\u6b8b\u5ff5\u3067\u3059\u3002\u305d\u3053\u3067\u5f7c\u304c\u30d2\u30c3\u30c8\u3092\u98db\u3070\u3057\u305f\u3042\u306e\u540d\u66f2\u305f\u3061\u3092\u3046\uff50\u3067\u3059\u2606\u2460Thriller\u3000\u2461Beat It\u3000\u2462Wanna Be Startin\' Somethin\'\u3000\u2463Billie Jean\u3000\u2464BAD\u3000\u2465Human Nature\u3000\u2466Black Or White\u3000\u2467Baby Be Mine\u3000\u2468In The Closet\u3000\u2469Rock With You\u3000\u246aDon\'t Stop Until You Get Enough\u3000\u246bP.Y.T. (Pretty Young Thing)\u3000\u246cOff The Wall\u3000\u246dStranger In Moscow\u3000\u246eThe Girl Is Mine with Paul McCartney\u3000\u246fMan In The Mirror\u3000\u2470The Lady In My Life\u3000\u2471Heal The World\u25a0\u8ffd\u8a18\u3000\u2471\u306f\u4f55\u5ea6\u3082\u3084\u308a\u307e\u3057\u305f\u304c\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u30a8\u30e9\u30fc\u3067\u6b4c\u8a5e\u4ed8\u3051\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u6587\u5b57\u304c\u591a\u3059\u304e\u308b\u307f\u305f\u3044\u3067\u3059m(_ _)m'
	,	thumbnail: 'http:\/\/tn-skr2.smilevideo.jp\/smile?i=7478397'
	,	postedAt: new Date('2009\/06\/28 22:01:57 +0900')
	,	length: 5239
	,	viewCount: 148270
	,	mylistCount: 9779
	,	commentCount: 8326
	,	movieType: 'mp4'
	,	isDeleted: false	,	isMymemory: false	});
	var player = new Nicovideo.MiniPlayer(video, {
		thumbPlayKey: '1265853977.0.cd_HYe_wGWT1IQjDN1pLF3R2lAA.'
	,	wv_title: '\u3010\u4f5c\u696d\u7528BGM\u3011 \u2605Michael Jackson \u30d2\u30c3\u30c8\u30d1\u30ec\u30fc\u30c9\u2605\u3000\u3010\u97f3\u8cea\u91cd\u8996\uff0f18\u66f2\u3011'
	,	has_owner_thread: '1'
	}, '320', '240');
	player.write();
})();

