//********************************************************
// Vorhandene Funtionen:
//  - bool checkUhrzeit(zeit)
//    Format muss sein: 'hh:mm' oder 'hh:mm Uhr'
//  - bool checkDatum(datum)
//    Format muss sein: 'dd.mm.jjjj'
//  - bool isInt(var)
//    Prüft, ob der Eingabeparameter ein Integerwert ist
//********************************************************


//Prüfen der Seminaranmeldung auf vollständige Eingaben
function checkSeminaranmeldung()
{
   //Eingaben ermitteln
   var name = trim(document.v_form.name.value);
   var vorname = trim(document.v_form.vorname.value);
   var strasse = trim(document.v_form.strasse.value);
   var ort = trim(document.v_form.ort.value);
   var plz = trim(document.v_form.plz.value);
   var mail = trim(document.v_form.mail.value);
   var anmNam = trim(document.v_form.name_wp.value);
   var anmVornam = trim(document.v_form.vorname_wp.value);
   var anmMail = trim(document.v_form.mail_wp.value);

   //Eingaben prüfen
   if(name.length <= 0)
   {
      alert("Bitte geben Sie Ihren Namen an.");
      return false;
   }
   if(vorname.length <= 0)
   {
      alert("Bitte geben Sie Ihren Vornamen an.");
      return false;
   }
   if(strasse.length <= 0)
   {
      alert("Bitte geben Sie Strasse und Hausnummer an.");
      return false;
   }
   if(ort.length <= 0)
   {
      alert("Bitte geben Sie Ihre Adresse (Ort) an an.");
      return false;
   }
   if(plz.length <= 0)
   {
      alert("Bitte geben Sie Ihren Adresse (PLZ) an.");
      return false;
   }
   if(mail.length <= 0)
   {
      alert("Bitte geben Sie Ihre EMail-Adresse an.");
      return false;
   }

   if(!document.v_form.bedingungen.checked)
   {
      alert("Sie müssen die Teilnahmebedingungen akzeptieren um sich anzumelden.");
      return false;
   }

   //alert("Name: " + anmNam + "(" + anmNam.length + "), Vorname: " + anmVornam + "(" + anmVornam.length + "), Mail: " + anmMail + "(" + anmMail.length + ")" );

   if( (anmNam.length > 0) || (anmVornam.length > 0) || (anmMail.length > 0) )
   {
      //alert("einer ist groesser 0.");
      if( (anmNam.length == 0) || (anmVornam.length == 0) || (anmMail.length == 0))
      {
         //alert("Einer ist gleich null.");
         alert("Bei der Anmeldung einer weiteren Person müssen die Felder Name, Vorname und E-Mail Adresse ausgefüllt werden.");
         return false;
      }
   }
   
   return true;
}

//Prüfen der Schablone Kontaktformular bei Absenden auf
//vollständige Angaben und Plausibilität
function checkKontaktformular()
{

   //Eingaben ermitteln
   var anrFrau = document.v_form["Anrede"][0].checked;
   var anrHerr = document.v_form["Anrede"][1].checked;
   var anrFirma = document.v_form["Anrede"][2].checked;
   var anrede = "";
   if(anrFrau == true)
   {
      anrede = "Frau";
   }
   if(anrHerr == true)
   {
      anrede = "Herr";
   }
   if(anrFirma == true)
   {
      anrede = "Firma";
   }

   var firma = trim(document.v_form.Firma.value);
   var name = trim(document.v_form.Nachname.value);  
   var telefon = trim(document.v_form.Telefon.value);  
   var mail = trim(document.v_form.EMail.value);  
   var nachricht = trim(document.v_form.Nachricht.value);  
   var rueckruf = trim(document.v_form.rueckruf.checked);  

   //Eingaben prüfen
   if(anrede.length <= 0)
   {
      alert("Bitte eine Anrede auswählen.");
      return false;
   }

   if((firma.length <= 0) && (anrede == "Firma"))
   {
      alert("Bitte den Namen der Firma angeben.");
      return false;
   }

   if(name.length <= 0)
   {
      alert("Bitte geben Sie Ihren Namen an.");
      return false;
   }

   if(nachricht.length <= 0)
   {
      alert("Bitte geben Sie eine Nachricht an.");
      return false;
   }

   if((telefon.length <= 0)&&(rueckruf == true))
   {
      alert("Sie wünschen einen Rückruf. Bitte geben Sie daher Ihre Telefonnummer an.");
      return false;
   }

   if(!isMailAdresse(mail))
   {
      alert("Bitte geben Sie eine gültige Mailadresse an.");
      return false;
   }

   return true;
}

//prüft ob der übergebene string eine gültige emailadresse ist
function isMailAdresse(mail)
{
  var a = false;
  var res = false;
  if(typeof(RegExp) == 'function')
    {
    var b = new RegExp('abc');
    if(b.test('abc') == true){a = true;}
    }

  if(a == true)
    {
    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                     '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                     '(\\.)([a-zA-Z]{2,4})$');
    res = (reg.test(mail));
    }
  else
    {
    res = (mail.search('@') >= 1 &&
           mail.lastIndexOf('.') > mail.search('@') &&
           mail.lastIndexOf('.') >= mail.length-5)
    }
  return(res);
}
//prueft ob der uebergebene Wert eine Datum ist
function checkDatum(datum)
{

	if(datum.length != 10 || datum.substr(2,1) != "."|| datum.substr(5,1) != ".")
	{
		alert("Datum bitte im Format \"dd.mm.jjjj\" angeben: " + datum);
		return false;
	}

         var jahr = datum.substr(6,4);
	if(isInt(jahr))
	{	
		if(jahr > 2100 || jahr < 2000)
		{
			alert("Angegebenes Jahr ist ungültig: " + jahr);
			return false;
		}
	
	}else
	{
		alert("Angegebenes Jahr ist ungültig: " + jahr);
		return false;
	}

	
	var monat = datum.substr(3,2);
	if(isInt(monat))
	{
		if(monat < 1 || monat > 12)
		{
			alert("Angegebener Monat ungültig: " + monat);
			return false;
		}
	}else
	{
		alert("Angegebener Monat ungültig: " + monat);
		return false;
	}

	var tag = datum.substr(0,2);
	if(isInt(tag))
	{	
		if(tag > 31 || tag < 1)
		{
			alert("Angegebener Tag ist ungültig: " + tag);
			return false;
		}
	
	}else
	{
		alert("Angegebener Tag ist ungültig: " + tag);
		return false;
	}
	return true;
}

//prueft ob der uebergebene Wert eine gueltige Urzeit ist
function checkUhrzeit(zeit)
{

	if((zeit.length != 5 && (zeit.length != 9 && zeit.substr(5,4) != " Uhr")) || zeit.substr(2,1) != ":")
	{
		alert("Zeiten bitte im Format \"hh:mm\" angeben: " + zeit);
		return false;
	}
	
	var stunden = zeit.substr(0,2);
	if(isInt(stunden))
	{
		if(stunden < 0 || stunden > 23)
		{
			alert("Angegebener Stundenwert ungültig: " + stunden);
			return false;
		}
	}else
	{
		alert("Angegebener Stundenwert ungültig: " + stunden);
		return false;
	}

	var minuten = zeit.substr(3,2);
	if(isInt(minuten))
	{	
		if(minuten > 59 || minuten < 0)
		{
			alert("Angegebener Minutenwert ist ungültig: " + minuten);
			return false;
		}
	
	}else
	{
		alert("Angegebener Minutenwert ist ungültig: " + minuten);
		return false;
	}
	return true;
}


//ermitteln, ob str ein Integer ist.
function isInt(str)
{
	var i = parseInt(str);
	
	if(isNaN(i))
	{
		return false;
	}

	i = i.toString();
	

	return true;
}

//entfernen von führenden und folgenden leerzeichen
function trim(s)
{
   if(s.length > 0)
   {
      while(s.substring(0,1) == ' ')
         s = s.substring(1,s.length);

      while(s.substring(s.length, s.length-1) == ' ')
         s = s.substring(0, s.length-1);
   }
   return s;
}

function toogleHilfeBox()
{
	var hilfebox = document.getElementById("hilfetext");
	if (hilfebox.style.display == "none")
	{
		hilfebox.style.visibility = "visible";
		hilfebox.style.display = "block";
document.getElementById("hilfeheader").innerHTML = "Hilfe ausblenden";
	}
	else
	{
		hilfebox.style.visibility = "hidden";
		hilfebox.style.display = "none";
document.getElementById("hilfeheader").innerHTML = "Hilfe einblenden";
	}
}

function startenewslettermanuell()
{
  Check = confirm("Wollen Sie den Newsletter wirklich manuell starten?");
  if (Check == true)
  {
  this.form.submit();
   }
return false;
}

function startemassenemail()
{
  Check = confirm("Wollen Sie die Email wirklich absenden?");
  if (Check == true)
  {
  this.form.submit();
   }
return false;
}

function alleAktivieren(boolStatus)
{
	// Prüfen, wieviele Formulare es gibt, wenn mehr als eins, dann das Erste nehmen
	var anzahlFormulare = document.forms.length;
	
	if (anzahlFormulare > 0)
	{
		//var letztesFormular = anzahlFormulare - 1;
var letztesFormular = 0;

		
		for (var i = 0; i < document.forms[letztesFormular].elements.length; i++)
		{
			var tempElement = document.forms[letztesFormular].elements[i]
			var tempType = tempElement.type;
			var tempName = tempElement.name;

			if (tempType == "checkbox" && tempName != "alleAktivierenButton")
			{
				tempElement.checked = boolStatus;
			}
		}	
	}
}

//Aktivieren/deaktivieren Umkreis wenn PLZ-Feld leer ist

function plzChanged()
{
   //Eingabe ermitteln
   var plz = trim(document.v_form.plz.value);

   if(plz.length == 0)
      document.v_form.umkreis.disabled = true;
   else
      document.v_form.umkreis.disabled = false;
}

function doSuggest(strEingabe)
{
   document.getElementById("expertSuggestFrame").src = "/li/cj/kct/strModus/expert/strEingabe/" + strEingabe;
}

function doPLZSuggest(strEingabe)
{
   document.getElementById("plzSuggestFrame").src = "/li/cj/kct/strModus/register/strEingabe/" + strEingabe;
}

function changePlzValue(strEinNeuerWert)
{
  document.v_form.plz.value = strEinNeuerWert;
}

function changePlzRegisterValue(strEinNeuerWert)
{
	// Ergebnis in PLZ und ORT aufsplitten
	var arrErgebnis = strEinNeuerWert.split("|");
	
	if (arrErgebnis.length == 2)
	{
		document.registrierungsformular.br_plz.value = arrErgebnis[0];
		document.registrierungsformular.br_orthidden.value = arrErgebnis[1];
		document.registrierungsformular.br_ort.value = arrErgebnis[1];
	}
}

// Löscht die Eingabe im Ort-Feld des Registierungsformulars
function deleteEingabe()
{
	alert("Bitte geben Sie eine PLZ ein.");
	document.registrierungsformular.br_ort.value = "";
}

// Funktionen zum Ein- und Ausblenden der Adress- und Lieferanschriften bei anonymer Bestellung
function adrLieferadresseClicked(radioObjekt)
{
	var tempDiv = document.getElementById("adr2teLieferadresse");

	if (radioObjekt.value == "andereLieferadresse")
	{
		tempDiv.style.visibility = "visible";
		tempDiv.style.display = "block";
	}
	else
	{
		tempDiv.style.visibility = "hidden";
		tempDiv.style.display = "none";		
	}
}

function adrRechnungsadresseClicked(radioObjekt)
{
	var tempDiv = document.getElementById("adr2teRechnungsadresse");

	if (radioObjekt.value == "andereRechnungsadresse")
	{
		tempDiv.style.visibility = "visible";
		tempDiv.style.display = "block";
	}
	else
	{
		tempDiv.style.visibility = "hidden";
		tempDiv.style.display = "none";		
	}
}

// Funktion zum Absenden eines Verlag Newsletters
function checkverlagnewsletter(form)
{
	if(form.submitButton.value == "Versenden")
	{
		return confirm("Wollen Sie den Newsletter wirklich versenden?");
	}
	else if (form.submitButton.value == "Test-Versand")
	{
		var email=prompt("Bitte geben Sie eine Email Adresse an","");
		if (isMailAdresse(email)){
			form.testemail.value=email;
		}
		else{
			alert("Bitte geben Sie eine gültige Email Adresse an");
			return false;
		}
	}
	return true;
}

