function $S(o) {
    return ((typeof(o) == 'object' ? o: $(o)).style);
}
function agent(v) {
    return (Math.max(navigator.userAgent.toLowerCase().indexOf(v), 0));
}
function abPos(o) {
    var o = (typeof(o) == 'object' ? o: $(o)),
    z = {
        X: 0,
        Y: 0
    };
    while (o != null) {
        z.X += o.offsetLeft;
        z.Y += o.offsetTop;
        o = o.offsetParent;
    };
    return (z);
}
function XY(e, v) {
    var o = agent('msie') ? {
        'X': event.clientX + document.documentElement.scrollLeft,
        'Y': event.clientY + document.documentElement.scrollTop
    }: {
        'X': e.pageX,
        'Y': e.pageY
    };
    return (v ? o[v] : o);
}
star = {};

star.mouse = function(e, o) {
	$S('starCur').width = 43 + 'px';
    if (star.stop || isNaN(star.stop)) {
        star.stop = 0;
        document.onmousemove = function(e) {
            var n = star.num;
            var p = abPos($('star' + n)),
            x = XY(e),
            oX = x.X - p.X,
            oY = x.Y - p.Y;
            star.num = o.id.substr(4);
            if (oX < 1 || oX > 84 || oY < 0 || oY > 19) {
                star.stop = 1;
                star.revert();
            } else {
           	 
           	 
                $S('starCur' + n).width = oX + 'px';
                $S('starUser' + n).color = '#111';
                $('starUser' + n).innerHTML = (Math.round(oX / 84 * 100))/10 + '';
            }
        };
    }
};
star.update = function(e, o) {
    var n = star.num,
    v = parseInt($('starUser' + n).innerHTML * 10);
    n = o.id.substr(4);
    $('starCur' + n).title = v;
    
    var myRequest = new Request({
        url: $('ajax_base_url').href+'/'+v,
        onSuccess: function(txt) {
            $('rating_error').innerHTML = txt;
            
        }
    });
    myRequest.send();
};
star.revert = function() {
    var n = star.num,
    v = parseInt($('starCur' + n).title);
    $S('starCur' + n).width = Math.round(v * 84 / 100) + 'px';
    $('starUser' + n).innerHTML = (v > 0 ? (Math.round(v))/10  + '': '');
    $('starUser' + n).style.color = '#fff';
    document.onmousemove = '';
};
star.num = 0;
