function rate_post( target, type, rating, user_id ) {
		
	var ratingProgress = document.getElementById( "rating_progress_"+target );
	ratingProgress.innerHTML = "Please wait...";
	var ratingNumbers = document.getElementById( "rating_numbers_"+target );
	ratingNumbers.style.display = "none";
	xmlhttp.open( "GET", "modules/rate_post.php?tar="+target+"&type="+type+"&val="+rating+"&user="+user_id, true );
	xmlhttp.onreadystatechange = rate_progress;
	xmlhttp.send(null);
	
}

function rate_progress() {

	if ( xmlhttp.readyState == 4 ) {
		
		var xmlSheet = xmlhttp.responseXML;
		var ratingTarget = getNodeValue( xmlSheet, "target" );
		var ratingProgress = document.getElementById( "rating_progress_"+ratingTarget );
		var ratingDiv = document.getElementById( "rating_"+ratingTarget );
		var ratingDetails = document.getElementById( "rating_details_"+ratingTarget );
		ratingProgress.innerHTML = "You rated this: <span class=\"hilite\">"+getNodeValue( xmlSheet, "user_rating" )+"</span>";
		ratingDiv.className = getNodeValue( xmlSheet, "rating_class" );
		ratingDiv.innerHTML = getNodeValue( xmlSheet, "rating" );
		ratingDetails.innerHTML = getNodeValue( xmlSheet, "rating_value" )+"/"+getNodeValue( xmlSheet, "rating_total" );
	
	}

}

function getNodeValue( tree, el ) {

	return tree.getElementsByTagName( el )[0].firstChild.nodeValue;
	
}