I am trying to check master name is duplicate or not at the time of submit, but every time Javascript function return false when I execute the following code.

<script type="text/javascript">
	var checkMaster = function() {
		var flag, returnval;
		Ext.net.DirectMethods.CheckMasterExist( {
			success: function (result) {
				returnval = result;
			},

			failure: function (errorMsg) {
				Ext.Msg.alert('Failure', errorMsg);
				flag = false;
			}
		});
		
		if (returnval != 0)
		{
			Ext.Msg.confirm("Message", "Master already exist. If you continue then it will be over write", function (btn, text)
			{
				if (btn == 'yes') {                                   
					return true;
				}
			});
		}
		return false;
	}
</script>

<Buttons>
	<ext:Button ID="SaveMaster" runat="server" Text="Save" Icon="Disk">
		<DirectEvents>
			<Click OnEvent="SaveMaster_Click" Before="return checkMaster();">
				<ExtraParams>
					<ext:Parameter Name="MasterData" Value="Ext.encode(#{FormPanel1}.getForm().getValues())" Mode="Raw" />
				</ExtraParams>
			</Click>
		</DirectEvents>
	</ext:Button>
	<ext:Button runat="server" Text="Cancel">
		<Listeners>
			<Click Handler="#{PopWindow}.hide()" />
		</Listeners>
	</ext:Button>
</Buttons>
Please give suggestion me to overcome this situation.

Thanks