 
  function validate(formName, errorDiv, successDiv, loadingDiv){
        ret = true;        
        var err = Array();  //initialize error array
        
        // set fields which can't be blank
        var noBlank = Array('cfname', 'clname', 'cemail', 'cphone', 'comments');
        
        
        // cycle through blanks array and validate
        for(i=0;i<noBlank.length;i++){
          if($F(noBlank[i]) == ""){
            document.getElementById(noBlank[i]+"Label").style.backgroundColor = "#007096";
            document.getElementById(noBlank[i]+"Label").style.color = "#fff";
            ret = false;
            err[0] = "<li>Required Fields left blank</li>";
          }else{
            document.getElementById(noBlank[i]+"Label").style.backgroundColor = "#fff";
            document.getElementById(noBlank[i]+"Label").style.color = "#808284";
          }
        }
        
        //check for a valid email address
        if(!isEmailAddr($F('cemail'))){
            document.getElementById("cemailLabel").style.backgroundColor = "#007096";
            document.getElementById("cemailLabel").style.color = "#fff";
          ret = false;
          err[err.length] = "<li>Invalid email address</li>";
        }else{
            document.getElementById("cemailLabel").style.backgroundColor = "#fff";
            document.getElementById("cemailLabel").style.color = "#808284";
        }
        
        if(ret == true){
          if(document.getElementById(errorDiv).style.display == ""){
            //new Effect.Fade(document.getElementById(errorDiv));
            document.getElementById(errorDiv).style.display = "none";
          }
          document.contactForm.submit();
        }else{
          var errors = "<img src='/images/error.gif' alt='Errors' style='float: left;'/>&nbsp;<strong>Errors Found!</strong><ul>";
          for(i=0; i<err.length;i++){
            errors = errors + err[i];
          }
          errors = errors + "</ul>";
          document.getElementById(errorDiv).innerHTML = errors;
          new Effect.Appear(document.getElementById(errorDiv));
        }            
  }
  
  function isEmailAddr(email){
        var result = false;
        var theStr = new String(email);
        var index = theStr.indexOf("@");
        if (index > 0){
          var pindex = theStr.indexOf(".",index);
          if ((pindex > index+1) && (theStr.length > pindex+1))
            result = true;
        }
        return result;
  }

  function send(f, formName, targetDiv, loadingDiv){
        var url = '/includes/ajax_functions.php';
        var pars = "func=" + f;
        form = document.forms[formName];
        for(i=0;i<form.length;i++){
          fieldName = form[i].id;
          fieldValue = form[i].value;
          if(form[i].type !== "button")
            form[i].value = "";
          if(fieldName !== "")
            pars = pars + "&" + "arg" + fieldName + "=" + fieldValue;
        }
        
        var myAjax = new Ajax.Updater(
          targetDiv, 
          url, {
            parameters: pars,
            method: 'get'
          }
        );
  }  