/*                                           ?
 * Copyright (c) 1998-2006 TeamDev Ltd. All Rights Reserved.
 * Use is subject to license terms.
 */

var EMAIL_VALIDATOR_TYPE = "email";
var URL_VALIDATOR_TYPE = "url";

function q_RegExpValidator(summary, detail, regExpPattern, type) {
  this.summary = summary;
  this.detail = detail;
  this.regExpPattern = regExpPattern;
  this.type = type;
  try {
    this.regExp = new RegExp(regExpPattern);
  } catch(e) {
    alert("Error in q_RegExpValidator. Currently defined pattern '" + this.regExpPattern + "' is invalid.");
  }

}

q_RegExpValidator.prototype.validate = function(input) {
  var value = q_getValue(input);

  if (this.type && (this.type == EMAIL_VALIDATOR_TYPE || this.type == URL_VALIDATOR_TYPE)) {
    value = q__trimString(value);

  }

  if (q_notEmpty(value)) {
    if (!q_matchRegExp(value, this.regExp)) {
      q_addMessage(input, this.summary, this.detail);
      return false;
    }
  }
  return true;
}

//AUTO GENERATED CODE

window['tc_loadedLibrary:/teamdev/internalResource/teamdev/jsf/renderkit/validation/validator/RegExpValidator.js'] = true;