var image_on = new Array();
var image_off = new Array();
var rating_message = new Array();

rating_message[1] = 'Poor';
rating_message[2] = 'Below Average';
rating_message[3] = 'Average';
rating_message[4] = 'Above Average';
rating_message[5] = 'Excellent';

image_on[0] = 'images/stars/st_pe_on_l_lg.gif';
image_on[1] = 'images/stars/st_pe_on_m_lg.gif';
image_on[2] = 'images/stars/st_pe_on_m_lg.gif';
image_on[3] = 'images/stars/st_pe_on_m_lg.gif';
image_on[4] = 'images/stars/st_pe_on_r_lg.gif';

image_off[0] = 'images/stars/st_pe_off_l_lg.gif';
image_off[1] = 'images/stars/st_pe_off_m_lg.gif';
image_off[2] = 'images/stars/st_pe_off_m_lg.gif';
image_off[3] = 'images/stars/st_pe_off_m_lg.gif';
image_off[4] = 'images/stars/st_pe_off_r_lg.gif';

function Jrater()
{
	var self = this;  

	this.setJournal = function(jid) {
        	self.jid = jid;
	}

	this.setStars = function() {
		self.stars = this.readCookie('tfblog_' + self.jid );
	}
	
	this.showMessage = function(msg) {
		document.getElementById('scorebox[' + self.jid + ']').style.visibility = 'hidden';
		document.getElementById('scorebox[' + self.jid + ']').style.display = 'none';
		document.getElementById('message[' + self.jid + ']').innerHTML = rating_message[msg];
		document.getElementById('message[' + self.jid + ']').style.visibility = 'visible';
		document.getElementById('message[' + self.jid + ']').style.display = '';
	}

	this.showScoreBox = function() {
		document.getElementById('scorebox[' + self.jid + ']').style.visibility = 'visible';
		document.getElementById('scorebox[' + self.jid + ']').style.display = '';
		document.getElementById('message[' + self.jid + ']').style.visibility = 'hidden';
		document.getElementById('message[' + self.jid + ']').style.display = 'none';
	}

	this.showNewScoreBox = function() {
    		var req = new DataRequestor();
    		req.addArg(_GET, "jid", self.jid);
    		req.addArg(_GET, "name", "Journal");
    		req.addArg(_GET, "file", "rating");
    		req.addArg(_GET, "action", "getJournalRating");
    		req.getURL('index.php');
    		req.onLoad = function (data) {
			document.getElementById('message[' + self.jid + ']').style.visibility = 'hidden';
			document.getElementById('message[' + self.jid + ']').style.display = 'none';
			document.getElementById('scorebox[' + self.jid + ']').style.visibility = 'visible';
			document.getElementById('scorebox[' + self.jid + ']').style.display = '';
    			var data_split = data.split("|");
			document.getElementById('scorebox[' + self.jid + ']').innerHTML = '<table cellpadding=0 cellspacing=0 border=0><tr><td valign=middle style=font-size:10px;padding-left:10px;>Avg:&nbsp;</td><td valign=middle style=font-size:10px>' + data_split[0] + '</td><td valign=middle style=font-size:10px;padding-left:5px;>' + data_split[1] + ' Ratings</td></tr></table>';
    		}
	}

	this.showStars = function(stars) {
		if(stars == null) {
		 	var stars = self.stars;
		}	
		for(i=0;i<5;i++) {
			self.t = "img[" + self.jid + "][" + i + "]";
			if(i < stars) {
				document.getElementById(self.t).src = image_on[i];
			} 
			else {
				document.getElementById(self.t).src = image_off[i];
			}
		}
	}

	this.readCookie = function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}

	this.setRating = function(rating) {
		if(rating != self.stars) {
    			var req = new DataRequestor();
    			req.addArg(_GET, "jid", self.jid);
    			req.addArg(_GET, "name", "Journal");
			req.addArg(_GET, "file", "rating");
                	if(self.stars == null) {
				req.addArg(_GET, "action", "addJournalRating");
				req.addArg(_GET, "rating", rating);
			} 
			else {
				req.addArg(_GET, "oldrating", self.stars);
				req.addArg(_GET, "newrating", rating);
				req.addArg(_GET, "action", "changeJournalRating");
			}
			req.getURL('index.php');
			var date = new Date();
			date.setTime(date.getTime()+(365*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
			document.cookie = "tfblog_"+ self.jid + "="+rating+expires+"; path=/";
			self.stars = rating;
			document.getElementById('message[' + self.jid + ']').innerHTML = 'Saving...';
			document.getElementById('scorebox[' + self.jid + ']').innerHTML = '<font style="padding-left:10px;font-size:11px">Saving...</font>';
		}
		this.showNewScoreBox();
	}
}
