///////////////////////// 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;
	} 
/////////////////////// Mailformular-Eingaben prüfen //////////////////////
	function checkMailData(mailform) {
	  with (mailform) {
      ok =(checkInput(subject, "Please enter the subject!") &&
            checkInput(nachricht, "Please enter your message!") && 
            checkInput(name, "Please enter your name!") &&
            checkInput(telefon, "Please enter your telephone number!") &&
  	        checkInput(email, "Please enter your e-mail address!") &&
  	        checkEmail(email, "Your e-mail-adresse has an invalid format!")
	       );
      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;
	  }
	}
