_myForm =
{
  _errors: [],
  _errorsText: 'Lūdzu izlabojiet kļūdas!',
  _errorsTextStd: 'Lūdzu izlabojiet kļūdas!',
  _isLoading: false,

  _setErrorsText: function(_value)
  {
    _myForm._errorsText = _value;
  },

  _setErrorsTextStd: function()
  {
    _myForm._errorsText = _myForm._errorsTextStd;
  },

  _setError: function(_field, _text)
  {
    _myForm._clearMessage();

    if (_text == '.')
    {
      _text = '';
    }

    if (_myForm._errors.length == 0)
    {
      $$('div.myForm-errors-message-text').each(function(_element) { _element.innerHTML = _myForm._errorsText; });
      $$('div.myForm-errors-message-container').each(function(_element) { _element.setStyle({ 'display': 'block' }); });
    }

    _myForm._errors[_myForm._errors.length] = _field;

    if ($('myForm_field_' + _field))
    {
      $('myForm_field_' + _field).addClassName('myForm-field-has-errors');

      if (_text)
      {
        $$('div#myForm_field_' + _field + ' div.myForm-field-error').each(function(_element) {
          _element.innerHTML = _text;
          _element.show();
        });
      }
    }
  },

  _clearErrors: function()
  {
    $$('div.myForm-errors-message-container').each(function(_element) { _element.setStyle({ 'display': 'none' }); });
    $$('div.myForm-errors-message-text').each(function(_element) { _element.innerHTML = ''; });

    for (var i = 0; i < _myForm._errors.length; i++)
    {
      if ($('myForm_field_' + _myForm._errors[i]))
      {
        $('myForm_field_' + _myForm._errors[i]).removeClassName('myForm-field-has-errors');

        $$('div#myForm_field_' + _myForm._errors[i] + ' div.myForm-field-error').each(function(_element) {
          _element.hide();
          _element.innerHTML = '';
        });
      }
    }

    _myForm._errors = [];
    _myForm._setErrorsTextStd();
  },

  _setMessage: function(_message)
  {
    var _pos = _message.indexOf(':');
    if (_pos >= 0)
    {
      var _type = _myForm.__trimText(_message.substr(0, _pos)).toLowerCase();
      var _text = _myForm.__trimText(_message.substr(_pos + 1));

      $$('div.myForm-message-text').each(function(_element) { _element.innerHTML = _text; });
      $$('div.myForm-message-container').each(function(_element) { _element.addClassName('myForm-message-container-' + _type); _element.show(); });
    }
    else
    {
      _myForm._clearMessage();
    }
  },

  _clearMessage: function()
  {
    $$('div.myForm-message-container').each(function(_element) { _element.hide(); _element.className = 'myForm-message-container'; });
    $$('div.myForm-message-text').each(function(_element) { _element.innerHTML = ''; });
  },

  _clearAll: function()
  {
    _myForm._clearErrors();
    _myForm._clearMessage();
  },

  _submit: function(_element, _op)
  {
    if (_myForm._isLoading)
    {
      return false;
    }

    if (typeof tinymce == 'object')
    {
      tinymce.EditorManager.triggerSave();
    }

    while (_element.tagName != 'FORM' && _element.parentNode)
    {
      _element = _element.parentNode;
    }

    for (var i = 0; i < _element.elements.length; i++)
    {
      if (_element.elements[i].name == '_op')
      {
        _element.elements[i].value = _op;

        if (_element.onsubmit)
        {
          _element.onsubmit();
        }
        else
        {
          _element.submit();
        }

        return false;
      }
    }

    var _op_element = document.createElement('INPUT');
    _op_element.type = 'hidden';
    _op_element.name = '_op';
    _op_element.value = _op;
    _element.appendChild(_op_element);

    if (_element.onsubmit)
    {
      _element.onsubmit();
    }
    else
    {
      _element.submit();
    }

    return false;
  },

  _setLoading: function(_value)
  {
    _value = _value ? true : false;

    _myForm._isLoading = _value;

    $$('input.myForm-button').each(function(_element) { _element.blur(); _element.disabled = _value ? 'disabled' : ''; });
    $$('div.myForm-buttonset img.myForm-buttonset-ajax').each(function(_element) { if (_value) _element.show(); else _element.hide(); });
  },

  _back: function()
  {
    window.history.back();
    window.setTimeout('window.history.back();', 500);
    window.setTimeout('window.history.back();', 1000);
  },

  __trimText: function(_text)
  {
    while (_text.length > 0 && _text.charAt(0) == ' ')
    {
      _text = _text.substr(1);
    }

    while (_text.length > 0 && _text.charAt(_text.length - 1) == ' ')
    {
      _text = _text.substr(0, _text.length - 1);
    }

    return _text;
  }
}

