
var GnxEditor_EventHandler = {

	OnClick : function ( el ) {
	
		var _el_	= this.findEventElement( el );
		var _id_	= _el_.id.toLowerCase();
		var _layer_	= this.__EditorDivision;
		
		if ( !_id_.equals( "btnhEditOnlyDesign" ) && !_id_.equals( "btnhEditOnlyHtml" ) ) {
			
			if ( !this.isEnableEditor )
				return;
		}
		
		if ( _id_.equals( "btnFontbold" ) ) {
			
			var cmd = new GnxStringToggleCommand();
			
			cmd.strCommand		= "bold";
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnFontItalic" ) ) {
			
			var cmd = new GnxStringToggleCommand();
			
			cmd.strCommand		= "italic";
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
				
		else if ( _id_.equals( "btnFontUnberline" ) ) {
			
			var cmd = new GnxStringToggleCommand();
			
			cmd.strCommand		= "Underline";
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnItemLeft" ) ) {
		
			var cmd = new GnxStringToggleCommand();
			
			cmd.strCommand		= "JustifyLeft";
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnItemRight" ) ) {
		
			var cmd = new GnxStringToggleCommand();
			
			cmd.strCommand		= "JustifyRight";
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnItemCenter" ) ) {
			
			var cmd = new GnxStringToggleCommand();
			
			cmd.strCommand		= "JustifyCenter";
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnContentLine" ) ) {
		
			var cmd = new GnxCreateTagCommand();
			
			cmd.strTagSource	= "<hr/>";
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}		
			
		else if ( _id_.equals( "btnFontforeColor" ) )
		{
			var cmd = new GnxPagingDataGetListCommand();
			
			cmd.EditorControl		= this;
			cmd.strType				= "Forecolor";
			cmd.arryDataSource		= NxStaticDataSet_FontColors;
			cmd.strCacheName		= "CacheDataSet_ForeColor";
			cmd.n4QuotaSize			= 19;
			cmd.n4PageScale			= 57;
			
			cmd.strCloseBtnId		= this.createUniqueId( "btnClose" );
			cmd.strConfirmBtnId		= this.createUniqueId( "btnConfirm" );
			cmd.strDisplayAreaId	= this.createUniqueId( "DisplayArea" );
			cmd.strPreviewAreaId	= this.createUniqueId( "PreviewArea" );
			cmd.strInputId			= this.createUniqueId( "Input" );
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnFontBackColor" ) )
		{
			var cmd = new GnxPagingDataGetListCommand();
			
			cmd.EditorControl		= this;
			cmd.strType				= "Backcolor";
			cmd.arryDataSource		= NxStaticDataSet_FontColors;
			cmd.strCacheName		= "CacheDataSet_BackColor";
			cmd.n4QuotaSize			= 19;
			cmd.n4PageScale			= 57;
			
			cmd.strCloseBtnId		= this.createUniqueId( "btnClose" );
			cmd.strConfirmBtnId		= this.createUniqueId( "btnConfirm" );
			cmd.strDisplayAreaId	= this.createUniqueId( "DisplayArea" );
			cmd.strPreviewAreaId	= this.createUniqueId( "PreviewArea" );
			cmd.strInputId			= this.createUniqueId( "Input" );
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnTextOnlink" ) )
		{
			var cmd = new GnxCreateLinkCommand();
			
			cmd.strType			= "link";
			cmd.EditorControl	= this;
			cmd.strInputId		= this.createUniqueId( "Input" );
			cmd.strConfirmBtnId	= this.createUniqueId( "btnConfirm" );
			cmd.strCloseBtnId	= this.createUniqueId( "btnClose" );
			cmd.strCacheName	= "CacheDataSet_Link";
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnTextUnlink" ) ) 
		{
			var cmd = new GnxUnLinkCommand();
			
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "btnEmoticon" ) )
		{
			var cmd = new GnxPagingDataGetListCommand();
			
			cmd.EditorControl		= this;
			cmd.strType				= "emoticon";
			cmd.cateDataSource		= NxStaticDataSet_EmoticonCategorys;
			cmd.arryDataSource		= NxStaticDataSet_EmoticonFileNames;
			cmd.strCacheName		= "CacheDataSet_Emoticon";
			cmd.n1Category			= 1;
			
			cmd.strNextBtnId		= this.createUniqueId( "btnNext" );
			cmd.strPrevBtnId		= this.createUniqueId( "btnPrev" );
			cmd.strCloseBtnId		= this.createUniqueId( "btnClose" );
			cmd.strConfirmBtnId		= this.createUniqueId( "btnConfirm" );
			cmd.strPageNoId			= this.createUniqueId( "lbPageNo" );
			cmd.strSelectBoxId		= this.createUniqueId( "SelectCategory" );
			cmd.strDisplayAreaId	= this.createUniqueId( "DisplayArea" );
			cmd.strItemId			= this.createUniqueId( "hEditEmoticon" );
			
			cmd.Execute();
		}
		
		//ActiveXÁ¦°ÅÇÑ °æ¿ìÀÇ ÀÌ¹ÌÁö¿¡µðÅÍ »ç¿ëÇÏ±â		
		else if ( _id_.equals( "btnPictureEdit" ) || _id_.equals( "btnPictureEditNoActiveX" ) )
		{
			var cmd	= new GnxOpenEditorToolCommand();
				
			cmd.n4ItemMaxWidth				= this.n4StageWidth;
			cmd.n4ItemMaxHeight				= this.n4StageHeight;
			cmd.n4ImageThumbWidth			= this.n4ImageThumbWidth;
			cmd.n4ImageThumbHeight			= this.n4ImageThumbHeight;
			cmd.maskGameCode				= this.maskGameCode;
			
			cmd.EditorControl				= this;
			
			if ( ( +this.codeImageToolType ) & 1 ) {
			
				cmd.strEditorToolPath		= this.strImageToolUrl_v2_Editor;
			}
			
			else if ( ( +this.codeImageToolType ) & 2 ) {
			
				cmd.blRemoveActiveX			= true;
				cmd.codeImgEditorVersion	= 2;
				cmd.n4ToolWidth				= 775;
				cmd.n4ToolHeight			= 680;
				cmd.strEditorToolPath		= this.strImageToolUrl_v3_Editor;
			}
			
			else if ( ( +this.codeImageToolType ) & 4 ) {
			
				cmd.blRemoveActiveX			= true;
				cmd.codeImgEditorVersion	= 2;
				cmd.n4ToolWidth				= 475;
				cmd.n4ToolHeight			= 450;
				cmd.strEditorToolPath		= this.strImageToolUrl_v3_Uploader;
			}
				
			cmd.Execute();
			
			this.isEnableEditor			= false;
			this.changeElementsStatus();
		}			
		
		else if ( _id_.equals( "btnDrawEdit" ) )
		{
			var cmd = new GnxOpenEditorToolCommand();
			
			cmd.n4ItemMaxWidth		= this.n4StageWidth;
			cmd.n4ItemMaxHeight		= this.n4StageHeight;
			cmd.n4ImageThumbWidth	= this.n4ImageThumbWidth;
			cmd.n4ImageThumbHeight	= this.n4ImageThumbHeight;
			cmd.maskGameCode		= this.maskGameCode;
			
			cmd.EditorControl		= this;
			cmd.strEditorToolPath	= this.strImageToolUrl_v2_Editor;
			
			cmd.Execute();
			
			this.isEnableEditor = false;
			this.changeElementsStatus();
		}
		
		else if ( _id_.equals( "btnMovieEdit" ) || _id_.equals( "btnWebCamEdit" ) )
		{
			//<! µ¿¿µ»ó ¿¡µðÅÍ À©95/98 ¼³Ä¡ ¹ö±×·Î ÀÎÇÏ¿© Å¬¶óÀÌ¾ðÆ® OS Ã¼Å© ÇÑ´Ù. by emong@nexon.co.kr ( 20070814 )
			var _agt	= navigator.userAgent.toLowerCase(); 
			var _win95	= ( ( _agt.indexOf("win95") !=-1 ) || ( _agt.indexOf("windows 95") != -1) );
			var _win98	= ( ( _agt.indexOf("win98") !=-1 ) || ( _agt.indexOf("windows 98") != -1) );
						
			if ( _win95 || _win98 )
			{
				//<! À©95/98 È¯°æ¿¡¼­ µ¿¿µ»ó¿¡µðÅÍ¸¦ ¶Ù¿ìÁö ¾Ê°í ¸Þ¼¼Áö¸¦ º¸¿©ÁØ´Ù. by emong@nexon.co.kr ( 20070814 )
				alert( "³Ø½¼ µ¿¿µ»óÆíÁý±â´Â win2000 ÀÌ»óÀÇ È¯°æ¿¡ ÃÖÀûÈ­ µÅ ÀÖ½À´Ï´Ù. win98 ÀÌÇÏ¿¡¼­´Â ÆíÁý±â »ç¿ëÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù." );
			}
			else
			{
				var _n4UploadMaxMsec	= 0;
				var _n4UploadRangeMsec	= 0;
				var _n4UploadFileCount	= 0;
				
				_n4UploadMaxMsec		= ( this.n4UploadMaxMinute * 60 * 1000 );
				_n4UploadRangeMsec		= ( _n4UploadMaxMsec > this.n4VodFileTotalMsec ) ? ( _n4UploadMaxMsec - this.n4VodFileTotalMsec ) : 0;
				_n4UploadFileCount		= ( this.n1UploadMaxCount > this.n4VodFileTotalCount ) ? ( this.n1UploadMaxCount - this.n4VodFileTotalCount ) : 0;
				
				if ( ( +this.n1UploadMaxCount ).equals( 0 ) || ( +this.n4UploadMaxMinute ).equals( 0 ) )
				{			
					alert( 'µ¿¿µ»ó ¾÷·Îµå ±ÇÇÑÀÌ ¾ø½À´Ï´Ù' );
				}
				else if ( _n4UploadFileCount <= 0 )
				{
					alert( "µ¿¿µ»ó ¾÷·Îµå °¹¼ö ÃÊ°ú·Î ÀÎÇÏ¿© ´õÀÌ»ó µ¿¿µ»óÀ» ¾÷·Îµå¸¦ ÇÏ½Ç ¼ö ¾ø½À´Ï´Ù." );
				}
				else if ( _n4UploadRangeMsec <= 0 )
				{
					alert( "µ¿¿µ»ó ¾÷·Îµå ½Ã°£ ÃÊ°ú·Î ÀÎÇÏ¿© ´õÀÌ»ó µ¿¿µ»óÀ» ¾÷·Îµå¸¦ ÇÏ½Ç ¼ö ¾ø½À´Ï´Ù." );
				}
				else 
				{					
					var cmd = new GnxOpenEditorToolCommand();
					
					cmd.EditorControl		= this;
					if( this.maskGameCode == 589824 ) // ¸ÞÀÌÇÃ
					{
						cmd.strEditorToolPath	= this.strMovieToolUrl_v1_Encoder;
						//cmd.n4ToolWidth			= 420;
						cmd.n4ToolWidth			= 440;
						//cmd.n4ToolHeight		= 420;
						cmd.n4ToolHeight		= 500;
					}
					else if( this.maskGameCode == "73985" 
					|| this.maskGameCode == "94212" 
					|| this.maskGameCode == "94215" 
					|| this.maskGameCode == "94224" )
					{
						cmd.strEditorToolPath	= this.strMovieToolUrl_v2_Encoder;
						cmd.n4ToolWidth			= 440;
						cmd.n4ToolHeight		= 500;
						cmd.maskGameCode		= this.maskGameCode;
					}
					else
					{
						cmd.strEditorToolPath	= this.strMovieToolUrl_v3_Encoder;
						cmd.n4ToolWidth			= 440;
						cmd.n4ToolHeight		= 500;
						cmd.maskGameCode		= this.maskGameCode;
						cmd.n1ButtonType		= 1;
					}
					cmd.n4UploadRangeMsec	= _n4UploadRangeMsec;
					cmd.n4VodBitrate		= this.n4VodBitrate;
					cmd.n4VodResolution		= this.n4VodResolution;
					
					cmd.Execute();
					
					this.isEnableEditor = false;
					this.changeElementsStatus();
				}
			}						
		}
		
		else if ( _id_.equals( "btnHEditOnlyDesign" ) )
		{
			this.__EditorHtmlField.value	= this.OutputFieldContent();
					
			this.codeStageModeType			= NxScriptCode.codeEditorModeType_designAndHtml;
			
			this.changeStageStatus();			
			this.changeElementsStatus();
		}
		
		else if ( _id_.equals( "btnHEditOnlyHTML" ) )
		{
			this.__EditorHtmlField.value	= this.OutputHtmlContent();
			this.__EditorTextField.value	= this.OutputTextContent();
			
			this.codeStageModeType = NxScriptCode.codeEditorModeType_htmlAndDesign;
			
			this.changeStageStatus();			
			this.changeElementsStatus();
		}
	}
		 
,	OnChange : function ( el ) {

		var _el_	= this.findEventElement( el );
		var _id_	= _el_.id.toLowerCase();
		
		if ( !this.isEnableEditor )
			return;
		
		if ( _id_.equals( "selFontFamily" ) ) {			
					
			var cmd = new GnxSelectAttributeCommand();
			
			cmd.strCommand		= "FontName";
			cmd.elSelectBox		= _el_; 
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
		
		else if ( _id_.equals( "selFontSize" ) ) {			
					
			var cmd = new GnxSelectAttributeCommand();
			
			cmd.strCommand		= "FontSize";
			cmd.elSelectBox		= _el_;
			cmd.EditorControl	= this;
			
			cmd.Execute();
		}
	}
,	OnOver	: function ( el ) {}
,	OnOut	: function ( el ) {}

};