function initSC(id) {
	var obj = document.getElementById(id);
	if (obj) {
		obj.state = 0;
		obj.timer = null;
		obj.maxHor = obj.scrollWidth - obj.offsetWidth;
	}
	sc_speed = 40;
}

function scroll_right(id,timer) {
	var obj = document.getElementById(id);//получаем объект по ID
	if (!obj.maxHor) initSC(id);//если объект еще не иниициализировался - инициализируем
	if (timer == undefined) obj.state = 1;//если не передан второй параметр timer, значит вызов был от кнопки прокрутки, ставим состояние прокрутки вниз
	if ((obj.maxHor > obj.scrollLeft) && (obj.state == 1)) {//если не достигли предела и состояние прокрутки все еще "вниз"(1)
		obj.scrollLeft = obj.scrollLeft + 5;//добавляем смещение прокрутки на 10 пикселей
		obj.timer = setTimeout('scroll_right(\''+id+'\',true)',sc_speed);//устанавливаем таймер вызова этой же функции для дальнейшей прокрутки
	}
}

function scroll_left(id,timer) {
	var obj = document.getElementById(id);//получаем объект по ID
	if (!obj.maxHor) initSC(id);//если объект еще не иниициализировался - инициализируем
	if (timer == undefined) obj.state = -1;//если не передан второй параметр timer, значит вызов был от кнопки прокрутки,ставим состояние прокрутки вверх
	if ((obj.scrollLeft > 0) && (obj.state == -1)) {//если не достигли начала и состояние прокрутки все еще "вверх"(-1)
		obj.scrollLeft = obj.scrollLeft > 5 ? obj.scrollLeft - 5 : 0;//добавляем смещение прокрутки на 10 пикселей
		obj.timer = setTimeout('scroll_left(\''+id+'\',true)',sc_speed);//устанавливаем таймер вызова этой же функции для дальнейшей прокрутки
	}
}

function scroll_stop(id) {
	var obj = document.getElementById(id);//получаем объект по ID
	if (obj) {
		if (obj.timer) clearTimeout(obj.timer);
		obj.state = 0;
	}
	sc_speed = 40;
}

addEvent (window, 'load', init0);
function init0() {
	var sm = document.getElementById('scrollme');
	scroll_right('scrollme');
	sm.onmouseover = function (){return new function (){scroll_stop('scrollme');}};
}
