//------cpOverlay---------------------------
cpOverlay = function(e,name,html){
	this.name=name;
	this.html=html;
	this.y=50;
	this.x=Math.round((document.documentElement.clientWidth-960)/2);
	this.width=960;
	this.height=document.documentElement.clientHeight-100;
	this.alpha=0;
	this.status='null';

	this.create=function(){
		blackDiv=document.createElement("div");
		blackDiv.id=this.name+'_cpOverlayBlackDiv';
		blackDiv.name=this.name+'_cpOverlayBlackDiv';
		blackDiv.style.zIndex='103';
		blackDiv.style.position='absolute';
		blackDiv.style.background='#000000';
		blackDiv.style.display='block';
		blackDiv.style.top='0px';
		blackDiv.style.left='0px';
		blackDiv.style.width=document.documentElement.clientWidth+'px';
		blackDiv.style.height=document.documentElement.clientHeight+'px';
		blackDiv.style.filter = "alpha(opacity:60)";
		blackDiv.style.KHTMLOpacity = blackDiv.style.MozOpacity = blackDiv.style.opacity = 0.6;
		var self=this;
		if (document.addEventListener) {
			blackDiv.addEventListener("click", function(e) { cpOverlayItem[self.name].remove(); }, true);
		}
		else {
			blackDiv.onclick=function(e) { cpOverlayItem[self.name].remove(); };
		}
		document.getElementsByTagName('body')[0].appendChild(blackDiv);

		bgDiv=document.createElement("div");
		bgDiv.id=this.name+'_cpOverlayDiv';
		bgDiv.name=this.name+'_cpOverlayDiv';
		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.style.width=this.width+'px';
		//bgDiv.style.height=this.height+'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<98 && 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(cpOverlayItem['"+this.name+"']!=null) cpOverlayItem['"+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(cpOverlayItem['"+this.name+"']!=null) cpOverlayItem['"+this.name+"'].fadeOut();",15);
		}
		else if(this.status=='fadeOut'){
			document.getElementsByTagName('body')[0].removeChild(document.getElementById(this.name+'_cpOverlayBlackDiv'));
			document.getElementsByTagName('body')[0].removeChild(document.getElementById(this.name+'_cpOverlayDiv'));
			destroyCpOverlay(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+'_cpOverlayDiv').style.top=this.y+'px';
		document.getElementById(this.name+'_cpOverlayDiv').style.left=this.x+'px';
	}
}

var cpOverlayItem=Array();

function addCpOverlay(e,id,html){
	if(cpOverlayItem[id]==null) {
		cpOverlayItem[id]=new cpOverlay(e,id,html);
		cpOverlayItem[id].create();
	} else {
		cpOverlayItem[id].show();
	}
}

function moveCpOverlay(e,id){
	if(cpOverlayItem[id]!=null)
		cpOverlayItem[id].move(e);
}

function removeCpOverlay(e,id){
	if(cpOverlayItem[id]!=null)
		cpOverlayItem[id].remove();
}

function destroyCpOverlay(id){
	if(cpOverlayItem[id]!=null)
		cpOverlayItem[id]=null;
}
