var ActiveHandler = null;
var objHandler, objScoreScaleB, objScoreScaleF, objScoreNumber;
var LeftPos, RightPos, OffsetX;

window.onload = function() {
    objHandler = document.getElementById('Score_Scale_Handler');
    objScoreScaleB = document.getElementById('Score_Scale_B');
    objScoreScaleF = document.getElementById('Score_Scale_F');
    objScoreNumber = document.getElementById('Score_Number');
    LeftPos, RightPos, OffsetX;
    
    objHandler.style.display = 'block';
    objScoreScaleF.style.display = 'block';
    document.getElementById('Score_Scale_Result_F').style.display = 'block';

    LeftPos = GetX(objScoreScaleB);
    WidthPos = objScoreScaleB.offsetWidth;
    objHandler.getElementsByTagName('A')[0].onclick = function() {return false}
    document.body.onmousemove = function(e) {
        if (!ActiveHandler) return false;
        if (!e) e = window.event;
        var X = e.clientX + document.body.scrollLeft;
        var Left = X - LeftPos - OffsetX;
        if (Left < (- 5) || Left > (WidthPos - 11)) return false;
        objHandler.style.left = Left + 'px';
        var Pos = (Math.floor((Left + 5) / 6) * 6) + (((Left + 5) % 6 < 3)? 1: 7);
        objScoreScaleF.style.backgroundPosition = Pos + 'px 1px';
        var Number = (Pos - 1) / 6 * .5;
        objScoreNumber.innerHTML = (Number.toString().length == 1)? Number + '.0': Number;
        return false;
    }
    objHandler.onmousedown = function(e) {
        if (!e) e = window.event;
        var X = e.clientX + document.body.scrollLeft;
        OffsetX = X - GetX(objHandler);
        ActiveHandler = this;
        return false;
    }
    document.body.onmouseup = function() {
		if (ActiveHandler) {
			var objForm = document.forms[0];
			objForm.VoteValue.value = objScoreNumber.innerHTML;
			objForm.submit();
		}
        ActiveHandler = null;
    }
}
function GetX(obj) {
    var X = obj.offsetLeft;
    var Parent = obj.offsetParent;
    while (Parent) {
	    X += Parent.offsetLeft;
	    Parent = Parent.offsetParent;
    }
    return X;
}