var myReq = null;
function AJAXReq(methodtype,url,asynch,resp){
 if(window.XMLHttpRequest){
  myReq = new XMLHttpRequest();
 }else if(window.ActiveXObject){
   myReq = new ActiveXObject("Msxml2.XMLHTTP");
    if(!myReq){
      myReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
 }
 
 if(myReq){
  if(methodtype.toLowerCase() != "post"){
    execfunc(methodtype,url,asynch,resp);
  }else{
    var args = arguments[4];
    execfunc(methodtype,url,asynch,resp,args);
  }
 }else{
   alert("Your browser doesn't support AJAX utilities");
 }
}

function execfunc(methodtype,url,asynch,resp){
  try{
    myReq.onreadystatechange = resp;
    myReq.open(methodtype,url,asynch);
    
    if(methodtype.toLowerCase() == "post"){
      myReq.setRequestHeader("Content-Type",
                             "application/x-www-form-urlencoded; charset=UTF-8");
      myReq.send(arguments[4]);
    }else{
      myReq.send(null);
    }
  }catch(errv){
    alert("Enable to contact the server\nError: "+errv.message);
  }
}

function PreparaDati(quale){
  stringa = "";
  var form = document.forms[quale];
  var numeroElementi = form.elements.length;
 
  for(var i = 0; i < numeroElementi; i++){
    if(i < numeroElementi-1){
     if((form.elements[i].type == 'radio' || form.elements[i].type == 'checkbox') && form.elements[i].checked == true){
       stringa += form.elements[i].name+"="+encodeURIComponent(form.elements[i].value)+"&";
     }else if(form.elements[i].type != 'radio' && form.elements[i].type != 'checkbox'){
      stringa += form.elements[i].name+"="+encodeURIComponent(form.elements[i].value)+"&";
     }
    }else{
     if((form.elements[i].type == 'radio' || form.elements[i].type == 'checkbox') && form.elements[i].checked == true){
       stringa += form.elements[i].name+"="+encodeURIComponent(form.elements[i].value);
     }else if(form.elements[i].type != 'radio' && form.elements[i].type != 'checkbox'){
      stringa += form.elements[i].name+"="+encodeURIComponent(form.elements[i].value);
     }
    } 
  }
}

function done(id,wait){
 if(myReq.readyState == 4 && myReq.status == 200){
   close(wait);	
  if(myReq.responseText.indexOf("ERRORE") != -1){
    alert(myReq.responseText);
  }else{
    document.getElementById(id).innerHTML = myReq.responseText;
  }
 } 
}

function close(id){
  var div = document.getElementById(id);
  div.style.visibility = 'hidden';
  div.style.display = 'none';
}

function loader(id,text,img){
  document.getElementById(id).style.display = 'block';
  document.getElementById(id).style.visibility = 'visible';
  document.getElementById(id).innerHTML = '<img class="imgalign" alt="loader" src="'+img+'" /><br />'+text;
}

function sendemail(id,wait,f){
  loader(wait,'Stiamo elaborando la tua richiesta...','../images/loader.gif');
  PreparaDati(f);
  setTimeout("AJAXReq('POST','emailajax.php',true,function (){done('"+id+"','"+wait+"')},stringa);", 1000);
}
