var ORDERS = {}; // ORDERS[sector][type][id] = order;
var NEXTIDS = {}; //NEXTIDS[type]

function getNextId(type) {
	var id = NEXTIDS[type] || 1;
	NEXTIDS[type] = id + 1;
	return id;
}

function updateOrder(sector, type, id, values) {
	var order = getOrder(sector, type, id);
	if (order) {
		updateSpent(sector, order.cost, values.cost);
		$.extend(order, values);
	}
}

function getOrderCost(sector, type, id) {
	var order = getOrder(sector, type, id);
	var cost = order.cost || 0;
	return cost;
}

function addOrder(sector, type, order) {
	if (ORDERS[sector] == undefined) {
		ORDERS[sector] = {};
	}

	if (ORDERS[sector][type] == undefined) {
		ORDERS[sector][type] = {};
	}
	var id = getNextId(type);
	ORDERS[sector][type][id] = order;
	order.id = id;
	addSpent(sector, order.cost);
	return id;
}

function getOrder(sector, type, id) {
	var order = undefined;
	var sectorOrders = ORDERS[sector];
	if (sectorOrders) {
		var typeOrders = sectorOrders[type];
		if (typeOrders) {
			order = typeOrders[id];
		}
	}
	return order;
}

function getOrders(sector, type) {
	var orders = undefined;
	var sectorOrders = ORDERS[sector];
	if (sectorOrders) {
	    orders = sectorOrders[type];
	}
	return orders;
}

function deleteOrder(sector, type, id) {
	var order = ORDERS[sector][type][id];
	if (order) {
		subtractSpent(sector, order.cost);
	   delete ORDERS[sector][type][id];
	}
}
