/*
JavaScript validate function
Author: Peter Tornstrand <peter[at]tornstrand.com>
Date: 2001-01-29
*/
function validateForm(frm, bolAlert) {
  var elem = frm.elements;
  // Loop all elements
  for (var i = 0; i < elem.length; ++i) {
    // If element is required see if it's filled in
    if (elem[i].name.indexOf("*") > 1) {
    // Text
      if (elem[i].type=="text") {
		  
		  if (elem[i].id=="email")
		  {
			  var error="";
			  var strng=elem[i].value;
			  
				if (strng == "") {
				   alert("You didn't enter an email address.");
				   elem[i].focus();
					return false;
				}
				
					var emailFilter=/^.+@.+\..{2,3}$/;
					if (!(emailFilter.test(strng))) { 
					   alert('Please enter a valid email address.');
					   elem[i].focus();
					   return false;
					}
					else {
				//test email for illegal characters
					   var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;
						 if (strng.match(illegalChars)) {
						  alert("The email address contains illegal characters.");
						  elem[i].focus();
						  return false;
					   }
					}  
		  }
		  
        if (elem[i].value=="") {
          elem[i].className = "text_err";
          if(bolAlert) alert("You must enter "+elem[i].name);
          elem[i].focus();
          return false;
        } else {
          elem[i].className = "text";
        }
      }
      else if (elem[i].type=="radio") {
      // Radio
        var radiogroup = elem[elem[i].name];
        var itemchecked = false;
        for(var j = 0 ; j < radiogroup.length ; ++j) {
          if(radiogroup[j].checked) {
            itemchecked = true;
            break;
          }
        }
      
        if(!itemchecked) { 
          if(bolAlert) alert("You must check one option for "+elem[i].name);
          if(elem[i].focus) elem[i].focus();
          return false;
        }
      }
      else if (elem[i].type=="checkbox") {
      // Checkbox
        var checkgroup = elem[elem[i].name];
        var itemchecked = false;
        for(var j = 0 ; j < checkgroup.length ; ++j) {
          if(checkgroup[j].checked) {
            itemchecked = true;
            break;
          }
        }
      
        if(!itemchecked) { 
          if(bolAlert) alert("You must check at least one option for "+elem[i].name);
          if(elem[i].focus) elem[i].focus();
          return false;
        }
      }
      else if (elem[i].type=="textarea") {
      // Textarea
        if (elem[i].value=="") {
          elem[i].className = "textarea_err";
          if(bolAlert) alert("You must enter "+elem[i].name);
          elem[i].focus();
          return false;
        } else {
          elem[i].className = "textarea";
        }
      }
      else if (elem[i].type=="select-one") {
      // Select-one
        if (elem[i].selectedIndex==0) {
          elem[i].className = "select_err";
          if(bolAlert) alert("You must choose "+elem[i].name);
          elem[i].focus();
          return false;
        } else {
        	elem[i].className = "select";
        }
      }
      else if (elem[i].type=="select-multiple") {
      // Select-multiple
      	var optionselected = false;
      	for(var j=0;j<elem[i].options.length; ++j) {
      		if (elem[i].options[j].selected) {
      			optionselected = true;
      			break;
      		}
      	}
      	if (!optionselected) {
          elem[i].className = "select_err";
          if(bolAlert) alert("You must select at least one option for "+elem[i].name);
          elem[i].focus();
          return false;
        } else {
        	elem[i].className = "select";
        }
      }
    }
  }
  return true;
}

function gotFocus(elem) {
	if (elem.className.indexOf("_err") < 0) {
		if (elem.type=="text") {
			elem.className = "text_focus";
		} else if (elem.type=="textarea") {
			elem.className = "textarea_focus";
		} else if (elem.type=="select-one") {
			elem.className = "select_focus";
		} else if (elem.type=="select-multiple") {
			elem.className = "select_focus";
		}
	}
}

function lostFocus(elem) {
	if (elem.className.indexOf("_err") < 0) {
		if (elem.type=="text") {
			elem.className = "text";
		} else if (elem.type=="textarea") {
			elem.className = "textarea";
		} else if (elem.type=="select-one") {
			elem.className = "select";
		} else if (elem.type=="select-multiple") {
			elem.className = "select";
		}
	}
}
function checkEmail (strng) {
var error="";
if (strng == "") {
   error = "You didn't enter an email address.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.\n";
       }
    }
return error;    
}