function fnCheckEMail(str) {
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}


function fnCheckPLZ (str) {

   var s = "" + str //Umwandlung in eine Zeichenkette
   var ziffern = "0123456789" //Gültige Zeichen
   for (var i=0; i<s.length; i++)
      if (ziffern.indexOf(s.charAt(i))==-1) //keine Ziffer
         return false

   if (str.length==5) return true;
     else return false;
}

function fnCheckPhone (str) {

   var s = "" + str //Umwandlung in eine Zeichenkette
   var ziffern = "0123456789-/ " //Gültige Zeichen
   for (var i=0; i<s.length; i++)
      if (ziffern.indexOf(s.charAt(i))==-1) //keine Ziffer
         return false

   if (str.length>5) return true;
     else return false;
}


function fnCheckURL (str) {

  if ((str == "")
    || (str.indexOf ('http://') == -1)
    || (str.indexOf ('.') == -1))
      return false;
  return true;
}


function fnCheckForm (form) {


  var intTabIndex=1;

  for (dummy=0; dummy<form.elements.length; dummy++) form.elements[dummy].tabIndex=49;

  for (dummy=0; dummy<form.elements.length; dummy++) {
    if (parseInt(form.elements[dummy].alt)>0) {
      intErrorFlag=0;
      form.elements[dummy].style.backgroundColor="#FFF";
      form.elements[dummy].style.color="#000";
      form.elements[dummy].tabIndex=intTabIndex+50;
      if (form.elements[dummy].type=="checkbox") {
        form.elements[dummy].parentNode.style.backgroundColor='';          
        form.elements[dummy].parentNode.style.color='';          
      }
      switch (form.elements[dummy].alt) {
        case "1":   if (form.elements[dummy].value=='' || (form.elements[dummy].type=="checkbox" && form.elements[dummy].checked==false)) intErrorFlag=1;
                    break;
        case "2":   if(!fnCheckEMail (form.elements[dummy].value)) intErrorFlag=1;
                    break;
        case "3":   if (form.elements[dummy].value!='' && !fnCheckEMail (form.elements[dummy].value)) intErrorFlag=1;
         	    break;
        case "4":   if(!fnCheckPLZ(form.elements[dummy].value)) intErrorFlag=1;
                    break;
        case "5":   if(!fnCheckURL(form.elements[dummy].value)) intErrorFlag=1;
                    break;
        case "6":   if (form.elements[dummy].value.length<6) intErrorFlag=1;
                    break;
        case "7":   if(!fnCheckPhone(form.elements[dummy].value)) intErrorFlag=1;
                    break;
      }
      if (intErrorFlag==1) {
        if (intTabIndex==1) form.elements[dummy].focus();
        if (form.elements[dummy].type=="checkbox") {
          form.elements[dummy].parentNode.style.backgroundColor='#C00000';          
          form.elements[dummy].parentNode.style.color='#fff';          
        }
        form.elements[dummy].style.backgroundColor="#C00000";
        form.elements[dummy].style.color="#fff";
        form.elements[dummy].tabIndex=intTabIndex;
        intTabIndex++;
      }
    }
  }
  if (intTabIndex==1) return true;
  else {
    window.alert ("Sie haben nicht alle Pflichtfelder ausgefüllt.\nBitte vervollständigen Sie Ihre Eingaben!");
    return false;

  }

}

