function al(client) {
  new_window('/cgi-bin/db/admin/admanliste.cgi?client='+client,'al',0,0);
}
function dxurl(url) {
  var dx = screen.width-20;
  var dy = screen.height-70;
  if (url.indexOf('?')>=0) url += "&";
  else 			   url += "?";
  url += "dx="+parseInt(dx/7)+"&dy="+parseInt(dy/17);
  return url;
}
function new_window(url,name,dx,dy) {
  var top = 5;
  var left = 5;
  dx = screen.width-20;
  dy = screen.height-70;
  open(dxurl(url),name,"resizable=yes,scrollbars=yes,width="+dx+",height="+dy+",top="+top+",left="+left);
}
function hilfe() {
  var ok = false;
  if (document.data)
    if (document.data.modul)
      if (document.data.modul.value != '') {
	new_window('/db/hilfe/'+document.data.modul.value+'.html','hilfe',750,500);
	ok = true;
      }
  if (!ok) alert("Für diesen Modul ist noch keine Hilfe vorhanden.");
}
function dat2zahl(dat) {
	var expr = /(\d+)\.(\d+)\.(\d+)/;
	expr.exec(dat);
	var tag = RegExp.$1*1;
	var monat = RegExp.$2*1;
	var jahr = RegExp.$3*1;
	if (jahr < 100) { jahr += 2000; }
	if (monat < 3) { jahr--; monat += 12; }
	var zahl = Math.floor(jahr*365.25)*1+
	     	   Math.floor((monat+1)*30.6)*1+
	           tag*1+5;
	return zahl;
}
function zahl2dat(zahl) {
	zahl -= 127.25;
	var jahr = Math.floor(zahl/365.25)*1;
	var t= Math.floor((zahl/365.25-jahr)*365.25+0.000001)*1;
	var monat = Math.floor((t+0.4)/30.6+0.000001)*1;
	var tag = ((t+0.4)/30.6-monat)*30.6+1+0.0000001;
	var tag = Math.floor(tag)*1;
	monat = (monat + 2) % 12 + 1;
	if (monat < 3) jahr++;
	if (monat < 10) monat = "0"+monat;
	if (tag < 10) tag = "0"+tag;
	var x = tag+"."+monat+"."+jahr;
	//alert(x);
	return x;
}
function addvon(von,tage,bis,add,min,zeit1,zeit2,vorlauf) {
	var zahl = dat2zahl(von.value);
	var d = new Date();
	var ab = dat2zahl(d.getDate()+"."+(d.getMonth()+1)+"."+d.getYear())+vorlauf*1;
	// "ab" = Tageszahl, ab der frühestens gebucht werden kann
	zahl += add;
	//alert("frühestens ab="+ab+", von="+von.value+", add="+add+", zahl(von+add)="+zahl);
        //alert("addVon: zahl="+zahl+" zeit1="+zeit1+", zeit2="+zeit2);
	if (zahl < ab) {
	  zahl = ab;
	  alert("Hinweis: Der früheste Mietbeginn ist heute + "+vorlauf+" Tage");
	}
	var datum = zahl2dat(zahl);
	von.value = datum;
	var d = dat2zahl(bis.value)-zahl;
	if (d < min) { d = min; bis.value = zahl2dat(zahl+min); }
       	if (zeit1 < zeit2) d++;
        //alert("Tage="+d+", zeit1="+zeit1+", zeit2="+zeit2);
	tage.value = d;
}
function addbis(von,tage,bis,add,min,zeit1,zeit2,vorlauf) {
	var zahl = dat2zahl(bis.value);
	var d = new Date();
	var ab = dat2zahl(d.getDate()+"."+(d.getMonth()+1)+"."+d.getYear())+vorlauf*1;
	// "ab" = Tageszahl, ab der frühestens gebucht werden kann
        //alert("addBis: zahl="+zahl+" zeit1="+zeit1+", zeit2="+zeit2);
	zahl += add;
	var datum = zahl2dat(zahl);
	bis.value = datum;
	var d = zahl-dat2zahl(von.value);
	if (d < min) { 	// Wenn "von" korrigiert werden muss (< min Tage)
	  if (zahl-min < ab) {
	    alert("Hinweis: Der früheste Mietbeginn ist heute + "+vorlauf+" Tage");
	    von.value = zahl2dat(ab); 
	    d = min;
	    bis.value = zahl2dat(ab+d);
	  }
	  else {
	    d = min; 
	    von.value = zahl2dat(zahl-min); 
	  }
	}
       	if (zeit1 < zeit2) d++;
	tage.value = d;
}
function diff(von,tage,bis,min,zeit1,zeit2) {
	if (tage.value >= min) {
	  var zahl = dat2zahl(von.value)*1+((zeit1<zeit2)?tage.value*1-1:tage.value*1);
	  var datum = zahl2dat(zahl);
	  bis.value = datum;
	}
	else {
	  tage.value = min;
	  var datum = zahl2dat(dat2zahl(von.value)*1+((zeit1<zeit2)?min*1-1:min*1));
	  bis.value = datum;
	}
}

