cpSubmenu = function(name,target,menu){
	this.name=name;
	this.target=document.getElementById(target);
	this.menu=document.getElementById(menu);
	this.menu.style.display='block';
	this.height=this.menu.offsetHeight-1;
	this.height2=0;
	this.menu.style.height=this.height2+'px';
	this.menu.style.overflow='hidden';
	this.menu.style.display='none';
	this.status='null';
	this.alpha=Array();
	this.timeout=null;
	var self=this;
	if (document.addEventListener) {
		this.target.addEventListener("mouseover", function(e) { self.mouseover(e); }, true);
		this.target.addEventListener("mouseout", function(e) { self.mouseout(e); }, true);
		this.menu.addEventListener("mouseover", function(e) { self.mouseover(e); }, true);
		this.menu.addEventListener("mouseout", function(e) { self.mouseout(e); }, true);
	}
	else {
		this.target.attachEvent('onmouseover', function(e) { self.mouseover(e); } )
		this.target.attachEvent('onmouseout', function(e) { self.mouseout(e); } )
		this.menu.attachEvent('onmouseover', function(e) { self.mouseover(e); } )
		this.menu.attachEvent('onmouseout', function(e) { self.mouseout(e); } )
	}

	this.mouseover=function(){ this.fadeIn(); }

	this.mouseout=function(){ clearTimeout(this.timeout);  this.timeout=setTimeout("cpSubmenuItem['"+this.name+"'].fadeOut();",600); }

	this.fadeIn=function(){
		clearTimeout(this.timeout);
		this.menu.style.display='block';
		this.height2=Math.min(this.height2+14,this.height);
		this.menu.style.height=this.height2+'px';
		if(this.height!=this.height2)
			this.timeout=setTimeout("cpSubmenuItem['"+this.name+"'].fadeIn();",30);
	}

	this.fadeOut=function(){
		clearTimeout(this.timeout);
		this.menu.style.display='block';
		this.height2=Math.max(this.height2-14,0);
		this.menu.style.height=this.height2+'px';
		if(this.height2>0)
			this.timeout=setTimeout("cpSubmenuItem['"+this.name+"'].fadeOut();",30);
		else this.menu.style.display='none';
	}

}


var cpSubmenuItem=Array();

function addcpSubmenu(id,target,menu){
	if(cpSubmenuItem[id]==null) {
		cpSubmenuItem[id]=new cpSubmenu(id,target,menu);
	}
}
