function GnxControlClientProxy( /*string*/ strUniqueID, /*string*/ strUniqueID_PostBackForwarding )
{
	/*protected*/ this.m_strUniqueID = strUniqueID;
	/*protected*/ this.m_strClientID = strUniqueID.split( ":" ).join( "_" );
	/*protected*/ this.m_objControl = eval( "document.all." + this.m_strClientID );

	/*protected*/ this.m_strUniqueID_PostBackForwarding = null;
	/*protected*/ this.m_strClientID_PostBackForwarding = null;
	if ( strUniqueID_PostBackForwarding && strUniqueID_PostBackForwarding != this.m_strUniqueID )
	{
		this.m_strUniqueID_PostBackForwarding = strUniqueID_PostBackForwarding;
		this.m_strClientID_PostBackForwarding = strUniqueID_PostBackForwarding.split( ":" ).join( "_" );
	}

	// public ¸Þ¼Òµå
	/*public*/ this.PrePostBack = GnxControlClientProxy_PrePostBack;
	/*public*/ this.DoPostBack = GnxControlClientProxy_DoPostBack;
	/*public*/ this.DoPostBackPopup = GnxControlClientProxy_DoPostBackPopup;
	/*public*/ this.GetPostData = GnxControlClientProxy_GetPostData;
	/*public*/ this.GetEncryptionDataByMKDPlus = GnxControlClientProxy_GetEncryptionDataByMKDPlus;
	/*public*/ this.SetPostData = GnxControlClientProxy_SetPostData;
	/*public*/ this.CheckValidation = GnxControlClientProxy_CheckValidation;
	/*public*/ this.CreatePostBackWiseLog = GnxControlClientProxy_PostBack_WiseLogCreator;
	/*public*/ this.CreateRenderWiseLog = GnxControlClientProxy_Render_WiseLogCreator;
	/*public*/ this.PasswordDecryption = GnxControlClientProxy_PasswordDecryption;
	
	/*protected*/ this.PrePostBackImpl = null;
	/*protected*/ this.CheckValidationImpl = null;
	/*protected*/ this.CheckWiseLogImpl = null;
}


function GnxControlClientProxy_PrePostBack()
{
	/*function*/ fnPrePostBack = null;
	try
	{
		fnPrePostBack = eval( this.m_strClientID + "_PrePostBack" );
	}
	catch( e )
	{
		fnPrePostBack = null;
	}

	if ( fnPrePostBack )
	{
		this.PrePostBackImpl = fnPrePostBack;
		return this.PrePostBackImpl();
	}

	return true;
}

function GnxControlClientProxy_DoPostBack( /*string*/ strEventArgument )
{	
	if ( this.m_strUniqueID_PostBackForwarding && this.m_strUniqueID_PostBackForwarding != this.m_strUniqueID )
	{
		eval( "window."+ this.m_strClientID_PostBackForwarding +".DoPostBack( '"+ strEventArgument +"' )" );
	}
	else
	{
		if ( this.CheckValidation() )
		{				
			this.PrePostBack();
			var /*string*/ strTemp = this.m_strUniqueID.split( ":" ).join( "$" );
			if ( !strEventArgument ) strEventArgument = "";
			this.CreatePostBackWiseLog();
			__doPostBack( strTemp, strEventArgument );
		}
	}
}

function GnxControlClientProxy_DoPostBackPopup( /*string*/strEventArgument, /*string*/strTarget, /*string*/newWinOption )
{
	var theform;
	if (window.navigator.appName.toLowerCase().indexOf('netscape') > -1) {
		theform = document.forms['m_form'];
	}
	else {
		theform = document.m_form;
	}

	if( strTarget == '' || strTarget == '_blank' )
	{
		var popWin = this.m_strClientID;
		window.open('about:blank', popWin, newWinOption); // 'height=500, width=300, resizable=0'
		theform.target = popWin;
	}
	else
	{
		theform.target = strTarget;
	}
	
	this.DoPostBack( strEventArgument );
	
	theform.target = '';
}

function /*string*/ GnxControlClientProxy_GetPostData()
{
	return this.m_objControl.value;
}

function /*string*/ GnxControlClientProxy_GetEncryptionDataByMKDPlus()
{
//	alert( GnxMKDPlus.GetText( 'm_form', this.m_strUniqueID + "_pass", this.m_strClientID + "_pass" ) );
//	return GnxMKDPlus.GetText( 'm_form', this.m_strUniqueID + "_pass", this.m_strClientID + "_pass" );
	var obj = document.getElementById( this.m_strClientID + "_pass" );
	return NgbAOS.GetText( obj );
}

function GnxControlClientProxy_SetPostData( /*string*/ strValue )
{
	this.m_objControl.value = strValue;
}

function GnxControlClientProxy_CheckValidation()
{
	/*function*/ fnCheckValidation = null;
	try
	{
		fnCheckValidation = eval( this.m_strClientID + "_CheckValidation" );
	}
	catch( e )
	{
		fnCheckValidation = null;
	}

	if ( fnCheckValidation )
	{
		this.CheckValidationImpl = fnCheckValidation;
		return this.CheckValidationImpl();
	}
	
	return true;
}

function GnxControlClientProxy_PasswordDecryption()
{
	if( typeof( eval( "document.all." + this.m_strClientID + "_pass" ) ) == "object" )
	{
		if( typeof( NgbAOS ) == "object" && typeof( MKD25 ) == "object" )
			this.SetPostData( this.GetEncryptionDataByMKDPlus() );
		else
			this.SetPostData( eval( "document.all." + this.m_strClientID + "_pass" ).value );
	}
}

function GnxControlClientProxy_PostBack_WiseLogCreator()
{	
	/*function*/ fnCheckWiseLog = null;
	
	try
	{
		fnCheckWiseLog = eval( this.m_strClientID + "_PostBack_WiseLogCreator" );	
	}
	catch (ex)
	{
		fnCheckWiseLog = null;
	}
	
	if( fnCheckWiseLog )
	{
		this.CheckWiseLogImpl = fnCheckWiseLog;
		return this.CheckWiseLogImpl();
	}
	return true;
}

function GnxControlClientProxy_Render_WiseLogCreator()
{
}