///////////////////////// Abfrage, ob Browser auf Mac läuft

  function IsMac() {
    if (navigator.platform.indexOf("Mac")>-1) {
      return true;
    }
    else {
      return false;
    }
  }
  
///////////////////////// 
 
	function GetVersion() {
	 var version = navigator.appVersion;
	 // Ausgabe für IE anpassen: etwa "5.0" statt "4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"
	 if (IsIE()) {
	  var pattern = /MSIE (\d\.\d+);/;
    if (IsMac()) {
      version = navigator.userAgent;
    }
	  var rs = pattern.exec(version);
	  return RegExp.$1; }
	 return parseFloat(version);
	}

  var NS4 = (navigator.appName == "Netscape" && (GetVersion()<5.0));    // netscape bis Version 4.*
  var IE4 = (IsIE() && (GetVersion()<5.0));                             // IE4 

/////////////////////// Formular-Element focussieren ////////////////

	function FocusAndSelect(fElement, SelectOn)
	{
	 var s = new String(fElement.type);
	 s = s.toUpperCase();

	 if (s == "PASSWORD" || s == "TEXT" || s == "TEXTAREA" || s.indexOf("SELECT")!=-1)
	  {
	   if (IsNetscape || (IsIE && GetVersion >= 4.0)) fElement.focus();
	   if (SelectOn) fElement.select();
	  }
	}
 
/////////////////////// Leerzeichen entfernen ///////////////////////

	function trim (s)
	{
	 if (s == null || s == "") return s;
	
	 var von = 0;
	 var bis = s.length;
	 
	 for (var i = 0; i < s.length; i++)
	  if ( s.charAt(i) == " ") von++
	   else break;
	  
	 if (von == s.length) return ""  
	
	 for (var i = s.length-1; i >= 0 ; i--)
	  if ( s.charAt(i) == " ") bis--
	   else break;
	  
	 return s.substring(von, bis);
	}

///////////// prüft, ob Checkbox für E-Mail-Kopie angekreuzt ist ////

  function checkMailCopy(fCheckbox)
  {
  if (fCheckbox.checked) fCheckbox.value = fCheckbox.form.email.value;
   else fCheckbox.value = "";
  }

/////////////////////// E-Mail-Adresse überprüfen //////////////////

  function checkEmail(fInput, msg)
  {
   var muster = /^([a-zA-Z0-9-_]+)(\.[a-zA-Z0-9-_]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/;
   var wf = muster.test(fInput.value);

   if (fInput.value.length != 0 && !wf)
   {
    if (trim(msg) != "") alert(msg);
    FocusAndSelect(fInput, true);
    return false;
   }
   else return true;
  }
  
/////////////////////// Textfelder auf Eingabe prüfen ///////////////

	function checkInput(fInput, msg)
	{
	 if (trim(fInput.value) == "")
	  {
	   if (trim(msg) != "") alert (msg);
	   FocusAndSelect(fInput, true);
	   return false;
	  }
	  else return true;
	} 

/////////////////////// Select auf Value != 0 prüfen ///////////////

	function checkSelect(fSelect, msg)
	{
	 if (fSelect.value == 0) {
	   if (trim(msg) != "") alert (msg);
	   return false;
	  }
	  else return true;
	} 

/////////////////////// Mailformular-Eingaben prüfen //////////////////////

	function checkMailData(mailform) {
	  with (mailform) {
      ok = (checkInput(subject, "Geben Sie bitte den Betreff ein!") &&
            checkInput(nachricht, "Geben Sie bitte Ihre Nachricht ein!") && 
            checkInput(name, "Geben Sie bitte Ihren Namen ein!") &&
            checkInput(telefon, "Geben Sie bitte Ihre Telefonnummer ein!") &&
  	        checkInput(email, "Geben Sie bitte Ihre E-Mail-Adresse ein!") &&
  	        checkEmail(email, "Ihre E-Mail-Adresse ist nicht korrekt.")
	       );
      checkMailCopy(cc);
	    return ok;
	  }
	}
 
/////////////////////// Suchformular-Eingaben prüfen //////////////////////

  function checkSearchData(form) {
	  with (form) {
      ok = (checkInput(nname,"") ||
            checkInput(vname,"") || 
            (trim(suchk.value) != "") ||
            checkInput(plz,"") ||
            checkInput(ort,"")
           );
      if (!ok) alert("Bitte geben Sie mindestens ein Suchkriterium ein.");
	    return ok;
	  }
	}
 
 
 