var fullscreens		= 0;

function fullscreen(element,type,event)
{
	var event			= new Event(event);

	if(element.getAttribute('maximized')!=1 && (event.key=='f9') )
	{
		fullscreens		= fullscreens+1;
		var placeholder	= new Element('div');
		placeholder.id	= "placeholder_"+fullscreens;
		placeholder.injectBefore(element);
		
		element.setAttribute('placeholder',placeholder.id);
		if(!element.getAttribute('old_width')>0)
		{
			element.addEvent('keydown',tabkeypressed);
			element.setAttribute('old_width',element.getSize().size.x);
			element.setAttribute('old_height',element.getSize().size.y);
		}
		element.setAttribute('maximized','1');
		var div			= new Element('div');
		div.setStyle('overflow','hidden');
		div.setStyle('width','100%');
		div.setStyle('height','100%');
	
		var element		= $(element).injectTop(div);
		var coords		= document.body.getSize();
		var margin		= 10;
			
		element.style.position		= 'absolute';
		element.style.zIndex		= '1000';
		element.style.top			= margin+'px';
		element.style.left			= margin+'px';		
		element.style.width			= coords.size.x-margin-(margin);	
		element.style.height		= coords.size.y-(2*margin);
		element.style['margin']		= '0px';
		element.style['padding']	= '0px';
		
		$ES('.all').setStyle('display','none');
		div.injectTop(document.body);
		
		return false;
	}else
	{		
		if(event.key=="f9")
		{		
			var element			= $(element);
			element.setAttribute('maximized','0');
			var parent			= element.parentNode;
			$(element.getAttribute('placeholder')).replaceWith(element);
			parent.remove();
			element.style.position	= 'static';
			element.style.width		= element.getAttribute('old_width');
			element.style.height	= element.getAttribute('old_height');
			$ES('.all').setStyle('display','block');
			
			return false;
		}		
	}
}

function tabkeypressed(e)
{
//get key pressed
var key = null;
if(window.event) key = event.keyCode;
else if(e.which) key = e.which;

//if tab pressed
if(key != null && key == 9)
{
	//IE
	if(document.selection)
	{
		//get focus
		this.focus();

		//get selection
		var sel = document.selection.createRange();

		//insert tab
		sel.text = "\t";
	}else if(this.selectionStart || this.selectionStart == "0")
	{
		//save scrollbar positions
		var scrollY = this.scrollTop;
		var scrollX = this.scrollLeft;

		//get current selection
		var start = this.selectionStart;
		var end = this.selectionEnd;

		//insert tab
		this.value = this.value.substring(0,start) + "t" + this.value.substring(end,this.value.length);

		//move cursor back to insert point
		this.focus();
		this.selectionStart = start+1;
		this.selectionEnd = start+1;

		//reset scrollbar position
		this.scrollTop = scrollY;
		this.scrollLeft = scrollX;
	}else 
	{
		this.value += "\t";
	}
	//stop the real tab press
	return false;
}
}
