function ajax(url, parameters) {
    http_request = false;
    
    if( window.XMLHttpRequest ){ // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if( http_request.overrideMimeType ) http_request.overrideMimeType('text/html');
    } else if( window.ActiveXObject ){ // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e){
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){}
        }
    }
    if( !http_request ){
        alert('ERROR: cannot execute ajax...');
        return false;
    }
    
    http_request.open('POST', url, false);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
    
    if( http_request.readyState == 4 && http_request.status == 200 ){
        return http_request.responseText;
    } else return false;
}

function saveNewsletter(){
    var email = document.getElementById("email_newsletter").value;
    
    var mail_filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if( mail_filter.test(email) ){
        if( ajax("ajax/isAlreadyIn.php", "email="+email) ){
            ajax("ajax/saveNewsletterEmail.php", "email="+email);
            document.getElementById("email_newsletter").value = "";
            alert("Thank you, you will receive the newsletter from now.");
        } else alert("You're already registered in the database to receive the newsletter.");
    } else alert("Invalid email address.");
}