function NetoShowBox(name, time, incr, decr, full_size, size, padding) {
	this.name = name;
	this.time = time;
	this.incr = incr;
	this.decr = decr;
	this.full_size = full_size;
	this.size = size;
	this.padding = padding;
	
	this.enlargetimer = null;
	this.index = 0;
	this.status = 'READY';
	this.contractElements = new Object();
	this.expandElements = new Object();
	
	
	this.enlarge = function (bindex) {
		if(this.index != bindex && this.status == 'READY') {
			this.status = 'BUSY';
			this.expand(bindex);
			this.contract(this.index);
			this.index = bindex;
			this.status = 'READY';
		}
	}
	
	this.expand = function (bindex) {
		if(!this.expandElements[bindex]) {
			if(setTimeout) {
				clearTimeout(this.enlargetimer);
				this.expandElements[this.index] = false;
				this.expandElements[bindex] = true;
				this.enlargetimer = setTimeout(this.name+".expand_animate('"+bindex+"', 0)",this.time);
			} else {
				this.expand_animate(bindex,1);
			}
		}
	}
	
	this.expand_animate = function (bindex, cur) {
		if(cur < 1) {
			var length = (Math.round((this.full_size-this.size)*cur)+this.size);
			
			var obj = document.getElementById(this.name+'_item_'+bindex);
			if(obj) { obj.style.height = (length+this.padding)+"px"; }
			obj = document.getElementById(this.name+'_img_'+bindex);
			if(obj) { obj.height = obj.width = length; }
			
			this.enlargetimer = setTimeout(this.name+".expand_animate('"+bindex+"', "+(cur+this.incr)+")",this.time);
		} else {
			var obj = document.getElementById(this.name+'_rb_'+bindex);
			if(obj) { setCSS(obj,this.name+'_rrp'); }
			obj = document.getElementById(this.name+'_sb_'+bindex);
			if(obj) { setCSS(obj,this.name+'_sav'); }
			obj = document.getElementById(this.name+'_nb_'+bindex);
			if(obj) { setCSS(obj,this.name+'_name'); }

			obj = document.getElementById(this.name+'_item_'+bindex);
			if(obj) { obj.style.height = (this.full_size+this.padding)+"px"; }
			obj = document.getElementById(this.name+'_img_'+bindex);
			if(obj) { obj.height = obj.width = this.full_size; }
			
			this.expandElements[bindex] = false;
		}
	}
	
	this.contract = function (bindex) {
		if(!this.contractElements[bindex]) {
			if(setTimeout) {
				this.contractElements[bindex] = true;
				setTimeout(this.name+".contract_animate('"+bindex+"', 1)",this.time);
			} else {
				this.contract_animate(bindex,0);
			}
		}
	}

	this.contract_animate = function (bindex, cur) {
		if(cur > 0) {
			var length = (Math.round((this.full_size-this.size)*cur)+this.size);

			var obj = document.getElementById(this.name+'_item_'+bindex);
			if(obj) { obj.style.height = (length+this.padding)+"px"; }
			obj = document.getElementById(this.name+'_img_'+bindex);
			if(obj) { obj.height = obj.width = length; }

			setTimeout(this.name+".contract_animate('"+bindex+"', "+(cur-this.decr)+")",this.time);
		} else {

			var obj = document.getElementById(this.name+'_rb_'+bindex);
			if(obj) { setCSS(obj,this.name+'_rrp_h'); }
			obj = document.getElementById(this.name+'_sb_'+bindex);
			if(obj) { setCSS(obj,this.name+'_sav_h'); }
			obj = document.getElementById(this.name+'_nb_'+bindex);
			if(obj) { setCSS(obj,this.name+'_name_h'); }

			obj = document.getElementById(this.name+'_item_'+bindex);
			if(obj) { obj.style.height = (this.size+this.padding)+"px"; }
			obj = document.getElementById(this.name+'_img_'+bindex);
			if(obj) { obj.height = obj.width = this.size; }
			
			this.contractElements[bindex] = false;
		}
	}

}
