function fixYear(numb) {

	numlen=numb.length;
	pos=numlen-2;
	retstr="20"+numb.substr(pos,2);
	return (retstr);
}

function fixZero (str) {
	str=String(str);
	str= (str.length==1) ? "0"+str : str;
	return (str);
}






function doNewDetailSubmit() {
	zeitmodus=1;
	frm = document.forms["search"];
	// wird an den Iframe als "c=" übergeben
	//frm.co.value="";
	//frm.co.value = "66109;!2126273-;72761-";
	frm.quer.value=escape(frm.que.value);

	was=frm.was.value;
	if (was) {
		frm.co.value = frm.co.value+";"+was;
	}
	// datum zusammenbasteln
	for (i=0;i<2;i++) {

		if (frm.zeitmodus[i].checked==true) {
			zeitmodus=parseInt(frm.zeitmodus[i].value);
		}
	}

	if (zeitmodus==2) {
		vv=frm.cal_start.value.split(".");
		bv=frm.cal_end.value.split(".");

		if (vv[0].length ==1) {vv[0]="0"+vv[0];}
		if (bv[0].length ==1) {bv[0]="0"+bv[0];}
		if (vv[1].length ==1) {vv[1]="0"+vv[1];}
		if (bv[1].length ==1) {bv[1]="0"+bv[1];}
		d_von_val = vv[0] + "." + vv[1] + "." + vv[2];
		d_bis_val = bv[0] + "." + bv[1] + "." + bv[2];
		// durch den datumsvalidater laufen, egal ob input oder nicht
		d_von_mil = validDate(d_von_val);
		d_bis_mil = validDate(d_bis_val);
	if (vv.length==3 && bv.length==3) {
		// wurde das von datum ausgefuellt?
		d_von_set = vv[0].length > 0 && vv[1].length > 0 && vv[2].length > 0;
	// wurde das bis datum ausgefuellt?
		d_bis_set = bv[0].length > 0 && bv[1].length > 0 && bv[2].length > 0;
	} else {
		if (vv.length!=3 ) {
			d_von_set=true;
		}
		if (bv.length!=3 ) {
			d_bis_set=true;
		}
	}

		// eingegebenes startdatum ist falsch
	  if (d_von_set && isNaN(d_von_mil)) {
			alert("Kein korrektes Startdatum eingegeben!");
			return false;
		}

		// eingegebenes enddatum ist falsch
		if (d_bis_set && isNaN(d_bis_mil)) {
			alert("Kein korrektes Enddatum eingegeben!");
			return false;
		}

		// enddatum darf nicht for startdatum liegen
		if (d_von_set && d_bis_set
				 && d_von_mil > d_bis_mil) {
			alert("Enddatum darf nicht vor Startdatum liegen!");
			return false;
		// startdatum an suchparamenter uebergeben
		// und kalender setzen
	}
		if (d_von_set && !isNaN(d_von_mil)) {

			frm.cal_start.value = d_von_val;

		//		frm.cal.value = formatInteger(von_monat) + "." + von_jahr;
		}

		// ennddatum ans suchparameter uebergeben
		if (d_bis_set && !isNaN(d_bis_mil)) {
			frm.cal_end.value = d_bis_val;
		}
		//if (d_von_val == d_bis_val) {
		//	frm.cal_day.value = d_bis_val;
		//}


	} else {
		Tag=parseInt(Number(frm.today.value.substr(0,2)));
		Monat=parseInt(Number(frm.today.value.substr(3,2)))-1;
		Jahr=parseInt(Number(frm.today.value.substr(6,4)));
		if (Date) {
		// wenn Date-Object im Browser vorhanden
		inSiebenTagen=Tag+7;
		today = new Date(Jahr,Monat,Tag);
		tomorrow = new Date(Jahr,Monat,(Tag+1));
		sevenday = new Date(Jahr,Monat,inSiebenTagen);
		if (today.getDay() != 0 && today.getDay() != 6) {
			c=today.getDay();
			saDiff = 6 - c;
			soDiff = saDiff + 1;
			saturday = new Date(Jahr,Monat,(Tag+saDiff));
			sunday = new Date(Jahr,Monat,(Tag+soDiff));
		} else {
			if (today.getDay() == 6) {
			saturday = today;
			sunday = new Date(Jahr,Monat,(Tag+1));
			}
			if (today.getDay() == 0) {
			saturday = new Date(Jahr,Monat,(Tag-1));
			sunday = today;
			}
		}


		saturdayDay =fixZero(saturday.getDate());
		sundayDay =fixZero(sunday.getDate());
		heuteDay = fixZero(Tag);
		tommorowDay= fixZero(tomorrow.getDate());
		sevenDay= fixZero(sevenday.getDate());
		saturdayMonth =fixZero(saturday.getMonth()+1);
		sundayMonth =fixZero(sunday.getMonth()+1);
		heuteMonth = fixZero(Monat+1);
		tommorowMonth= fixZero(tomorrow.getMonth()+1);
		sevenMonth= fixZero(sevenday.getMonth()+1);

		saturday_STR = saturdayDay+"."+saturdayMonth+"."+fixYear(String(saturday.getYear()));
		sunday_STR = sundayDay+"."+sundayMonth+"."+fixYear(String(saturday.getYear()));
		heute_STR= heuteDay+"."+heuteMonth+"."+Jahr;
		morgen_STR= tommorowDay+"."+tommorowMonth+"."+fixYear(String(saturday.getYear()));
		inSiebenTagen_STR = sevenDay+"."+sevenMonth+"."+fixYear(String(saturday.getYear()));
		}
		frm.today.value=heute_STR;

		wann = currComboVal("wann");
		if (wann == "0") {
		  frm.cal_start.value = "";
			frm.cal_end.value = heute_STR;
			frm.cal_start.value = heute_STR;
		} else if (wann == "1") {
			frm.cal_end.value = morgen_STR;
			frm.cal_start.value = morgen_STR;



		} else if (wann == "2") {
			frm.cal_start.value = saturday_STR;
			frm.cal_end.value =  sunday_STR;

		} else if (wann == "3") {

			frm.cal_start.value = frm.today.value;
			frm.cal_end.value = inSiebenTagen_STR;
		}
	}


	frm.submit();

}
function setZeitmodus(num) {
	frm = document.forms["search"];
	num=num-1;
	frm.zeitmodus[num].checked=true;
}
function dateStringToMillis(s, txto)
{
  var val;
  var dmy = new Array(3);
  var i;
  var j;
  var dmys = s.split( /[^0-9]+/);
  var dmysl = dmys.length;
  if (dmysl < 3)
	{
	  if (dmysl == 2)
		{
		  var month = -1;
		  var matches = s.match( /[\s][^0-9]+[\s]/);
		  if (matches != null)
			{
			  month = parseMonth( matches[0]);
			}
		  if (month >= 0)
			{
			  dmys = new Array( dmys[0], "" + (month + 1), dmys[1]);
			  dmysl = 3;
			}
		  else
			{
			  return (Number.NaN);
			}
		}
	  else
		{
		  return (Number.NaN);
		}
	}
  j = 0;
  for (i = 0; i < dmysl; i++)
	{
	  if (dmys[i].length > 0)
		{
		  dmy[j++] = parseInt( digitsStripLd0( dmys[i]));
		  if (j == 3)
			break;
		}
	}
  if (dmy[2] < 25)
	dmy[2] += 2000;
  else if (dmy[2] < 100)
	dmy[2] += 1900;
  if
	(
	 dmy[1] >= 1 && dmy[1] <= 12 && dmy[0] >= 1
	 &&
	 dmy[0] <=
	 (
	  (dmy[1] == 2)
	  ?
	  (((dmy[2] %4 == 0) && ((dmy[2] % 100 != 0) || (dmy[2] % 400 == 0))) ? 29 : 28)
	  :
	  (30 + (((dmy[1] < 8) ? dmy[1] : (dmy[1] + 1)) % 2))
	  )
	 )
	{
	  val = (new Date( dmy[2], dmy[1] - 1, dmy[0])).getTime();
	  if (txto != null)
		txto.value = ((dmy[0] < 10) ? ("0" + dmy[0]) : dmy[0]) + ((dmy[1] < 10) ? ".0" : ".") + dmy[1] + "." + dmy[2];
	}
  else
	{
	  val = Number.NaN;
	}
  return (val);
}

function validDate(date) {
  if (!date.match(/^\d{1,2}\.\d{1,2}.\d{4}$/)) {
		return Number.NaN;
  }
  return dateStringToMillis(date);
}

function digitsOf( s)
{
  var i = s.search( /[^0-9]/);
  if (i < 0)
	{
	  return (s);
	}
  else
	{
	  return (s.substring (0, i));
	}
}

function digitsStripLd0( s)
{
  var i = s.search( /[1-9]|[0]$/);
  if (i < 0)
	{
	  return ("");
	}
  else
	{
	  return (digitsOf( s.substring( i, s.length)));
	}
}
function currComboVal(name) {
	obj = document.forms["search"].elements[name];
	if (!obj)
		return;
	return obj.options[obj.selectedIndex].value;
}

function setComboVal(name,pos) {
	obj = document.forms["search"].elements[name];
	if (!obj)
		return;
	obj.options.selectedIndex = pos;
	return;
}

