// scripts que serão aplicados aos campos configurados 
// com o parâmetro script
var CHECK_SCRIPT = {
  
  // Verifica se o elemento 'id' possui valor ''.
  blank : function(id, label) { if ($(id) && jQuery.trim($(id).val()) == '') return 'Por favor, preencha o campo "' + label + '".'; },
  
  // Verifica se o elemento 'id' possui valor maior que 'len' em tamanho.
  len : function (id, label, len) { if ($(id) && jQuery.trim($(id).val()).length > (len * 1)) return 'Desculpe, mas o campo "' + label + '" não pode ultrapassar ' + len + ' caracteres.'; },
 
  // Verifica se o elemento 'id' possui os characteres 'in'
  chars : function (id, label, chars) { var reg = new RegExp('[' + chars + ']', "gi"); if ($(id)) { var result = jQuery.trim($(id).val()).match(reg); if (result && result[0]) return 'Desculpe, mas o campo "' + label + '" não pode conter os seguintes caracteres: ' + chars; }; },

  // Verifica se o elemento 'id' possui os caracteres para compor um email xxx@xxx.xxx
  email : function (id, label) { var regEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i; if ($(id).val().search(regEx) == -1) return "Por favor, entre com um email válido."; }

};


$(document).ready(function(){ 
  $('form:first').bind("submit", function(e){
    return checkSubmit();    
  });
});


function checkSubmit()
{
  
  // testa o texto
  //var t = tinymce.EditorManager.get('msgtext').getContent({format : 'text'});
  //if (t.length > G_memoFieldMaxLength)
  //{
  //  alert("Por favor, o campo 'Texto' não pode ultrapassar " + G_memoFieldMaxLength + " caracteres.");
  //  return false;
  //}

  
  for (var i = 0; i < fields.length; i++)
  {
    if (fields[i].script)
    {
      for (var j = 0; j < fields[i].script.length; j++)
      {
        var msg = CHECK_SCRIPT[ fields[i].script[j].id ](fields[i].id, fields[i].label, fields[i].script[j].value);
        if (msg) 
        { 
          if (fields[i].script[j].msg && fields[i].script[j].msg != '')
          {
            $(fields[i].id).focus();
            alert(fields[i].script[j].msg);
            return false;
          }
          else
          {
          	if ($(fields[i].id).disabled != true)
          	{
              $(fields[i].id).focus();
              alert(msg);
              return false;
            }
          };
        };
      };
    };
  }
  
  return true;
}
