var elswitch = {
  start: function()
  {
    svalues = new Array();

    $$('.switch').each(function (e) {
      Event.observe(e, 'click', function() {
        if (svalues[e.getAttribute('name')] != e.value)
        {
          svalues[e.getAttribute('name')] = e.value;
          elswitch.doswitch(e.value);
          if ($(e).getAttribute('rel'))
          {
            new Ajax.Updater('preview_ajax', $(e).getAttribute('rel'), {
              parameters: Form.serialize(this.form)
            });
          }
        }
      });
    });

    $$('.switch').each(function (e) {
      if (e.checked)
      {
        elswitch.doswitch(e.value);
        svalues[e.getAttribute('name')] = e.value;
      }
    });
  },
  doswitch: function(e)
  {
    switch(e)
    {
      case '0':
          $$('.switch_element').each(function (e) {
            $(e).writeAttribute('disabled', true);
          });
          $$('.switch_element_invert').each(function (e) {
            $(e).writeAttribute('disabled', false);
          });
        break;
      case '1':
          $$('.switch_element').each(function (e) {
            $(e).writeAttribute('disabled', false);
          });
          $$('.switch_element_invert').each(function (e) {
            $(e).writeAttribute('disabled', true);
          });
        break;
    }

    $$('#paying_form .info').each(function (e) {
      if (e.visible()) new Effect.SlideUp(e, { queue: 'front' , duration: 0.5});
    });

    if ($('info_' + e)) new Effect.SlideDown($('info_' + e), { queue: 'end' });
  }
}

var svalues = new Array();

Event.observe(window, 'load', elswitch.start);