var ceText_arr = new Array();
var ceTextHeight_arr = new Array();
var ceTextFx_arr = new Array();
var ceTextToggler_arr = new Array();

window.addEvent('domready', init_accordeon);

function init_accordeon() 
{
  ceText_arr = $$('.ce_text, .ce_table, .ce_form');
  
  for(i=0; i<ceText_arr.length; i++)
  {
    ceTextHeight_arr[i] = ceText_arr[i].getStyle('height');

    ceTextFx_arr[i] = new Fx.Tween(ceText_arr[i], 
    {
      unit: 'px',
      duration: 500
    });

    ceTextToggler_arr[i] = new Element('div', {id: 'toggle-'+i});
    ceTextToggler_arr[i].innerHTML = '<a href="javascript:void(1);">[click for more]</a>';
    ceTextToggler_arr[i].inject(ceText_arr[i], 'after');
    ceTextToggler_arr[i].addEvent('click', click_ceTextToggler);
    ceTextToggler_arr[i].addClass('toggler');

    ceText_arr[i].addEvent('click', click_ceText);

    ceTextFx_arr[i].set('height', 101);
    ceText_arr[i].addClass('closed');
  }

  var ceFormError = $$('label.error');
  if(ceFormError.length != 0) {
    var error = ceText_arr.indexOf(ceFormError[0].parentNode.parentNode.parentNode.parentNode);
    ceText_arr[error].fireEvent('click', {target: ceText_arr[error]});

  }

}

function click_ceText(e)
{
  if(ceText_arr.indexOf(e.target) >= 0)
  {
    var target = ceText_arr.indexOf(e.target);
  }
  else if(ceText_arr.indexOf(e.target.parentNode) >= 0)
  {
    var target = ceText_arr.indexOf(e.target.parentNode);
  }
  else if(ceText_arr.indexOf(e.target.parentNode.parentNode) >= 0)
  {
    var target = ceText_arr.indexOf(e.target.parentNode.parentNode);
  }
  else if(ceText_arr.indexOf(e.target.parentNode.parentNode.parentNode) >= 0)
  {
    var target = ceText_arr.indexOf(e.target.parentNode.parentNode.parentNode);
  }
  else if(ceText_arr.indexOf(e.target.parentNode.parentNode.parentNode.parentNode) >= 0)
  {
    var target = ceText_arr.indexOf(e.target.parentNode.parentNode.parentNode.parentNode);
  }


  if(ceText_arr[target].hasClass('closed'))
  {
    ceTextFx_arr[target].start('height', ceTextHeight_arr[target]);

    for(i=0; i<ceText_arr.length; i++)
    {
      if(ceText_arr[i].hasClass('open'))
      {
        ceTextFx_arr[i].start('height', 101);
        ceText_arr[i].removeClass('open');
        ceText_arr[i].addClass('closed');
        ceTextToggler_arr[i].fade('in');
      }
    }

    ceText_arr[target].removeClass('closed');
    ceText_arr[target].addClass('open');
    ceTextToggler_arr[target].fade('out');
  }
}

function click_ceTextToggler(e)
{
    ceText_arr[e.target.parentNode.id.substr(7,2)].fireEvent('click', {target: ceText_arr[e.target.parentNode.id.substr(7,2)]});
}
