// SARON ( 9221084 )
// 25.06.2009
// описание работы и применения в файле jcar.txt на этом же сервере 

function JCar( id , action )
{

	var id = $( '#' + id ); // индификатор
	var count = id.attr( 'count' )/1; // количетсов элементов
	var pos = id.attr( 'pos' )/1; // текущая позиция
	var skip = id.attr( 'skip' )/1; // по сколько элементов пропускать
	var speed = id.attr( 'speed' )/1; // скорость прокручивания
	var show = id.attr( 'show' )/1; // сколько элементов отображаеться
	var size = id.attr( 'size' )/1; // размер элемента
	var like = id.attr( 'like' ); // какой тип элемента
	
	// если элементов не достаточно
	
	if ( count < show )
	{
		
		id.css( 'height' , ( count * size ) + 'px' );
		
	}	
		else
		
	// если достаточно
		
	{
	
		id.css( 'height' , ( show * size ) + 'px' );
	
	}
	

	// определение позиции
	
		if ( action == 'down' || action == 'right' )
		{

			var cur = pos + skip;

			if ( cur > count )
					
				cur = count - show;
		}
				
		if ( action == 'up' || action == 'left' )
		{

			var cur = pos - skip;

			if ( cur < 1 )
					
			cur = 1;
			
		}
	
	
	if ( !id.is(':animated') )
	switch ( action )
	{
	
		// вверх вниз
	
		case 'down': case 'up':
		
				
			// определяем перемещение
			
				var from = pos * size;
				var to = cur * size;
			
				if ( from != to )
				{
					
					// перемещаем фокус
				
						id.animate( {scrollTop: '+=' + ( to - from ) } , speed );
					
					// обновляем позицию
					
						id.attr( 'pos' , cur );
					
				}
		
		break;
		
		// лево право
		
		case 'left': case 'right':
				
			// определяем перемещение
			
				var from = pos * size;
				var to = cur * size;
			
				if ( from != to )
				{
			
					// перемещаем фокус
			
						id.animate( {scrollLeft: '+=' + ( to - from ) } , speed );
					
					// обновляем позицию

						id.attr( 'pos' , cur );
					
				}
		
		break;

		// постаничный переход
		
		default:
			
			// определяем координаты страницы
			
				var cur = ( action - 1 ) * show;
				var page = cur * size;
			
			// если вышли за диапазон 
			
				if ( page > count * size  )
				
					page = ( count - 1 ) - show * size;
						
				if ( like == 'vertical' )
				{
					
					// вертикальный
					
						id.animate( {scrollTop: page } , speed );
								
				}
					else
				{
		
					// горизонтальный
		
						id.animate( {scrollLeft: page } , speed );
				
				}
			
			// обновляем позицию
			
				id.attr( 'pos' , cur );

	}

}
