

//Create URL encoded string
function setQueryString(){
	queryString = "";
	//var frm = document.forms[0];
	var frm = document.myform; //refer by name when more than one form in page
	var numberElements = frm.elements.length; //alert(numberElements);
	//concatenate elements in "name=value" pairs sepparated by "&"
	for(var i=0; i<numberElements; i++){
		if(i<numberElements-1){
			queryString += frm.elements[i].name+"="+
				encodeURIComponent(frm.elements[i].value)+"&";
		}else{
			//last value
			queryString += frm.elements[i].name+"="+
				encodeURIComponent(frm.elements[i].value);
		}
		
	}
	//alert(queryString);
}

//Request data
var request;
var queryString;

//Send data
function sendData(filepath){
	//alert(filepath);
	//create string using function
	setQueryString();
	//var url = "st_mmmdiaries/inc/fns_emailfriend.php";
	var url = filepath;
	httpRequest("POST", url, true); //method, server script, asynchronous
}

//Initialize request object
function initReq(reqType,url,isAsynch){
	//set function handling HTTP response 
	request.onreadystatechange=handleResponse;
	request.open(reqType,url,isAsynch);
	//set Content-Type Header for POST
	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	request.send(queryString);
}

//Request constructor
function httpRequest(reqType,url,asynch){
	//Mozilla-based browsers
	if(window.XMLHttpRequest){
		request = new XMLHttpRequest();
	}else if (window.ActiveXObject){
		request = new ActiveXObject("Msxml2.XMLHTTP");
		if(! request){
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	//the request could still be null if neither ActiveXObject initialization succeeded
	if(request){
		initReq(reqType,url,asynch);
	}else{
		alert("ALERT: Your browser dos not permit the use"+ 
			  "of all of this application features!");
	}
}

//Response
function handleResponse(){
	//
	if(request.readyState == 4){ //object's operations are complete
		if(request.status == 200){ //http request succeeded	
			//hide animation
			document.getElementById("loading").style.display = "none";	
			//hide sent confirmation
			document.getElementById("msg_sent").style.display = "none";
			//show and fill message div
			document.getElementById("msg").style.display = "block";
			document.getElementById("msg").innerHTML=request.responseText; //1 or 0 //alert(request.responseText);
			//show form
			document.getElementById("form").style.display = "block";					
			//check success
			window.top.window.checksuccess(request.responseText); 
		}else{
			alert("ALERT: A problem occurred while communicating with the server");
		}
	}else if(request.readyState < 4){
		//while proccessing
		//show animation
		document.getElementById("loading").style.display = "block";
		//hide message
		document.getElementById("msg").style.display = "none";
		//hide sent confirmation
		//document.getElementById("sent_msg").style.display = "none";
		//hide form
		document.getElementById("form").style.display = "none";
	}
}

