// Trigger DropDown Nav in IE6
startList = function(){
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					subUL = this.getElementsByTagName("ul");
					if(subUL.length>0) subUL[0].style.display = 'block';
					//this.className+=" over";
				}
				node.onmouseout=function() {
					subUL = this.getElementsByTagName("ul");
					if(subUL.length>0) subUL[0].style.display = 'none';
					//this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}
addLoadEvent(startList);



// Form Validation
function validateForm(whichform) {
  for (var i=0; i<whichform.elements.length; i++) {
    var element = whichform.elements[i];
    if (element.className.indexOf("select") != -1){
		if(element.className.indexOf("req") != -1){
			if(!isSelected(element)){
				alert("Please select and option for the "+element.title+" field.");
			}
		} else {
			continue;
		}
	}
	if (element.className.indexOf("req") != -1) {
      if (!isFilled(element)) {
        alert("Please fill in the "+element.title+" field.");
        return false;
      }
    }
    if (element.className.indexOf("email") != -1) {
      if (!isEmail(element)) {
        alert("The "+element.title+" field must be a valid email address.");
        return false;
      }
    }
  }
  return true;
}

function isSelected(field) {
  if (field.options[field.selectedIndex].value == field.options[field.selectedIndex].defaultSelected) {
    return false;
  } else {
    return true;
  }
}
function isFilled(field) {
  if (field.value.length < 1 || field.value == field.defaultValue) {
    return false;
  } else {
    return true;
  }
}
function isEmail(field) {
  if (field.value.indexOf("@") == -1 || field.value.indexOf(".") == -1) {
    return false;
  } else {
    return true;
  }
}

function prepareForms() {
  for (var i=0; i<document.forms.length; i++) {
    var thisform = document.forms[i];
    thisform.onsubmit = function() {
      return validateForm(this);
    }
  }
}
// addLoadEvent(prepareForms);

// Adds functions to onload event
function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){window.onload = func;}
	else{window.onload = function(){oldonload(); func();}}
}

// validateInputItems
function validateInputItemsPF(itemsList, errorDivId)
{
  var errString = "";
  var itemsArray = itemsList.split(";"); //Leads to an array of Item:Type name-type pairs
  var errDiv = document.getElementById(errorDivId); 
  var lRetVal = false;
  for (i = 0; i < itemsArray.length; i++)
  {
    errString += validateInputItemPF(itemsArray[i]);
  }
  errDiv.innerHTML = "<p class='error'>Please provide all of the following information:<br>" + errString + "</p>";
  if (errString != "")
  {
    errDiv.style.display = "block";
  }
  else
  {
    errDiv.style.display = "none";
    lRetVal = true;
  }  	
  return lRetVal;
}

// validateInputItem
function validateInputItemPF(itemNameTypePair)
{
  var lRetVal = new String();
  var nameTypeArray = itemNameTypePair.split(":");
  var itemValue = document.getElementById(nameTypeArray[0]).value;
  var itemTrimd = itemValue.replace(/^\s+|\s+$/g, '');
  var itemType = nameTypeArray[1];
  var itemDisplayName = nameTypeArray[2];
  if (itemType == "str1")
  {
    if (itemTrimd.length < 1)
    {
      lRetVal = "-" + itemDisplayName + "<br/>";
    }
  }
  else if (itemType == "str3")
  {
    if (itemTrimd.length < 3)
    {
      lRetVal = "-" + itemDisplayName + "<br/>";
    }
  }
  else if (itemType == "str5")
  {
    if (itemTrimd.length < 5)
    {
      lRetVal = "-" + itemDisplayName + "<br/>";
    }
  }
  else if (itemType == "str10")
  {
    if (itemTrimd.length < 10)
    {
      lRetVal = "-" + itemDisplayName + "<br/>";
    }
  }
  else if (itemType == "str25")
  {
    if (itemTrimd.length < 25)
    {
      lRetVal = "-" + itemDisplayName + "<br/>";
    }
  }
  else if (itemType == "email")
  {
    if (itemTrimd.length < 7)
    {
      lRetVal = "-" + itemDisplayName + "<br/>";
    }
    else if (itemTrimd.indexOf("@") < 0)
    {
      lRetVal = "-" + itemDisplayName + "<br/>";
    }
    else if (itemTrimd.indexOf(".") < 0)
    {
      lRetVal = "-" + itemDisplayName + "<br/>";
    }
  }
  return lRetVal;
}