function validate(formObj) {
  var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;  
  var imageFilter  = /.jpg$|.gif|.png$/;
      
  for (var i=0; i<formObj.length; i++) {
    var element = formObj.elements[i];
    
    if(element.getAttribute('validate') && element.disabled==false) {
      if(!element.title) {
        var value = element.name;
      } else {
        var value = element.title;
      }

      switch(element.getAttribute('validate')) {
        case 'email':
          if(!emailFilter.test(element.value.toLowerCase())) {
            alert('Please enter a valid email address "'+value+'"');
            
            element.value="";
            element.focus();
            return false;
          }
          break;

        case 'emailnm':
          if(element.value!="") {
            if(!emailFilter.test(element.value.toLowerCase())) {
              alert('Please enter a valid email address "'+value+'"');
            
              element.value="";
              element.focus();
              return false;
            }
          }
          break;

        case 'image':
          if(element.value!="") { 
            if(!imageFilter.test(element.value.toLowerCase())) {
              alert('Please upload only gif/jpg/png format for "'+value+'"');
            
              element.value="";
              element.focus();
             return false;
            }
          }
          break;
        
        case 'checkbox':
          if(!element.checked) { 
            alert('Please enter a value for "'+value+'"');
            
            element.value="";
            element.focus();
            return false;
          }
          break;
        
        default:
          if(element.value=="") {
            alert('Please enter a value for "'+value+'"');
            
            element.value="";
            element.focus();
            return false;
          }
          break;
      }
    }
  }
  return true;
}
