
function KrebsLocalAddonsBooking() {
  
  var cals  = new Object;
  var input = new Object;

  var base = 'KrebsLocalAddonsBooking.';

  this.init = function(ident, arr_input, dep_input) {
    // in welche felder soll der konvertierte wert geschrieben werden?
    if (!arr_input) arr_input = base+ident+'.arrival';
    if (!dep_input) dep_input = base+ident+'.departure';

    input[ident] = [ arr_input, dep_input ];

    // popupkalender initialisieren
    var cal_arrive = new calendar3(document.forms[base+ident].elements[base+ident+'._arrival'], 
      function(){ KrebsLocalAddonsBooking.refreshArrival(ident) } );

    var cal_depart = new calendar3(document.forms[base+ident].elements[base+ident+'._departure'], 
      function(){ KrebsLocalAddonsBooking.refreshDeparture(ident) } );

    cals[ident] = [ cal_arrive, cal_depart ];
  }

  this.popupArrival = function(ident) {
    if (!cals[ident]) return;

    cals[ident][0].popup();
  }

  this.popupDeparture = function(ident) {
    if (!cals[ident]) return;

    cals[ident][1].popup();
  }

  this.refreshArrival = function(ident) {
    if (!input[ident]) return;

    var date_val = $(base+ident+'._arrival').value;

    var elems = date_val.split("-");
    var datum = elems[2]+'.'+elems[1]+'.'+elems[0];

    $(input[ident][0]).value = datum;
  };

  this.refreshDeparture = function(ident){
    if (!input[ident]) return;

    var date_val = $(base+ident+'._departure').value;

    var elems = date_val.split("-");
    var datum = elems[2]+'.'+elems[1]+'.'+elems[0];

    $(input[ident][1]).value = datum;
  };
};

var KrebsLocalAddonsBooking = new KrebsLocalAddonsBooking();

Event.observe(document, "dom:loaded", function(){ 
  $$('form.KrebsLocalAddonsBooking').each(function(form) {
    var key = form.name.replace(/KrebsLocalAddonsBooking\./, "");

    KrebsLocalAddonsBooking.init(key);
  });
});

