function OIRDesignForms(form)
{
  if (form != null)
  {
    this.form = form;
    this.forms = new Array();
    this.formIdx = new Array();
    this.pricer = new OIRPricer();
    this.subClicked = false;
  }
}
new OIRDesignForms(null);

OIRDesignForms.prototype.register = function(obj)
{
  obj.pricer = this.pricer;
  this.forms[this.forms.length] = obj
  this.formIdx[obj.name] = obj
}

OIRDesignForms.prototype.get = function(name)
{
  return this.formIdx[name];
}


OIRDesignForms.prototype.registerEl = function(name, el, group)
{
  if ((obj = this.formIdx[name]) != null)
  {
    obj.register(el, group);
  }
}

OIRDesignForms.prototype.addCount = function(price_group, size_id, qty)
{
  this.pricer.addCount(price_group, size_id, qty);
}


OIRDesignForms.prototype.init = function()
{
  var i;
  subtotal = 0;

  for (i = 0; i < this.forms.length; i++)
  {
    this.forms[i].initQty();
  }

  for (i = 0; i < this.forms.length; i++)
  {
    subtotal += this.forms[i].updateSubtotal();
  }

  if (this.form.subtotal != null)
  {
    this.form.subtotal.value = "$"+this.fmtMoney(subtotal);
  }
}

OIRDesignForms.prototype.chooseColor = function(elColor, elNum)
{
  for (i = 0; i < this.forms.length; i++)
  {
    this.forms[i].chooseColor(elColor, elNum);
  }
}


OIRDesignForms.prototype.onchange = function()
{
  var i;
  formOK = true;
  subtotal = 0;
  
  for (i = 0; i < this.forms.length; i++)
  {
    this.forms[i].onchange();
  }

  for (i = 0; i < this.forms.length; i++)
  {
    this.forms[i].updateQty();
  }

  for (i = 0; i < this.forms.length; i++)
  {
    subtotal += this.forms[i].updateSubtotal();
  }

  for (i = 0; i < this.forms.length; i++)
  {
    this.forms[i].cache();
  }
  
  if (this.form.subtotal != null)
  {
    this.form.subtotal.value = "$"+this.fmtMoney(subtotal);
  }
}

OIRDesignForms.prototype.onsubmit = function()
{
  var i;
  formOK = true; 

  for (i = 0; i < this.forms.length; i++)
  {
    this.forms[i].formOK = formOK;
    formOK = formOK && this.forms[i].onsubmit();
  }

  return formOK;
}

OIRDesignForms.makeQtys = function()
{
  OIRDesignForms.qtys = new Array();
  OIRDesignForms.qtys['16'] = 50;
  OIRDesignForms.qtys['1'] = 100;
  OIRDesignForms.qtys['2'] = 200;
  OIRDesignForms.qtys['8'] = 300;
  OIRDesignForms.qtys['9'] = 400;
  OIRDesignForms.qtys['3'] = 500;
  OIRDesignForms.qtys['10'] = 600;
  OIRDesignForms.qtys['11'] = 700;
  OIRDesignForms.qtys['12'] = 800;
  OIRDesignForms.qtys['13'] = 900;
  OIRDesignForms.qtys['4'] = 1000;
  OIRDesignForms.qtys['14'] = 1500;
  OIRDesignForms.qtys['15'] = 2000;
  OIRDesignForms.qtys['5'] = 2500;
  OIRDesignForms.qtys['6'] = 5000;
  OIRDesignForms.qtys['7'] = 10000;
}

OIRDesignForms.getQty = function(id)
{
  return OIRDesignForms.qtys[id];
}

OIRDesignForms.prototype.fmtMoney = function(v)
{
  if (typeof(v) == 'number')
  {
    v = v.toString();
  }
  
  if (v.replace != null)
  {
    v = v.replace(/\.([0-9])$/, ".$1" + "0");
    v = v.replace(/^\./, "0.");
    v = v.replace(/^([0-9]+)$/, "$1" + ".00");
    v = v.replace(/(\.[0-9]{2}).+$/, "$1");
  }
  return v;
}

OIRDesignForms.makeQtys();
