function ScrollOb()
{
	this.offcetY  = 0;
	this.scroll_go = 0;
	this.main_scroll = new Object();
	this.scroll_div   = new Object();
	this.scroll_begun = new Object();
	this.scroll_body = new Object();
	this.scroll_up	= new Object();
	this.scroll_down = new Object();
	this.scroll_body_offcet_k = 1;
	this.mouse_pos_y;


	this.SetScrollDown = function(e)
	{
	go_scroll_arr = 1;
	newScroll.scroll_go = 1;
	if(newScroll.main_scroll.scrollTop>=0)
	newScroll.GoScroll(10);
	};


	this.SetScrollUp  = function(e)
	{
	newScroll.scroll_go = 1;
	if(newScroll.main_scroll.scrollTop>=0 && newScroll.scroll_go)
	newScroll.GoScroll(-10);
	go_scroll_arr = 1;
	};

	this.GoScroll  = function(off,wheel,e)
	{
	this.main_scroll.scrollTop += off;
	this.scroll_begun.style.marginTop = parseInt(this.main_scroll.scrollTop/this.scroll_body_offcet_k)+20+'px';
	if(wheel==1)
		{
			if(parseInt(this.scroll_begun.style.marginTop)<220 && parseInt(this.scroll_begun.style.marginTop)>20)
				{
				ClearEvent(e);
				}
		}

	if(this.scroll_go)
		{
		setTimeout('newScroll.GoScroll('+off+')',2);
		}
	};


   this.GoBegScroll = function(e)
		{
			e = e || window.event;
			if(!newScroll.mouse_pos_y) return;
			if(window.go_scroll_arr && go_scroll_arr == 1) return;
			if(newScroll.scroll_go)
			{
				var mp = defMousePosition(e);
				var delta  = mp.y- newScroll.mouse_pos_y;
				var old_top  = newScroll.scroll_begun.style.marginTop;
				newScroll.scroll_begun.style.marginTop = parseInt(old_top) + delta+'px';
				if(parseInt(newScroll.scroll_begun.style.marginTop)>206)
					{
						newScroll.scroll_begun.style.marginTop = 206 + 'px';
					}
				if(parseInt(newScroll.scroll_begun.style.marginTop)<=20)
					{
						newScroll.scroll_begun.style.marginTop = 20 + 'px';
					}
				newScroll.main_scroll.scrollTop = parseInt((parseInt(newScroll.scroll_begun.style.marginTop)-20)*newScroll.scroll_body_offcet_k);
				newScroll.mouse_pos_y = mp.y;
				ClearEvent(e);
			}
			//ClearEvent(e);
		}

	this.SetScrollStop = function(e)
		{
		e = e || window.event;
		newScroll.scroll_go = 0;
		go_scroll_arr = 0;
		};

	this.SetScrollStart = function(e)
		{
		e = e || window.event;
		//newScroll.scroll_begun.style.cursor = 'pointer';
		newScroll.mouse_pos_y = defMousePosition(e).y;
		newScroll.scroll_go = 1;
		ClearEvent(e);
		};

	this.wheel = function(event)
	{
	e  = event || window.event;
	var wheelDelta = 0;
	var step = 25;
	 if (e.wheelDelta)
    {
        // В IE и Opera
        //alert(5);
        wheelDelta = -e.wheelDelta/120;
    }
    else if (e.detail)
    {
        // В Mozilla
        wheelDelta = e.detail/3;
    }
	newScroll.GoScroll(wheelDelta*step,1,e);
	//ClearEvent(e);

	}
}


var newScroll = new ScrollOb();


function InitScroll()
	{

	newScroll.main_scroll = document.getElementById('mainscroll');

	newScroll.scroll_div  = document.getElementById('scroll');

	if(document.addEventListener)
		{
		newScroll.main_scroll.addEventListener('DOMMouseScroll', newScroll.wheel,false);
		newScroll.main_scroll.addEventListener('mousewheel', newScroll.wheel,false);
		}
	else
		{
		newScroll.main_scroll.onmousewheel = newScroll.wheel;
		}

	newScroll.scroll_begun = document.getElementById('scrollbegun');
	newScroll.scroll_body =  document.getElementById('scrollbody');

	newScroll.scroll_begun.style.marginTop = '20px';
	newScroll.main_scroll.scrollTop  = 0;

	if(newScroll.main_scroll.clientHeight>=newScroll.main_scroll.scrollHeight) newScroll.scroll_div.style.display='none';
	 else{

			newScroll.offcetY = (newScroll.main_scroll.scrollHeight > newScroll.main_scroll.clientHeight) ? newScroll.main_scroll.scrollHeight :newScroll.main_scroll.clientHeight;
			newScroll.scroll_body_offcet_k = (newScroll.offcetY-newScroll.main_scroll.clientHeight)/(206-20);
			newScroll.scroll_up = document.getElementById('scrollup');
			newScroll.scroll_down = document.getElementById('scrolldown');
			newScroll.scroll_up.onmousedown = newScroll.SetScrollUp;
			//newScroll.scroll_up.onmouseout = newScroll.SetScrollStop;
			//newScroll.scroll_down.onmouseout = newScroll.SetScrollStop;
			newScroll.scroll_up.onmouseup = newScroll.SetScrollStop;
			newScroll.scroll_down.onmousedown = newScroll.SetScrollDown;
			newScroll.scroll_down.onmouseup = newScroll.SetScrollStop;
			newScroll.scroll_begun.onmousedown  = newScroll.SetScrollStart;
			newScroll.scroll_begun.onmouseup  = newScroll.SetScrollStop;
			document.body.onmouseup  = newScroll.SetScrollStop;
			document.body.onmousemove = newScroll.GoBegScroll;
			newScroll.scroll_begun.onmousemove  = newScroll.GoBegScroll;
			newScroll.scroll_div.style.display='block';
	 }
	}
