var Countdown=new Class({
  Implements:[Events,Options],
  Options: {
    'Display':'',
    'End':'',
    'Delay':500,
    'Start':false
  },
  initialize: function(o){
    this.setOptions(o);
    
    if(!o.End) console.log('Countdown ohne Endzeit');
    if(!o.Display) console.log('Countdown ohne Display');
    if(o.End<new Date()) console.log('Countdown ist beendet');
    
    this.Timer=new Object;
    var ok=o.End&&o.Display&&o.End>new Date();
    
    if(this.options.Start) this.Start();
    
    if(typeof this.options.Display!='object')this.options.Display=$(this.options.Display);
    this.options.Display.setStyles({
      'font-size':'30pt',
      'text-align':'center',
      'color':'#9B1236',
      'padding-top':'50px',
      'font-weight':'bold'
    });
  },
  Start:function(){var i=this; this.Timer=setInterval(function(){i.DoCD()},this.options.Delay);},
  Stop:function(){this.Timer=clearInterval(this.Timer);},
  DoCD:function(){
    var 
      s=new Date(),
      e=this.options.End,
      y=0,m=0,d=0, 
      hour=0,min=0,sec=0,
      ok=this.options.End&&this.options.Display&&s<e;

    if(ok){
      while(s<e){y++;s.setFullYear(s.getFullYear()+1);} s.setFullYear(s.getFullYear()-1); y--;
      while(s<e){m++; s.setMonth(s.getMonth()+1);} s.setMonth(s.getMonth()-1); m--;
      while(s.getTime()+(24*60*60*1000)<e){d++; s.setTime(s.getTime()+(24*60*60*1000));}
      hour=Math.floor((e-s)/(60*60*1000)); s.setTime(s.getTime()+hour*60*60*1000);
      min=Math.floor((e-s)/(60*1000)); s.setTime(s.getTime()+min*60*1000);
      sec=Math.floor((e-s)/1000);

      (y!=1&&y>0)?y=y+" Jahre,  ":(y>0?y=y+" Jahr,  ":"");
      (m!=1&&m>0)?m=m+" Monate,  ":(m>0?m=m+" Monat,  ":"");
      (d!=1&&d>0)?d=d+" Tage,  ":(d>0?d=d+" Tag,  ":"");
      (hour!=1)?hour=hour+":":hour=hour+":";
      if(min<10)min="0"+min;
      (min!=1)?min=min+":":min=min+":";
      if(sec<10)sec="0"+sec;
      (sec!=1)?sec=sec:sec=sec;

      this.options.Display.innerHTML=
        "Wir sind bald wieder f&uuml;r Sie da<br>Relaunch: "+
        (y!=""?y:"")+
        (m!=""?m:"")+
        (d!=""?d:"")+
        (hour+min+sec)+
        "<br><br><h5>Ihre Aurea Finanzgruppe</h5>";
    }
  }
});
