/**
 * メディカルセンター 動画プレーヤー表示スクリプト
 *
 * $Id: moviePlayerDisplay.js,v 1.1 2010-01-25 04:29:46 cvsuser Exp $
 *
 * @date 2010/01/22
 * @author S.Sugaya(sugaya@technohead.jp)
 */

var ESC = 27;

var ids = {
	base: "dlgmat",
	me: "dlg",
	top: "dlgtop",
	cont: "dlgcont",
	btm: "dlgbtm",
	closebtn: "close"
};

function initialize(){

	var dialog_base = document.createElement("div");
	var dialog = document.createElement("div");
	var closeButton = document.createElement("span");
	var dialogClose = function(){
		$("#"+ids.cont).html("");
		$(dialog).fadeTo(1,0).hide();
		$(dialog_base).fadeTo(1,0).hide();

		// IE6でselectとobjectが全面に来る対策 - 表示
		$("select:hidden,object:hidden").css("visibility","visible");
	}

	// 背景部の設定
	$("body").keyup(function(e){if(e.keyCode == ESC) dialogClose();});

	// ダイアログ背景部の設定
	$(dialog_base).attr("id", ids.base).hide().fadeTo(1,0).click(function(){dialogClose();});

	// 閉じるボタンの設定
	$(closeButton).attr("id", ids.closebtn).click(function(){dialogClose();})
		.hover(
			function(){$(this).addClass("hover")},
			function(){$(this).removeClass("hover")}
		);

	$(dialog).attr("id", ids.me).append(closeButton);
	$(dialog).append("<div id='"+ids.top+"'></div><div id='"+ids.cont+"'></div><div id='"+ids.btm+"'></div>");
	$("body").append(dialog_base).append(dialog);

	// div要素を一度inlineにして、文字列の幅と高さを得る
	$(dialog).css("display","inline");
	$("div",dialog).css("display","inline");

	// IE6は幅を指定
	if(typeof document.body.style.maxHeight == "undefined") $(dialog).width($(dialog).width());
	$(dialog).hide().fadeTo(1,0);
}

function fadeIn(filename){

	var dialoghtml =
		"<object id='player' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' name='player' width='400' height='315'>" +
		"<param name='movie' value='/player.swf' />" +
		"<param name='allowfullscreen' value='true' />" +
		"<param name='allowscriptaccess' value='always' />" +
		"<param name='flashvars' value='file=/media/" + filename + "&image=preview.jpg' />" +
		"<embed" +
		"	type='application/x-shockwave-flash'" +
		"	id='player2'" +
		"	name='player2'" +
		"	src='/player.swf'" +
		"	width='400'" +
		"	height='315'" +
		"	allowscriptaccess='always'" +
		"	allowfullscreen='true'" +
		"	flashvars='file=/media/" + filename + "&image=preview.jpg' />";

	var setting = {
		duration: "fast",
		matOpacity: .6,
		dialogOpacity: .9,
		closeTitle: "このメッセージを閉じる"
	};

	$("#"+ids.cont).html(dialoghtml);
	$("#"+ids.me).show();
	var d = {
		width: $("#"+ids.me).width(),
		height: $("#"+ids.me).height()
	}
	$("#"+ids.me).css("display","block");
	$("div","#"+ids.me).css("display","block");

	$("#"+ids.closebtn).attr("title",setting.closeTitle);
	$("#"+ids.base).show().fadeTo(setting.duration,setting.matOpacity);

	$("#"+ids.me).fadeTo(setting.duration,setting.dialogOpacity).css({
	  "margin-left": "-"+d.width/2+"px"
	});

	// IE6以外は以下でダイアログの位置を決める(IE6はCSS内expressionで指定
	if(typeof document.body.style.maxHeight != "undefined"){
		$("#"+ids.me).css({
			"margin-top": "-"+(parseInt(d.height/2))+"px"
		});

		// IE7は空要素(div#dlgtop, div#dlgbtm)に最低幅を指定
		if(document.all) $j("#"+id.top+",#"+id.btm).css("min-width",d.width);
	}else{

		// IE6でselectとobjectが全面に来る対策 - 非表示にする
		$("select,object").css("visibility","hidden");
	}
}

/* HTMLロード時の処理 */
$(document).ready(function() {
	initialize();
});
