/*
* Scroll it! v0.01 - jQuery menu widget
* Copyright (c) 2008 Andres Pi
*
* andres(at)dreamsiteweb.com
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/

(function($) {
		  
jQuery.fn.scrollIt = function(settings){
	return this.each(function(i) {
		$this = $(this);
		settings = jQuery.extend({
					   
					   menuHeight: 100,
					   
					   itemHeight: 50,
					   
					   menuWidth: 'auto',
					   
					   itemWidth: 'auto',
					   
					   scrollDuration: 500,
					   
					   scrollItwrapper: 'scrollItwrapper'
					   
					   //vertical: true
				   }, settings);

		var scrollInterval = settings.scrollDuration + 1;
		$this.addClass('scroll-menu').css('height', settings.menuHeight);
		var menuItems = $this.find('li')
		menuItems.css({
						  'height': settings.itemHeight,
						  'width': settings.itemWidth
						  });

		$this.wrap('<div class=' + settings.scrollItwrapper + '></div>');
		$('.' + settings.scrollItwrapper).css({
											  width: settings.menuWidth + 28,
											  margin: '0px auto'
											  });

		var menuList = $($this.children());

		var menuListMarginLeft = 0;
		var menuListMarginTop = 0;
				

		$this.parent().prepend('<div class="scroll-it-up left-arrow"></div>');
		$this.parent().append('<div class="scroll-it-down right-arrow"></div>');
			
			$("." + settings.scrollItwrapper + " .scroll-it-up").click(function () { 
				scrollMenuUp();
			});


			$("." + settings.scrollItwrapper + " .scroll-it-up").hover(
				function () {

					//intervalo = setInterval(scrollMenuUp, scrollInterval);

					$(this).addClass('arrow-hover');
				},
				function(){

					$(this).removeClass('arrow-hover');
				//	clearInterval(intervalo);
		
				}
			);
			
			$("." + settings.scrollItwrapper + " .scroll-it-down").click(function () { 
				scrollMenudown();
			});
					
			$("." + settings.scrollItwrapper + " .scroll-it-down").hover(
				function () {

					//intervalo = setInterval(scrollMenudown, scrollInterval);

					$(this).addClass('arrow-hover');
				},
				function(){

					$(this).removeClass('arrow-hover');
					//clearInterval(intervalo);
				}
			);	
		

		
			$('.' + settings.scrollItwrapper).addClass('horizontal').find('ul').css({
				'width': (settings.itemWidth * menuItems.length),
				'height': settings.itemHeight
			});
			

			$this.css({
					  'float': 'left',
					  'width': settings.menuWidth
					  })	

			var menuListwidth = menuList.width() - menuItems.width();
			$this.find('li').css('float', 'left');
			

			function scrollMenuUp(){
				if(menuListMarginLeft < 0){

					menuListMarginLeft += settings.itemWidth;

					menuList.animate({ 
						marginLeft: menuListMarginLeft
					}, settings.scrollDuration );				
				}/*else{

					clearInterval(intervalo);
				}*/
			}
		
		function scrollMenudown(){
			
			
			
			if(Math.abs(menuListMarginLeft) < Math.abs(settings.menuWidth - (settings.itemWidth * menuItems.length)) && menuItems.length * settings.itemWidth > settings.menuWidth){
			
				menuListMarginLeft -= settings.itemWidth;
			
				menuList.animate({ 
					marginLeft: menuListMarginLeft
				}, settings.scrollDuration );
			}/*else{
			
				clearInterval(intervalo);
			}*/
		}
		
			
				
	});
};
	

})(jQuery);