// AJAX: Send subscriber data
function asyncRateApp(appid,rating) {
	var xtp=newXMLHTTP();
	if (!xtp) return true;

	// Start operation
	setTimeout("asyncRateAppStart('rating"+appid+"')",0);

	// Open Xmlhttp
	xtp.open("GET","/ertekeles?ajax&appid="+appid+"&rating="+rating);

	// Ready state listener
	xtp.onreadystatechange=function() {

		// Check for succesful request headers
		if (xtp.readyState==4) {
			var xtx=xtp.responseText;

			if (xtp.status==200) {
			} else {
				alert("HTTP Error #"+xtp.status+"\n\nServer reply:\n"+xtx);
			}
		}
		// Finish operation
		asyncRateAppFinish("rating"+appid,xtx);
	}

	// Send request
	xtp.send(null);

	// Finish
	return false;
}

// Létrehoz egy új XMLHTTP (aszinkron javascript kérés) objektum
function newXMLHTTP() {
	var xmlhttp=false;

	// MS/IE ActiveX
	try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e1){ try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e2) {
			xmlhttp=false;
		}
	}

	// Mozilla & Opera
	if (!xmlhttp&&typeof XMLHttpRequest!='undefined') {
		xmlhttp=new XMLHttpRequest();
	}

	if (!xmlhttp&&typeof XMLHttpRequest!='undefined') return false;
	
	return xmlhttp;
}

// Aszinkron betöltés elindítása (vizuális feedback)
function asyncRateAppStart(elementid) {
	var emt=document.getElementById(elementid);
	emt.style.backgroundImage='url(/images/rate/loading.gif)';
	emt.innerHTML='';
}

// Aszinkron betöltés vége
function asyncRateAppFinish(elementid,message) {
	var emt=document.getElementById(elementid);
	emt.style.backgroundImage='none';
	emt.innerHTML=decodeAsyncMessage(message);
}

function decodeAsyncMessage(message) {
	if (message) {
		var splitmsg=message.split("\n");
		if (splitmsg[0]!='OK') return alert(splitmsg[1]);
		return splitmsg[2];
	}
	return "";
}