var Voter = {
  url : "/vote.php",
  req : null,

  processReqChange : function(){
   if(req.readyState == 4){
   	if(req.status == 200){
	   var vote_data = eval('('+req.responseText+')');
	   //-42 in the count indcates already voted
	   if(vote_data.count == -42){
	   	alert('You already voted!'); 
	   	return; 
	   }
	   //document.getElementById('vote' + vote_data.evid).innerHTML = vote_data.count; 
	   var avg = vote_data.count / vote_data.total_votes; 
	   var scaled_avg = avg * 25; 
	   avg = avg.toFixed(1);
	   document.getElementById('star-rating-' + vote_data.evid).setAttribute('style', 'width:' + scaled_avg + 'px');
	   document.getElementById('avg-' + vote_data.evid).innerHTML= avg; 
	   var ratings_str = (vote_data.total_votes == 1 ? 'rating' : "ratings");
	   document.getElementById('total-ratings-' + vote_data.evid).innerHTML = vote_data.total_votes + ' ' + ratings_str; 
	}
	else{
	   alert("There was a problem:" + req.statusText + " code: " + req.status); 
	}
   }
  },

  vote_new: function(eventid, userid, rating){
	try{
		req = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e){
		try{
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(sc){
			req=null;
		}
	}
	if(!req && typeof XMLHttpRequest != "undefined"){
		req = new XMLHttpRequest();
	}
	req.onreadystatechange = this.processReqChange;
	req.open("POST", this.url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	req.send("evid=" + eventid + '&user_id=' + userid + '&rating=' + rating); 
  },

   vote : function(eventid, userid){
	try{
		req = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e){
		try{
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(sc){
			req=null;
		}
	}
	if(!req && typeof XMLHttpRequest != "undefined"){
		req = new XMLHttpRequest();
	}
	req.onreadystatechange = processReqChange;
	req.open("POST", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	req.send("evid=" + eventid + '&user_id=' + userid); 
   }

} //end class
