function isFeiertag(pDt){
	var v = new Array();
	
	v[0] = new Date(2009, 9, 3);
	v[1] = new Date(2009, 11, 24);
	v[2] = new Date(2009, 11, 25);
	v[3] = new Date(2009, 11, 26);
	v[4] = new Date(2010, 0, 1);
	
	for(var i = 0; i < v.length; i++){
		if(v[i].getDate() == pDt.getDate() && v[i].getMonth() == pDt.getMonth() && v[i].getFullYear() == pDt.getFullYear())
		  return true;
	}
	return false;
}
function isMappingDate(pDt){
	var result = true;
	
	if(pDt.getDay() == 6 || pDt.getDay() == 0)
	  return false;
	if(isFeiertag(pDt))
	  return false;
	return true;
}

function getPreviousDate(pDt){
	var d = pDt.getDate();
	var m = pDt.getMonth();
	var y = pDt.getFullYear();
	
	if(d > 1)
	  d = d - 1;
	else {
		if(m == 0){
			d = 31;
			m = 11;
			y = y - 1;
		}
		if(m == 2){ // zurück zum Februar
				m = 1;
			if(y % 400 == 0) 
				d = 29;
			else if(y % 100 == 0)
				d = 28;
			else if(y % 4 == 0)
				d = 29;
			else
				d = 28
		} else if(m == 4 || m == 6 || m == 8 || m == 10){
			d = 30;
			m = m - 1;
		} else if(m == 1 || m == 3 || m == 5 || m == 7 || m == 9 || m == 11){
			d = 31;
			m = m - 1;
		}
	}
	return new Date(y, m, d);
}
function getFDWHDate(){
	var dt = new Date();
	var n = 0;

  while (n < 2) {
  	dt = getPreviousDate(dt);
  	if(isMappingDate(dt))
  	  n = n + 1;
  }
  return dt;
}