
  function RegCheck(val,type) {
    var str_eng = /^[a-z]*$/;
    var str_rus = /[à-ÿ]+/;
    var didgit = /^(\+\d+)?\(?\d*\)? ?(\d+-\d+)*(\d+)$/;
    var mail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;

    if(type=='text') {
      if (!str_eng.test(val)) {
        if (!str_rus.test(val))
          return false;
        }
      } else if(type=='didgit') {
        if (!didgit.test(val)) return false;
      } else if(type=='email') {
        if(!mail.test(val)) return false;
      }
      return true;
  }

  function RegCheckText(value) {
    var pattern = /^[à-ÿ¸¿³º\w]+[\.,\s\(\)\wà-ÿ¸¿³º]*$/i;
    var anti_pattern = /^[\d\.,\s\(\)]*$/;
    return ((pattern.test(value) && !anti_pattern.test(value)) ? (true) : (false));
  }

  function RegCheckTextCyr(value){
    var pattern = /[à-ÿ]+/i;
    return ((pattern.test(value)) ? (true) : (false));
  }

  function RegCheckTextLat(value) {
    var pattern = /^[a-z]+$/i;
    return ((pattern.test(value)) ? (true) : (false));
  }

  function RegCheckDigit(value) {
    var pattern = /^(\+\d+)?\(?\d*\)? ?(\d+-\d+)*(\d{1,})/;
    return ((pattern.test(value)) ? (true) : (false));
  }

  function RegCheckEmail(value) {
    var pattern = /^\w[-\w]*(\.\w[-\w]*)*@\w[-\w]*(\.\w[-\w]*)*$/;
    return ((pattern.test(value)) ? (true) : (false));
  }

  function RegCheckEmails(value) {
    var emails_array = value.split(",");
    for (var i = 0; i < emails_array.length; i++){
      var email_trimmed = emails_array[i].replace(/^\s+|\s+$/g, '') ;
      if (!RegCheckEmail(email_trimmed)){
        return false;
      }
    }
    return true;
  }

  function RegCheckPhone(value){
    value = value.replace(/\s/g, '');
    var pattern = /^[+]?\d+[\(\d+\)]*\d+[-+\d+]*$/;
    return ((pattern.test(value)) ? (true) : (false));
  }

  function RegCheckPhones(value){
    var values_array = value.split(",");
    for (var i = 0; i < values_array.length; i++){
      if (!RegCheckPhone(values_array[i])){
        return false;
      }
    }
    return true;
  }