Function.prototype.Timer = function (interval, calls, onend) {
  var count = 0;
  var payloadFunction = this;
  var startTime = new Date();
  var callbackFunction = function () {
    return payloadFunction(startTime, count);
  };
  var endFunction = function () {
    if (onend) {
      onend(startTime, count, calls);
    }
  };
  var timerFunction =  function () {
    count++;
    if (count < calls && callbackFunction() != false) {
      window.setTimeout(timerFunction, interval);
    } else {
      endFunction();
    }
  };
  timerFunction();
};





function leadingzero (number) {
    return (number < 10) ? '0' + number : number;
}





function countdown (seconds, target) {

  var element = document.getElementById(target);
  
  //Zeit, die vergehen muss, damit Content eingeblendet wird. Angabe in 1/100 Sekunden!
  var waitTime=100;
  
  //Gesamtlaufzeit zwischenspeichern für Porzentrechnung
  var orgSec=seconds;
  
  var calculateAndShow = function () {
    if (seconds > 0) {

	  var alpha=1-(seconds/(orgSec-waitTime));
	  
	  if (seconds<(orgSec-waitTime) && alpha < 0.85) {
	 	 element.style.opacity=alpha;
		 element.style.filter="alpha(opacity="+(alpha*100)+")";
	  }
	  
      seconds--; 
    } else {
      return false;
    }
  };
  var completed = function () {
	element.style.opacity="0.85";
	element.style.filter="alpha(opacity = 85)";
	element.style.display = "block";
	document.getElementById('c_text').style.display="block";
	document.getElementById('applet').style.display="block";
  };
  //Ein Schleifendurchgang dauert 10 Milisekunden
  calculateAndShow.Timer(10, Infinity, completed);
}

//Angabe in 1/100 Sekunden!
window.onload = function () {
  new countdown(115, 'content_fest');
  //new countdown(115, 'c_text');
};