Current File : /home/pacjaorg/public_html/km/modules/mod_djclassifieds_items/assets/js/djslider.js
/**
 * @package DJ-Classifieds
 * @copyright Copyright (C) DJ-Extensions.com, All rights reserved.
 * @license http://www.gnu.org/licenses GNU/GPL
 * @author url: http://dj-extensions.com
 * @author email: contact@dj-extensions.com
 */

function djslider(mod_id, cols, items_count, dir, autoslide)
{
	var asllider_c = 0;
	var asllider_cols = cols;
	var asllider_all = items_count;
	
	var asllider_l = asllider_all-cols;
	if(asllider_l < 0){
		asllider_l = 0;
	}

	var main_wrapper = jQuery('#mod_djclassifieds_items'+mod_id);
	var items_outer = main_wrapper.find('.items');
	var slider_box = main_wrapper.find('.items-content');
	
	var items_list = slider_box.find('.item-box');

	slider_box.css('width','').css('margin','0');
	
	items_list.each(function(){
		jQuery(this).css('width','').css('position','static');
	});

	if(!items_list.length){
		main_wrapper.find('.djcf_slider_loader').hide();
		return true;
	}
	
	var slide_width = items_list.first().outerWidth();
	if(slide_width < 80 && cols > 1){
		var new_cols = cols-1;		
		items_outer.first().removeClass('items-cols'+cols);
		items_outer.first().addClass('items-cols'+new_cols);
		djslider(mod_id, new_cols, items_count, dir, autoslide);
		
		return true;
	}else{
		var old_cols = cols-1;
		items_outer.first().removeClass('items-cols'+old_cols);
		items_outer.addClass('items-cols'+cols);
	}
	
	slider_box.css('width',slide_width*asllider_all);
	
	items_list.each(function(){
		jQuery(this).css('width',slide_width);				
	});

	var slide_height = slider_box.outerHeight();

	items_list.each(function(){
		jQuery(this).css('height',slide_height);	
	});
		
	slider_box.css('height','auto');
	slider_box.stop().animate({
    	opacity: 1
  	});

	main_wrapper.find('.djcf_slider_loader').hide();
		
	var arrow_left = main_wrapper.find('.djcf_slider_left');
	var arrow_right = main_wrapper.find('.djcf_slider_right');

	arrow_left.addClass('blocked').show();
	arrow_right.removeClass('blocked').show();
	
	if(asllider_all > asllider_cols){
		arrow_left.off('click').on('click',function(){
			if(asllider_c > 0){
				asllider_c--;
				if(dir == 'ltr'){
					slider_box.stop().animate({'margin-left': asllider_c*-slide_width});
				}else{
					slider_box.stop().animate({'margin-right': asllider_c*-slide_width});
				}

				if(asllider_c == 0){
					arrow_left.addClass('blocked');
					arrow_right.removeClass('blocked');		
				}else{
					arrow_left.removeClass('blocked');
					arrow_right.removeClass('blocked');
				}
			}
		});
		
		arrow_right.off('click').on('click',function(){
			if(asllider_c < asllider_l){
				asllider_c++;
				if(dir == 'ltr'){
					slider_box.stop().animate({'margin-left': asllider_c*-slide_width});
				}else{
					slider_box.stop().animate({'margin-right': asllider_c*-slide_width});
				}

				if(asllider_c == asllider_l){
					arrow_right.addClass('blocked');
					arrow_left.removeClass('blocked');		
				}else{
					arrow_left.removeClass('blocked');
					arrow_right.removeClass('blocked');
				}
			}
		});

		if(autoslide > 0){
			var prev_time = null;
			function nextSlide()
			{
				if(prev_time && (Date.now() - prev_time) > autoslide + 100){ // re-init slider to avoid fast scrolling after idle time
					djslider(mod_id, cols, items_count, dir, autoslide);
					return;
				}
				if(!jQuery('#mod_djclassifieds_items'+mod_id+':hover').length){ // if mouse not over the slider
					if(arrow_right.hasClass('blocked')){
						asllider_c = 0;
						slider_box.stop().animate({
							margin: 0
						});
						arrow_right.removeClass('blocked');
						arrow_left.addClass('blocked');
					}else{
						arrow_right.trigger('click');
					}
				}
				prev_time = Date.now();
				window['djSliderTimout'+mod_id] = setTimeout(function(){
					nextSlide();
				}, autoslide);
			}
			window['djSliderTimout'+mod_id] = setTimeout(function(){
				nextSlide();
			}, autoslide);
		}
	}else{
		arrow_left.addClass('blocked');
		arrow_right.addClass('blocked');
	}
} 
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!