function Date2Str(dd) { 
  var Day = (100 + dd.getDate())+'.' ;		// add 100 because leading zero
  var Mon = (100 + dd.getMonth()+1)+'.' ;	// add 100 because leading zero
  if (browser.NS) {
	return (Day.substring(1,4)+Mon.substring(1,4)+(dd.getYear()+ 1900)) ;
  }
  else {
	return (Day.substring(1,4)+Mon.substring(1,4)+(dd.getYear()+ ((dd.getYear()<40) ? 2000 : ((dd.getYear()<100) ? 1900 : 0)))) ;
  }
}
function EoMonth(DateStr) { 
  var da = DateStr.split('.') ; 		// da[0] = day, da[1] = month, da[2] = year
  if ((da[2]-0)<20) da[2] = (2000+(da[2]-0))+"" ;// if year less 20 it must be in 2000
  var dd = new Date(new Date(da[2],da[1],1)-1);	// remember month in java is from 0 to 11
						// EndOfMonth is first of next month -1
  return Date2Str(dd);
}
function BoMonth(DateStr) { 
  var da = DateStr.split('.') ;
  if ((da[2]-0)<20) da[2] = (2000+(da[2]-0))+"" ;
  var dd = new Date(new Date(da[2],--da[1],1));
  return Date2Str(dd);
}
function TestDate(DateStr) { 
  if (DateStr == "") { return "" } ;
  var da = DateStr.split('.') ;
  if ((da[2]-0)<20) da[2] = (2000+(da[2]-0))+"" ;
  var dd = new Date(da[2],--da[1],da[0]) ;
  if (isNaN(dd)) { alert("Fehler in der Eingabe \n" + DateStr); return DateStr } ;
  return Date2Str(dd);
}
function InpTestDate(element) { 
  if  (element.value == "") 
	element.value = element.defaultValue ;
  else
	element.value = TestDate(element.value);
}
function TestNum(NumStr,Nkst) { 
  var Val1, VZ, Int1, Int2, DezStr ;
  Val1 = (parseFloat( NumStr) * 1 * Math.pow(10,Nkst)) ;
  if (isNaN(Val1)) { 
	alert("Fehler in der Eingabe \n" + NumStr); 
	return NumStr 
  } ;
  (Val1 < 0) ? VZ = "-" : VZ = "" ;
  Int2 = Val1 % (1 * Math.pow(10,Nkst)) ;
  Int1 = (Val1 - Int2) / (1 * Math.pow(10,Nkst)) ;
  DezStr = Math.abs(Int2) + 1 * Math.pow(10,Nkst) + ' ';	// add leading zeros
  return VZ + Math.abs(Int1) + '.' + DezStr.substring(1,Nkst+1) ;
}
function InpTestNum(element,Nkst) {
  element.edit = true ;
  if  (element.value == "") 
	element.value = element.defaultValue ;
  else
	element.value = TestNum(element.value,Nkst);
}
function AddNum(Num1Str,Num2Str,Nkst) { 
  var Val1, VZ, Int1, Int2, DezStr ;
  Val1 = (parseFloat( Num1Str) * 1 * Math.pow(10,Nkst)) + (parseFloat( Num2Str) * 1 * Math.pow(10,Nkst)) ;
  if (isNaN(Val1)) { 
	alert("Fehler in der Eingabe \n" + NumStr); 
	return NumStr 
  } ;
  (Val1 < 0) ? VZ = "-" : VZ = "" ;
  Int2 = Val1 % (1 * Math.pow(10,Nkst)) ;
  Int1 = (Val1 - Int2) / (1 * Math.pow(10,Nkst)) ;
  DezStr = Math.abs(Int2) + 1 * Math.pow(10,Nkst) + ' ';	// add leading zeros
  return VZ + Math.abs(Int1) + '.' + DezStr.substring(1,Nkst+1) ;
}
function SubNum(Num1Str,Num2Str,Nkst) { 
  var Val1, VZ, Int1, Int2, DezStr ;
  Val1 = (parseFloat( Num1Str) * 1 * Math.pow(10,Nkst)) - (parseFloat( Num2Str) * 1 * Math.pow(10,Nkst)) ;
  if (isNaN(Val1)) { 
	alert("Fehler in der Eingabe \n" + NumStr); 
	return NumStr 
  } ;
  (Val1 < 0) ? VZ = "-" : VZ = "" ;
  Int2 = Val1 % (1 * Math.pow(10,Nkst)) ;
  Int1 = (Val1 - Int2) / (1 * Math.pow(10,Nkst)) ;
  DezStr = Math.abs(Int2) + 1 * Math.pow(10,Nkst) + ' ';	// add leading zeros
  return VZ + Math.abs(Int1) + '.' + DezStr.substring(1,Nkst+1) ;
}

function SelectURL(URL){
window.location.href = URL.options[URL.selectedIndex].value;	// change to selected page
}

function ChgImg(IM,SR) {
	document[IM].src = SR ;
	return true;
}

function ChgLyImg(LY,IM,SR) {
	document[LY].document[IM].src = SR ;
	return true;
}

function PopupPic(PicSrc) {
  F = window.open(PicSrc,"Popup","width=530,height=450,scrollbars");
  X = F.focus();
}

function lastMod() {
	var x = new Date (document.lastModified);
	Modif = new Date(x.toGMTString());
	Year = takeYear(Modif);
	Month = Modif.getMonth();
	Day = Modif.getDate();
	Mod = (Date.UTC(Year,Month,Day,0,0,0))/86400000;
	x = new Date();
	today = new Date(x.toGMTString());
	Year2 = takeYear(today);
	Month2 = today.getMonth();
	Day2 = today.getDate();
	now = (Date.UTC(Year2,Month2,Day2,0,0,0))/86400000;
	daysago = now - Mod;
	if (daysago < 0) return '';
	unit = 'days';
	if (daysago > 730)
	{
		daysago = Math.floor(daysago/365);
		unit = 'years';
	}
	else if (daysago > 60)
	{
		daysago = Math.floor(daysago/30);
		unit = 'months';
	}
	else if (daysago > 14)
	{
		daysago = Math.floor(daysago/7);
		unit = 'weeks'
	}
	var towrite = '';
	towrite += 'Page last changed ';
	if (daysago == 0) towrite += 'today';
	else if (daysago == 1) towrite += 'yesterday';
	else towrite += daysago + ' ' + unit + ' ago';

	towrite += '.';
	return towrite;
}

function takeYear(datum) {
	x = datum.getYear();
	var y = x % 100;
	y += (y < 38) ? 2000 : 1900;
	return y;
}

var keepstatic=1 //specify whether menu should stay static 0=non static (works only in IE4+)
//var menucolor="#009900" //specify menu color
//var submenuwidth=150 //specify sub menus' color

var browser = new Object () ;
  browser.NS = false ;
  browser.IE = false ;
  if (navigator.appName.indexOf("Netscape") != -1) browser.NS = true ;
  else if (navigator.appName.indexOf("Microsoft") != -1) browser.IE = true ;

