
	function control()
	{
		if(document.controls == undefined) document.controls = [this]; else document.controls.push(this);
		this.index = document.controls.length - 1;
	}

	control.prototype.destroy = function()
	{
		document.controls.splice(this.index, 1);
		for(var i = this.index; i < document.controls.length; i++)
			document.controls[i].index--;
	}

	control.prototype.getType = function()
	{
		return 'control';
	}

	control.prototype.element;
	control.prototype.index;

	control.prototype.getTopZIndex = function()
	{
		var max = 10;
		for(var i = 0; i < document.controls.length; i++)
			if(document.controls[i].getZIndex() > max)
				max = document.controls[i].getZIndex();
			
		return max + 1;
	}

	control.prototype.getZIndex = function()
	{
		return new Number(this.element.style.zIndex);
	}

	control.prototype.setZIndex = function(index)
	{
		this.element.style.zIndex = index;
	}

	control.prototype.show = function()
	{
		clearClass('hidden', this.element);
		this.setZIndex(this.getTopZIndex());
	}

	control.prototype.isHidden = function()
	{
		return checkClass('hidden', this.element);
	}

	control.prototype.hide = function()
	{
		setClass('hidden', this.element);
		this.setZIndex(0);
	}

