function makeDBmask(){
	var popupPartsObj = {};

	var	funcAry_onCover = [];
	var	funcAry_onCoverRemove = [];
	var	onRemoveCover = undefined;

	var	timer = undefined;

	function	GetSize(scorp)
	{
		//var scorp = sc;
		if(!scorp){scorp=window;}
	    var size = {};
	    
	    size.winWidth = scorp.document.documentElement.clientWidth || scorp.document.body.clientWidth || window.innerWidth;
	    size.winHeight = scorp.document.documentElement.clientHeight || scorp.document.body.clientHeight || window.innerHeight;
	    size.scrollY = scorp.document.body.scrollTop  || scorp.document.documentElement.scrollTop;
	    if (scorp.document.compatMode == 'CSS1Compat') {
	      size.pageWidth = (scorp.document.documentElement.scrollWidth > size.winWidth)?  scorp.document.documentElement.scrollWidth : size.winWidth;
	      size.pageHeight = (scorp.document.documentElement.scrollHeight > size.winHeight)?  scorp.document.documentElement.scrollHeight : size.winHeight;
	    } else {
	      size.pageWidth = (scorp.document.body.scrollWidth > size.winWidth)?  scorp.document.body.scrollWidth : size.winWidth;
	      size.pageHeight = (scorp.document.body.scrollHeight > size.winHeight)?  scorp.document.body.scrollHeight : size.winHeight;
	    }
	    
	    return size;
	  }
	  

	return {
		setPopupidPopupparts:	function( popupid, popupparts )
		{
			popupPartsObj[popupid] = popupparts;
		},

		add_onCover:	function( func ) {
			funcAry_onCover.push( func );
		},

		add_onCoverRemove:	function( func ) {
			funcAry_onCoverRemove.push( func );
		},

		cover_ : function(popupid, autoRemove, playEnable_, bgmEnable_, onRemoveCover_) {
			var playEnable = playEnable_;
			var bgmEnable = bgmEnable_;
			onRemoveCover = onRemoveCover_;

			//マスクが既にかかっていたら排除する。
			$(".jqmClose").trigger("click");

			
			var ccc = "."+popupid;
			var ddd = "#"+popupid;
			//jqModalを実行する。

			$(ccc).trigger("click");

			if(timer!=undefined) {
				clearTimeout(timer);
			}
			if(autoRemove) {
				timer = setTimeout("DBmask.remove_()", autoRemove)
			}
			var offset=$(ddd).offset();
			$(".jqmWindow ").css("position","absolute");
			$(".jqmWindow ").css("top",offset.top);

			//
			$(".jqmWindow ").css("margin", 0);

			var jqmWindow  = $(".jqmWindow");
			if( jqmWindow.width() < $(window).width() ){
				jqmWindow.css('left', ($(window).width() / 2) - (jqmWindow.width() / 2) );	
			}else{
				jqmWindow.css('left', 0 );
			}
			$(window).resize(function(){
				var jqmWindow  = $(".jqmWindow");
				if( jqmWindow.width() < $(window).width() ){
					jqmWindow.css('left', ($(window).width() / 2) - (jqmWindow.width() / 2) );	
				}else{
					jqmWindow.css('left', 0 );
				}
			});

//			$(".jqmWindow ").css("left",offset.left);

			for( var i=0; i<funcAry_onCover.length; i++ ) {
				funcAry_onCover[i]()
			}
		  },

		remove_ : function() {
			$(".jqmWindow ").css("position","fixed");
			$(".jqmWindow ").css("top","5%");
			$(".jqmClose").trigger("click");

			if(timer!=undefined) {
				clearTimeout(timer);
			}

			if( onRemoveCover!=undefined ) {
				onRemoveCover();
				onRemoveCover = undefined;
			}
			for( var i=0; i<funcAry_onCoverRemove.length; i++ ) {
				funcAry_onCoverRemove[i]();
			}

		}
	};
}

//if(typeof DBmask == "undefined"){
var DBmask = makeDBmask();
//}


