// <?php !! This fools phpdocumentor into parsing this file
// $Id: emailcheck.js,v 1.1 2005/08/11 14:25:32 ÁKurusa Exp $
/****************************************************************
* EMAILCHECK - JS script to validate string as email or emails! *
*              Copyright (C) 2004 by Árpád Kurusa, Médiaweb     *
*              All rights reserved. http://www.mediaweb.hu      *
****************************************************************/

function required(frm) {
  for ( var i = 1; i < arguments.length; i++ ) {
    var fld = frm.elements[arguments[i]];
    if ( fld != null ) {
      var val = '';
      var ftype = fld.type;
      //Button, Checkbox, FileUpload, Hidden, Password, Radio, Reset, Select, Submit, Text, Textarea.
      if ( ftype == 'checkbox' ) {
        val = fld.checked ? fld.value : '';
      } else if ( ftype == 'radio' ) {
        val = fld.checked ? fld.value : '';
      } else if ( ftype == 'select' ) {
        if ( fld.selectedIndex < 0 ) {
          val = '';
        } else {
          val = fld.options[fld.selectedIndex].value;
        }
      } else if ( fld.value != undefined ) {
        val = fld.value;
      } else if ( fld.length > 1 && fld.item ) {
        for ( var j = 0; j < fld.length; j++ ) {
          if ( fld[j].checked ) {
            val = fld[j].value;
            break;
          }
        }
        fld = fld[0];
      }
      if (  val == '' || val == null) {
        return fld;
      }
    }
  }
  return null;
}

function checkRE(frm, len, re) {
  for ( var i = 3; i < arguments.length; i++ ) {
    var fld = frm.elements[arguments[i]];
    if ( fld != null && (fld.value.length < len || re.exec(fld.value)) ) {
      //alert(eval('return re_' + fld.name + ';'));
      //fld.focus();
      return fld;
    }
  }
  return null;
}

function checkEmail(emailStr, flag) {
  var allowEmpty = (flag == '?' || flag == '*');
  var multiple = (flag == '+' || flag == '*');
  if ( allowEmpty && emailStr.length == 0 ) {
    return true;
  } else if (multiple) {
    return moreEmailsCheck(emailStr);
  } else {
    return emailCheck(emailStr);
  }
}


