var StarRating = new function() {
	this.STATE = null;
	this.VIDRATE = null;
	this.VIDID = null;
	this.aStarNodes = null;
	this.aStarButton = null;
	this.bUpdateRate = null;
	this.nCurrentStar = null;
	this.oStarRoot = null;
	this.oStarParent = null;
	this.sUserID = null;
	this.sVidID = null;
	this.sVidRating = null;

	this.Init = function() {
		var self = StarRating;
		self.STATE = document.getElementById("ratingState").value;
		self.VIDRATE = document.getElementById("currVidRate").value;
		self.VIDID = document.getElementById("currVidVCID").value;
		self.aStarNodes = new Array();
		self.aStarButton = new Array();
		self.bUpdateRate = (self.VIDRATE > 0 && self.STATE > 1) ? true : false;
		self.iState = self.STATE;
		self.nUserRating = (self.STATE > 0) ? self.VIDRATE : false;
		self.nVidID = self.VIDID; //VIDINFO[0].id;
		self.nVidRating = self.VIDRATE; //VIDINFO[0].rating;
		self.oStarRoot = document.getElementById("vidRating");
		self.LoadStars();
	},
	this.AddButton = function(obj, e_click, e_over, e_out) {
		var self = StarRating;
		var oBtn = obj;
		if(e_click) oBtn.onclick = eval(e_click);
		if(e_over) oBtn.onmouseover = eval(e_over);
		if(e_out) oBtn.onmouseout = eval(e_out);
	},
	this.GetUserRating = function() {
		var self = StarRating;
		if(self.iState > 0) {
			if(arguments.length > 0) {
				self.iState = 2;
				self.nUserRating = arguments[0];
				self.nVidRating = arguments[0];
				self.bUpdateRate = true;
				self.ShowVidRating();
			} else {
				$j.ajax({
					type: "POST",
					dataType: "html",
					url: "/includes/Site/starrating.php",
					data: "vid=" + self.nVidID,
					success: self.GetUserRating
				});
			}
		} else {
			return false;
		}
	},
	this.LoadStars = function() {
		var self = StarRating;
		self.oStarParent = self.oStarRoot.getElementsByTagName("ul")[0];
		for(var i=0; i<self.oStarParent.getElementsByTagName("li").length; i++) {
			self.aStarNodes[i] = self.oStarParent.getElementsByTagName("li")[i];
			self.aStarButton[i] = self.aStarNodes[i].getElementsByTagName("a")[0];
			self.AddButton(self.aStarButton[i], self.StarsClick, self.StarsOn, self.StarsOff);
		}
//		self.ShowVidRating();
	},
	this.PostUserRating = function(userrating) {
		var self = StarRating;
		$j.ajax({
			type: "POST",
			dataType: "html",
			url: "/includes/Site/starrating.php",
			data: "vid=" + self.nVidID + "&rate=" + userrating + "&update=" + self.bUpdateRate,
			success: self.GetUserRating
		});
	},
	this.ShowVidRating = function() {
		var self = StarRating;
		var sStarType = (self.iState > 0) ? ((self.iState > 1 && self.nUserRating) ? '02' : '01') : '01';
		var sSide = '';
		for(var i=0; i<self.nVidRating; i++) {
			sSide = ((i%2)>0) ? 'right':'left';
			self.aStarButton[i].setAttribute((document.all) ? 'className' : 'class', sSide+sStarType);
		}
	},
	this.StarsClick = function() {
		var self = StarRating;
		var oStar = this;
		var nRating = (this.innerHTML*2);
		if(self.iState > 0) {
			self.PostUserRating(nRating);
		} else {
			window.location.href = "/My/?go=/video/";
			return;
		}
	},
	this.StarsOff = function() {
		var self = StarRating;
		var sSide = '';
		for(var i=0; i<self.aStarButton.length; i++) {
			sSide = ((i%2)>0) ? 'right':'left';
			self.aStarButton[i].setAttribute((document.all) ? 'className' : 'class', sSide+'00');
		}
		self.ShowVidRating();
	}
	this.StarsOn = function() {
		var self = StarRating;
		var sSide = '';
		for(var i=0; i<self.aStarButton.length; i++) {
			sSide = ((i%2)>0) ? 'right':'left';
			self.aStarButton[i].setAttribute((document.all) ? 'className' : 'class', sSide+'00');
		}
		for(var i=0; i<self.aStarButton.length; i++) {
			sSide = ((i%2)>0) ? 'right':'left';
			self.aStarButton[i].setAttribute((document.all) ? 'className' : 'class', sSide+'02');
			if(self.aStarButton[i] == this) break;
		}
	}
}

/*$j(document).ready(function() { StarRating.Init() });*/

var Init_Starrating_Scripts = function() {

	StarRating.Init();

}
