function execute(fx, action) {
  if(action == 'in') {
    fx.slideIn();
  }
    
  else if(action == 'out') {
    fx.slideOut();
    
    if(fx.element.getElementsByTagName("select")[0])
      fx.element.getElementsByTagName("select")[0].selectedIndex = 0;
    else if(fx.element.getElementsByTagName("input")[0] && (fx.element.getElementsByTagName("input")[0].getAttribute("type") == "text" || fx.element.getElementsByTagName("input")[0].getAttribute("type") == "password"))
      fx.element.getElementsByTagName("input")[0].value = "";
  }

}


function calcAndWritePrice() {
  // Typart ermitteln
  if($('type').getValue() == "intensive")
    var type = "intensive";
  else
    var type = "standard";
    
  // Ermaessigung ermitteln
  if(($defined($('a_signup_typeg')) && $('a_signup_typeg') == this) || ($defined($('a_reduce')) && $('a_reduce').getValue() != "0"))
    var reduce = 1;
  else
    var reduce = 0; 

  new Ajax('/sprachschulen.php', {
    method: 'get',
    data: 'ajax=1&action=getPeriodPrice&id='+$('a_period').getValue()+'&reduce='+reduce+'&type='+type,
    update: $('sum_container'),
    onRequest: function () { $('sum_container').setText('Preis wird berechnet...'); },
    onFailure: function () { $('sum_container').setText('Fehler bei Preisberechnung aufgetreten!'); }
  }).request();
}


function checkElements() {
  $('a_payment_method').fireEvent('change');
  $('a_period').fireEvent('change');
}

window.addEvent('domready', function() {
  if ($defined($('ktodetails')))
    var ktoDetails = new Fx.Slide('ktodetails').hide();

  // Betrag
  $('a_period').addEvent('change', calcAndWritePrice);
  
  // ggf. Ermaessigungspreis-Events hinzufuegen
  if ($defined($('ktodetails'))) {
	  if($defined($('a_signup_typep')))
	    $('a_signup_typep').addEvent('change', calcAndWritePrice);
	  if($defined($('a_signup_typeu')))
	    $('a_signup_typeu').addEvent('change', calcAndWritePrice);
	  if($defined($('a_signup_typeg')))
	    $('a_signup_typeg').addEvent('change', calcAndWritePrice);
	  if($defined($('a_reduce')))
	    $('a_reduce').addEvent('change', calcAndWritePrice);
  }
  
  
  // Kontodatencontainer
  $('a_payment_method').addEvent('change', function() {
    var action = 'out';

    // Wenn Zahlungsart "Einzugserm&auml;chtigung" ist werden Kontidetails angezeigt
    if($('a_payment_method').getValue() == "einzug") 
      action = 'in'
      
    if ($defined(ktoDetails))
      execute(ktoDetails, action);
  });
  
  // ggf. ausgefuellte Formulafelder anzeigen
  if ($defined($('ktodetails')))
    checkElements();  
});
