var xmlhttp
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    try {
	xmlhttp = new XMLHttpRequest();
    } catch (e) {
	xmlhttp=false
    }
}
function myXMLHttpRequest() {
    var xmlhttplocal;
    try {
	xmlhttplocal= new ActiveXObject("Msxml2.XMLHTTP")
    } catch (e) {
	try {
	    xmlhttplocal= new ActiveXObject("Microsoft.XMLHTTP")
	} catch (E) {
	    xmlhttplocal=false;
	}
    }

    if (!xmlhttplocal && typeof XMLHttpRequest!='undefined') {
	try {
	    var xmlhttplocal = new XMLHttpRequest();
	} catch (e) {
	    var xmlhttplocal=false;
	    alert('No se puede crear el objeto xmlhhtp');
	}
    }
    return(xmlhttplocal);
}

function sndReqFav(vote,id_user,id_game,units) {
    var theUL = document.getElementById('unit_favor_ul'+id_game); // the UL
	
    // switch UL with a loading div
    theUL.innerHTML = '<div class="loading_favor"></div>';
	
    xmlhttp.open('get', 'http://www.laxjuegos.com/modules/favorite_rpc.php?j='+vote+'&q='+id_user+'&t='+id_game+'&c='+units);
    xmlhttp.onreadystatechange = handleResponse;
    xmlhttp.send(null);	
}

function handleResponse() {
    if(xmlhttp.readyState == 4){
	if (xmlhttp.status == 200){
       	
	    var response = xmlhttp.responseText;
	    var update = new Array();

	    if(response.indexOf('|') != -1) {
		update = response.split('|');
		changeText(update[0], update[1]);
	    }
	}
    }
}

function changeText( div2show, text ) {
    // Detect Browser
    var IE = (document.all) ? 1 : 0;
    var DOM = 0; 
    if (parseInt(navigator.appVersion) >=5) {
	DOM=1
	};

    // Grab the content from the requested "div" and show it in the "container"
    if (DOM) {
	var viewer = document.getElementById(div2show);
	viewer.innerHTML = text;
    } else if(IE) {
	document.all[div2show].innerHTML = text;
    }
}

var favoriteAction = {
    'a.favor' : function(element){
	element.onclick = function(){

	    var parameterString = this.href.replace(/.*\?(.*)/, "$1");
	    var parameterTokens = parameterString.split("&");
	    var parameterList = new Array();

	    for (j = 0; j < parameterTokens.length; j++) {
		var parameterName = parameterTokens[j].replace(/(.*)=.*/, "$1");
		var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1");
		parameterList[parameterName] = parameterValue;
	    }
	    var theVote = parameterList['j'];
	    var theUserID = parameterList['q'];
	    var theGameID = parameterList['t'];
	    var theunits = parameterList['c'];
			
	    sndReqFav(theVote,theUserID,theGameID,theunits);
	    return false;
	}
    }
		
};
Behaviour.register(favoriteAction);
