/*****************************
 *          ORDER            *
 *****************************/
 
 function checkOrder() {
  var company = document.forms[0].company.value;
  var salutation = document.forms[0].salutation.value;
  var firstname = document.forms[0].firstname.value;
  var lastname = document.forms[0].lastname.value;
  var adress = document.forms[0].adress.value;
  var zip = document.forms[0].zip.value;
  var location = document.forms[0].location.value;
  var country = document.forms[0].country.value;
  var mail = document.forms[0].mail.value;
  var payment = document.forms[0].payment.value;
  var agb = document.forms[0].agb;
  var privacy = document.forms[0].privacy;
  var text = document.forms[0].text.value;
  
  var errors = 0;
  
  resetOrderErrors();
  
  if(company.length > 50) {
    document.getElementById("companyerr").innerHTML = "Die eingegebene Firma ist zu lang.";
    errors++;
  }
  
  if(salutation == "none") {
    document.getElementById("salutationerr").innerHTML = "Bitte wählen Sie eine Anrede.";
    errors++;
  }
  
  if((salutation != "m") && (salutation != "w") && (salutation != "none")) {
    document.getElementById("salutationerr").innerHTML = "Die gewählte Anrede ist ungültig.";
    errors++;
  }
  
  if(firstname.length > 30 ) {
    document.getElementById("firstnameerr").innerHTML = "Der eingegebene Vorname ist zu lang.";
    errors++;
  }
  
  if(firstname.length < 2 ) {
    document.getElementById("firstnameerr").innerHTML = "Der eingegebene Vorname ist zu kurz.";
    errors++;
  }
  
  if(lastname.length > 30 ) {
    document.getElementById("lastnameerr").innerHTML = "Der eingegebene Nachname ist zu lang.";
    errors++;
  }
  
  if(lastname.length < 4 ) {
    document.getElementById("lastnameerr").innerHTML = "Der eingegebene Nachname ist zu kurz.";
    errors++;
  }
  
  if(adress.length > 50 ) {
    document.getElementById("adresserr").innerHTML = "Die eingegebene Adresse ist zu lang.";
    errors++;
  }
  
  if(adress.length < 4 ) {
    document.getElementById("adresserr").innerHTML = "Die eingegebene Adresse ist zu kurz.";
    errors++;
  }
  
  if(location.length > 30 ) {
    document.getElementById("locationerr").innerHTML = "Der eingegebene Ort ist zu lang oder die PLZ ist ungültig";
    errors++;
  }
  
  if(location.length < 3 ) {
    document.getElementById("locationerr").innerHTML = "Der eingegebene Ort ist zu kurz.";
    errors++;
  }
  
  if((zip.length < 5) && (location.length > 3 ) && (location.length < 30 )) {
    document.getElementById("locationerr").innerHTML = "Die eingegebene PLZ ist ungültig.";
    errors++;
  }
  
  if(country == "none") {
    document.getElementById("countryerr").innerHTML = "Bitte wählen Sie ein Land.";
  }
  
  if((country != "de") && (country != "at") && (country != "ch") && (country != "none")) {
    document.getElementById("countryerr").innerHTML = "Das gewählte Land ist ungültig.";
    errors++;
  }
  
  if(!checkMail(mail)) { 
    document.getElementById("mailerr").innerHTML = "Keine gültige Email-Adresse.";
    errors++;
  }
  
  if(payment == "none") {
    document.getElementById("paymenterr").innerHTML = "Bitte wählen Sie eine Zahlungsart.";
  }
  
  if((payment != "transfer") && (payment != "paypal") && (payment != "none")) {
    document.getElementById("paymenterr").innerHTML = "Die gewählte Zahlungsart ist ungültig.";
    errors++;
  }
  
  if(!agb.checked) {
    document.getElementById("agberr").innerHTML = "Sie müssen den AGB zustimmen.<br />";
    errors++;
  }
  
  if(!privacy.checked) {
    document.getElementById("privacyerr").innerHTML = "Sie müssen den DSB zustimmen.";
    errors++;
  }
    
  if(text.length > 1000 ) {
    var length = text.length;
    length -= 1000;
    document.getElementById("texterr").innerHTML = "Der eingegebene Text ist um " + length + " Zeichen zu lang. (Maximal 1000 Zeichen)";
    errors++;
  }
  
  if(errors == 0) {
    return true;
  } else {
    return false;
  }
}

function resetOrderErrors() {
  document.getElementById("companyerr").innerHTML = "";
  document.getElementById("salutationerr").innerHTML = "";
  document.getElementById("firstnameerr").innerHTML = "";
  document.getElementById("lastnameerr").innerHTML = "";
  document.getElementById("adresserr").innerHTML = "";
  document.getElementById("locationerr").innerHTML = "";
  document.getElementById("countryerr").innerHTML = "";
  document.getElementById("mailerr").innerHTML = "";
  document.getElementById("paymenterr").innerHTML = "";
  document.getElementById("agberr").innerHTML = "";
  document.getElementById("privacyerr").innerHTML = "";
  document.getElementById("texterr").innerHTML = "";
}
 
 /*****************************
*          DOMAIN            *
*****************************/

function checkSyntax() {
  var tld = new Array("de", "com", "net", "org", "info", "biz", "eu", "name", "at", "be", "in", "ch", "li", "es", "cc", "us", "ws");
  
  var domain_name = document.forms[0].domain_name.value;
  var tld_name = document.forms[0].tld_name.value;
  var exist = false; 
  var errors = 0;
  var tld_errmsg = "";
  
  resetDomainErrors();
  
  domain_name = domain_name.replace("http://", "");
  domain_name = domain_name.replace("www.", "");
  
  
  if(!domain_name.indexOf(".")) {
    errors++;
  }
  
  if(!domain_name.indexOf(":")) { 
    errors++;
  }
      
  if(!domain_name.indexOf(",")) {
    errors++;
  }
    
  if(!domain_name.indexOf(":")) {
    errors++;
  }
      
  if(domain_name.length <= 0 || domain_name.length > 128) { 
    errors++;
  }
  
  if(tld_name != "all") {
    for(var i=0;i<=tld.length;i++) {
      if(tld[i] == tld_name) {
        exist = true;
        break;
      }
    }
    
    if(!exist) {
      errors++;
    }
  }
    
  if(errors == 0) {
    document.getElementById("domaincheck").innerHTML = "<div style=\"position:relative;left:-120px;\"><img src=\"./images/loading.gif\" alt=\"Bitte Warten\" class=\"middle\" /><p class=\"center\">Bitte warten ...</p></div>";
    checkDomain(domain_name, tld_name);
    return false;
  } else {
    if(tld_name == "all") {
      document.getElementById("domainerr").innerHTML = "Die eingegebene Domain ist ungültig.";
    } else if(exist == false){
      document.getElementById("domainerr").innerHTML = "Die Top-Level-Domain ist ungültig.";
    } else {
      document.getElementById("domainerr").innerHTML = "Die eingegebene Domain ist ungültig.";
    }
    return false;
  }
}

function resetDomainErrors() {
  document.getElementById("domainerr").innerHTML = "";
}


function checkDomain(domain, tld) {
  if(req.readyState == 4 || req.readyState == 0) {
    req.open("GET", "/cgi/domain.php?domain_name=" + domain + "&tld_name=" + tld , true);
    req.setRequestHeader("Content-Type","text/plain");
    req.onreadystatechange = setDomainMsg;
    req.send(null);
  }
}

function setDomainMsg() {
  if(req.readyState == 4) {
    document.getElementById("domaincheck").innerHTML = req.responseText;
  }
}

/*****************************
*          CONTACT           *
*****************************/

function checkContact() {
  var name = document.forms[0].name.value;
  var mail = document.forms[0].mail.value;
  var subject = document.forms[0].subject.value;
  var text = document.forms[0].text.value;
  var errors = 0;
  
  resetContactErrors();
  
  if(name.length < 4 ) {
    document.getElementById("nameerr").innerHTML = "Der eingegebene Name ist zu kurz.";
    errors++;
  }
    
  if(name.length > 30 ) {
    document.getElementById("nameerr").innerHTML = "Der eingegebene Name ist zu lang.";
    errors++;
  }
  
  if(!checkMail(mail)) { 
    document.getElementById("mailerr").innerHTML = "Keine gültige Email-Adresse.";
    errors++;
  }
  
  if(subject.length < 4 ) {
    document.getElementById("subjecterr").innerHTML = "Der eingegebene Betreff ist zu kurz.";
    errors++;
  }
    
  if(subject.length > 30 ) {
    document.getElementById("subjecterr").innerHTML = "Der eingegebene Betreff ist zu lang.";
    errors++;
  }
  
  if(text.length < 30 ) {
    document.getElementById("texterr").innerHTML = "Geben Sie mindestens 30 Zeichen ein.";
    errors++;
  }
  
  if(text.length > 5000 ) {
    var length = text.length;
    length -= 5000;
    document.getElementById("texterr").innerHTML = "Der eingegebene Text ist um " + length + " Zeichen zu lang. (Maximal 5000 Zeichen)";
    errors++;
  }
  
  if(errors == 0) {
    return true;
  } else {
    return false;
  }
}

function resetContactErrors() {
  document.getElementById("nameerr").innerHTML = "";
  document.getElementById("mailerr").innerHTML = "";
  document.getElementById("subjecterr").innerHTML = "";
  document.getElementById("texterr").innerHTML = "";
}
