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/sm9098300" target="_blank">Rolling Stone\u8a8c\u304c\u9078\u3076\u300c2000\u5e74\u4ee3\u540d\u66f2\u30d9\u30b9\u30c850\u300d\u30e1\u30c9\u30ec\u30fc</a></p>'
		);
		return;
	}

	var video = new Nicovideo.Video({
		v: 'sm9098300'
	,	id: 'sm9098300'
	,	title: 'Rolling Stone\u8a8c\u304c\u9078\u3076\u300c2000\u5e74\u4ee3\u540d\u66f2\u30d9\u30b9\u30c850\u300d\u30e1\u30c9\u30ec\u30fc'
	,	description: 'Rolling Stone\u8a8c\u304c2000\u5e74\u4ee3\u306e\u30d9\u30b9\u30c8\u30fb\u30c8\u30e9\u30c3\u30af100\u66f2\u3092\u767a\u8868\u3002\u305d\u306e\u4e2d\u306eTop 50\u3092\u30e1\u30c9\u30ec\u30fc\u5f62\u5f0f\u3067\u629c\u7c8b\u3057\u307e\u3057\u305f\u3002\u4e3b\u306a\u30a2\u30fc\u30c6\u30a3\u30b9\u30c8\u2192Amerie, Amy Winehouse, Arcade Fire, Beyonce, Bob Dylan, Britney Spears, Bruce Springsteen, Coldplay, Daft Punk, Eminem, Flaming Lips, Franz Ferdinand, Gnarls Barkley, Gorillaz, Green Day, Jay-Z, Johnny Cash, Justin Timberlake, Kanye West, Kelis, Kelly Clarkson, The Killers, Kylie Minogue, LCD Soundsystem, M.I.A. MGMT, Missy Elliott, Modest Mouse, Outkast, The Postal Service, R.Kelly, Radiohead, Randy Newman, Rihanna, The Roots, The Strokes, U2, The Walkmen, The White Stripes, Yeah Yeah Yeahs, 50 Cent\u3002\u3000Pitchfork\u540d\u66f2\u7248\u2192sm8015001\u3000Pitchfork\u30a2\u30eb\u30d0\u30e0\u7248\u2192sm8398830\u3000NME\u540d\u66f2\u7248\u2192sm9017688\u3000NME\u30a2\u30eb\u30d0\u30e0\u7248\u2192sm9036077\u3000rockin\'on\u30a2\u30eb\u30d0\u30e0\u7248\u2192sm9789613\u3000\u3046\uff50\u4e3b\u500b\u4eba\u7684\u30e9\u30f3\u30ad\u30f3\u30b0\u2192sm8384920\u3000\u30de\u30a4\u30ea\u30b9\u30c8\u2192mylist\/6908233'
	,	thumbnail: 'http:\/\/tn-skr1.smilevideo.jp\/smile?i=9098300'
	,	postedAt: new Date('2009\/12\/15 10:43:09 +0900')
	,	length: 1166
	,	viewCount: 8678
	,	mylistCount: 153
	,	commentCount: 1752
	,	movieType: 'flv'
	,	isDeleted: false	,	isMymemory: false	});
	var player = new Nicovideo.MiniPlayer(video, {
	'thumbWatch': '1'
	,'thumbPlayKey': '1329047803.0.wLZCyDqvY_VtzZj-ulFNRfs7KBk...'
	,'playerTimestamp': '1328754876'
	,'player_version_xml': '1328857541'
	,'player_info_xml': '1328854461'
	,'v': 'sm9098300'
	,'videoId': 'sm9098300'
	,'thumbTitle': 'Rolling Stone\u8a8c\u304c\u9078\u3076\u300c2000\u5e74\u4ee3\u540d\u66f2\u30d9\u30b9\u30c850\u300d\u30e1\u30c9\u30ec\u30fc'
	,'thumbDescription': 'Rolling Stone\u8a8c\u304c2000\u5e74\u4ee3\u306e\u30d9\u30b9\u30c8\u30fb\u30c8\u30e9\u30c3\u30af100\u66f2\u3092\u767a\u8868\u3002\u305d\u306e\u4e2d\u306eTop 50\u3092\u30e1\u30c9\u30ec\u30fc\u5f62\u5f0f\u3067\u629c\u7c8b\u3057\u307e...'
	,'thumbImage': 'http:\/\/tn-skr1.smilevideo.jp\/smile?i=9098300'
	,'movie_type': 'flv'
	,'wv_id': 'sm9098300'
	,'category': '\u97f3\u697d'
	,'categoryGroup': '\u30a8\u30f3\u30bf\u30e1\u30fb\u97f3\u697d'
	,'leaf_switch': '2'
	}, '', '');
	player.write();
})();


