ms = 0;		// нажата или нет кнопка мыши
gy = 0;		// Y-координата курсора, когда нажали на кнопку
gmt = 0;	// текущий маргинтоп ползунка
cgmt = 0;	// маргинтоп ползунка при нажатой кнопке в каждый момент времени

function fMS(e)
{
	e = e ? e : window.event;
	var delta = e.detail ? (e.detail * -1) : e.wheelDelta / 40;

	delta = delta / 3;
	ff(-40*delta);
	gmt = cgmt;
}

function fMD(event)
{
	ms = 1;
	gy = event.clientY;
}

function fMU()
{
	ms = 0;
	gmt = cgmt;
}

function fBM(event)
{
	if (ms == 1)
	{
		var r = event.clientY - gy;
		ff(r);
	}
}

function ff(r)
{
	if (document.documentElement.clientHeight)
	{
		var t = document.getElementById('p221').clientHeight;
		var m = document.getElementById('p22').clientHeight;
	}
	else
	{
		var t = document.getElementById('p221').offsetHeight;
		var m = document.getElementById('p22').offsetHeight;
	} 
	var r2 = -1 * ((gmt + r) * ((t - m) / (m - 14)));
		
	if ((gmt + r) >= 0 && (gmt + r) <= (m - 14)) // 14 - высота курсора
	{
		cgmt = gmt + r;
		fScrollElem(cgmt, r2);
	}
	else
		if ((gmt + r) < 0)
		{
			fScrollElem(0, 0);
			cgmt = 0;
		}
		else
			if ((gmt + r) > (m - 14))
			{
				var h2 = m - 14;
				var h3 = -1 * (t - m);
				fScrollElem(h2, h3);
				cgmt = h2;
			}
}

function fScrollElem(d1, d2)
{
	document.getElementById('scr').style.marginTop = d1 + 'px';
	document.getElementById('p221').style.marginTop = d2 + 'px';
}

/* 
Кроссбраузерная функция для установки обработчика событий на любой элемент.

Параметры:
element - id элемента или ссылка на элемент
eventname - название события (без "on"
callback - ссылка на функцию-обработчик
*/
function fHookEvent(element, eventName, callback)
{
	if (typeof(element) == 'string')
		element = document.getElementById(element);

	if (element == null)
		return;

	if (element.addEventListener)
	{ // Firefox
		if (eventName == 'mousewheel')
		{
			element.addEventListener('DOMMouseScroll', callback, false);
		}
		element.addEventListener(eventName, callback, false);
	}
	else
		if (element.attachEvent)
			element.attachEvent('on' + eventName, callback);
}

function fUpdateHeight()
{
	if (document.documentElement.clientHeight)
	{
		var s = document.documentElement.clientHeight;
		var w = document.documentElement.clientWidth;
	}
	else
	{
		var s = window.innerHeight;
		var w = window.innerWidth;
	}

	if (document.documentElement.clientHeight)
	{
		var t = document.getElementById('p221').clientHeight;
	}
	else
	{
		var t = document.getElementById('p221').offsetHeight;
	}

	var n = s - 165 - 25 - 18 - 42 - 25 - 11;
	var w = w - 143 - 143;
	
	document.getElementById('d3').style.height = n + 'px';
	document.getElementById('p21').style.height = n + 'px';
	document.getElementById('p22').style.height = n + 'px';
	document.getElementById('p23').style.height = n + 'px';

	document.getElementById('p22').style.width = w + 'px';
	
	var um = 0;
	if (t > n)
	{
		document.getElementById('dscr').style.display = 'block';
		var um = 14;
	}
	else
		document.getElementById('dscr').style.display = 'none';
	
	var um = ((w - 666 - um) / 2).toFixed(0);
	document.getElementById('p221').style.marginLeft = um + 'px';

	document.getElementById('scrf').style.height = n + 'px';
	document.getElementById('scrf').style.width = '4px';

	var height=0;  
	var width=0;  
	if (self.screen)
	{
		width = screen.width;
		height = screen.height;
	}
	else if (self.java)
	{
		var jkit = java.awt.Toolkit.getDefaultToolkit();
		var scrsize = jkit.getScreenSize();
		width = scrsize.width;
		height = scrsize.height;
	}

	var o = document.getElementById('card_text');
	if (width < 1025)
	{
		o.className = 't2';
	}

	if (document.getElementById('p221').clientHeight)
	{
		var ch1 = document.getElementById('p221').clientHeight;
	}
	else
	{
		var ch1 = document.getElementById('p221').offsetHeight;
	}

	var fff = ((n - ch1) / 2).toFixed(0);

	if (fff < 0)
	{
		fff = 0;
	}
	document.getElementById('p221').style.marginTop = fff + 'px';
	document.getElementById('p221').style.paddingTop = '0px';
}