/*
Gli elementi sono ricavati dall'id, i.e. send, display, contact etc
gli effetti non sono necessari, basta eliminare le due function highlight in displayReponse e resetField e non caricare i relativi js
tutti i controlli e relative risposte sono nel sendmail.php

have fun, futre
*/

function createRequestObject() {
    var obj;
    var browser = navigator.appName;
    if (browser == "Microsoft Internet Explorer"){
        obj = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        obj = new XMLHttpRequest();
    }
    return obj;
}

var emailXML = createRequestObject();

function sendEmail(){
   emailXML.open('POST','sendmail.php',true);
   emailXML.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
   emailXML.send(getValues(document.getElementById('contact')));
   emailXML.onreadystatechange=check;
}

function check(){
    if(emailXML.readyState==4){
        if(emailXML.status==200){
          displayResponse();
        }
        else{
            alert('ops... '+emailXML.statusText);
        }
    }
}

function displayResponse(){
   new Effect.Highlight(document.getElementById('display'), {startcolor:'#336699', endcolor:'#EAEAEA'})
   var status=document.getElementById('display').firstChild;
   status.data=emailXML.responseText;
}

function getValues(obj){
    var str='';
    var n = obj.elements.length-2;
    /* -2 perchè non c'è bisogno di inviare anche i bottoni... :) */
    for (var i=1; i<n; i++) {
    str += obj.elements[i].name+'='+ escape(obj.elements[i].value)+'&';
    }
    str = str.substr(0,(str.length)-1);
    /* -1 eliminiamo l'ultima &
         eliminare il comment seguente per visualizzare la stinga inviata */
    // alert (str);
    return str;

}

function resetField () {
   new Effect.Highlight(document.getElementById('display'), {startcolor:'#CCCCCC', endcolor:'#EAEAEA'})
   var status=document.getElementById('display').firstChild;
   status.data='Modulo di contatto posta elettronica';
}
