var Geometry;
if (!Geometry)
{
	Geometry = {};
	
	// Положение окна браузера на экране
	if (window.screenLeft == undefined)
	{
		Geometry.getWindowX = function() { return window.screenLeft; };
		Geometry.getWindowY = function() { return window.screenTop; };
	}
	else if (window.screenX)
	{
		Geometry.getWindowX = function() { return window.screenX; };
		Geometry.getWindowY = function() { return window.screenY; };
	}
	
	// Размеры и позиция скроллинга окна внутри браузера
	if (window.innerWidth)
	{
		// FF, Opera etc.
		Geometry.getViewportWidth = function() { return window.innerWidth; };
		Geometry.getViewportHeight = function() { return window.innerHeight; };
		Geometry.getHorizontalScroll = function() { return window.pageXOffset; };
		Geometry.getVerticalScroll = function() { return window.pageYOffset; };
	}
	else if (document.documentElement && document.documentElement.clientWidth)
	{
		// IE6 with DOCTYPE
		Geometry.getViewportWidth = function() { return document.documentElement.clientWidth; };
		Geometry.getViewportHeight = function() { return document.documentElement.clientHeight; };
		Geometry.getHorizontalScroll = function() { return document.documentElement.scrollLeft; };
		Geometry.getVerticalScroll = function() { return document.documentElement.scrollTop; };
	}
	else if (document.body.clientWidth)
	{
		// IE4, IE5, IE6 without DOCTYPE
		Geometry.getViewportWidth = function() { return document.body.clientWidth; };
		Geometry.getViewportHeight = function() { return document.body.clientHeight; };
		Geometry.getHorizontalScroll = function() { return document.body.scrollLeft; };
		Geometry.getVerticalScroll = function() { return document.body.scrollTop; };
	}
	
	Geometry.setVerticalScroll = function(val) { window.scrollTo(0, val); };
	
	// Размеры всего документа
	if (document.documentElement && document.documentElement.scrollWidth)
	{
		Geometry.getDocumentWidth = function() { return document.documentElement.scrollWidth; };
		Geometry.getDocumentHeight = function() { return document.documentElement.scrollHeight; };
	}
	else if (document.body && document.body.scrollWidth)
	{
		Geometry.getDocumentWidth = function() { return document.body.scrollWidth; };
		Geometry.getDocumentHeight = function() { return document.body.scrollHeight; };
	}
	
	// Координаты элемента
	Geometry.getElementX = function(e)
	{
		var x = 0;
		if (typeof e != 'undefined')
		{
			if (typeof e == 'string') e = document.getElementById(e);
			if (typeof e != 'undefined' && e)
			{
				while (e)
				{
					x += e.offsetLeft;
					e = e.offsetParent;
				}
			}
		}
		return x;
	}
	
	Geometry.getElementY = function(e)
	{
		var x = 0;
		if (typeof e != 'undefined')
		{
			if (typeof e == 'string') e = document.getElementById(e);
			if (typeof e != 'undefined' && e)
			{
				while (e)
				{
					x += e.offsetTop;
					e = e.offsetParent;
				}
			}
		}
		return x;
	}
	
	// Размеры элемента
	Geometry.getElementWidth = function(e)
	{
		var x = 0;
		if (typeof e != 'undefined')
		{
			if (typeof e == 'string') e = document.getElementById(e);
			if (typeof e != 'undefined' && e)
			{
				x = e.offsetWidth;
			}
		}
		return x;
	}

	Geometry.getElementHeight = function(e)
	{
		var y = 0;
		if (typeof e != 'undefined')
		{
			if (typeof e == 'string') e = document.getElementById(e);
			if (typeof e != 'undefined' && e)
			{
				y = e.offsetHeight;
			}
		}
		return y;
	}
	
	
	// Утановка размеров
	
	Geometry.setImageWidth = function(e, width)
	{
		if (typeof e != 'undefined')
		{
			if (typeof e == 'string') e = document.getElementById(e);
			if (typeof e != 'undefined' && e)
			{
				e.width = parseInt(width);
			}
		}
	}
	
	Geometry.setImageHeight = function(e, height)
	{
		if (typeof e != 'undefined')
		{
			if (typeof e == 'string') e = document.getElementById(e);
			if (typeof e != 'undefined' && e)
			{
				e.height = parseInt(height);
			}
		}
	}
}