// VARIAVEIS GLOBAIS
var hwndMsg;		// Handle da janela que pode ser aberta para confirmar mensagens
var objTimer;		// Timer para chamar as callbacks

function MoveRecord (strAction, params, strRemoteScriptingObj, fAtivado)
{
	var ct;
	var command='';
	
	// O valor padrão é true
	if (fAtivado == null)
		fAtivado = true;
	
	// Confirma antes se alterou algum dado e pode salvar
	if (IsFormStatusSet() && fAtivado == true)
	{
		// Abre tela modal para confirmar se deseja salvar ou não
		document.frmNavegador.hwndMsgRet.value = 1;
		hwndMsg = window.open ("wndConfirma.asp", "wndConfirma", "toolbar=no,location=no,status=no," +
			"menubar=no,scrollbars=no,resizeble=no,width=470,height=130");

		//params = PreparaStringFromDB (params, false)
		// Inicializa o timer de callback para verificar se já fechou a janela
		objTimer = window.setInterval ("callbackMoveRecord ('" + strAction + "', '" + PreparaStringFromDB (params, false) + "', '" + 
			strRemoteScriptingObj + "')", 500);
	}
	else
	{
		// Chama a devida função sem callback
		DoMoveRecord (strAction, params, strRemoteScriptingObj);
	}
}

// Callback para mover o registro quando altera algum dado do formulário
function callbackMoveRecord (strAction, params, strRemoteScriptingObj)
{
	if (!hwndMsg)
	{
		window.clearInterval (objTimer);
		document.frmNavegador.hwndMsg.value = 0;
		resetFormStatus();
		return;
	}
	switch (document.frmNavegador.hwndMsgRet.value)
	{
		case "1":
			// Ainda não responderam nada na janela de mensagem
			return (false)
		case "Sim":
			// Chama a função que salva
			cmdSalvar_onClick();
			break;
		case "Nao":
			// Continua sem salvar
			break;
		case "Cancela":
			// Cancela a operação
			return (false);
	}

	DoMoveRecord (strAction, params, strRemoteScriptingObj);
	
	window.clearInterval (objTimer);
	document.frmNavegador.hwndMsgRet.value = 0;
	resetFormStatus();
	
}

function DoMoveRecord (strAction, strParams, strRemoteScriptingObj)
{
	var ct;
	
	// Chama a devida função
	eval ("co = " + strRemoteScriptingObj + ".MoveRecord ('" + strAction + "', " + strParams + ");");
	FillForm (co.return_value);
}
