﻿var formManager = [];
$(document).ready(function ()
{
   jQuery.extend(jQuery.validator.messages, {
      required: "该项为必填项",
      remote: "请更正该项",
      email: "请输入有效的邮箱地址",
      url: "请输入有效的URL链接",
      date: "请输入有效日期",
      dateISO: "请输入有效日期（ISO）",
      number: "请输入有效数字",
      digits: "请仅输入数字",
      creditcard: "请输入有效信用卡号",
      equalTo: "请再次输入相同数值",
      accept: "请输入有效的文件扩展名",
      maxlength: jQuery.validator.format("请输入不超过{0}个字符"),
      minlength: jQuery.validator.format("请输入至少{0}个字符"),  //"Please enter at least {0} characters.
      rangelength: jQuery.validator.format("输入的字符长度必须在{0}个与{1}个之间"),
      range: jQuery.validator.format("输入的值必须在{0}和{1}之间"),
      max: jQuery.validator.format("输入的值必须小于或等于{0}"),
      min: jQuery.validator.format("输入的值必须大于或等于{0}")
   });

   formManager = {
      formContainer: $(".form-container"),
      fields: $(".form-container :input"),
      saveCommandButton: $(".form-save-command-button"),
      nameParameterInput: $(".form-name-parameter-input"),
      fieldsParameterInput: $(".form-fields-parameter-input"),
      saveForm: function ()
      {
         var fieldData = "";
         for(var i = 0; i < formManager.fields.length; i++) {
            var field = $(formManager.fields.get(i));
            if(field.attr("type") != "submit" && field.attr("type") != "reset") {
               if(fieldData.length > 0) {
                  fieldData += "|";
               }
               fieldData += field.attr("name");
            }
         }

         formManager.fieldsParameterInput.val(fieldData);

         var formName = formManager.formContainer.attr("name");
         formManager.nameParameterInput.val(formName);
      },
      validator: $("form").validate({
         meta: "validate",
         onsubmit: false
      }),
      validate: function ()
      {
         // Validate         
         var isValid = true;
         for(var fieldIndex = 0; fieldIndex < formManager.fields.length; fieldIndex++) {
            var field = formManager.fields[fieldIndex];
            var valid = $(field).valid();
            if(valid == 0 || valid == false || !valid) {
               isValid = false;
            }
         }
         if(!isValid) {
            return false;
         }

         return true;
      },
      submit: function ()
      {
         // Save form data
         formManager.saveForm();

         // Submit
         formManager.saveCommandButton.click();

         return false;
      },
      validateAndSubmit: function ()
      {
         // Validate
         if(!formManager.validate()) {
            return false;
         }
         // Submit
         formManager.submit();

         return false;
      }
   }
});

