function applyHandler(o, e, f) { 
  e = (e instanceof Array) ? (arguments.callee(o, e[1], f), e[0]) : e; 
  return (o.attachEvent) ? o.attachEvent(e, f) : (o.addEventListener) ? 
    o.addEventListener(e.substr(2), f, false) : false;
}


 
function initScroller() { 

  var c = document.getElementById('control'), 
  s = document.getElementById('scroller'); 
  if ( c == null ) return false;

  c.back_control = c.getElementsByTagName('img')[0];
 
  (c.scroll_obj = s).scroll_position = s.scroll_active = 0; 

  s.scroll_range = s.offsetWidth - s.parentNode.offsetWidth;
  return applyHandler(c, ['onmouseover', 'onmouseout'], scrollControl);
}



function scrollControl(e) {

 
  var el = (e = e || event).target || e.srcElement,

  t = el.tagName.toLowerCase(), p, b; 

  if(t == 'img') { 

    p = el.parentNode.scroll_obj;
    return (p.scroll_active = !p.scroll_active) ? 
      (b = (el == el.parentNode.back_control), scrollProcess(p, b)) : false;
  }
  else return false;
}
 
function scrollProcess(o, b) {

  var p = o.scroll_position;
  
  o.scroll_position = (!b && p > -o.scroll_range) ? p - 2 : 
    (b && p < 0) ? p + 2 : (o.scroll_active = 0, b) ? 0 : p;

  o.style.left = o.scroll_position + 'px';

  return (o.scroll_active) ? window.setTimeout(function() {
    return scrollProcess(o, b); }, 5) : false; 
}

applyHandler(window, 'onload', initScroller);