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('couldn\'t create xmlhttp object');
        }
    }
    return(xmlhttplocal);
}

function sndReq(vote,uid,ipu,rid) 
{
	var theUL = document.getElementById('unit_ul2id'); 	
	theUL.innerHTML = '<div class="loading"></div>';	
    xmlhttp.open('get', 'rpc.php?count='+vote+'&uid='+uid+'&ipu='+ipu+'&rid='+rid);
    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 ) 
{
    var IE = (document.all) ? 1 : 0;
    var DOM = 0; 
    if (parseInt(navigator.appVersion) >=5) {DOM=1};

    if (DOM) 
    {
        var viewer = document.getElementById(div2show);
        viewer.innerHTML = text;
    }  
    else if(IE) 
    {
        document.all[div2show].innerHTML = text;
    }
}


var ratingAction = 
{
    'a.rater' : 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"); // j
	            var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1"); // 1
	            parameterList[parameterName] = parameterValue;
            }
            var theratingID = parameterList['uid'];
            var theVote = parameterList['count'];
            var theuserIP = parameterList['ipu'];
            var theunits = parameterList['rid'];
            sndReq(theVote,theratingID,theuserIP,theunits); return false;		
        }
    }		
};
Behaviour.register(ratingAction);

