// JQuery & swfobject 環境下


var OverlayFlash = { };

/**
 * IDの生成
 */
OverlayFlash.getIdByKey = function( key ) {
	return "overlay_container_" + key;
};

/**
 * コンテナの取得
 */
OverlayFlash.getContainer = function( key ) {
	var id = this.getIdByKey( key );
	var cont = $( "#" + id );

	if ( !cont.length ) {
		cont = document.createElement("div");
		cont.id = id;
		$('body').append( cont );
	}

	return $( cont );
}

/**
 * 全画面にてSWF表示
 */
OverlayFlash.showFull = function ( url, key, params, vars ) {
	if ( !key ) key = 1;

	var cont = this.getContainer( key );
	var w = $("body").attr( "scrollWidth" );
	var h = $("body").attr( "scrollHeight" );

	cont.css( "position" , "absolute" );
	cont.css( "width", w );
	cont.css( "height", h );
	cont.css( "top", 0 );
	cont.css( "left", 0 );

	var so = new SWFObject( url, "swf", w, h, "9.0", "#FFFFFF" );

	if ( !params ) params = {};
	if ( !params.wmode ) params.wmode = "transparent";

	for ( var k in params ) {
		so.addParam( k, params[k] );
	}

	if ( vars ) {
		for ( var k in vars ) {
			so.addVariable( k, vars[k] );
		}
	}

	so.write( cont.attr("id" ) );
	
	cont.show();
}

/**
 * 現在のウィンドウでSWF表示
 */
OverlayFlash.show = function( url, key, params, vars ) {
	if ( !key ) key = 1;

	var cont = this.getContainer( key );

	
	cont.css( "position", "absolute" );
	cont.css( "width", "100%" );
	cont.css( "height", "100%" );
	cont.css( "top", $(document).scrollTop() );
	cont.css( "left", $(document).scrollLeft() );

	var so = new SWFObject( url, "swf", "100%", "100%", "9.0", "#FFFFFF" );

	if ( !params ) params = {};
	if ( !params.wmode ) params.wmode = "transparent";

	for ( var k in params ) {
		so.addParam( k, params[k] );
	}
	

	if ( vars ) {
		for ( var k in vars ) {
			so.addVariable( k, vars[k] );
		}
	}

	so.write( cont.attr("id") );
	$("body").css("overflow","hidden");
	
	cont.show();
}

/**
 * SWF非表示
 */
OverlayFlash.hide = function( key ) {
	var cont = this.getContainer( key );
	
	$("body").css("overflow","scroll");
	cont.hide();
}

/**
 * SWF非表示（フル）
 */
OverlayFlash.hideFull = function( key ) {
	var cont = this.getContainer( key );

	cont.hide();
}

