function dummy()
{
}

// Prüft, ob "field" eine Zahl enthaelt. Ist dies nicht der Fall, wird die Fehlermeldung ausgegeben.
//
function Number(field, error)
{ if ( (isNaN(parseFloat(field.value)))||(field.value.indexOf(",")>-1) )
  {alert(error);field.focus();return false;}
  else
  {return true;}
};


// Prüft, ob "field" NICHT leer ist. Ist dies nicht der Fall, wird die Fehlermeldung ausgegeben.
//
function Empty(field,error)
{
  /*
   * progressive ( prepareAppletsForSubmit() causes JS-Error on IE5.5!!! )
   */
  // prepareAppletsForSubmit();
  // if((field.value == "") || (field.value == "##base64##")) {alert(error);if(field.type != "hidden") { field.focus(); };return false;} else {return true;}
  /*
   * conservative
   */
  if( (field.value == "") || (field.value == "##base64##") ) {alert(error);if(field.type != "hidden") { field.focus(); };return false;} else {return true;}
}


// Prüft, ob "field" eine gültige Email Adresse enthaelt. Ist dies nicht der Fall, wird die Fehlermeldung ausgegeben.
//
function Email(field,error)
{ if(field.value.indexOf("@")<1) {alert(error);field.focus();return false;} else {return true;}};


// Prüft, ob "n1" in "field" enthalten ist. Ist dies nicht der Fall, wird die Fehlermeldung ausgegeben.
//
function Contain(field,n1,error)
{ if(field.value.indexOf(n1)<0) {alert(error);field.focus();return false;} else {return true;}};


// Prüft, ob "n1" die gleiche Zeichenkette enthaelt wie "n2". Ist dies nicht der Fall, wird die Fehlermeldung ausgegeben.
//
function Equal(n1,n2,error)
{ if (
      (n1.value.indexOf(n2.value)==0)
    &&(n2.value.indexOf(n1.value)==0)
    &&(n1.value!="")
     )
     {return true;}
else{alert(error);n1.focus();return false;}
}


// Fragt, ob die aktion wirklich durchgeführt werden soll. Parameter sind URL(link), Meldung(meldung)
//



var lastaskforsure ="";
function askforsure(link,meldung)
{
Check = confirm(meldung);
  if(Check) document.location=link;
}


// Prüft ein Checkbox-Array auf selektierten Eintrag
//
function chkBox(field,meldung)
{
 var chk = 0;
 if (field.length == undefined)
 {
  if (field.checked) chk = 1;
 }
 else
 {
  for(i=0;i<field.length;i++) {
  if (field[i].checked) chk = 1;
  }
 }
 if(chk == 0) {
  alert(meldung);
  return false;
 } else return true;
};

// Prüft und korregiert Link mit entsprechendem Zugehörigkeitswert
//
function chk_url(field, field2) {
 if(!field.value == "" || !field2.value == "") {
  if(!field.value == "") {
   if(!(field.value.indexOf("://")>-1)) {
    var sav = field.value;
    var tmp = "http://"+sav;
    field.value = tmp;
   }
  }
  if(field2.value == "") {
   field2.value = field.value;
   return true;
  }
  if(!field2.value == "" && field.value == "") {
   alert("Sie müssen eine Url mit angeben!");
   return false;
  }
 } return true;
};

// Create cookie
//
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

// Read cookie
//
function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

// Testet auf sauberen Namen
//
function Valid(field,meldung)
{
 if(
  (field.value.indexOf("+")>-1)||
  (field.value.indexOf("_")>-1)||
  (field.value.indexOf("-")>-1)||
  (field.value.indexOf("!")>-1)||
  (field.value.indexOf("\"")>-1)||
  (field.value.indexOf("§")>-1)||
  (field.value.indexOf("$")>-1)||
  (field.value.indexOf("%")>-1)||
  (field.value.indexOf("&")>-1)||
  (field.value.indexOf("(")>-1)||
  (field.value.indexOf(")")>-1)||
  (field.value.indexOf("=")>-1)||
  (field.value.indexOf("ß")>-1)||
  (field.value.indexOf("?")>-1)||
  (field.value.indexOf("#")>-1)||
  (field.value.indexOf("'")>-1)||
  (field.value.indexOf("*")>-1)||
  (field.value.indexOf("~")>-1)||
  (field.value.indexOf("@")>-1)||
  (field.value.indexOf("<")>-1)||
  (field.value.indexOf(">")>-1)||
  (field.value.indexOf("²")>-1)||
  (field.value.indexOf("³")>-1)||
  (field.value.indexOf("^")>-1)||
  (field.value.indexOf("°")>-1)||
  (field.value.indexOf("ä")>-1)||
  (field.value.indexOf("ü")>-1)||
  (field.value.indexOf("ö")>-1)||
  (field.value.indexOf("é")>-1)||
  (field.value.indexOf("è")>-1)||
  (field.value.indexOf("ê")>-1)||
  (field.value.indexOf("á")>-1)||
  (field.value.indexOf("à")>-1)||
  (field.value.indexOf("â")>-1)||
  (field.value.indexOf("Ä")>-1)||
  (field.value.indexOf("Ö")>-1)||
  (field.value.indexOf("Ü")>-1)||
  (field.value.indexOf("+")>-1)||
  (field.value.indexOf("/")>-1)
  ){
  alert(meldung);
  field.focus();
  return false;
  }
  else
  {return true;}
}

// Testet auf saubere Email
//
function EmailValid(field,meldung)
{
 if(
  (field.value.indexOf("!")>-1)||
  (field.value.indexOf("\"")>-1)||
  (field.value.indexOf("§")>-1)||
  (field.value.indexOf("$")>-1)||
  (field.value.indexOf("%")>-1)||
  (field.value.indexOf("&")>-1)||
  (field.value.indexOf("(")>-1)||
  (field.value.indexOf(")")>-1)||
  (field.value.indexOf("=")>-1)||
  (field.value.indexOf("ß")>-1)||
  (field.value.indexOf("?")>-1)||
  (field.value.indexOf("#")>-1)||
  (field.value.indexOf("'")>-1)||
  (field.value.indexOf("*")>-1)||
  (field.value.indexOf("~")>-1)||
  (field.value.indexOf("<")>-1)||
  (field.value.indexOf(">")>-1)||
  (field.value.indexOf("²")>-1)||
  (field.value.indexOf("³")>-1)||
  (field.value.indexOf("^")>-1)||
  (field.value.indexOf("°")>-1)||
  (field.value.indexOf("ä")>-1)||
  (field.value.indexOf("ü")>-1)||
  (field.value.indexOf("ö")>-1)||
  (field.value.indexOf("é")>-1)||
  (field.value.indexOf("è")>-1)||
  (field.value.indexOf("ê")>-1)||
  (field.value.indexOf("á")>-1)||
  (field.value.indexOf("à")>-1)||
  (field.value.indexOf("â")>-1)||
  (field.value.indexOf("Ä")>-1)||
  (field.value.indexOf("Ö")>-1)||
  (field.value.indexOf("Ü")>-1)||
  (field.value.indexOf("+")>-1)||
  (field.value.indexOf("/")>-1)
  ){
  alert(meldung);
  field.focus();
  return false;
  }
  else
  {return true;}
}

// Testet auf sauberen Domain-Namen
//
function DomainValid(field,meldung)
{
 if(
  (field.value.indexOf("+")>-1)||
  (field.value.indexOf("_")>-1)||
  (field.value.indexOf("!")>-1)||
  (field.value.indexOf("\"")>-1)||
  (field.value.indexOf("§")>-1)||
  (field.value.indexOf("$")>-1)||
  (field.value.indexOf("%")>-1)||
  (field.value.indexOf("&")>-1)||
  (field.value.indexOf("(")>-1)||
  (field.value.indexOf(")")>-1)||
  (field.value.indexOf("=")>-1)||
  (field.value.indexOf("ß")>-1)||
  (field.value.indexOf("?")>-1)||
  (field.value.indexOf("#")>-1)||
  (field.value.indexOf("'")>-1)||
  (field.value.indexOf("*")>-1)||
  (field.value.indexOf("~")>-1)||
  (field.value.indexOf("@")>-1)||
  (field.value.indexOf("<")>-1)||
  (field.value.indexOf(">")>-1)||
  (field.value.indexOf("²")>-1)||
  (field.value.indexOf("³")>-1)||
  (field.value.indexOf("^")>-1)||
  (field.value.indexOf("°")>-1)||
  (field.value.indexOf("ä")>-1)||
  (field.value.indexOf("ü")>-1)||
  (field.value.indexOf("ö")>-1)||
  (field.value.indexOf("é")>-1)||
  (field.value.indexOf("è")>-1)||
  (field.value.indexOf("ê")>-1)||
  (field.value.indexOf("á")>-1)||
  (field.value.indexOf("à")>-1)||
  (field.value.indexOf("â")>-1)||
  (field.value.indexOf("Ä")>-1)||
  (field.value.indexOf("Ö")>-1)||
  (field.value.indexOf("Ü")>-1)||
  (field.value.indexOf("/")>-1)
  ){
  alert(meldung);
  field.focus();
  return false;
  }
  else
  {return true;}
}



function secureSubmit(formToSubmit)
{
  prepareAppletsForSubmit();
  formToSubmit.submit();
  return true;
}

function prepareAppletsForSubmit()
{
  for (appletIndex=0; appletIndex<document.applets.length; appletIndex++)
  {
		document.applets[appletIndex].getParameter("freeToSubmit");
  }
  // for Mozilla:
  for (appletIndex=0; appletIndex<document.embeds.length; appletIndex++)
  {
        e = document.embeds[appletIndex];
        // first check if embed is an applet!
        if (e.getParameter != null)
        {
		  e.getParameter("freeToSubmit");
		}
  }
}


// checks validity dates against each other
// sorry for the function-name...

  function Versiondates(theform,basename,msg)
  {
   element=theform+"."+basename+"_version_ts_valid_from";
   from = new Date(
    	eval(element+"_year.options["+element+"_year.selectedIndex].value"), // Year
    	eval(element+"_month.options["+element+"_month.selectedIndex].value -1 "), // Month
    	eval(element+"_day.options["+element+"_day.selectedIndex].value") // Day
    	);
   element=theform+"."+basename+"_version_ts_valid_until";
   until = new Date(
    	eval(element+"_year.options["+element+"_year.selectedIndex].value"), // Year
    	eval(element+"_month.options["+element+"_month.selectedIndex].value -1 "), // Month
    	eval(element+"_day.options["+element+"_day.selectedIndex].value") // Day
    	);

   if (from.getTime()<until.getTime()+1)
   return true;
   alert(msg);
   eval(theform+"."+basename+"_version_ts_valid_from_day").focus();
   return false;
  }

  function NoPicture(field,msg)
  {

  	if (field.value==0)
  	 { alert(msg);
  	   return false;
  	  }
  	return true;

  }

  // Testet auf gueltige Zeichen
  function isStringValid(string, validChars)
  {
	for (i = 0; i < string.length; i++)
	{
		if (validChars.indexOf(string.charAt(i)) == -1)
		{
			return false;
		}
	}

	return true;
  }

  function ValidString(field,valid,msg)
  {
	if (isStringValid(field.value,valid))
	 return true;
	else
	{
	 alert(msg);
	 field.focus();
	 return false;
	}
  }

//
// liefert -1 wenn nichts gewaehlt ist, sonst den Index (beginnt mit 0)
// der gewaehlten Option
//
function getSelectedIndex(field)
{
  for(i=0;i<field.length;i++)
  {
    if (field[i].checked)
      return i;
  }
   return -1;
}

//
// liefert true oder false (true, wenn Radio/Checkbox mind. eine Selektion hat)
//
//
function hasSelection(field)
{

  for(i=0;i<field.length;i++)
  {

    if (field[i].checked)
      return true;
  }
   return false;
}
function checkSelection(field,msg)
{
 	if (!hasSelection(field))
 	{
 	  alert(msg);
 	  return false;
 	}
 	else
 	  return true;
}


//
// liefert true oder false (true, wenn feld leer ist)
//
function isEmpty(field)
{
	return field.value == "";
}

//
// setzt alle check/radio-boxen wieder auf "nicht gecheckt" zurueck.
//
function clearSelection(field)
{
  for(i=0;i<field.length;i++)
  {
    if (field[i].checked)
      field[i].checked=false;
  }
}

function isEmail(field,error)
{
 var s = field.value;
 var a = false;
 var res = false;
 if(typeof(RegExp) == 'function')
 {
  var b = new RegExp('abc');
  if(b.test('abc') == true){a = true;}
  }

 if(a == true)
 {
  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9äÄöÖüÜß\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
  res = (reg.test(s));
 }
 else
 {
  res = (s.search('@') >= 1 &&
         s.lastIndexOf('.') > s.search('@') &&
         s.lastIndexOf('.') >= s.length-5)
 }

 if (res == false)
 {
	alert(error);
	field.focus();
 }

 return(res);
}

function isReferenceSet(field, msg)
{
  	if (field.value <= 0)
  	 { alert(msg);
  	   return false;
  	  }
  	return true;
}


function isLink(field,error)
{
 var s = field.value;
 if (s.length==0)
  return true;

 var res = false;
 res = (s.search(':') >= 1 )

 if (res == false)
 {
	alert(error);
	field.focus();
 }

 return(res);
}