jQuery(document).ready(function() {
	initPSR();
});

function getStarNumber(id) {
	return id.substring(id.lastIndexOf('_') + 1, id.length);
}

function getStarPostId(id) {
	tmpstr = id.substring(0, id.lastIndexOf('_'));
	return tmpstr.substring(tmpstr.lastIndexOf('_') + 1, tmpstr.length);
	
}

function initPSR() {
	vts = jQuery(".voting_star");
	vts.hover (
		function(){			
			PSR_star_over(this, getStarNumber(this.id));			
		},
		function(){		
			PSR_star_out(this);
		}
	);
	vts.click(function() {
		PSR_save_vote(getStarPostId(this.id), getStarNumber(this.id));
	});
	
}


function PSR_star_over(obj, star_number) {	
			var psr=obj.parentNode;
			var as=psr.getElementsByTagName('a');
			for (i=0;i<star_number;++i) {
				as[i].lastClass = as[i].className;
				as[i].className = 'PSR_full_star';
			}
			for (;i<as.length;++i) {
				as[i].lastClass = as[i].className;
//				as[i].className = 'PSR_no_star';
			}
		}

		function PSR_star_out(obj) {
			var as=obj.getElementsByTagName('a');
			for (i=0;i<as.length;++i) {
				if (as[i].lastClass) {
					as[i].className = as[i].lastClass;
				}
			}
		}

		function PSR_getHTTPObject() {
			if (window.XMLHttpRequest)
			  {
			  // IE7+, Firefox, Chrome, Opera, Safari
			  return new XMLHttpRequest();      
			  }
			else
			  {
			  // IE6, IE5
			  return new ActiveXObject("Microsoft.XMLHTTP");    
			  }	
		}
		function PSR_save_vote(post, points) {
			//alert('PSR_save_vote \n' + wpDir + '/wp-content/plugins/post-star-rating/psr-ajax-stars.php?p=' + PSR_current_post + '&psr_stars=' + points);
		  if (!PSR_isWorking) {
		  	PSR_current_post=post;
				PSR_http.open('GET', wpDir + '/wp-content/plugins/post-star-rating/psr-ajax-stars.php?p=' + PSR_current_post + '&psr_stars=' + points, true); 
				PSR_http.onreadystatechange = PSR_update_vote; 
			 	PSR_isWorking = true;
				PSR_http.send(null);
		  }
		}
		function PSR_update_vote() {				
		  if (PSR_http.readyState == 4) {
		  	PSR_isWorking = false;
		  	var cont = document.getElementById('PSR_form_' + PSR_current_post).parentNode;
		  	//alert('PSR_form_' + PSR_current_post + "\n" + cont);
	    	cont.innerHTML=PSR_http.responseText;
		  }
		}
		PSR_current_post = null;
		PSR_http=PSR_getHTTPObject();
	  PSR_isWorking=false;