/* Function: Product slider */
$.fn.productslider = function(settings) {
	// Initialize default parameter
	var defaults = {
		items: 3,
		rows: 1,
		easingTime: 1000,
		easingMethod: 'easeOutExpo'
	};
	// Build settings object
	var settings = $.extend(defaults, settings);
	// Get object Id
	var objId = $(this).attr('id');									// slider_1_1
	objId = objId.substring(0, objId.length-2);						// => slider_1
	// Get nav Id
	var navId = '#' + objId + '_nav';								// #slider_1_nav
	// Define panels
	for (i = 1; i <= settings.rows; i++) {
		// Set list width to auto
		$('#' + objId + '_' + i + ' ul').css({'width': 'auto'});	// slider_1_1 ul, slider_1_2 ul
//console.log(objId + '_' + i + ' (width): ' + $('#' + objId + '_' + i + ' ul').width());
		if (i == 1) {
			// Store item width
			var itemWidth = parseInt($('#' + objId + '_' + i + ' ul li:first').css('width'));
//console.log(objId + '_' + i + ' (itemWidth): ' + itemWidth);
			// Store item margin-right
			var itemMargin = parseInt($('#' + objId + '_' + i + ' ul li:first').css('margin-right'));
//console.log(objId + '_' + i + ' (itemMargin): ' + itemMargin);
			// Count items
			var itemSize = $('#' + objId + '_' + i + ' ul li').size();
//console.log(objId + '_' + i + ' (itemSize): ' + itemSize);
			// Calculate panels
			var panels = Math.ceil(itemSize/settings.items);
//console.log(objId + '_' + i + ' (panels): ' + panels);
			// Calculate panel width
			var panelWidth = ((itemWidth+itemMargin)*itemSize);
		}
		// Set panel width
		$('#' + objId + '_' + i + ' ul').css({'width': panelWidth + 'px'});
//console.log(objId + '_' + i + ' (width . new): ' + $('#' + objId + '_' + i + ' ul').width());
	}
	// Navigation HTML
	var navHtml = '<div class="box_extra" id="' + objId + '_nav"><ul class="slider_picker"></ul><p class="slider_info"><span class="slider_current">01</span>/<span class="slider_total"></span></p></div>\n\t\t\t\t\t';
	// Include navigation
	$('#' + objId + '_1').prev().before(navHtml);
	// Set total number . #slider_info
	$(navId + ' span.slider_total').html((panels < 10 ? '0' : '') + panels);
	// Build panel navigation
	for (i = 1; i < panels+1; i++) {
		$(navId + ' ul.slider_picker').append('<li' + (i == 1 ? ' class="current"' : '') + '><span class="hiddenAbsolute">' + i + '</span></li>\n\t\t\t\t\t\t');
	}
	// Init old index
	var oldIndex = 0;
	// Bind click functions to panel navigation
	$(navId + ' ul li').each(function() {
		$(this).click(function() {
			// Remove current class name
			$(navId + ' ul li').removeClass('current');
			// Set class name for selected link
			$(this).addClass('current');
			// Get index of clicked element
			var clickedIndex = $(navId + ' ul li').index(this);
			// Update current number . #slider_info
			$(navId + ' span.slider_current').html(((clickedIndex+1) < 10 ? '0' : '') + (clickedIndex+1));
			// Shift panel
			if (clickedIndex != oldIndex) {
				for (i = 1; i <= settings.rows; i++) {
					$('#' + objId + '_' + i + ' ul').stop().animate(
						{'left': '-' + ((itemWidth+itemMargin)*settings.items)*clickedIndex + 'px'},
						settings.easingTime,
						settings.easingMethod
					);
				}
			}
			// Store current panel index
			oldIndex = clickedIndex;
			// Remove dotted border
			$(this).blur();
			return false;
		});
	});
};