	function init(id) {
  var obj = document.getElementById(id);
  if (obj) {
    obj.state = 0;//инициализируем состояние
    obj.timer = null;
    obj.maxVert = obj.scrollWidth - obj.offsetWidth;//максимальная высота прокрутки
  }
}


function scroll_down(id,timer) {
  var obj = document.getElementById(id);//получаем объект по ID
  if (!obj.maxVert) init(id);//если объект еще не иниициализировался - инициализируем
  if (timer == undefined) obj.state = 1;//если не передан второй параметр timer, значит вызов был от кнопки прокрутки, ставим состояние прокрутки вниз 
  if ((obj.maxVert > obj.scrollLeft) && (obj.state == 1)) {//если не достигли предела и состояние прокрутки все еще "вниз"(1)
    obj.scrollLeft = obj.scrollLeft + 15;//добавляем смещение прокрутки на 10 пикселей
    obj.timer = setTimeout('scroll_down(\''+id+'\',true)',50);//устанавливаем таймер вызова этой же функции для дальнейшей прокрутки
  }
}

function scroll_up(id,timer) {
  var obj = document.getElementById(id);//получаем объект по ID
  if (!obj.maxVert) init(id);//если объект еще не иниициализировался - инициализируем
  if (timer == undefined) obj.state = -1;//если не передан второй параметр timer, значит вызов был от кнопки прокрутки,ставим состояние прокрутки вверх 
  if ((obj.scrollLeft > 0) && (obj.state == -1)) {//если не достигли начала и состояние прокрутки все еще "вверх"(-1)
    obj.scrollLeft = obj.scrollLeft > 15 ? obj.scrollLeft - 15 : 0;//добавляем смещение прокрутки на 10 пикселей
    obj.timer = setTimeout('scroll_up(\''+id+'\',true)',50);//устанавливаем таймер вызова этой же функции для дальнейшей прокрутки
  }
}

function scroll_stop(id) {
  var obj = document.getElementById(id);//получаем объект по ID
  if (obj) {
    if (obj.timer) clearTimeout(obj.timer);
    obj.state = 0;
  }

}
