blob: 1673a01e4e773c425d9ba18d324d4277d77d48c2 [file] [log] [blame]
function clearErrorMessages(form) {
var table = form.childNodes[1];
if( typeof table == "undefined" ) {
table = form.childNodes[0];
}
// clear out any rows with an "errorFor" attribute
var rows = table.rows;
var rowsToDelete = new Array();
if (rows == null){
return;
}
for(var i = 0; i < rows.length; i++) {
var r = rows[i];
if (r.getAttribute("errorFor")) {
rowsToDelete.push(r);
}
}
// now delete the rows
for (var i = 0; i < rowsToDelete.length; i++) {
var r = rowsToDelete[i];
table.deleteRow(r.rowIndex);
//table.removeChild(rowsToDelete[i]);
}
}
function clearErrorLabels(form) {
// set all labels back to the normal class
var elements = form.elements;
for (var i = 0; i < elements.length; i++) {
var e = elements[i];
var cells = e.parentNode.parentNode.cells;
if (cells && cells.length >= 2) {
var label = cells[0].getElementsByTagName("label")[0];
if (label) {
label.setAttribute("class", "label");
label.setAttribute("className", "label"); //ie hack cause ie does not support setAttribute
}
}
}
}
function addError(e, errorText) {
try {
// clear out any rows with an "errorFor" of e.id
var row = e.parentNode.parentNode;
var table = row.parentNode;
var error = document.createTextNode(errorText);
var tr = document.createElement("tr");
var td = document.createElement("td");
var span = document.createElement("span");
td.align = "center";
td.valign = "top";
td.colSpan = 2;
span.setAttribute("class", "errorMessage");
span.setAttribute("className", "errorMessage"); //ie hack cause ie does not support setAttribute
span.appendChild(error);
td.appendChild(span);
tr.appendChild(td);
tr.setAttribute("errorFor", e.id);;
table.insertBefore(tr, row);
// updat the label too
var label = row.cells[0].getElementsByTagName("label")[0];
label.setAttribute("class", "errorLabel");
label.setAttribute("className", "errorLabel"); //ie hack cause ie does not support setAttribute
} catch (e) {
alert(e);
}
}