taglang=60*60*24*1000;
dlanguage='de';

function opencal (t,calf) {
 field_to_set=t;
 field_old_value=t.value;
 cal=window.open(calf,"Date","width=200,height=200,resizable=no");
}

function GetDate() {
 return field_old_value;
}

function NewDate(d) {
 field_to_set.value=d;
 if (field_to_set.name == 'von') {
  setzdfeld(field_to_set.form.bis,date(d),7);
  setzifeld(field_to_set.form.dauer,7);
 }
 if (field_to_set.name == 'bis') {
  setzifeld(field_to_set.form.dauer,duration(date(field_to_set.form.von.value),date(d)));
 }
}

function date (ds) {
 var s=new String(ds);
 var a=new Array(3);
 if (s.indexOf('.')>0) {
  a=s.split('.');
  a=a.reverse();
 } else {
  a=s.split('/');
 }
 return new Date(a[0],a[1]-1,a[2]);
}

function dformat (d) {
 var jahr=d.getYear();
 var monat=d.getMonth()+1;
 var tag=d.getDate();
 if (jahr<500) {jahr=jahr+1900;}
 if (monat<10) {monat='0'+monat;}
 if (tag<10) {tag='0'+tag;}
 if (dlanguage == 'de') {
  return tag+'.'+monat+'.'+jahr;
 } else {
  return jahr+'/'+monat+'/'+tag;
 }
}

function setzdfeld(feld,d,dayslater) {
 var w=new Date(d.getTime()+dayslater*taglang);
 feld.value=dformat(w);
 if (feld.type=='text') {
  feld.focus();
 }
}

function setzifeld(feld,n) {
 if (feld.type=='text') {
  feld.value=n;
  feld.focus();
 }
 if (feld.type=='hidden') {
  feld.value=n;
 }
 if (feld.type=='select-one') {
//  for (var i=1; i<=feld.options.length; i++) {
//   if (feld.options[i].value==n) {
//    feld.options[i].selected=true;
//   }
//  }
  feld.selectedIndex=n-1;
 }
}

function duration(avon,abis) {
 var di=Math.floor((abis.getTime()-avon.getTime())/taglang);
 return di;
}

self.NewDate=NewDate;
self.GetDate=GetDate;
