/**
* Represents an evaluation (e.g., a "CMS evaluation").
* @param type {String} Ex: "CMS" or "ATMS" ...
* @param data Array(label1, text1, label2, text2, ...)
*/
function Evaluation(type, data)
{
//========== private static members ==========//
Evaluation.id = (typeof Evaluation.id == 'undefined') ? 0 : ++Evaluation.id;
//========== public constants ==========//
this.ratingQualities = ["", "Worst","Poor","Average","Good","Best"];
this.id = Evaluation.id;
this.ratingGroupName = "evaluationGroup" + this.id;
this.textID = "evaluationText" + this.id;
this.type = type;
this.data = data;
//========== public read-only members ==========//
this.text = "";
this.rating = -1;
//========== public methods ==========//
this.html = html;
this.recordText = recordText;
this.recordRating = recordRating;
//========== private methods ==========//
this.smallScaleForm = smallScaleForm;
this.evaluationForm = evaluationForm;
//========== function definitions ==========//
/**
* @return The html representation of this evaluation.
*/
function html()
{
var text = "
" +
"" +
"| " + type + " Evaluation | " +
"
" +
"" +
"| ";
/* Displays the ranking bubbles */
text += " | " +
"" + this.evaluationForm() + " | " +
"
";
text += "
";
return text;
}
/**
* Stores the rating given by the evaluation scale radio button form.
*/
function recordRating(givenRating)
{
this.rating = givenRating;
//console.log(this.ratingGroupName + " recordRating of " + this.rating )
}
/**
* Stores the text in the written response text box.
*/
function recordText()
{
this.text = events.doc.getElementById(this.textID).value;
}
/**
* @return The html for appropriate evaluation form for grading.
*/
function evaluationForm()
{
return this.smallScaleForm();
}
/**
* @return The html for a 1-5 grading scale.
*/
function smallScaleForm()
{
return "";
}
}