function Numtest(INHALT){
  var ERLAUBT = "0123456789 -/\()";
  var CHECK = 1;
  var CHAR = null;
  for(var i=0; i < document.forms[0].elements[INHALT].value.length; i++){
    CHAR = document.forms[0].elements[INHALT].value.charAt(i);
    if((CHAR == '(') || (CHAR == ')') || (CHAR == '/')){
      MASK = '\\';
    }else{
      MASK = '';
    }
    eval('CHECK = ERLAUBT.search(/'+MASK+CHAR+'/)');
    if(CHECK == -1){
      break;
    }
  }
return CHECK;
}


/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////


function NumericTest(INHALT){

    var ERLAUBT = "0123456789,.;";

    var CHECK = 1;
    var BACK = true;
    var CHAR = null;
    for(var i=0; i < INHALT.length; i++){
    	CHAR = INHALT.charAt(i);
    	if((CHAR == '(') || (CHAR == ')') || (CHAR == '/')){
      		MASK = '\\';
    	}else{
      		MASK = '';
    	}
    	eval('CHECK = ERLAUBT.search(/'+MASK+CHAR+'/)');
    	if(CHECK == -1){
      		break;
    	}
  	}
    if(CHECK == -1){
        BACK = false;
    }
    return BACK;
}


/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////


function Checkformkontakt(){

  var f = document.forms[0];
  var NORMALCOLOR = '#e0e0e0';
  var inputs = new Array('firmaname','realname','strasse','plz','ort','telefon','fax','email','text','mobil');
  for(i = 0; i < inputs.length; i++){
    document.getElementsByName(inputs[i])[0].style.borderColor = NORMALCOLOR;
  }

  if(f.realname.value == ''){
    alert('Bitte geben Sie Ihren Namen an, damit wir Sie persönlich kontaktieren können.');
    f.realname.focus();
    return false;
  }
  if(f.telefon.value == ''){
    alert('Bitte geben Sie Ihre Telefonnummer an, damit wir Sie kontaktieren können.');
    f.telefon.focus();
    return false;
  }
  if(f.telefon.value != ''){
    var CHECKINHALT = Numtest('telefon');
    if(CHECKINHALT == -1){
      alert("Bitte überprüfen Sie die Telefonnummer noch einmal. Sie sollte nur aus Ziffern bestehen.");
      f.telefon.focus();
      return false;
    }
  }
  if(f.mobil.value != ''){
    var CHECKINHALT = Numtest('mobil');
    if(CHECKINHALT == -1){
      alert("Bitte überprüfen Sie die Mobilfunk-Nummer noch einmal. Sie sollte nur aus Ziffern bestehen.");
      f.telefon.focus();
      return false;
    }
  }
  var X1 = (f.plz.value != '') ? true : false;
  var X2 = (f.ort.value != '') ? true : false;
  var X3 = (f.strasse.value != '') ? true : false;
  if(X1 || X2 || X3){
    if(!X1 || !X2 || !X3){
      alert('Wenn Sie uns ihre Postanschrift mitteilen möchten, füllen Sie  \nbitte alle nötigen Felder "Straße", "PLZ" und "Ort" aus.');
      if(f.strasse.value == ''){
        f.strasse.focus();
      }else if(f.plz.value == ''){
        f.plz.focus();
      }else if(f.ort.value == ''){
        f.ort.focus();
      }
      return false;
    }
    for(var b = 0; b < f.plz.value.length; b++){
      if(f.plz.value.charAt(b) < "0" || f.plz.value.charAt(b) > "9"){
        alert("Die Postleitzahl darf nur aus Ziffern bestehen. Bitte noch einmal überprüfen und korrigieren.");
        f.plz.focus();
        return false;
      }
    }
    if(f.plz.value.length != 5){
      alert("Die Postleitzahl entspricht nicht dem 5-Stellen-Format! Bitte überprüfen Sie diese noch einmal.");
      f.plz.focus();
      return false;
    }
  }
  if(f.email.value != ''){
    if(f.email.value.indexOf('@') == -1){
      alert('Bei Eingabe der e-mail-Adresse ist Ihnen ein Fehler unterlaufen ...');
      f.email.focus();
      return false;
    }
  }
  if(f.fax.value != ''){
    var CHECKINHALT = Numtest('fax');
    if(CHECKINHALT == -1){
      alert("Bitte überprüfen Sie die Faxnummer noch einmal. Sie sollte nur aus Ziffern bestehen.");
      f.fax.focus();
      return false;
    }
  }
  if((f.text.value == '') || (f.text.value == ' ')){
    alert('Sie haben das wichtigste vergessen - Ihre Anfrage bzw. Mitteilung!');
    f.text.focus();
    return false;
  }
  document.forms[0].submit();
  //alert('das Formular wäre nun abgeschickt worden!');
}



/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////



function CheckformAngebot(){

  var f = document.forms[0];
  var NORMALCOLOR = '#afafaf';
  var inputs = new Array('firmaname','realname','strasse','plz','ort','telefon','fax','email','text','mobil');
  for(i = 0; i < inputs.length; i++){
    document.getElementsByName(inputs[i])[0].style.borderColor = NORMALCOLOR;
  }

  var NOTH1 = 0;
  var NOTH2 = 0;
  var NOTH3 = 0;
  var NOTH4 = 0;

/* leistungen */

  // welche pulldown-listen sind ausgewählt?
  var arbeiten = new Array('tapetenkleben','anstrich','techniken','putz','fussboden');
  for(i = 0; i < arbeiten.length; i++){
    if(f.elements[arbeiten[i]].options[f.elements[arbeiten[i]].options.selectedIndex].value == ''){
      NOTH1 += 1;
    }
  }
  // fassadenschutz ausgewählt?
  if(!f.fassade_1.checked && !f.fassade_2.checked){
    NOTH2 = 1;
  }
  // beratung gewünscht?
  if(!f.beratung[0].checked){
    NOTH3 = 1;
  }
  // clipso-angebot ausgewählt?
  if(!f.clipso_angebot.checked){
    NOTH4 = 1;
  }
  // wenn gar nichts (5 = keine einzige pulldownliste) ausgewählt ist ..
  if((NOTH1 == 5) && (NOTH2 == 1) && (NOTH3 == 1) && (NOTH4 == 1)){
    alert('Sie haben keinen Leistungs- bzw. Beratungswunsch ausgewählt.  \n\nDamit wir Ihnen ein konkretes Angebot erstellen können,\nwählen Sie bitte etwas aus.');
    f.elements['tapetenkleben'].focus();
    return false;
  }

/* detailangaben */

    // maßangaben auf zahlenformat prüfen
    var TYPES = new Array('anzahl_','laenge_','breite_','hoehe_');
    var FIELDS = new Array('wohnzimmer','kinderzimmer','esszimmer','buero','kueche','schlafzimmer','flur','keller','fassade_giebel','fassade_hof','fassade_strasse');
    var FMISTAKE = '';

    for(a = 0; a < TYPES.length; a++){
        for(b = 0; b < FIELDS.length; b++){
            var TEMP1 = f.elements[TYPES[a]+FIELDS[b]].value;
            if(TEMP1 != ''){
                if(!NumericTest(TEMP1)){
                    document.getElementById(TYPES[a]+FIELDS[b]).style.borderColor = '#ff0000';
                    // merken, welches input das erste fehlerhafte ist, für späteren focus
                    if(FMISTAKE == ''){
                    	FMISTAKE = String(TYPES[a]+FIELDS[b]);
                    }
                }
            }
        }
    }
    // wenn auch nur ein fehler gefunden wurde, meldung ausgeben und anspringen
    if(FMISTAKE != ''){
    	alert('Geben Sie in die Felder für Anzahl und Raum-Maße bitte nur Zahlenwerte ein.');
        window.location.href = '#detailmistake';
        return false;
    }

/* kontaktangaben */
  if(f.realname.value == ''){
    alert('Bitte geben Sie Ihren Namen an, damit wir Sie persönlich kontaktieren können.');
    f.realname.focus();
    return false;
  }
  if(f.telefon.value == ''){
    alert('Bitte geben Sie Ihre Telefonnummer an, damit wir Sie kontaktieren können.');
    f.telefon.focus();
    return false;
  }
  if(f.telefon.value != ''){
    var CHECKINHALT = Numtest('telefon');
    if(CHECKINHALT == -1){
      alert("Bitte überprüfen Sie die Telefonnummer noch einmal. Sie sollte nur aus Ziffern bestehen.");
      f.telefon.focus();
      return false;
    }
  }
  var X1 = (f.plz.value != '') ? true : false;
  var X2 = (f.ort.value != '') ? true : false;
  var X3 = (f.strasse.value != '') ? true : false;
  if(X1 || X2 || X3){
    if(!X1 || !X2 || !X3){
      alert('Wenn Sie uns ihre Postanschrift mitteilen möchten, füllen Sie  \nbitte alle nötigen Felder "Straße", "PLZ" und "Ort" aus.');
      if(f.strasse.value == ''){
        f.strasse.focus();
      }else if(f.plz.value == ''){
        f.plz.focus();
      }else if(f.ort.value == ''){
        f.ort.focus();
      }
      return false;
    }
    for(var b = 0; b < f.plz.value.length; b++){
      if(f.plz.value.charAt(b) < "0" || f.plz.value.charAt(b) > "9"){
        alert("Die Postleitzahl darf nur aus Ziffern bestehen. Bitte noch einmal überprüfen und korrigieren.");
        f.plz.focus();
        return false;
      }
    }
    if(f.plz.value.length != 5){
      alert("Die Postleitzahl entspricht nicht dem 5-Stellen-Format! Bitte überprüfen Sie diese noch einmal.");
      f.plz.focus();
      return false;
    }
  }
  if(f.email.value != ''){
    if(f.email.value.indexOf('@') == -1){
      alert('Bei Eingabe der e-mail-Adresse ist Ihnen ein Fehler unterlaufen ...');
      f.email.focus();
      return false;
    }
  }
  if(f.mobil.value != ''){
    var CHECKINHALT = Numtest('mobil');
    if(CHECKINHALT == -1){
      alert("Bitte überprüfen Sie die Mobilfunk-Nummer noch einmal. Sie sollte nur aus Ziffern bestehen.");
      f.mobil.focus();
      return false;
    }
  }
  if(f.fax.value != ''){
    var CHECKINHALT = Numtest('fax');
    if(CHECKINHALT == -1){
      alert("Bitte überprüfen Sie die Faxnummer noch einmal. Sie sollte nur aus Ziffern bestehen.");
      f.fax.focus();
      return false;
    }
  }

  // beratung gewünscht, andere adresse gewählt, aber nicht angegeben
  if(f.beratung[0].checked){
    if(f.ortberatung[0].checked){
      if(f.strasse.value == ''){
        alert('Sie möchten einen Beratungsgespräch mit uns bei einer Adresse  \nIhrer Wahl vereinbaren, haben aber keine angegeben.\n\nBitte ergänzen Sie diese noch.');
        f.strasse.focus();
        return false;
      }
    }
  }
  document.forms[0].submit();
  //alert('das Formular wäre nun abgeschickt worden!');
}
