//////////////// dependencies  ///////////////////////////////
//	must have "CMIScore.js" included


function SCOObjective(vsData) {
	this.init = init;
	this.toString = toString;
	this._UnitTestError = _UnitTestError;

	var sDelimiter = "~";
	
	this.init(vsData);

	function init(vsData) {
		this._children = new Array("id", "score", "status");
		
		if (vsData != null && vsData.length > 0) {
			var aData = vsData.split(sDelimiter);
			if (aData.length == this._children.length) {
				this.id = aData[0];
				this.score = new CMIScore(aData[1]);
				this.status = aData[2];
			}
		}
	}
	
	function toString() {
		var arr = new Array(this.id, this.score.toString(), this.status);
		return arr.join(sDelimiter);
	}

	function _UnitTestError() {
		var sData = "Obj2~0.84^168^0^200~completed";
		var obj = new SCOObjective(sData);

		if (obj.id != "Obj2") return "error 1.1";
		if (obj.score.raw != 168) return "error 1.2";
		if (obj.score.min != 0) return "error 1.3";
		if (obj.toString() != sData) return "error 2";
		
		return false;
	}
	
}
;

