var http_request = false;
encode = function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// public method for url decoding
	decode = function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}


function makePOSTRequest_mail(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('Errore!');
	 return false;
  }
  
  with (http_request) {
	  onreadystatechange = alertContents_mail;	
	  open('POST', url, true);
	  setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
	  setRequestHeader("Content-length", parameters.length);
	  setRequestHeader("Connection", "close");
	  send(parameters);
  }
}

function alertContents_mail() {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		result = http_request.responseText;
		var result_arr = result.split("|");
		if (result) {
			if (result_arr[0] != "error") {
				with (document.getElementById('mailForm')) {
					innerHTML = result;
				}
				//resetForm();
			} else {
				var error = new String(result_arr[1]);
				alert (error);
			}
		}
	 }
  } else {
  }
}

function sendMailAjax(lastname, firstname, email, subject, message, root, lang) {
	var poststr = "command=sendMail&surname=" + lastname + "&name=" + firstname + "&from=" + email + "&subject=" + subject + "&body=" + message + "&root=" + root + "&lang=" + lang;
	action = "sendMail";
	makePOSTRequest_mail(root + '/scripts/sendMail.php', poststr);
}
