Collection.prototype.idArr = null;
Collection.prototype.objectArr = null;

Collection.prototype.setObject = function($id, $obj) {
	if (!this.containsObject($id)) {
		this.idArr.push($id);
		this.objectArr.push($obj);
	}
}

Collection.prototype.setObjectNoValidation = function($id, $obj) {
	this.idArr.push($id);
	this.objectArr.push($obj);
}
	
Collection.prototype.containsObject = function($id)  {
	var retVal = false;
	for (var i=0; i<this.idArr.length; i++) {
		if (this.idArr[i] == $id) {
			retVal = true;
			break;
		}
	}
	return retVal;
}
	
Collection.prototype.getObjectById = function($id) {
	var retVal = null;
	for (var i=0; i<this.idArr.length; i++) {
		if (this.idArr[i] == $id) {
			retVal = this.objectArr[i];
			break;
		}
	}
	return retVal;
}
	
Collection.prototype.getObjectByPosition = function($index) {
	return this.objectArr[$index];
}
	
Collection.prototype.getObjectPosition = function($id) {
	var retVal = null;
	for (var i=0; i<this.idArr.length; i++) {
		if (this.idArr[i] == $id) {
			retVal = i;
			break;
		}
	}
	return retVal;
}
	
Collection.prototype.deleteObject = function($id) {
	var objPos = this.getObjectPosition($id);
	if (objPos != null) {
		this.idArr.splice(objPos, 0);
		this.objectArr.splice(objPos, 0);
	}
}
	
Collection.prototype.clear = function() {
	this.idArr.splice(0, this.idArr.length);
	this.objectArr.splice(0, this.objectArr.length);
}
	
Collection.prototype.getSize = function() {
	return this.idArr.length;
}

function Collection() {
	this.idArr = new Array();
	this.objectArr = new Array();
}
