// JavaScript Document
function errorOnLabels(formNode, validators){
 var labelNodes = formNode.getElementsByTagName("label");
 // Reset all the labels
 resetLabels(labelNodes);
 for(var i=0; i<validators.length; i++){
  var label = getLinkedLabel(labelNodes, validators[i].name);
  if(label){
   // Flag the labels
   flagLabel(label, validators[i].message);
  }
 }
}

function getLinkedLabel(labelNodes, fieldID){
 for(var i=0; i<labelNodes.length; i++){
  if(labelNodes[i].htmlFor == fieldID){
   return labelNodes[i];
  }
 }
}

function flagLabel(labelNode, message){
 labelNode.oldText = labelNode.firstChild;
 var strongNode = document.createElement("strong");
 var textNode = document.createTextNode(message);
 strongNode.appendChild(textNode);
 labelNode.replaceChild(strongNode, labelNode.firstChild);
}

function resetLabels(labelNodes){
 for(var i=0; i<labelNodes.length; i++){
  if(labelNodes[i].oldText){
   labelNodes[i].replaceChild(labelNodes[i].oldText, labelNodes[i].firstChild);
  }
 }
}

