// Funktionssammlung für Inhaltscheck von Submit-Button.

// ueberprueft Formularfelder auf Eingabe für Newsletter-Response-Formular. 
// Gibt TRUE zurueck, falls keine Fehler auftreten.
// Zeigt eine alert-Box an und gibt FALSE zurueck, falls fehlerhafte Angaben getaetigt wurden.
//
// Parameter:
//            Sprache:  0: Deutsch
//                      1: Englisch
//            
//
function checkSubmit(Sprache){
	
	// Variable, die auf true gesetzt wird, wenn alles richtig eingegeben wurde.
	var passed = false;
	var checkedCounter = 0;
	var singleNode;
	var emailValue;
	var emailDomain;
	var alertText="";
	
	// alle Checkboxen ermitteln und Ausnahmen bestätigen
	for (i=0; i < document.forms[0].elements.length; i++){
		singleNode = document.forms[0].elements[i];
		if  (singleNode.type == "checkbox" && singleNode.checked == true && (singleNode.name != "Kontaktaufnahme")){
			checkedCounter++;
		}
	}
  if (checkedCounter>0)
		passed = true;
	else
		alertText=alertText+"\n"+getText(Sprache,0);
	
	// Pflichtfelder ueberpruefen:
	// Name
	if (document.getElementsByName("Name")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,1);
		document.getElementById("lblName").style.color="#FF0000";
		document.getElementById("lblName").style.fontWeight="bold";
  	passed = false;
	}
	else 
	{
		document.getElementById("lblName").style.color="#000066";
		document.getElementById("lblName").style.fontWeight="normal";
  }	
  
  // Firma
	if (document.getElementsByName("Firma")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,2);
		document.getElementById("lblFirma").style.color="#FF0000";;
		document.getElementById("lblFirma").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblFirma").style.color="#000066";
		document.getElementById("lblFirma").style.fontWeight="normal";
  }	
  	
  // Telefon
	if (document.getElementsByName("Telefon")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,3);
		document.getElementById("lblTelefon").style.color="#FF0000";
		document.getElementById("lblTelefon").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblTelefon").style.color="#000066";
		document.getElementById("lblTelefon").style.fontWeight="normal";
  }	

  // EMail
  emailValue = document.getElementsByName("Email")[0].value;
//	if (emailValue.length < 1 || emailValue.indexOf("@") < 1)
  if (!checkEmailFormat(emailValue))
	{
		alertText=alertText+"\n"+getText(Sprache,4);
		document.getElementById("lblEmail").style.color="#FF0000";
		document.getElementById("lblEmail").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblEmail").style.color="#000066";
		document.getElementById("lblEmail").style.fontWeight="normal";
  }	

	// evtl. Fehlermeldung ausgeben.
	if (passed == false)
		alert(alertText);	
		
	return passed;
}

// ueberprueft Formularfelder auf Eingabe für Newsletter-Request-Formular. 
// Gibt TRUE zurueck, falls keine Fehler auftreten.
// Zeigt eine alert-Box an und gibt FALSE zurueck, falls fehlerhafte Angaben getaetigt wurden.
//
// Parameter:
//            Sprache:  0: Deutsch
//                      1: Englisch
//
function checkSubmit2(Sprache){
	
	// Variable, die auf false gesetzt wird, wenn ein Eingabefehler gefunden wurde.
	var passed = true;
	var emailValue;
	var emailDomain;
	var alertText="";
	
	
	// Pflichtfelder ueberpruefen:
	// Name
	if (document.getElementsByName("Name")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,1);
		document.getElementById("lblName").style.color="#FF0000";
		document.getElementById("lblName").style.fontWeight="bold";
  	passed = false;
	}
	else 
	{
		document.getElementById("lblName").style.color="#000066";
		document.getElementById("lblName").style.fontWeight="normal";
  }	
  
  // Firma
	if (document.getElementsByName("Firma")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,2);
		document.getElementById("lblFirma").style.color="#FF0000";;
		document.getElementById("lblFirma").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblFirma").style.color="#000066";
		document.getElementById("lblFirma").style.fontWeight="normal";
  }	
  	
  // EMail
  emailValue = document.getElementsByName("Email")[0].value;
//	if (emailValue.length < 1 || emailValue.indexOf("@") < 1)
  if (!checkEmailFormat(emailValue))
	{
		alertText=alertText+"\n"+getText(Sprache,4);
		document.getElementById("lblEmail").style.color="#FF0000";
		document.getElementById("lblEmail").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblEmail").style.color="#000066";
		document.getElementById("lblEmail").style.fontWeight="normal";
  }	

  // PLZ
	if (document.getElementsByName("PLZ")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,5);
		document.getElementById("lblPLZ").style.color="#FF0000";
		document.getElementById("lblPLZ").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblPLZ").style.color="#000066";
		document.getElementById("lblPLZ").style.fontWeight="normal";
  }	

  // Ort
	if (document.getElementsByName("ORT")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,6);
		document.getElementById("lblORT").style.color="#FF0000";
		document.getElementById("lblORT").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblORT").style.color="#000066";
		document.getElementById("lblORT").style.fontWeight="normal";
  }	

	// evtl. Fehlermeldung ausgeben.
	if (passed == false)
		alert(alertText);	
		
	return passed;
}


// ueberprueft Formularfelder auf Eingabe für Newsletter-Abmelde-Formular. 
// Gibt TRUE zurueck, falls keine Fehler auftreten.
// Zeigt eine alert-Box an und gibt FALSE zurueck, falls fehlerhafte Angaben getaetigt wurden.
//
// Parameter:
//            Sprache:  0: Deutsch
//                      1: Englisch
//
function checkSubmit3(Sprache){
	
	// Variable, die auf false gesetzt wird, wenn ein Eingabefehler gefunden wurde.
	var passed = true;
	var emailValue;
	var emailDomain;
	var alertText="";
	
	
	// Pflichtfelder ueberpruefen:
	// Name
	if (document.getElementsByName("Name")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,1);
		document.getElementById("lblName").style.color="#FF0000";
		document.getElementById("lblName").style.fontWeight="bold";
  	passed = false;
	}
	else 
	{
		document.getElementById("lblName").style.color="#000066";
		document.getElementById("lblName").style.fontWeight="normal";
  }	
  
	
  // EMail
  emailValue = document.getElementsByName("Email")[0].value;
//	if (emailValue.length < 1 || emailValue.indexOf("@") < 1)
  if (!checkEmailFormat(emailValue))
	{
		alertText=alertText+"\n"+getText(Sprache,4);
		document.getElementById("lblEmail").style.color="#FF0000";
		document.getElementById("lblEmail").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblEmail").style.color="#000066";
		document.getElementById("lblEmail").style.fontWeight="normal";
  }	


	// evtl. Fehlermeldung ausgeben.
	if (passed == false)
		alert(alertText);	
		
	return passed;
}

// ueberprueft Formularfelder auf Eingabe für Sonder-Newsletter-Formular. 
// Gibt TRUE zurueck, falls keine Fehler auftreten.
// Zeigt eine alert-Box an und gibt FALSE zurueck, falls fehlerhafte Angaben getaetigt wurden.
//
// Parameter:
//            Sprache:  0: Deutsch
//                      1: Englisch
//
function checkSubmit4(Sprache){
	
	// Variable, die auf false gesetzt wird, wenn ein Eingabefehler gefunden wurde.
	var passed = true;
	var emailValue;
	var emailDomain;
	var alertText="";
	

	// Pflichtfelder ueberpruefen:
	// Name
	if (document.getElementsByName("Name")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,1);
		document.getElementById("lblName").style.color="#FF0000";
		document.getElementById("lblName").style.fontWeight="bold";
  	passed = false;
	}
	else 
	{
		document.getElementById("lblName").style.color="#000066";
		document.getElementById("lblName").style.fontWeight="normal";
  }	

	// Firma
	if (document.getElementsByName("Firma")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,2);
		document.getElementById("lblFirma").style.color="#FF0000";
		document.getElementById("lblFirma").style.fontWeight="bold";
  	passed = false;
	}
	else 
	{
		document.getElementById("lblFirma").style.color="#000066";
		document.getElementById("lblFirma").style.fontWeight="normal";
  }	
  
  // EMail
  emailValue = document.getElementsByName("Email")[0].value;
//	if (emailValue.length < 1 || emailValue.indexOf("@") < 1)
  if (!checkEmailFormat(emailValue))
	{
		alertText=alertText+"\n"+getText(Sprache,4);
		document.getElementById("lblEmail").style.color="#FF0000";
		document.getElementById("lblEmail").style.fontWeight="bold";
		passed = false;
	}
	else {
		document.getElementById("lblEmail").style.color="#000066";
		document.getElementById("lblEmail").style.fontWeight="normal";
  }	

	// Firma
	if (document.getElementsByName("Telefon")[0].value.length < 1)
	{
		alertText=alertText+"\n"+getText(Sprache,3);
		document.getElementById("lblTelefon").style.color="#FF0000";
		document.getElementById("lblTelefon").style.fontWeight="bold";
  	passed = false;
	}
	else 
	{
		document.getElementById("lblTelefon").style.color="#000066";
		document.getElementById("lblTelefon").style.fontWeight="normal";
  }	


	// evtl. Fehlermeldung ausgeben.
	if (passed == false)
		alert(alertText);	

		
	return passed;
}

// Gibt einen Textbaustein in der gewählten Sprache zurück.
// Parameter:
//           Sprache:	0: Deutsch
//                    1: Englisch
//
//           TextNum: Nummer des Textbausteins
//
function getText(Sprache, TextNum){
	
	// Array mit Texten. Pro unterstützter Sprache eine Meldung
	var arrText = new Array();
	
	arrText[0] = new Array(2);
	arrText[0][0] = "Bitte mindestens ein Interessensgebiet auswählen.";
	arrText[0][1] = "Please choose at least 1 Topic.";
	//
	arrText[1] = new Array(2);
	arrText[1][0] = "Bitte den Namen ausfuellen.";
	arrText[1][1] = "Please enter a Name.";
	//
	arrText[2] = new Array(2);
	arrText[2][0] = "Bitte eine Firma angeben.";
	arrText[2][1] = "Please enter a Company.";
	//
	arrText[3] = new Array(2);
	arrText[3][0] = "Bitte geben Sie eine Telefonnummer ein.";
	arrText[3][1] = "Please enter a Phone-Number.";
	//
	arrText[4] = new Array(2);
	arrText[4][0] = "Bitte geben Sie eine gueltige Email-Adresse an.";
	arrText[4][1] = "Please enter a valid email-address.";
	//
	arrText[5] = new Array(2);
	arrText[5][0] = "Bitte geben Sie eine PLZ an.";
	arrText[5][1] = "Please enter a Zip-Code.";
	//
	arrText[6] = new Array(2);
	arrText[6][0] = "Bitte geben Sie einen Ort an.";
	arrText[6][1] = "Please enter a City.";
	//

	return arrText[TextNum][Sprache];
	
}

// ueberprueft, ob gueltiges email-Format vorhanden.
// Parameter:
//            strEmail:	Email-Adresse als String
//
// gibt True oder False zurück.
function checkEmailFormat(strEmail) {
	var valid = true;
	
	if (strEmail.length < 1 || strEmail.indexOf("@") < 1){
		// leerer String oder kein @-Zeichen vorhanden. Also falsch und raus.
		valid=false;
	}
	else {
		// kommen Leerzeichen vor?
		if (strEmail.search(/\s/)>=0)
			valid=false;
		
		// kommen andere, nicht Alphanumerische Zeichen vor?
		if (strEmail.search(/[^a-zA-Z0-9_.@-]/)>0)
			valid=false;
	  // es muss im Domain-Anteil midestens ei Punkt vorkommen. Es darf nicht die 1. Stelle sein.
	  if (strEmail.split("@")[1].indexOf(".") < 1)
	  	valid=false;
	}

	return valid;
}
