document.ratingStar_TrackerObjTexts = ["Log in to vote", "Set rating 1 star", "Set rating 2 stars", "Set rating 3 stars", "Set rating 4 stars", "Set rating 5 stars", "You have voted", "Thanks for voting"];
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = ratingStar_getMouseXY;
document.ratingStar_MouseX = 0;
document.ratingStar_MouseY = 0;
// 0 ready to vote
// 2 not logged in
// 3 already have voted
// 4 just voted
document.ratingStar_TrackerObjX = 0;
document.ratingStar_TrackerObjY = 0;
document.ratingStar_TrackerObjAtVal = 0;
function ratingStar_getMouseXY(e) 
{
    if (IE) 
    { 
        tempX = event.clientX + document.body.scrollLeft;
        tempY = event.clientY + document.body.scrollTop;
    }
    else 
    {  
        tempX = e.pageX;
        tempY = e.pageY;
    }  
    if (tempX < 0)
        tempX = 0;
    if (tempY < 0)
        tempY = 0;  
    document.ratingStar_MouseX = tempX;
    document.ratingStar_MouseY = tempY;
    if (document.ratingStar_TrackerObjState == 1)
    {
        if (document.ratingStar_MouseX - document.ratingStar_TrackerObjX < 20)
            document.ratingStar_TrackerObjAtVal = 1
        else if (document.ratingStar_MouseX - document.ratingStar_TrackerObjX < 40)
            document.ratingStar_TrackerObjAtVal = 2
        else if (document.ratingStar_MouseX - document.ratingStar_TrackerObjX < 60)
            document.ratingStar_TrackerObjAtVal = 3
        else if (document.ratingStar_MouseX - document.ratingStar_TrackerObjX < 80)
            document.ratingStar_TrackerObjAtVal = 4
        else 
            document.ratingStar_TrackerObjAtVal = 5;
        getobj("ratingStar_trackerObjText").innerHTML = document.ratingStar_TrackerObjTexts[document.ratingStar_TrackerObjAtVal];
        document.ratingStar_TrackerObj.style.width = (20 * document.ratingStar_TrackerObjAtVal) + "px";
    }
    return true;
}
function setRating()
{
    if (document.ratingStar_TrackerObjState == 1)
    {
        document.ratingStar_TrackerObjState = 4;
        getobj("ratingStar_trackerObjText").innerHTML = document.ratingStar_TrackerObjTexts[7];
        document.ratingStar_TrackerObj.style.width = (20 * document.ratingStar_TrackerObjAtVal) + "px";
        doRate(document.ratingStar_TrackerObjAtVal);
    }
    if (document.ratingStar_TrackerObjState < 4 && document.ratingStar_TrackerObjState != 2 && document.ratingStar_TrackerObjState != 3)
    {
        getobj("ratingStar_trackerObjText").innerHTML = "(" + document.ratingStar_TrackerObjVal + ")";
    }
}
function setStars()
{
    document.ratingStar_TrackerObjX = findPosX(document.ratingStar_TrackerObj);
    document.ratingStar_TrackerObjY = findPosY(document.ratingStar_TrackerObj);
    if (document.ratingStar_TrackerObjState == 0)
        document.ratingStar_TrackerObjState = 1;
    else if (document.ratingStar_TrackerObjState == 2)
        getobj("ratingStar_trackerObjText").innerHTML = document.ratingStar_TrackerObjTexts[0];
    else if (document.ratingStar_TrackerObjState == 3)
        getobj("ratingStar_trackerObjText").innerHTML = document.ratingStar_TrackerObjTexts[6];
}
function unSetStars()
{
    if (document.ratingStar_TrackerObjState == 1)
    {
        document.ratingStar_TrackerObjState = 0;
        document.ratingStar_TrackerObj.style.width = (20 * document.ratingStar_TrackerObjVal) + "px";
    }
    if (document.ratingStar_TrackerObjState < 4)
    {
        getobj("ratingStar_trackerObjText").innerHTML = "(" + document.ratingStar_TrackerObjVal + ")";
    }
}
function findPosX(obj)
{
    var curleft = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
	        curleft += obj.offsetLeft;
	        obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj)
{
    var curtop = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
	        curtop += obj.offsetTop - obj.scrollTop;
	        obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;	
    return curtop; 
}
// Provide the XMLHttpRequest class for IE 5.x-6.x:
if( typeof XMLHttpRequest == "undefined" ) XMLHttpRequest = function() {
  try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch(e) {}
  try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch(e) {}
  try { return new ActiveXObject("Msxml2.XMLHTTP") } catch(e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP") } catch(e) {}
  throw new Error( "This browser does not support XMLHttpRequest." )
}
var ratingStar_req;

document.move2id = function (toId,moveId,offsetX,offsetY)
{
    if (typeof(toId) == 'string')
        toIdObj = getobj(toId);
    else
        toIdObj = toId;
    if (typeof(moveId) == 'string')
        moveIdObj = getobj(moveId);
    else
        moveIdObj = moveId;
    moveIdObj.style.position = "absolute";
    moveIdObj.style.left = (findPosX(toIdObj) + offsetX) + "px";
    moveIdObj.style.top = (findPosY(toIdObj) + offsetY) + "px";
}
