/*
 *  Javascript Ajax Bridge for ListZe.com
 */

saving = false;
http = getHTTPObject();

// item vote
function itemvote(itemid,dir){
	var url = "/ajax.php?type=itemvote&param=";
	var uparrow = document.getElementById("uparrow" + itemid);
	var downarrow = document.getElementById("downarrow" + itemid);
	var statusdiv = document.getElementById("itemstatus" + itemid);

	if(saving) return;

	if(!z || z < 1){
		window.location = '/signup.php';
		return;
	}

	if(dir == "down"){
		uparrow.src = "/images/listitem-voteup.gif";
		downarrow.src = "/images/listitem-votedown-over.gif";
		downarrow.blur();
	}else{
		uparrow.src = "/images/listitem-voteup-over.gif";
		downarrow.src = "/images/listitem-votedown.gif";
		uparrow.blur();
	}

	statusdiv.style.display = 'block';
	statusdiv.innerHTML = 'Saving';

	saving = true;

        http.open("GET", url + escape(itemid) + "||" + escape(dir), true);
        http.onreadystatechange = handleHttpResponse;

        http.send(null);

	return;
}


function handleHttpResponse(){
        if(http.readyState == 4){
                // Split the comma delimited response into an array
                results = http.responseText;

		response = results.split("\n");

		switch(response[0]){
			case "itemvote":
				parseItemVoteResponse(response[1]);
				break;
		}
		
        }
}

function parseItemVoteResponse(results){
	response = results.split("||");

	saving = false;

	document.getElementById("itemstatus" + response[0]).style.display = 'none';
	document.getElementById("itemscore" + response[0]).innerHTML = response[1];

	return;
}

function getHTTPObject(){
        var xmlhttp;

        /*@cc_on

        @if (@_jscript_version >= 5)
                try {
                        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                }catch(e){
                        try{
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }catch(E){
                        xmlhttp = false;
                }
        }
        @else
                xmlhttp = false;
        @end @*/

        if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){
                try {
                        xmlhttp = new XMLHttpRequest();
                }catch(e){
                        xmlhttp = false;
                }
        }

        return xmlhttp;
}
