
function	makeMyshelfDispController( myshelfSta_ )
{
	var myshelfSta = '';
	
	var	funcAry_onStartDisp = [];
	var	funcAry_onStartHide = [];
	var	funcAry_onDisp = [];
	var	funcAry_onHide = [];

	$(document).ready(function(){
		//document ready 時点で、表示状態に応じたコールバックを呼んでおく。
		changeSta(myshelfSta_);
	});

	function changeSta(sta){
		if( myshelfSta!=sta ) {
			myshelfSta = sta;
			if( myshelfSta == "disp"){
				for( var i=0; i<funcAry_onDisp.length; i++ ) {
					funcAry_onDisp[i]();
				}
			}else if(myshelfSta == "hide"){
				for( var i=0; i<funcAry_onHide.length; i++ ) {
					funcAry_onHide[i]();
				}

			}else{
				alert("インターネットの接続が不安定になっています。\n画面のリロード(F5キー)をしてください。");
			}

		}
	}

	function	isDisp()
	{
		return	(myshelfSta == "disp") ? true : false;
	}

	function	disp()
	{
		if(myshelfSta == "hide"){
			for( var i=0; i<funcAry_onStartDisp.length; i++ ) {
				funcAry_onStartDisp[i](
					function(){
						changeSta('disp');
					}
				);
			}
		}
	}

	function	hide()
	{
		if(myshelfSta == "disp"){
			for( var i=0; i<funcAry_onStartHide.length; i++ ) {
				funcAry_onStartHide[i](
					function(){
						changeSta('hide');
					}
				);
			}
		}
	}

	//マイシェルフの表示/非表示を切り替える
	function toggle()
	{
		if(myshelfSta == "disp"){
			hide();
		}else if(myshelfSta == "hide"){
			disp();
		}else{
			alert("インターネットの接続が不安定になっています。\n画面のリロード(F5キー)をしてください。");
		}
	}

	
	function	add_onStartDisp( func )
	{
		funcAry_onStartDisp.push( func );
	}
	
	function	add_onStartHide( func )
	{
		funcAry_onStartHide.push( func );
	}
	
	function	add_onDisp( func )
	{
		funcAry_onDisp.push( func );
	}
	
	function	add_onHide( func )
	{
		funcAry_onHide.push( func );
	}
	
	return	{
		isDisp:	function()	{
			return	isDisp();
		},

		disp:	function()	{
			disp();
		},

		hide:	function()	{
			hide();
		},

		//マイシェルフの表示/非表示を切り替える
		toggle:	function() {
			toggle();
		},

		add_onStartDisp:	function( func ) {
			add_onStartDisp( func );
		},
		add_onStartHide:	function( func ) {
			add_onStartHide( func );
		},
		add_onDisp:	function( func ) {
			add_onDisp( func );
		},
		add_onHide:	function( func ) {
			add_onHide( func );
		}
	}
};



