var MieroFiber = {
	__postLoginAction__: null,
	__postUploadAction__: null,
	__postCloseFrameAction__: null,


	// ·Î±×ÀÎ µ¥ÀÌÅÍ..!
	memberData:{
		login: false,
		uid: "",
		uname: ""
	},


	layerFrame: null,
	pageLayer: null,
	disabledZone: null,
	downloadFrame: null,


	// ÆäÀÌÁö ·¹ÀÌ¾î ³»ºÎÀÇ ÇÁ·¹ÀÓ ¹ÝÈ¯
	getLayerFrame: function(){
		if( !MieroFiber.layerFrame ){
			//MieroFiber.layerFrame = new Element("iframe");
			MieroFiber.layerFrame = document.createElement("IFRAME");
			MieroFiber.layerFrame.id = MieroFiber.layerFrame.name = "__layerFrame__";
			MieroFiber.layerFrame.frameBorder = 0;

			MieroFiber.getPageLayer().appendChild( MieroFiber.layerFrame );
		}

		return MieroFiber.layerFrame;
	},


	// ÆäÀÌÁö ·¹ÀÌ¾î ¹ÝÈ¯
	getPageLayer: function(){
		if( !MieroFiber.pageLayer ){
			MieroFiber.pageLayer = new Element("div");

			MieroFiber.pageLayer.id = "__pageLayer__";
			MieroFiber.pageLayer.style.display = "none";
			MieroFiber.pageLayer.style.position = "absolute";
			MieroFiber.pageLayer.width = MieroFiber.pageLayer.height = 0;
			MieroFiber.pageLayer.style.zIndex = 9050;

			MieroFiber.pageLayer.page = MieroFiber.getLayerFrame();

			Event.observe(
				window,
				"resize",
				function(){
					MieroFiber.pageLayer.style.left = ( (document.body.clientWidth / 2) - (MieroFiber.pageLayer.width / 2) ) + "px";
					MieroFiber.pageLayer.style.top = ( (document.body.clientHeight / 2) - (MieroFiber.pageLayer.height / 2) ) + "px";
				}
			);


			document.body.appendChild( MieroFiber.pageLayer );
		}

		return MieroFiber.pageLayer;
	},
	

	// ¹ÝÅõ¸í ·¹ÀÌ¾î ¹ÝÈ¯
	getDisabledZone: function(){
		if( !MieroFiber.disabledZone ){
			MieroFiber.disabledZone = new Element("div");
			MieroFiber.disabledZone.id = "__divDisabledZone__";
			MieroFiber.disabledZone.style.zIndex = 0;
			MieroFiber.disabledZone.style.width = document.body.scrollWidth;
			MieroFiber.disabledZone.style.height = document.body.scrollHeight;
			MieroFiber.disabledZone.style.left = 0;
			MieroFiber.disabledZone.style.top = 0;
			MieroFiber.disabledZone.style.position = "absolute";
			MieroFiber.disabledZone.style.backgroundColor = "white";
			MieroFiber.disabledZone.style.opacity = 0.4;
			MieroFiber.disabledZone.style.MozOpacity = 0.4;
			MieroFiber.disabledZone.style.KhtmlOpacity = 0.4;
			MieroFiber.disabledZone.style.filter = "alpha(opacity=40)";
			MieroFiber.disabledZone.style.zIndex = 9000;

			MieroFiber.disabledZone.hide();


			Event.observe(
				window,
				"resize",
				function(){
					MieroFiber.getDisabledZone().width = document.body.scrollWidth;
					MieroFiber.getDisabledZone().height = document.body.scrollHeight;
				}
			);


			document.body.appendChild( MieroFiber.disabledZone );
		}

		return MieroFiber.disabledZone;
	},



	// ·¹ÀÌ¾î ÆäÀÌÁö ·Îµå( °æ·Î, ³ÐÀÌ, ³ôÀÌ, °æ°è¼±Ç¥½Ã¿©ºÎ )
	loadPage: function( src, width, height, fnPostClose ){

		for(var i=0; i<document.getElementsByTagName("select").length; i++){
			document.getElementsByTagName("select")[i].style.display = "none";
		}

		MieroFiber.getPageLayer().width = MieroFiber.getLayerFrame().width = width;
		MieroFiber.getPageLayer().height = MieroFiber.getLayerFrame().height = height;
		MieroFiber.getPageLayer().style.left = '700px';	//( (document.body.clientWidth / 2) - (width / 2) ) + "px";
		MieroFiber.getPageLayer().style.top = '600px';	//( (document.body.clientHeight / 2) - (height / 2) ) + "px";

		MieroFiber.getLayerFrame().src = src;


		MieroFiber.getDisabledZone().show();
		MieroFiber.getPageLayer().show();

		MieroFiber.getLayerFrame().focus();

		MieroFiber.__postCloseFrameAction__ = fnPostClose;
	},

	loadPage2: function( src, width, height, fnPostClose ){

		for(var i=0; i<document.getElementsByTagName("select").length; i++){
			document.getElementsByTagName("select")[i].style.display = "none";
		}


		MieroFiber.getPageLayer().width = MieroFiber.getLayerFrame().width = width;
		MieroFiber.getPageLayer().height = MieroFiber.getLayerFrame().height = height;
		MieroFiber.getPageLayer().style.left = ( (document.body.clientWidth / 2) - (width / 2) ) + "px";
		MieroFiber.getPageLayer().style.top = ( (document.body.clientHeight / 2) - (height / 2) ) + 300 + "px";

		MieroFiber.getLayerFrame().src = src;


		MieroFiber.getDisabledZone().show();
		MieroFiber.getPageLayer().show();

		MieroFiber.getLayerFrame().focus();

		MieroFiber.__postCloseFrameAction__ = fnPostClose;
	},



	// ·¹ÀÌ¾î ÆäÀÌÁö ´Ý±â..
	closePage: function(){
		for(var i=0; i<document.getElementsByTagName("select").length; i++){
			document.getElementsByTagName("select")[i].style.display = "inline";
		}



		if( typeof(MieroFiber.__postCloseFrameAction__) == "function" ){
			try{
				MieroFiber.__postCloseFrameAction__(arguments[0]);
			} catch(e){};


			MieroFiber.__postCloseFrameAction__ = null;
		}


		MieroFiber.getLayerFrame().src = "about:blank";

		MieroFiber.getPageLayer().hide();
		MieroFiber.getDisabledZone().hide();
	},



	// ´Ù¿î·Îµå ÇÁ·¹ÀÓ ¹ÝÈ¯..
	getDownloadFrame: function(){
		if( !MieroFiber.downloadFrame ){
			MieroFiber.downloadFrame = document.createElement("IFRAME");
			MieroFiber.downloadFrame.id = MieroFiber.downloadFrame.name = "__ifrDownload__";
			MieroFiber.downloadFrame.frameBorder = "0px";
			MieroFiber.downloadFrame.style.width = MieroFiber.downloadFrame.style.height = "0px";
			MieroFiber.downloadFrame.style.display = "none";
			
			document.body.appendChild( MieroFiber.downloadFrame );
		}

		return MieroFiber.downloadFrame;
	},


	// È¸¿øÀÇ ·Î±×ÀÎÁ¤º¸ °¡Á®¿À±â..!
	loadLoginInfo: function(){
		new Ajax.Request(
			"/LoginInfo",
			{
				asynchronous: false,
				onSuccess: function( xmlHttp ){
					MieroFiber.memberData = xmlHttp.responseText.evalJSON();
				}
			}
		);
	},



	// ·Î±×ÀÎ·¹ÀÌ¾î º¸ÀÌ±â..!
	showLoginLayer: function( fnPostLogin ){
		MieroFiber.__postLoginAction__ = fnPostLogin;



		for(var i=0; i<document.getElementsByTagName("select").length; i++){
			document.getElementsByTagName("select")[i].style.display = "none";
		}



		MieroFiber.loadPage("/member/layer_login.jsp", 337, 200);
	},



	// ·Î±×ÀÎ·¹ÀÌ¾î ´Ý±â..!
	closeLoginLayer: function(){
		for(var i=0; i<document.getElementsByTagName("select").length; i++){
			document.getElementsByTagName("select")[i].style.display = "inline";
		}


		MieroFiber.loadLoginInfo();



		if( typeof(MieroFiber.__postLoginAction__) == "function" ){
			try{
				MieroFiber.__postLoginAction__();
			} catch(e){};

		} else{
			window.location.reload();
		}

		MieroFiber.closePage();
//		MieroFiber.loadLoginInfo( new Function("MieroFiber.closePage();") );
	},


	// ·Î±×¾Æ¿ô..
	logout: function(){
		MieroFiber.Member.logout();
	},


	// ¾÷·Îµå Æû ¿­±â...
	openUploadForm: function( fnCallback, uploadPath, type ){
		MieroFiber.__postUploadAction__ = fnCallback;

		MieroFiber.loadPage( ("/common/fileupload.jsp?type=" + (type || "") + "&path=" + uploadPath), 340, 200);
	},
	
	// À½¾Ç ¾÷·Îµå Æû ¿­±â...
	openMusicUploadForm: function( fnCallback, uploadPath, type ){
		MieroFiber.__postUploadAction__ = fnCallback;

		MieroFiber.loadPage( ("/common/fileupload.jsp?type=" + (type || "") + "&path=" + uploadPath), 340, 200);
	},

	// ¾÷·Îµå Æû ´Ý±â..
	closeUploadForm: function( fileName ){
		if( fileName && (fileName.length > 0) ){
			if( typeof(MieroFiber.__postUploadAction__) == "function" ){
				try{
					MieroFiber.__postUploadAction__( fileName );
				} catch(e){};
			}
		}


		MieroFiber.closePage();
	},
	
	
	// ¿ìÆí¹øÈ£ °Ë»öÃ¢ ¿­±â
	openZipcode: function( fnPostSearch ){
		MieroFiber.loadPage( "/member/layer_search_zipcode.jsp", 350, 200, fnPostSearch );
	},



	// ÄÁÅÙÃ÷ Æ®·¡Å·..!
	contentsTrace: function( name, action ){
//		return;


		new Ajax.Request(
			"/style/process/contents_trace.jsp",
			{
				parameters:("contentName=" + name + "&action=" + action),
				onFailure: function( xmlHttp ){
//					alert( "contentTracking" + xmlHttp.responseText );
				}
			}
		);
	},



	// ÄÁÅÙÃ÷ Æ®·¡Å·..! - 2Â÷
	contentsTrace2: function( name, action ){
//		return;


		new Ajax.Request(
			"/style/process/contents_trace.jsp",
			{
				parameters:("traceNo=2&contentName=" + name + "&action=" + action),
				onFailure: function( xmlHttp ){
//					alert( "contentTracking2" + xmlHttp.responseText );
				}
			}
		);
	},

	// ÄÁÅÙÃ÷ Æ®·¡Å·..! - 3Â÷
	contentsTrace3: function( name, action ){
//		return;


		new Ajax.Request(
			"/style/process/contents_trace.jsp",
			{
				parameters:("traceNo=3&contentName=" + name + "&action=" + action),
				onFailure: function( xmlHttp ){
//					alert( "contentTracking2" + xmlHttp.responseText );
				}
			}
		);
	},
	
	// ÀÌ¹ÌÁö ºä¾î~
	showPicture: function( src, lockWindow ){
		if( lockWindow == null )							lockWindow = true;
		if( lockWindow )									MieroFiber.getDisabledZone().show();


		var oImage = $(src + "_container");

		if( !oImage ){
			oImage = new Element("img");

			oImage.src = src;
			oImage.style.zIndex = 9060;
			oImage.style.position = "absolute";
			oImage.style.cursor = "pointer";
			oImage.style.border = "2px solid orange";
			oImage.alt = "ÀÌ¹ÌÁö¸¦ Å¬¸¯ÇÏ½Ã¸é ´ÝÈü´Ï´Ù.";

			oImage.lockPositionCenter = function(){
				//oImage.style.left = ( (document.body.clientWidth / 2) - (this.width / 2) ) + "px";
				//oImage.style.top = ( (document.body.clientHeight / 2) - (this.height / 2) ) + "px";
				oImage.style.left = ( (screen.availWidth / 2) - (this.width / 2) ) + "px";
				oImage.style.top = ( (screen.availHeight / 2) - (this.height / 2) ) + "px";
			};


			Event.observe( 
				oImage, 
				"load", 
				function(e){
					oImage = resizeImage( oImage, 500, 500 );

					oImage.lockPositionCenter();
				}
			);

			Event.observe( 
				oImage,
				"click",
				function(e){
					MieroFiber.getDisabledZone().hide();
					oImage.hide();
				}
			);

			Event.observe(
				window,
				"resize",
				function(){
					oImage.lockPositionCenter();
				}
			);

			document.body.appendChild( oImage );
		}



		oImage.lockPositionCenter();
		oImage.show();
		oImage.focus();
	}
};





MieroFiber.Member = {

	id: null,
	name: null,
	
	setData: function( _id, _name ){
		MieroFiber.Member.id = _id;
		MieroFiber.Member.name = _name;
	},

	isLogin: function(){
		return ( (MieroFiber.Member.id != null) && (MieroFiber.Member.name != null) );
	},


	login: function(returnUrl){
		var params = (returnUrl) ? ("?rurl=" + escape(returnUrl)) : "";

		window.location.href = "/member/login.jsp" + params;
	},


	logout: function(){
		if( confirm("·Î±×¾Æ¿ô ÇÏ½Ã°Ú½À´Ï±î?") ){
			new Ajax.Request(
				"/member/Logout",
				{
					onSuccess: function( xmlHttp ){
						window.location.reload();
					},

					onFailure: function( xmlHttp ){
//						alert( xmlHttp.responseText );
					}
				}
			);
		}
	}
};






/* 2009-06-09 : °øÅë°Ô½ÃÆÇ Ãß°¡·Î ÀÎÇØ °øÅë°Ô½ÃÆÇ IFRAME ³ôÀÌ°ª Á¶Àý.. */
function resizeBoardFrame( boardId, height ){
	var oBoardFrame = $("ifrCommonBoard" + boardId);

	if( oBoardFrame )
		oBoardFrame.style.height = height;
}


function resizeEvtBoardFrame( frameNm, height ){
	var oBoardFrame = $(frameNm);

	if( oBoardFrame )
		oBoardFrame.style.height = height;
}







Event.observe(
	window,
	"load",
	function(){
		MieroFiber.loadLoginInfo();
	}
);