﻿function doSearch() {
  var searchString = document.getElementById('editSearch').value.trim();

  if (searchString != '') {
    document.location.href = 'search.aspx?searchfor=' + urlEncode(searchString);
  }
}

function onEditSearchKeyDown(ev) {
  ev || (ev = window.event);
  var key = ev.which ? ev.which : ev.keyCode;
  if (key == 13) {
    stopEvent(ev);
    doSearch();
  }
}

function onRegisterFailed(error, userContext, methodName) {
  document.getElementById('newsletterProgress').style.display = 'none';
  alert('Die Aktion konnte nicht durchgführt werden! Fehler: \n' + error.get_message());
}

function onRegisterComplete(result) {
  document.getElementById('newsletterProgress').style.display = 'none';
  document.getElementById('editRegisterNewsletter').value = 'Emailadresse eingeben';
  alert('Vielen Dank für das Abonnieren unseres Newsletters.');
}


function doRegisterNewsletter() {
  var emailString = document.getElementById('editRegisterNewsletter').value.trim();
  var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  if (emailString != '' && reg.test(emailString)) {
    document.getElementById('newsletterProgress').style.display = 'block';
    LandaService.RegisterForNewsletter(emailString, onRegisterComplete, onRegisterFailed);
  } else {
    alert('Um den Newsletter zu abonnieren, müssen Sie eine gültige Emailadresse angeben!');
  }
}

function onEditRegisterNewsletterKeyDown(ev) {
  ev || (ev = window.event);
  var key = ev.which ? ev.which : ev.keyCode;
  if (key == 13) {
    stopEvent(ev);
    doRegisterNewsletter();
  }
}

function onEditRegisterNewsletterFocus(el) {
  el.value = '';
}

function onEditRegisterNewsletterBlur(el) {
  if (el.value == '') el.value = 'Emailadresse eingeben';
}


function onBigButtonMouseDown(el) {
  el.src = '/images/btn_weiter_neg.png';
}

function onBigButtonMouseUp(el) {
  el.src = '/images/btn_weiter.png';
}

function onBigButtonMouseOut(el) {
  el.src = '/images/btn_weiter.png';
}



//Kontaktformular

function validateContactLastname() {
  if (document.getElementById('KontaktNachname').value.trim() == '') {
    document.getElementById('KontaktNachnameErrorLabel').innerHTML = 'Nachname ist erforderlich!';
    return false;
  } else {
    document.getElementById('KontaktNachnameErrorLabel').innerHTML = '&nbsp;';
    return true;
  }
}

function validateContactStreet() {
  if (document.getElementById('KontaktStrasse').value.trim() == '') {
    document.getElementById('KontaktStrasseErrorLabel').innerHTML = 'Straße ist erforderlich!';
    return false;
  } else {
    document.getElementById('KontaktStrasseErrorLabel').innerHTML = '&nbsp;';
    return true;
  }
}

function validateContactZipCity() {
  if (document.getElementById('KontaktPlzOrt').value.trim() == '') {
    document.getElementById('KontaktPlzOrtErrorLabel').innerHTML = 'Plz/Ort ist erforderlich!';
    return false;
  } else {
    document.getElementById('KontaktPlzOrtErrorLabel').innerHTML = '&nbsp;';
    return true;
  }
}

function validateContactMessage() {
  if (document.getElementById('KontaktMitteilung').value.trim() == '') {
    document.getElementById('KontaktMitteilungErrorLabel').innerHTML = 'Mitteilung ist erforderlich!';
    return false;
  } else {
    document.getElementById('KontaktMitteilungErrorLabel').innerHTML = '&nbsp;';
    return true;
  }
}

function validateContactEmail() {
  var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  if (document.getElementById('KontaktEmail').value.trim() == '' ||
      reg.test(document.getElementById('KontaktEmail').value) == false) {
    document.getElementById('KontaktEmailErrorLabel').innerHTML = 'Email ist erforderlich!';
    return false;
  } else {
    document.getElementById('KontaktEmailErrorLabel').innerHTML = '&nbsp;';
    return true;
  }
}

function onContactInputChange(el) {
  if (el == document.getElementById('KontaktNachname')) validateContactLastname();
  if (el == document.getElementById('KontaktStrasse')) validateContactStreet();
  if (el == document.getElementById('KontaktPlzOrt')) validateContactZipCity();
  if (el == document.getElementById('KontaktMitteilung')) validateContactMessage();
  if (el == document.getElementById('KontaktEmail')) validateContactEmail();
}

function validateContactInputs() {
  var flag = true;

  if (!validateContactLastname()) flag = false;
  if (!validateContactStreet()) flag = false;
  if (!validateContactZipCity()) flag = false;
  if (!validateContactMessage()) flag = false;
  if (!validateContactEmail()) flag = false;

  return flag;
}

function clearContactInputs() {
  document.getElementById('KontaktVorname').value = '';
  document.getElementById('KontaktNachname').value = '';
  document.getElementById('KontaktFirma').value = '';
  document.getElementById('KontaktStrasse').value = '';
  document.getElementById('KontaktPlzOrt').value = '';
  document.getElementById('KontaktLand').value = '';
  document.getElementById('KontaktTelefon').value = '';
  document.getElementById('KontaktFax').value = '';
  document.getElementById('KontaktEmail').value = '';
  document.getElementById('KontaktMitteilung').value = '';
  document.getElementById('KontaktAntwortAn4').checked = true;

  document.getElementById('KontaktEmailErrorLabel').innerHTML = '&nbsp;';
  document.getElementById('KontaktNachnameErrorLabel').innerHTML = '&nbsp;';
  document.getElementById('KontaktMitteilungErrorLabel').innerHTML = '&nbsp;';
  document.getElementById('KontaktStrasseErrorLabel').innerHTML = '&nbsp;';
  document.getElementById('KontaktPlzOrtErrorLabel').innerHTML = '&nbsp;';

  document.getElementById('ContactProgressImage').style.display = 'none';  
}

function readContactInputs(dataItem) {
  dataItem.Vorname = document.getElementById('KontaktVorname').value;
  dataItem.Nachname = document.getElementById('KontaktNachname').value;
  dataItem.Firma = document.getElementById('KontaktFirma').value;
  dataItem.Strasse = document.getElementById('KontaktStrasse').value;
  dataItem.PlzOrt = document.getElementById('KontaktPlzOrt').value;
  dataItem.Land = document.getElementById('KontaktLand').value;
  dataItem.Telefon = document.getElementById('KontaktTelefon').value;
  dataItem.Fax = document.getElementById('KontaktFax').value;
  dataItem.Email = document.getElementById('KontaktEmail').value;
  dataItem.Nachricht = document.getElementById('KontaktMitteilung').value;

  var el = document.getElementById('KontaktAntwortAn1');
  if (el.checked) dataItem.AntwortAn = el.value;
  el = document.getElementById('KontaktAntwortAn2');
  if (el.checked) dataItem.AntwortAn = el.value;
  el = document.getElementById('KontaktAntwortAn3');
  if (el.checked) dataItem.AntwortAn = el.value;
  el = document.getElementById('KontaktAntwortAn4');
  if (el.checked) dataItem.AntwortAn = el.value;

  dataItem.Von = document.getElementById('KontaktVon').value;
  dataItem.To = document.getElementById('KontaktEmpfaenger').value;
  dataItem.Betreff = document.getElementById('KontaktBetreff').value;
}

function onSendContactFormFailed(error, userContext, methodName) {
  var msg = error.get_message();
  document.getElementById('ContactProgressImage').style.display = 'none';
  alert('Die Aktion konnte nicht durchgführt werden! Fehler: \n' + msg);
}

function onSendContactFormComplete(result, userContext, methodName) {
  document.getElementById('ContactProgressImage').src = '/images/tick.png';
  document.getElementById('ContactProgressImage').style.display = 'inline-block';
  window.setTimeout(function () { clearContactInputs(); }, 5000);  
}

function sendContactForm() {
  if (!validateContactInputs()) return;

  dataItem = new ContactData();
  readContactInputs(dataItem);
  document.getElementById('ContactProgressImage').src = '/images/loading.gif';
  document.getElementById('ContactProgressImage').style.display = 'inline-block';
  PageMethods.SendContactForm(dataItem, onSendContactFormComplete, onSendContactFormFailed);
}

 
