
function eaOptClass() 
{
  this.msg = {};

  this.msg['zero_parts'] = 'Пожалуйста, введите количество для запчастей, которые Вы хотите заказать.';
  this.msg['loading'] = 'производится отправка заказа, подождите...';
  this.msg['accept_prefix'] = 'Заказ на сумму';
  this.msg['accept_postfix'] = 'руб. принят, спасибо!';
  this.msg['error']   = 'Во время обработки заказа произошла ошибка. Пожалуйста, попробуйте повторить заказ позже. Приносим извинения за неудобства.';
  this.msg['modalClose'] = 'Закрыть окно заказа';
  this.msg['modalHeader'] = 'Ваш заказ';
}

eaOptClass.prototype.recalc = function(el)
{
  form = $(el).up('form');
  parts = form.select('input[type="text"]');

  sum = 0;
  for ( i = 0; i < parts.length; i++) {
    if (parts[i].value == 0) { continue; }
//    id = parts[i].name.sub('order\\[', 'price').sub('\\]','');
    sum = sum + parts[i].value * parts[i].up('td').down('span.price-hidden').innerHTML; //$(id).innerHTML;
  }

  form.down('span.eaOptSum').innerHTML = sum.toFixed(2);
}

eaOptClass.prototype.zeroOrder = function(parts)
{
  for (i = 0; i < parts.length; i++) {
    parts[i].value = 0;
  }
}

eaOptClass.prototype.makeOrder = function(el)
{
  if (typeof(el) != 'object') { return false; }

  var form = $(el).up('form');
  var parts = form.select('input[type="text"]');
  used = form['used'].value;

  url = '';
  for ( i = 0; i < parts.length; i++) {
    if (parts[i].value == 0) { continue; }
    id = parts[i].name.sub('order', '');
//    url = url + '&order' + id + '=' + parts[i].value + '&orderd' + id + '=' + escape(form['orderd' + id].value);
    url = url + '&' + parts[i].serialize() + '&' + form['orderd' + id].serialize();
  }

  if ('' == url) {
    alert(this.msg['zero_parts']);
    return(false);
  }

  url = 'index.php?option=com_eaopt&task=makeOrderAjax&used=' + used 
      + (form['other_wh'] ? '&' + form['other_wh'].serialize() : '')
      + '&' + form['orderType'].serialize()
      + url;

  var loaderMsg = new Element('span');
  loaderMsg.innerHTML = ' <img src="/images/ajax-loader.gif" /> ' + this.msg['loading'];

  submitBtn = form.down('input[type="submit"]');
  form.disable();

  Element.insert(
    submitBtn,
    { 'after': loaderMsg }
  );

  var oThis = this;
  req = new Ajax.Request(
    url,
    {
      method:'post',
      onSuccess: function(transport) {
        loaderMsg.remove();
        form.enable();
        Modalbox.show(
          '<div>' + transport.responseText.strip() + '</div>', 
          { 
            width: 700, 
            title: oThis.msg['modalHeader'], 
//            closeString: oThis.msg['modalClose'], 
            closeValue: '', 
            overlayClose: false,
            overlayDuration: 0,
            slideUpDuration: 0,
            resizeDuration: 0.05,
            slideDownDuration: 0
          }
        );
        oThis.zeroOrder(parts);
        form.down('span.eaOptSum').innerHTML = '0.00';
      },
      onFailure: function(){
        loaderMsg.remove();
        form.enable();
        alert(oThis.msg['error']);
      }
    }
  );
}


eaOpt = new eaOptClass();
