function NodeItem(content,value){
	this.DynLayer=DynLayer;
	this.DynLayer();
	this.value = value;
	this.deselectable = true;
	this.isMouseOver = false;
	this.selected = false;
	this.itemStyle = {};
	
	this.autoWidth = false;
	this.autoHeight = true;
	
	this.normalContent=content;
	this.selectedContent=content;
	this.rolloverContent=content;
	this.setHTML(this.normalContent);
	this.onCreate(this.preCreate);
	this.listevents={
	onmousedown:
	    function (e) {
		var o = e.getSource();
		o.setSelected(!o.selected);
		o.pack();
	    },
	ondragover:function(e)
	{
	    function (e) {
		var o = e.getSource();
		if (!o.selected && !o.isMouseOver) {
		    o.setBgColor(o.itemStyle.bgColorRoll);
			o.setHTML(o.rolloverContent);
			o.pack()
		}
		o.isMouseOver = true;
	    }
		
	},
	onmouseover:
	    function (e) {
		var o = e.getSource();
		if (!o.selected && !o.isMouseOver) {
		    o.setBgColor(o.itemStyle.bgColorRoll);
			o.setHTML(o.rolloverContent);
			o.pack();
		}
		o.isMouseOver = true;
	    },
	ondragout:
	    function (e) {
		var o = e.getSource();
		    if (!o.selected && o.isMouseOver) {
			o.setBgColor(o.itemStyle.bgColor);
			o.setHTML(o.normalContent);
			o.pack()
		    }
		o.isMouseOver = false;
	    },
	onmouseout:
	    function (e) {
		var o = e.getSource();
		    if (!o.selected && o.isMouseOver) {
			o.setBgColor(o.itemStyle.bgColor);
			o.setHTML(o.normalContent);
			o.pack();
		    }
		o.isMouseOver = false;
	    }
	};
	this.addEventListener(this.listevents);
}
var p=dynapi.setPrototype('NodeItem','DynLayer');
p.setColors = function(bg,bgr,bgs) {
    var s = this.itemStyle;
	s.bgColor = bg||'#eeeeee';
	s.bgColorRoll = bgr||'#cccccc';
	s.bgColorSelect = bgs||'lightblue';
	this.setBgColor(s.bgColor);
};
p.setSelectedContent = function(content) {
	this.selectedContent=content;
};
p.setRolloverContent = function(content) {
	this.rolloverContent = content;
};
	
p.setSelected = function(b) {
	if (this.selected==b || !this.deselectable) return;
	this.selected=b;
	if (b) {
		this.setBgColor(this.itemStyle.bgColorSelect);
		this.setHTML(this.selectedContent);
		this.pack();
		this.invokeEvent("select");
	}
	else {
		this.setBgColor(this.isMouseOver?this.itemStyle.bgColorRoll:this.itemStyle.bgColor)
		this.setHTML(this.isMouseOver?this.rolloverContent:this.normalContent);
		this.invokeEvent("deselect");
	}
}
p.setValue = function(value) {
	this.value=value;
};
p.getValue = function() {
	return this.value;
};
p.setAutoResize = function (bwidth,bheight)
{
	this.autoWidth=bwidth;
	this.autoHeight=bheight;
	this.pack(this.autoWidth,this.autoHeight);
}
p.pack = function()
{
	bWidth=this.autoWidth;
	bHeight=this.autoHeight;
	if (!bWidth && bWidth!=false) bWidth=true;
	if (!bHeight && bHeight!=false) bHeight=true;
	var w = bWidth? this.getContentWidth() : this.w;
	var h = bHeight? this.getContentHeight() : this.h;
	if (this._created) this.setSize(w,h,false);
}