/**
 *
 */
var persistenceBanco;
var callbackGlobalForma;
var erro;
function SincFormaPagamento(ip, banco, callback) {

	callbackGlobalForma = callback;

	var select = "FORMA_PGTOID, DESCRICAO".split(", ");
	var from = "dbo.VW_MOBILE_FORMAS_PGTO";
	var where = "";

	try {

		var servico = new ServicoConsulta(ip, banco, montarSqlSelect(select, from, where), true, function(retorno) {

			var formaPagamentoAdicionar = [];

			for (var i = 0; i < retorno.length; i++) {

				var colunas = retorno[i].split("#c#");

				var novasColunas = new HashTable();

				for (var j = 0; j < colunas.length; j++) {
					if (colunas[j] == null) {
						colunas[j] = "";
					}
					novasColunas.setItem(select[j], colunas[j]);
				}

				var formaPagamento = new FormaPagamento();
				formaPagamento.formaPagamentoId = novasColunas.getItem("FORMA_PGTOID");
				formaPagamento.descricao = novasColunas.getItem("DESCRICAO");

				formaPagamentoAdicionar[i] = formaPagamento;
			}
			apagarTodosFormaPagamento(formaPagamentoAdicionar, function() {
				callback();
			});
		});

	} catch(e) {
		e.message = e.message + "\nBanco: " + from;
		throw e;
	}

}

function apagarTodosFormaPagamento(formaPagamentoAdicionar, callbackRetorno) {
	abrirBanco(function(a) {
		persistenceBanco = a;

		persistenceBanco.formaPagamento.clear().done(function(results) {
			adicionarBanco(persistenceBanco, 'formaPagamento', formaPagamentoAdicionar, function(a) {
				callbackRetorno();
			});
		});
	});
}
