// Image Scroller (#include suilib_lite.js)
// Created in Shogo.Ru

var animate = true; // флажок для включения плавной смены картинок

// Визуальные действия при включении/отключении стрелок
function visAct(obj, action) {
  var op = action ? 100 : 35;
  $(obj.firstChild).setstyle('opacity:'+op);
}

var imgScroller = function () {
  // Инициализация
  $(suilib.body).filter('*', 'scroller_activator', null, true).walkwith(function(el) {
    var lft = $(el).filter('a', 'scroller_l', null, true)[0],
        div = $(el).filter('div', 'scroller', null, true)[0],
        rght = $(el).filter('a', 'scroller_r', null, true)[0];
    var imgs = $(div).filter('img', null, null, true), il = 0;
    for(var i=0; i<imgs.length; i++) {
      il += imgs[i].offsetWidth;
    }

    // Глобальные переменные и проверки при запуске
    var cl = parseInt($(div).style.left, 10), pw = suilib.client.msie ? div.parentNode.offsetWidth : div.offsetWidth, clickChecker = false;
    visAct(lft, false); if(il<=pw) visAct(rght, false);

    // Обработчики левой/правой стрелок
    function handlers(e) {
      var lnk = !!((((e.target || e.srcElement).tagName==='A') ? (e.target || e.srcElement) : (e.target || e.srcElement).parentNode).className=='scroller_l');
      e.returnValue = false;
      if(e.preventDefault) e.preventDefault();
      if(clickChecker) return false;
      clickChecker = true;

      cl = parseInt($(div).style.left, 10);
      if(lnk ? (cl >= 0) : (il+cl <= pw)) {
        clickChecker = false;
        return false;
      }
      var step = lnk ? cl + 99 : cl - 99;
      if(animate) $(div).animate(.5, {left:[cl, step]}, function(){
        visAct(lnk ? rght : lft, true);
        if(lnk ? (step >= 0) : (il+step <= pw)) {
          visAct(lft, !lnk); visAct(rght, lnk);
        }
        clickChecker = false;
      });
      else {
        $(div).style.left = step + 'px';
        if(!lnk) visAct(lft, true);
        if(lnk ? (step >= 0) : (il+step <= pw)) {
          visAct(lft, !lnk); visAct(rght, lnk);
        }
        clickChecker = false;
      }
    }

    (function(e) {handlers(e);}).$('click', lft, rght);
  });
}

if(suilib.client.safari) imgScroller.$('load', window); else suilib.ready(imgScroller);