var img1 = new Image();
var img2 = new Image();
img1.src= "/res/common/arrow.gif"
img2.src= "/res/common/spacer.gif"

var GREY='/res/common/grey_star.jpg';
var GLOW='/res/common/red_star.jpg';
// pre-fetch image
(new Image()).src=GREY;
(new Image()).src=GLOW;

function rateit(aid,count,form,rtype,rate0,rate1,rate2,rate3,rate4,rate5) {
	//this.msg=new Array('<?=msg("Rate this!")?>','<?=msg("Bad!")?>','<?=msg("Poor!")?>','<?=msg("Average!")?>','<?=msg("Good!")?>','<?=msg("Wow!")?>');
	this.msg=new Array(rate0,rate1,rate2,rate3,rate4,rate5);
	this.count=Math.round(count);
	this.enabled=1;
	this.form=form;
	this.aid = aid;
	this.resource_type = rtype;

	function show(c) {
		if(document.getElementById('rwactive'+this.aid).value=='T') {
			this.grey();
			this.colour(c);
			document.getElementById('rwtext'+this.aid).innerHTML=this.msg[c];
		}
	}
	function colour(c) {
		if(document.getElementById('rwactive'+this.aid).value=='T') {
			for(var i=1;i<=c;i++) {
				document.getElementById('astra'+this.aid+'_'+i).src=GLOW;
			}
		}
	}
	function grey() {
		if(document.getElementById('rwactive'+this.aid).value=='T') {
			for(var i=1;i<=5;i++) {
				document.getElementById('astra'+this.aid+'_'+i).src=GREY;
			}
		}
	}

	function set(c,field_score,field_resource_id,field_resource_type,field_page,page) {
		if(document.getElementById('rwactive'+this.aid).value=='T') {
			if (c < 1) c = 1;
			if (c > 5) c = 5;
			var post = 'inline=1&'+field_score+'='+c+'&'+field_resource_id+'='+this.aid+'&'+field_resource_type+'='+this.resource_type+'&'+field_page+'='+page;
			var method = post ? 'POST':'GET';

			var rateReq = null;
			if (window.XMLHttpRequest){
				rateReq = new XMLHttpRequest()
			} else if (window.ActiveXObject){
				rateReq = new ActiveXObject("Microsoft.XMLHTTP");
			} else {
				return;
			}
			rateReq.open(method, this.form.action,true);
	
			div=document.getElementById('rwtext'+this.aid);
			var rateit=this;
			rateReq.onreadystatechange=function() {
				var ok = false;
				if (rateReq.readyState==4) {// deal with response
					var statustxt = '';
					if(rateReq.status == 200) {
						ok = true;
						statustxt = rateReq.responseText;
					} else if(rateReq.status ==500) {
						//statustxt = 'Error ';
					} else {
						//statustxt = 'Unknown Response Code '+rateReq.status;
					}
					if (div && ok) {
						div.innerHTML = statustxt+' '+'<?=msg("Rated as")?> '+rateit.msg[c];
						rateit.count=c;
						document.getElementById('ratecount'+rateit.aid).innerHTML=parseInt(document.getElementById('ratecount'+rateit.aid).innerHTML)+1;
						rateit.reset();
					}
				}
			}
			if (post) {
				rateReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
				rateReq.send(post);
			} else {
				rateReq.send(null);
			}
     	
			document.getElementById('rwactive'+this.aid).value='F';
			this.enabled=0;
		}
	}

	function setGroup(c,field_score,field_resource_id,field_resource_type,field_page,page) {
		if(document.getElementById('rwactive'+this.aid).value=='T') {
			if (c < 1) c = 1;
			if (c > 5) c = 5;
			var post = 'inline=1&'+field_score+'='+c+'&'+field_resource_id+'='+this.aid+'&'+field_resource_type+'=group&'+field_page+'='+page;
			var method = post ? 'POST':'GET';

			var rateReq = null;
			if (window.XMLHttpRequest){
				rateReq = new XMLHttpRequest()
			} else if (window.ActiveXObject){
				rateReq = new ActiveXObject("Microsoft.XMLHTTP");
			} else {
				return;
			}
			rateReq.open(method, this.form.action,true);
	
			div=document.getElementById('rwtext'+this.aid);
			var rateit=this;
			rateReq.onreadystatechange=function() {
				var ok = false;
				if (rateReq.readyState==4) {// deal with response
					var statustxt = '';
					if(rateReq.status == 200) {
						ok = true;
						statustxt = rateReq.responseText;
					} else if(rateReq.status ==500) {
						//statustxt = 'Error ';
					} else {
						//statustxt = 'Unknown Response Code '+rateReq.status;
					}
					if (div && ok) {
						div.innerHTML = statustxt+' '+'<?=msg("Rated as")?> '+rateit.msg[c];
						rateit.count=c;
						document.getElementById('ratecount'+rateit.aid).innerHTML=parseInt(document.getElementById('ratecount'+rateit.aid).innerHTML)+1;
						rateit.reset();
					}
				}
			}
			if (post) {
				rateReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
				rateReq.send(post);
			} else {
				rateReq.send(null);
			}
     	
			document.getElementById('rwactive'+this.aid).value='F';
			this.enabled=0;
		}
	}
	
	function setRate(c,field_score,field_resource_id,field_resource_type,resource_type,field_title,title) {
		if(document.getElementById('rwactive'+this.aid).value=='T') {
			if (c < 1) c = 1;
			if (c > 5) c = 5;
			var post = 'inline=1&'+field_score+'='+c+'&'+field_resource_id+'='+this.aid+'&'+field_resource_type+'='+resource_type+'&'+field_title+'='+title;
			var method = post ? 'POST':'GET';

			var rateReq = null;
			if (window.XMLHttpRequest){
				rateReq = new XMLHttpRequest()
			} else if (window.ActiveXObject){
				rateReq = new ActiveXObject("Microsoft.XMLHTTP");
			} else {
				return;
			}
			rateReq.open(method, this.form.action,true);
	
			div=document.getElementById('rwtext'+this.aid);
			var rateit=this;
			rateReq.onreadystatechange=function() {
				var ok = false;
				if (rateReq.readyState==4) {// deal with response
					var statustxt = '';
					if(rateReq.status == 200) {
						ok = true;
						statustxt = rateReq.responseText;
					} else if(rateReq.status ==500) {
						//statustxt = 'Error ';
					} else {
						//statustxt = 'Unknown Response Code '+rateReq.status;
					}
					if (div && ok) {
						div.innerHTML = statustxt+' '+'<?=msg("Rated as")?> '+rateit.msg[c];
						rateit.count=c;
						document.getElementById('ratecount'+rateit.aid).innerHTML=parseInt(document.getElementById('ratecount'+rateit.aid).innerHTML)+1;
						rateit.reset();
					}
				}
			}
			if (post) {
				rateReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
				rateReq.send(post);
			} else {
				rateReq.send(null);
			}
     	
			document.getElementById('rwactive'+this.aid).value='F';
			this.enabled=0;
		}
	}

	function draw(c) {
		if(document.getElementById('rwactive'+this.aid).value=='T') {
			this.count=c;
			this.show(c);
		}
	}
	function clear() {
		return;
	}
	function reset() {
		if(document.getElementById('rwactive'+this.aid).value=='T') {
			if(this.count) {
				this.draw(this.count);
			} else {
				this.grey();
			}
			document.getElementById('rwtext'+this.aid).innerHTML=this.msg[this.count];
		}
	}
	this.clear=clear;
	this.grey=grey;
	this.colour=colour;
	this.reset=reset;
	this.set=set;
	this.setGroup=setGroup;
	this.draw=draw;
	this.show=show;
}

