if (typeof Nicovideo == 'undefined') {
	Nicovideo = new Object();
}
if (typeof Nicovideo.Global == 'undefined') {
	Nicovideo.Global = {
		playerCount: 0
	};
}

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

Nicovideo.Video = function (video) {
	if (video) {
		for (var key in video) {
			this[key] = video[key];
		}
	}
};
Nicovideo.Video.prototype = {
	getPlayURL: function () {
		return Nicovideo.url + 'watch/' + encodeURIComponent(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 ? "..." : "");
	}
};

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',
		allowFullScreen: 'true',
		bgcolor: '#000000',
		quality: 'high'
	},


	_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.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.allocateId = function (player) {
	var id = 'external_nico_' + (Nicovideo.Global.playerCount++);
	return id;
};

if (document.all && !window.opera) {
	window.attachEvent("onbeforeunload", function () {
		window.attachEvent("onunload", function () {
			for (var i = 0, l = Nicovideo.Global.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/sm6208903" target="_blank">\u3010MMD\u3011 What is Vocaloid?</a></p>'
		);
		return;
	}

	var video = new Nicovideo.Video({
		v: 'sm6208903'
	,	id: 'sm6208903'
	,	title: '\u3010MMD\u3011 What is Vocaloid?'
	,	description: '\u3053\u306e\u30d1\u30ed\u30c7\u30a3\u30fc\u306f\u30eb\u30fc\u30d7\u306e3D\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u3002\u3054\u3081\u3093\u306a\u3055\u3044\u3001\u65e5\u672c\u8a9e\u3082\u52c9\u5f37\u3057\u307e\u3059\u3002 \u3061\u3087\u3063\u3068\u65e5\u672c\u8a9e\u3092\u308f\u304b\u308a\u307e\u3059\u3002 \u3067\u3082\u3001 \u82f1\u8a9e\u3092\u8a71\u3057\u307e\u3059\u3002A looping animation of Miku, Haku, and Neru bobbing their heads to Haddaway in the car.Made as a birthday gift for my friend, Osayidan.Car, models, background, and music are not made by me.Animation was made by me in MikuMikuDance.Tags: vocaloid miku hatsune neru akita haku yowane dance animation car head bob headbob what is love baby don\'t hurt me snl saturday night live at roxbury gif 3d model program mikumiku mikumikudance mmd haddaway parody funny weird random\u521d\u97f3\u30df\u30af \u4e9e\u5317\u30cd\u30eb \u5f31\u97f3\u30cf\u30af'
	,	thumbnail: 'http:\/\/tn-skr4.smilevideo.jp\/smile?i=6208903'
	,	postedAt: new Date('2009\/02\/20 15:03:53 +0900')
	,	length: 51
	,	viewCount: 4301
	,	mylistCount: 16
	,	commentCount: 72
	,	movieType: 'flv'
	,	isDeleted: false	,	isMymemory: false	});
	var player = new Nicovideo.MiniPlayer(video, {
	'thumbWatch': '1'
	,'thumbPlayKey': '1329160355.0.uEmQlpIexgnH1bKVwVjZgF0NsNg...'
	,'playerTimestamp': '1328754876'
	,'player_version_xml': '1328857541'
	,'player_info_xml': '1328854461'
	,'v': 'sm6208903'
	,'videoId': 'sm6208903'
	,'thumbTitle': '\u3010MMD\u3011 What is Vocaloid?'
	,'thumbDescription': '\u3053\u306e\u30d1\u30ed\u30c7\u30a3\u30fc\u306f\u30eb\u30fc\u30d7\u306e3D\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u3002\u3054\u3081\u3093\u306a\u3055\u3044\u3001\u65e5\u672c\u8a9e\u3082\u52c9\u5f37\u3057\u307e\u3059\u3002 \u3061\u3087\u3063\u3068\u65e5\u672c\u8a9e\u3092\u308f\u304b\u308a\u307e\u3059\u3002 \u3067\u3082\u3001...'
	,'thumbImage': 'http:\/\/tn-skr4.smilevideo.jp\/smile?i=6208903'
	,'movie_type': 'flv'
	,'wv_id': 'sm6208903'
	,'category': '\u30b2\u30fc\u30e0'
	,'categoryGroup': '\u30a2\u30cb\u30e1\u30fb\u30b2\u30fc\u30e0\u30fb\u7d75'
	,'leaf_switch': '2'
	}, '', '');
	player.write();
})();


