//------cpHint---------------------------
cpHint = function(e,name,html){
	this.name=name;
	this.html=html;
	this.y=e.clientY+Math.max(document.documentElement.scrollTop,document.body.scrollTop)+10;
	this.x=e.clientX+25;
	this.alpha=0;
	this.status='null';

	this.create=function(){
		bgDiv=document.createElement("div");
		bgDiv.id=this.name+'_cpHintDiv';
		bgDiv.name=this.name+'_cpHintDiv';
		bgDiv.style.zIndex='104';
		bgDiv.style.position='absolute';
		bgDiv.style.background='#ffffff';
		bgDiv.style.border='1px solid #aaaaaa';
		bgDiv.style.display='none';
		bgDiv.style.top=this.y+'px';
		bgDiv.style.left=this.x+'px';
		bgDiv.innerHTML=this.html;
		document.getElementsByTagName('body')[0].appendChild(bgDiv);
		this.show();
	}

	this.show=function(){
		this.status='fadeIn';
		this.fadeIn();
	}

	this.fadeIn=function(){
		if(this.status=='fadeIn' && this.alpha<90 && this!=null){
			bgDiv.style.display='';
			this.alpha=this.alpha+8;
			bgDiv.style.filter = "alpha(opacity:"+this.alpha+")";
			bgDiv.style.KHTMLOpacity = bgDiv.style.MozOpacity = bgDiv.style.opacity = this.alpha/100;
			setTimeout("if(cpHintItem['"+this.name+"']!=null) cpHintItem['"+this.name+"'].fadeIn();",30);
		}
	}

	this.remove=function(){
		this.status='fadeOut';
		this.fadeOut();
	}

	this.fadeOut=function(){
		if(this.status=='fadeOut' && this.alpha>10){
			bgDiv.style.display='';
			this.alpha=this.alpha-10;
			bgDiv.style.filter = "alpha(opacity:"+this.alpha+")";
			bgDiv.style.KHTMLOpacity = bgDiv.style.MozOpacity = bgDiv.style.opacity = this.alpha/100;
			setTimeout("if(cpHintItem['"+this.name+"']!=null) cpHintItem['"+this.name+"'].fadeOut();",15);
		}
		else if(this.status=='fadeOut'){
			document.getElementsByTagName('body')[0].removeChild(document.getElementById(this.name+'_cpHintDiv'));
			destroyCpHint(this.name);
		}
	}

	this.move=function(e){
		this.y=e.clientY+Math.max(document.documentElement.scrollTop,document.body.scrollTop)+10;
		this.x=e.clientX+25;
		document.getElementById(this.name+'_cpHintDiv').style.top=this.y+'px';
		document.getElementById(this.name+'_cpHintDiv').style.left=this.x+'px';
	}
}

var cpHintItem=Array();

function addCpHint(e,id,html){
	if(cpHintItem[id]==null) {
		cpHintItem[id]=new cpHint(e,id,html);
		cpHintItem[id].create();
	} else {
		cpHintItem[id].show();
	}
}

function moveCpHint(e,id){
	if(cpHintItem[id]!=null)
		cpHintItem[id].move(e);
}

function removeCpHint(e,id){
	if(cpHintItem[id]!=null)
		cpHintItem[id].remove();
}

function destroyCpHint(id){
	if(cpHintItem[id]!=null)
		cpHintItem[id]=null;
}
