function createXMLHttpRequest(){
	var xmlhttp = null;
	try {
		// Moz supports XMLHttpRequest. IE uses ActiveX.
		// browser detction is bad. object detection works for any browser
		xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) {
		// browser doesn't support ajax. handle however you want
		//document.getElementById("errormsg").innerHTML = "Tu navegador no es compatible.";
		alert("Tu navegador no es compatible. Por favor actualízalo.");
	}
	return xmlhttp;
}

var xhr = createXMLHttpRequest();

function fkarma(id, action, path){
	xhr.open('get', 'http\://' + window.location.hostname + '/ajax/karma?id='+ id +'&kaction='+ action +'&path='+ path);
	xhr.onreadystatechange = handleResponse;
	xhr.send(null);
}

function handleResponse(){
	if(xhr.readyState == 4){
		var response = xhr.responseText.split('|');

		if(response[0] == 'done'){
			if(response[1]){
				//Changes the thumbs to dull gray and disable the action
				document.getElementById("down-"+response[1]).src = "http\://" + window.location.hostname + '/images/gray_down.png';
				document.getElementById("down-"+response[1]).onclick = '';
				document.getElementById("up-"+response[1]).src = "http\://" + window.location.hostname + '/images/gray_up.png';
				document.getElementById("up-"+response[1]).onclick = '';
				//Update the karma number display
				if(!response[2]){
					alert("Error en el voto");
				}
				var karmanumber = response[2];
				//The below line is commented out because there is no karma number atm.
				/* document.getElementById("karma-"+response[1]+"-"+response[4]).innerHTML = karmanumber; */
			} else {
				alert("WTF ?");
			}
		}
		else if(response[0] == 'error') {
			var error = 'Error: '+response[1];
			alert(error);
		} else {
			alert("Reponse: "+response[0]);
			alert("Karma not changed, please try again later.");
		}
	}
}

