
var NLReq = getXMLHTTPRequest();

function getXMLHTTPRequest() {

    //erstellt, je nach browser, das XMLHttpRequest-Objekt und gibt es dann zurück:

    var req = false;
    
    try{
        /*firefox:*/
        req = new XMLHttpRequest();
    }
    catch(err) {
        try{
            /*bestimmte ie-versionen: */
            req = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(err) {
            try{
                /* andere ie-versionen: */
            req = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(err) {
                req = false;
            }
            
        }
    }
    
    return req;

}

function StartNLSubscription()
{
     //form ausblenden, wartesymbol anzeigen:
      document.getElementById('newsletter_form').style.display = 'none';
      document.getElementById('newsletter_error').style.display = 'none';
      document.getElementById('newsletter_done').style.display = 'none';
      document.getElementById('newsletter_progress').style.display = 'block';
      
      window.setTimeout(CallNewsletterSubscriptionScript, 1500);
}


function CallNewsletterSubscriptionScript()
{
      
      
      var name = document.getElementById('newsletter_name').value;
      var email = document.getElementById('newsletter_email').value;
      
      var theScript = 'newsletter_subscribe.php';
      
      NLReq.open('POST', theScript, true);
      
      NLReq.setRequestHeader("Pragma", "no-cache");
      NLReq.setRequestHeader("Cache-Control", "must-revalidate");
      NLReq.setRequestHeader("If-Modified-Since", document.lastModified);
      NLReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
      
      
      NLReq.onreadystatechange = HandleNLScriptResponse;
      var post = 'name=' + encodeURIComponent(name) + '&email=' + encodeURIComponent(email);
     
      NLReq.send(post);
      
}

function HandleNLScriptResponse()
{
     if(NLReq.readyState == 4) {
         if(NLReq.status == 200)
         {    
         
        // var node = NLReq.responseXML.getElementsByTagName("NLStatus")[0];
        // var status = node.childNodes[0].nodeValue;
            
       
             if(NLReq.responseText == 0)
             {
                 //statuscode 0 --> nicht alles ausgefüllt:
                document.getElementById('newsletter_error').innerHTML = 'Bitte f&uuml;lle alle Felder aus.';
                 
                document.getElementById('newsletter_form').style.display = 'block';
                document.getElementById('newsletter_error').style.display = 'block';
                document.getElementById('newsletter_done').style.display = 'none';
                document.getElementById('newsletter_progress').style.display = 'none'; 
             }
             else if(NLReq.responseText == 1)
             {
                  //statuscode 1 --> tippfehler in email-adresse:
                document.getElementById('newsletter_error').innerHTML = 'Die E-Mail-Adresse ist ung&uuml;ltig.';

                document.getElementById('newsletter_form').style.display = 'block';
                document.getElementById('newsletter_error').style.display = 'block';
                document.getElementById('newsletter_done').style.display = 'none';
                document.getElementById('newsletter_progress').style.display = 'none';
             }
             else if(NLReq.responseText == 2)
             {
                  //statuscode 2 --> email schon registriert:
                document.getElementById('newsletter_error').innerHTML = 'E-Mail-Adresse bereits registriert.';

                document.getElementById('newsletter_form').style.display = 'block';
                document.getElementById('newsletter_error').style.display = 'block';
                document.getElementById('newsletter_done').style.display = 'none';
                document.getElementById('newsletter_progress').style.display = 'none';
             }
             else if(NLReq.responseText == 3)
             {
                   //statuscode 3 --> email erfolgreich registriert:
                
                document.getElementById('newsletter_form').style.display = 'none';
                document.getElementById('newsletter_error').style.display = 'none';
                document.getElementById('newsletter_done').style.display = 'block';
                document.getElementById('newsletter_progress').style.display = 'none';
             }
             //nach unten scrollen:
             window.scrollTo(0,10000);
             
             
         }
         else{
             //form ausblenden, wartesymbol anzeigen:
      document.getElementById('newsletter_form').style.display = 'none';
      document.getElementById('newsletter_error').style.display = 'none';
      document.getElementById('newsletter_done').style.display = 'none';
      document.getElementById('newsletter_progress').style.display = 'block';
         }
     }
}


