/* AJAX Star Rating : v1.0.3 : 2008/05/06 */
/* http://www.nofunc.com/AJAX_Star_Rating/ */

function $(v,o) { return((typeof(o)=='object'?o:document).getElementById(v)); }
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) { 
    if(star.stop || isNaN(star.stop)) 
    { 
        star.stop=0;
        document.onmousemove = function(ev) { 
                			

            if (typeof ev == 'undefined')
            {
                ev = event;   
            }			
            
			if (typeof(ev.pageX) == 'undefined')
			{
			    var doc = document.documentElement, body = document.body;
			    ev.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
			    ev.pageY = event.clientY + (doc && doc.scrollTop  || body && body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop  || 0);
			}
    
            
            var $this = jQuery(o);
            var offset = $this.offset();
            var oX = ev.pageX - offset.left;
            var oY = ev.pageY - offset.top;
            
            star.num=o.id.substr(4);
            var n=star.num;   
            //document.title = "X: " + p.X + " Y: " + p.Y
            if(oX<1 || oX>84 || oY<0 || oY>19) 
            { 
                star.stop = 1; 
                star.revert(); 
            }
            else 
            {
                var $cur = jQuery('#starCur' + n);
                var $usr = jQuery('#starUser' + n);
                $cur.css('width', oX + 'px');
                $usr.css('color', '#888');
                $usr.html(Math.round(oX/84*100)+'%');
               
                
//                $S('starCur'+n).width=oX+'px';
  //              $S('starUser'+n).color='#888';
    //            $('starUser'+n).innerHTML=;
            }
        };
    } 
};

star.update=function(e,o,url) { var n=star.num, v=parseInt($('starUser'+n).innerHTML);

    n=o.id.substr(4); $('starCur'+n).title=v;
    if(url!=''){ window.location.href = url+'stars/'+v+'/#vote'; }

};

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)+'%':'');
    $('starUser'+n).style.color='#fff';      
}
star.num=0;