//Contact form javascript
function setText(ele, blur)
{
  if(blur)
  {
      if(ele.value === '')
      {
        ele.value = ele.defaultValue;
      }
  }
  else
  {
      if(ele.value == ele.defaultValue)
      {
        ele.value = "";
      }
  }
  return true;
}

function prepareContact()
{
  if(!document.getElementById) {return false;}
  //if(!document.getElementById("contact")) {return false; }
  if(!document.getElementById("Contact1_tblContact")) {return false;}
  
  var form = document.getElementById("contact");
  
  var elements = form.elements;
  
  for(var i = 0; i<elements.length; i++)
  {
    if((elements[i].type == "submit") || (elements[i].type == "select-one"))
    {
      continue;
    }
    
    if(!elements[i].defaultValue)
    { 
      continue;
    }
    
    elements[i].onfocus = function ()
    {
      setText(this, false);
    };
    
    elements[i].onblur = function ()
    {
      setText(this, true);
    };
  }
 return true; 
}



function resetErrors(errors)
{
  //find all label elements
  var labels = document.getElementsByTagName("label");
  var browser=navigator.appName;
  
  //reset all the error styles applied
  for(var i = 0; i<labels.length; i++)
  {
    //alert(i);
    if(labels[i].className !== "")
    {
        if(browser == "Microsoft Internet Explorer")
        {
            labels[i].className = "";
            
            var labelText = labels[i].innerText;
            
            labelText = labelText.substring(0, labelText.length - 2);
            
            labels[i].innerText = labelText;
            //labels[i].innerText = labels[i].innerText.substring(0, labels.innerText.length -2);
        }
        else
        {   
            labels[i].className = "";
            var errChild = labels[i].firstChild;
            var labelText = errChild.textContent;
            var text = labelText.substring(labelText.length -2);
            var errNewText = labelText.substring(0, labelText.length -2);
            var textNode = document.createTextNode(errNewText);
            labels[i].replaceChild(textNode, errChild);
        }
     }
  }
  
  var list = errors.substring(0, errors.length -1);  
  list = list.split(',');

  //loop through the labels and apply error styles
  for(var j =0; j<labels.length; j++)
  { 
    var forAttribute;
    var k;
    if(browser == "Microsoft Internet Explorer")
    {
        forAttribute = labels[j].innerText;
        forAttribute = forAttribute.substring(0, forAttribute.length-1);
        forAttribute = forAttribute.toLowerCase();
        
        for(k =0; k<list.length; k++)
        {
            if(forAttribute == list[k])
            {
                labels[j].className = "error"; 
                labels[j].innerText = labels[j].innerText + " *";
            }
        }
    }
    else
    {
        forAttribute = labels[j].getAttribute("for");
        for(k =0; k<list.length; k++)
        {
            if(forAttribute == list[k])
            {
                labels[j].className = "error"; 
                var child = labels[j].firstChild;             
                var newText = child.nodeValue + " *";
                var newChild = document.createTextNode(newText);        
                labels[j].replaceChild(newChild, child);
            }
        }
    }
 }
 return true;
}

function validateForm(theForm)
{
  var elements = theForm.elements;
  var valid = true;
  var errorFields = "";
  
  var message = "Form not submitted. Please correct the following errors:\n";
  
  for(var i = 0; i<elements.length; i++)
  {
    var ele = elements[i];
    
    if((ele.type == "text") || (ele.type == "textarea"))
    {
      if((ele.value === "") || (ele.value == ele.defaultValue))
      {
        message += "Enter a value for the " + ele.id + " field.\n";
        errorFields += ele.id + ",";
        valid = false;
      }
    }
    if(ele.type == "select-one")
    {
      if(ele.value == "none")
      {
        message += "Select a subject from the " + ele.id + " drop down list.\n";
        errorFields += ele.id + ",";
        valid = false;
      }
    } 
  }

  if(!valid)
  {
    //alert(message);
    resetErrors(errorFields);
    return false;
  }
  else
  {
    return true;
  }
}

function prepareFormValidate()
{
  if(!document.getElementById) {return false;}
  //if(!document.getElementById("contact")) {return false;}
  if(!document.getElementById("Contact1_tblContact")) {return false;}
  
  var form = document.getElementById("contact");
  
  form.onsubmit = function ()
  {
    return validateForm(this);   
  };
  return true;
}
addLoadEvent(prepareContact);
addLoadEvent(prepareFormValidate);