
function ratingStars() { 
	var els = $$('div.star-rating div.star-ratingbody');
	els.each(function(rt){

		var stars = rt.getElements('li a');
		var req = new Request({method: 'get', 
							  	autoCancel: true,
							  	url: '/gateway/ajaxGateway.php',
								onSuccess: function(response){
									setRated(response,rt);
								}
							  });
		stars.addEvent('mouseover' , function() { 
			
			p_li = this.getParent('li');
			c_li = p_li.get('class');
			sregEx = /s_([1-5]{1})/i;
			res = sregEx.exec(c_li);
			t = res[1];		
			p_ul = p_li.getParent('ul');
			p_ul.getChildren('li').each(function(li_el){
				cc_li = li_el.get('class');
				resli = sregEx.exec(cc_li);
				ct = resli[1];
				if( ct < t){
					li_el.getChildren('a').set('class', 'hover');
				}

			});
			
		} );
					
		stars.addEvent('mouseout' , function() { 
			
			els = this.getParent('li').getParent('ul').getChildren('li').getChildren('a');
			els.each(function(cel){		
				cel.removeClass('hover');
			});
	
		} );				
						
									  
		stars.addEvent('click' , function(event) { 
			event.stop();
			li = argToGet(this.href);
			req.send('_module=ratings&mode=rating'+li);
			return false;
		} );
	});
}

function setRated(resp,rt){
	//resp is a json object

	var res = JSON.decode(resp);

	switch(res.status){
	
	case 'okay':
		av = res.newAve
		ct = res.newCount

		/*stbody = rt.getElement('div.star-ratingbody');*/
		rels = rt.getElement('ul').getChildren('li');

		rels.each(function(li_rt){

			cc_rt = li_rt.get('class');
			sregEx = /s_([1-5]{1})/i;
			cc_rt = li_rt.get('class');
			res = sregEx.exec(cc_rt);
			tt = res[1];
			if( tt <= Math.floor(av) ){
				li_rt.addClass('rated');
			}

			
		});

		pels = rt.getElements('p');
		pels[1].getElement('span.aveVotes').innerHTML = av;
		pels[0].getElement('span.numVotes').innerHTML = ct;
		
		alert('Your rating has been logged, cheers');
		break;
	case 'duplicate':
		alert('You have already rated this');
		break;
	case 'error':
		alert('Sorry there was a problem logging your rating');
		break;
	}
	
}


function argToGet(url){
	li = url.substr( url.indexOf('/q/') ).replace(/-/g, "=");
	sp = li.replace(/\//g, "&");
	return sp;
}
