//   modified by atmosferra:: kblp (atmosferra.ru)
//   28.01.2009@18:48
//   for ERMG.RU

//   original: JQuery:: ScrollIt

//   free for use and re-making
//   absolutely no warranties

(function($) {
		  
jQuery.fn.scrollIt = function(settings){
	return this.each(function(i) {
			$this = $(this);
			settings = jQuery.extend({
						   menuHeight : 400,
						   lineHeight : 100,
						   scrollDuration : 50,
						   scrollItwrapper : 'scrollItwrapper'
					   }, settings);

			var scrollInterval = settings.scrollDuration + 1;
			//$this.addClass('scroll-menu').css('height',settings.menuHeight);
			var menuList = $($this.children());
			if (menuList.height() < $this.height()){ return; }
      var menuListMargin = 0;
			var menuListHeight = menuList.height() - $this.height();	
     
      $(this).wrap('<div class=' + settings.scrollItwrapper + '></div>');
			$(this).parent().prepend('<div class="scroll-it-up scroll-menu-up-' + i + '"></div>');
			$(this).parent().append('<div class="scroll-it-down scroll-menu-down-' + i + '"></div>');
			 
      function scrollMenuUp()
      {
				if(menuListMargin < 0){			
      		menuListMargin += settings.lineHeight;
      		menuList.animate({ 
						marginTop: menuListMargin
					}, settings.scrollDuration );				
				}else{
      		clearInterval(intervalo);
				}
			}			
			
      function scrollMenudown()
      {
      	if(Math.abs(menuListMargin) < menuListHeight){
      		menuListMargin -= settings.lineHeight;
      		menuList.animate({ 
						marginTop: menuListMargin
					}, settings.scrollDuration );
				}else{
					clearInterval(intervalo);
				}
			}
			
				$("." + settings.scrollItwrapper + " .scroll-menu-down-" + i ).hover(
				function() {} , function() { $(this).removeClass('arrow-hover'); } );
				$("." + settings.scrollItwrapper + " .scroll-menu-up-" + i ).hover(
				function() {} , function() { $(this).removeClass('arrow-hover'); } );
				
			
			$("." + settings.scrollItwrapper + " .scroll-menu-down-" + i ).mousedown(
				function () {
					intervalo = setInterval(scrollMenudown, scrollInterval);
					$(this).addClass('arrow-hover');
				});
			$("." + settings.scrollItwrapper + " .scroll-menu-down-" + i ).mouseup(	
				function(){
					$(this).removeClass('arrow-hover');
					clearInterval(intervalo);
				});
					
			$("." + settings.scrollItwrapper + " .scroll-menu-up-" + i ).mousedown(
				function () {
					intervalo = setInterval(scrollMenuUp, scrollInterval);
					$(this).addClass('arrow-hover');
				});
      $("." + settings.scrollItwrapper + " .scroll-menu-up-" + i ).mouseup(
				function () {
					$(this).removeClass('arrow-hover');
					clearInterval(intervalo);
				});	
	});
};
	

})(jQuery);
