/**
* 星星评级js类 by zwli
* 2008-3-21 v0.3
* 2008-4-8 v0.4 修改状态图片
* 2008-4-17 v0.5 修改禁止投票时的反馈接口
*/
function StarRank() {
}

StarRank.prototype = {
	
	titles:new Array('坚决卖出', '卖出', '看平', '买入', '强力买入'),
	
	/* 星星的三种状态图片*/
	imgEmpty:'privyimg/bg43.gif',
	imgOver:'privyimg/bg42.gif',
	imgFull:'privyimg/bg42.gif',
	
	/* 组件的元素集合*/
	links:null,
	imgs:null,
	
	/* 组件的id*/
	id:null,
	
	/* 当前选中的评级值*/
	rankValue:0,
	
	/* 是否允许点击*/
	disabled:false,
	/* 禁止点击时的提示文字*/
	disabledMessage:'你已经提交了评级^_^',
	
	setRankValue:function(value) {
		if(typeof(value) != 'undefined' && value != null) {
			this.rankValue = Number(value);
			this.refresh();
		}
	},
	
	/* Private刷新星星显示*/
	refresh:function() {
		for (var i=0; i < this.imgs.length; i++)
		{
			if (this.rankValue > i) {
				this.imgs[i].src = this.imgFull;
			}else {
				this.imgs[i].src = this.imgEmpty;
			}
		}
	},
	
	create:function(parentElem, id){
		this.create = null; //防止第二次创建资源
		var _self = this;
		this.id = id;
		this.imgs = new Array(5);
		this.links = new Array(5);
		for(var i = 1; i <= 5; i++) {
			
			var lnk1 = document.createElement("a");
			this.links[i-1] = lnk1;
			
			lnk1.setAttribute('rank', i);
			lnk1.setAttribute('href', "javascript:");
			lnk1.setAttribute('title', this.titles[i-1]);
			lnk1.onclick = function(){
				_self.rankPreClick(_self, id, this.getAttribute('rank'));
			};
			lnk1.onmouseover = function(){
				_self.rankPreMouseOver(_self, id, this.getAttribute('rank'));
			};
			lnk1.onmouseout = function(){
				_self.rankPreMouseOut(_self, id, this.getAttribute('rank'));
			};
			
			var img = document.createElement("img");
			img.setAttribute('style', 'CURSOR:pointer');
			img.setAttribute('src', this.imgEmpty);
			img.setAttribute('border', '0');
			lnk1.appendChild(img);
			
			parentElem.appendChild(lnk1);
			
			this.imgs[i-1] = img;
		}
		this.refresh();
	},
	
	createFromId:function(parentId, id) {
		var elem = document.getElementById(parentId);
		this.create(elem, id);
	},
	
	callback:function(type, message) {
	},
	
	disabledEvent:function(message) {
	},
	
	//点击事件，可覆盖方法处理
	rankClick:function(sender, id, value) {
		alert("你点击了 id:" + id + ", value:" + value);
	},
	
	//点击的预处理，请不要覆盖
	rankPreClick:function(sender, id, value){
		if(this.disabled) {
			this.disabledEvent(this.disabledMessage);
			return;
		}
		this.rankValue = value;
		this.refresh();
		this.rankClick(sender, id, value);
	},
	
	rankMouseOver:function(sender, id, value) {
	},
	
	rankPreMouseOver:function(sender, id, value) {
		if(!this.disabled) {
			for (var i=0; i < this.imgs.length; i++)
			{
				if (value > i) {
					this.imgs[i].src = this.imgOver;
				}else {
					this.imgs[i].src = this.imgEmpty;
				}
			}
		}
		this.rankMouseOver(sender, id, value);
	},
	
	rankMouseOut:function(sender, id, value) {
	},
	
	rankPreMouseOut:function(sender, id, value) {
		this.refresh();
		this.rankMouseOut(sender, id, value);
	}
}