
function checkForm(frm, arr, mes)
{
  if (!frm || !frm.elements)
  {
    alert('Form is not defined');
    return false;
  }
  el = null;
  err = '';
  for(i in arr)
  {
    if (frm.elements[i])
    switch(frm.elements[i].type)
    {
      case 'text':
      case 'textarea':
      case 'password':
      case 'hidden':
        if (frm.elements[i].value == '' || frm.elements[i].value == '0')
        {
          if (!el) el = frm.elements[i];
          err += arr[i] + "\n";
        }
        else if ((i == 'email') && (!/^[^@]+@[^@]+$/.test(frm.elements[i].value)))
        {
          if (!el) el = frm.elements[i];
          err += arr[i] + ' | Format: email@somethere.org' + "\n";
        }       
    	break;
      case 'select-one':
        if (frm.elements[i].selectedIndex == 0)
        {
          if (!el) el = frm.elements[i];
          err += arr[i] + "\n";
        }
    	break;
    }
  }
  if (err == '') return true;
  else
  {
    try { el.focus(); } catch(e) {}
    if (!mes) mes = 'Please fill in mandatory fields'
    alert(mes + ":\n-----------------------------------\n" + err + "-----------------------------------");
    return false;
  }
}
