/* 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); }

var xmlhttp;

star={};

star.mouse=function(e,o) { 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);
        }
    };
} };

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

    n=o.id.substr(4); $('starCur'+n).title=v;
	
	var ip_encode = $('verify').value;
	var pid = $('products_id').value;
	
	xmlhttp=null;
	
	if (window.XMLHttpRequest)
	  {// code for Firefox, Opera, IE7, etc.
	  	xmlhttp=new XMLHttpRequest();
	  }
	else if (window.ActiveXObject)
	  {// code for IE6, IE5
	  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	  
	if (xmlhttp!=null)
	  {
		  xmlhttp.onreadystatechange=star.state_Change;
		  xmlhttp.open("GET",'/includes/phpajax/save_vote.php?vote='+v+'&pid='+pid+'&gender='+n,true);
		  xmlhttp.send(null);
	  }
	else
	  {
	 	 alert("Your browser does not support XMLHTTP.");
	  }

};

star.state_Change=function()
{
	if (xmlhttp.readyState==4)
	{// 4 = "loaded"
	  if (xmlhttp.status==200)
	    {// 200 = "OK"
	    	//alert(xmlhttp.responseText);
	    	window.location = "/product/c/"+$('cat').value+"/"+$('products_id').value+"/";
	    }
	  else
	    {
	    	//alert("Problem retrieving data:" + xmlhttp.statusText);
	    }
	}
};

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='#888';
    
    document.onmousemove='';

};

star.num=0;
