/*
// stores the reference to the XMLHttpRequest object
var xmlHttp = createXmlHttpRequestObject(); 

// retrieves the XMLHttpRequest object
function createXmlHttpRequestObject() {	
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  
  try{
  	xmlHttp = new XMLHttpRequest();
  	
  } catch (e){
  	var xmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
  									'MSXML2.XMLHTTP.5.0',
  									'MSXML2.XMLHTTP.4.0',
  									'MSXML2.XMLHTTP.3.0',
  									'MSXML2.XMLHTTP',
  									'Microsoft.XMLHTTP');
  	for(var i=0; i<xmlHttpVersions.length && !xmlHttp; i++){
  		try{
  			xmlHttp = new Activexobject(xmlHttpVersions[i]);
  		} catch (e){}
  	}
  }
  // return the created object or display an error message
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}*/
// holds an instance of XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();

// creates an XMLHttpRequest instance
function createXmlHttpRequestObject() 
{
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // this should work for all browsers except IE6 and older
  try
  {
    // try to create XMLHttpRequest object
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // assume IE6 or older
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    // try every prog id until one works
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // try to create XMLHttpRequest object
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  // return the created object or display an error message
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

function handleRequestStateChange(){
	if(xmlHttp.readyState == 4){
		if(xmlHttp.status == 200){
			try{
				handleServerResponse();
			} catch (e){
				alert("Error reading the respons: " + e.toString());
			}
		} else {
			alert("There was a problem retrieving the data:\n" + xmlHttp.statusText);
		}
	}
}

function handleServerResponse(){
	var response = xmlHttp.responseText;
	if(response == 1){
		document.getElementById("newsletterform").reset();
		document.getElementById("newsletter_status").style.visibility = "visible"
		document.getElementById("newsletter_status").innerHTML = "Du er nu tilmeldt"; 
	} else if(response == 2) {
		document.getElementById("newsletterform").reset();
		document.getElementById("newsletter_status").style.visibility = "visible"
		document.getElementById("newsletter_status").innerHTML = "Du er nu frameldt";
	}

	
}

// make asynchronous HTTP request using the XMLHttpRequest object 
function process(type){
	if(xmlHttp){
	    try{
		    var url = "";
		   	switch(type){
		    		case "newsletterform_subscribe":
					    var email = encodeURIComponent(document.getElementById("newsletter_email").value);
	   				    url = "type=" + type + "&email=" + email;
	   				    break;
					case "newsletterform_remove":    
					    var email = encodeURIComponent(document.getElementById("newsletter_email").value);
	   				    url = "type=" + type + "&email=" + email;
	   				    break;   			 
		    		default:
		    		break;
		    	}
	    // execute the quickstart.php page from the server
	    xmlHttp.open("GET", "inc/send_mail.php?" + url, true);  
	    // define the method to handle server responses
	    xmlHttp.onreadystatechange = handleRequestStateChange;
	    // make the server request
	    xmlHttp.send(null);
	    } catch (e){
	    	alert("Error: " + e.toString());
	    }
	}
}
