var quantity = 0;
var elementWidth = 0;
var iml = [];
var d = 1;
var f_time = 10;
var s_time = 50;
var s_go = 0;
var startLeft = 0;
var visualWidth = 0;
var eltbase = '';
var rightMargin = 0;

function create(containerid, elementid) {
   clearInterval(s_go);
   eltbase = elementid;

   var container = $('#' + containerid);
   var children = container.children();
   elementWidth = children.first().width();

   quantity = children.length;
   startLeft = 0; //container.offset().left;
   visualWidth = container.innerWidth();
//alert(startLeft);
   for(i = 0; i < quantity; i++) {
      currentdiv = $('#' + eltbase + i);
      if (quantity>1) {
         iml[i] = visualWidth + startLeft - (elementWidth * (i + 1));
      }
      else {
         iml[i] = Math.round(visualWidth / 2 - elementWidth / 2);
      }
      if (iml[i] + elementWidth >= startLeft) {
         currentdiv.css('margin-left', iml[i] + 'px');
      }
      else {
         currentdiv.css('margin-left', (- elementWidth) + 'px');
      }

   }
   s_go = setInterval('doit()',s_time);
}

function doit() {
	for(i=0; i < quantity; i++) {
      currentdiv = $('#' + eltbase + i);
      // Если _правый_ край элемента за правой границе блока
      if (iml[i]+elementWidth > visualWidth + startLeft) {
         if (d == 1) {
            if (iml[i] < visualWidth + startLeft) {
               iml[i]++;
               currentdiv.css('margin-left', iml[i] + 'px');
		          }
		        else {
		          iml[i] = visualWidth + startLeft - (elementWidth * quantity);
		          currentdiv.css('margin-left', (- elementWidth) + 'px');
		          }
		        }
		      else {
		        iml[i]--;
		        currentdiv.css('margin-left', iml[i] + 'px');
            }
      }
      // Если левый край элемента за левой границей
      else if (iml[i] + elementWidth < startLeft) {
         // Если движемся вправо.
         if (d==1) {
		        if (iml[i]+elementWidth>=startLeft) {
		          iml[i]++;
		          }
		        else iml[i]++;
		   }
         //Если влевo
         else {
            if (iml[i]+elementWidth >= startLeft) {
               iml[i]--;
            }
            else {
		          if (iml[i] < visualWidth + startLeft - (elementWidth * quantity)) {
		            iml[i] = startLeft + visualWidth;
		          }
		          else {
                  iml[i]--;
                }
            }
         }
         currentdiv.css('margin-left', iml[i] + 'px');
      }
      //если внутри границ
		else {
         if (d==1) {
           iml[i]++;
         }
         else {
           iml[i]--;
         }
		   currentdiv.css('margin-left', iml[i] + 'px');
      }
   }
}

function gos(t) {
   clearInterval(s_go);
   if(t<2) {
      d = 1;
   }
   else {
      d = -1;
   }
   if ((t==1)||(t==3)) {
      s_go = setInterval('doit()',f_time);
   }
   else {
      s_go = setInterval('doit()',s_time);
   }
}

function gstop(i) {
   clearInterval(s_go);
}

function gstart(i) {
   clearInterval(s_go);
   s_go = setInterval('doit()',s_time);
}


