function createXMLHttpRequest(){
    var xmlhttp = null;
    try {
        xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
        alert("Your browser does not support the XMLHttpRequest Object!");
    }
    return xmlhttp;
}

var xhr = createXMLHttpRequest();

function karma(id, type, action, path){
    xhr.open('get', 'http\://' + path + '/karma_request.php?id='+ id +'&type='+ type +'&action='+ action);
    xhr.onreadystatechange = handleResponse;
    xhr.send(null);
}

function handleResponse(){
    if(xhr.readyState == 4){
        var response = xhr.responseText.split('|');
        
        if(response[0] == 'done'){
            if(response[1] && response[2]){
				document.getElementById("vote-"+response[1]+"-"+response[2]).style.display = 'none';
                document.getElementById("down-"+response[1]+"-"+response[2]).onclick = '';
				document.getElementById("up-"+response[1]+"-"+response[2]).onclick   = '';
                if(!response[3]){
                	alert("Response has no value");
                }
                document.getElementById("karma-"+response[1]+"-"+response[2]).className = "karma-" + response[3];
            }
        }
        else if(response[0] == 'error') {
            var error = 'Error: '+response[2];
            alert(error);
        } else {
        	//alert("Reponse: "+response[0]);
            alert("Karma not changed, please try again later.");
        }
    }
}