/* CLASS REQUEST TRANSACTIONS MANAGER
***************************************************************************************************/
var RequestTransactionsManager = Class.create({
	initialize: function(element)
	{
		this.element = element;
		this.openTransactionsCount = 0;
		this.hasActive = false;
	},

	_complete: function()
	{
		this.element.fire('RequestTransactionsManager:transactionsComplete');
	},

	add: function()
	{
		this.openTransactionsCount++;
		this.hasActive = true;
		this.element.fire('RequestTransactionsManager:startTransaction');
	},

	remove: function()
	{
		this.openTransactionsCount--;
		this.element.fire('RequestTransactionsManager:finishTransaction');
		if(this.openTransactionsCount <= 0){
			this.openTransactionsCount = 0;
			this.hasActive = false;
			this._complete();
		}
	},

	changeElement: function(element)
	{
		this.element = element;
	}
});