function _getCustomData(id,key)
{
  $("shop.cart["+key+"][custom]").value = "Lieferdatum: "+ $F("Abholdatum");
  if($F("Wunschtext").length > 3)
  {
    $("shop.cart["+key+"][custom]").value += "\nGlückwunschkarte:\n" + $F("Wunschtext");
  }
  return true;
}
function changeHandler(obj,max,updateid)
{
  MAX = max;
  if(obj.value.length>MAX)
  {
    obj.value = obj.value.slice(0,MAX);
  }
  document.getElementById(updateid).innerHTML = MAX-obj.value.length;
}
function updateField()
{
  var netscapeFix = dat.getYear();
  if (netscapeFix<2000)
  {
  	netscapeFix += 1900;
  }
  mon=dat.getMonth()+1;
  document.forms['order'].elements["Abholdatum"].value=dat.getDate()+'.'+mon+'.'+netscapeFix;
}
function addToDate(direction)
{
  var tempDate = new Date();
  tempDate.setTime(dat.getTime());
  do
  {
   tempDate.setDate(tempDate.getDate()+direction);
  } while (((tempDate>=validFrom)&&(direction<0)||(direction>0))&&(isHolidayOrSunday(tempDate)));
  if ((tempDate>=validFrom)&&(!isHolidayOrSunday(tempDate))) // valid
   dat.setTime(tempDate.getTime());
}
 // initialization
 var datum=new Date();
 var netscapeFix = datum.getYear();
 if (netscapeFix<2000) netscapeFix += 1900;
 var tage=netscapeFix*365+(datum.getMonth()+1)*12+datum.getDate();

 if (datum.getHours()<8) {
  dat = new Date(netscapeFix,datum.getMonth(),datum.getDate()-1); // ab nächsten Werktag (inkl. heute)
  validFrom = new Date(netscapeFix,datum.getMonth(),datum.getDate()); // ab heute
 } else if(16 <= datum.getHours() )
 {
	 dat = new Date(netscapeFix,datum.getMonth(),datum.getDate()+1);
   validFrom = new Date(netscapeFix,datum.getMonth(),datum.getDate()+2); // not deliverable anymore
 } else {
  dat = new Date(netscapeFix,datum.getMonth(),datum.getDate()); // ab nächsten werktag (exkl. heute)
  validFrom = new Date(netscapeFix,datum.getMonth(),datum.getDate()+1); // ab morgen
 }
addToDate(1);
