//-------------Class validatorObj -------------//
var
ValidatorObj = {

    reTel     : /^\d[-\d\s]*\d$/,
    reName    : /^[^\d\`\-\=~!@#$%\^&\*()_\+]+$/, //Only letters
    reEmail   : /^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/,
    reNumeric : /^[\d\-\.\,\/]+$/,
    
    validateTel : function (s)
    {
      return this.reTel.test (s);
    },

    validateName : function (s)
    {
      return this.reName.test (s);
    },

    validateEmail : function (s)
    {
      return this.reEmail.test (s);
    },

    validateNumeric : function (s)
    {
      return this.reNumeric.test (s);
    },

    validateComboBox : function (selectedIndex, cannotValue)
    {
      return (selectedIndex != cannotValue) ? true : false;
    },

    validateNotEmpty : function (s)
    {
      return (s) ? true : false;
    }
};

//--------

function controlSubmitData (submitForm, formData, mesSucc)
{
    var formObj;
    var fieldName;
    var fieldName;
    var action;
    var messageErr;
    var messageSuccess = mesSucc["messageSuccess"];

    //  alert (messageSuccess);

    for (formObj in formData)
    {
        fieldName   = formObj;
        fieldValue  = jQuery.trim (submitForm[fieldName].value);
        action      = formData[formObj]["action"];
        messageErr  = formData[formObj]["messageErr"];
        maybeEmpty  = formData[formObj]["maybeEmpty"];
        cannotValue = formData[formObj]["cannotValue"]; //for comboBox

        if (action == 'validateComboBox') 
        {
          var sFunct = 'ValidatorObj.validateComboBox("' + fieldValue + '", "'+ cannotValue +'")';
          result = eval (sFunct);
          if (!result) 
          {
            alert (messageErr);
            return false
          }
        }
        
        if (!maybeEmpty && !fieldValue) 
        {
           alert (messageErr);
           return false;
        }
        if (fieldValue && action)
        {
          if (!isCompliance(action, fieldValue))
          {
            alert (messageErr);
            return false;
          }
        }
    }
  
    return true;
}

//--------

function isCompliance (action, str) 
{
    var sFunct = 'ValidatorObj.' + action + '("' + str + '")';
    //alert (sFunct);
    if (eval (sFunct)) {
        return true
    }
    else {
        return false;
    }
}

//var 
//  str = '21232';

//WScript.Echo (validatorObj.reTel.source);
//WScript.Echo (str, '->', ValidatorObj.validateEmail (str) ? "ok" : "FAILED");
//WScript.Echo (isCompliance ('validateEmail', str) ? "ok" : "FAILED");
//WScript.Echo (isCompliance ('validateNumeric', str) ? "ok" : "FAILED");
