/* =========================================================
// jquery.multimedia-portfolio.js
// Author: OpenStudio (Arnault PACHOT)
// Mail: apachot@openstudio.fr
// Web: http://www.openstudio.fr
// Copyright (c) 2007 Arnault Pachot
// licence : GPL
========================================================= */


(function($) {

$.fn.carousel = function(options) {
	
	this.each(function(){ 	
	
		$(this).wrap("<div class='portfolio-container'></div>");
		var portfolio = $(this);
		var settings = {
			suff: '',
			width: 900,
			width2: 900,
			height: 300,
			element_width: 300,
			baseDir: '.',
			countelements: 3
		};
		
		if (options) $.extend(settings, options);
		var c_element_width = settings.element_width;
		var elements = $(this).children().not('.portfolio-loading-bar');
		var el_count = elements.length-settings.countelements;
		
		var totlength = el_count * c_element_width; //Общая длина wrapper для карусели
		$(".portfolio-container").css("width", settings.width+'px').css("height", settings.height+'px');
		
		// Для всех элементов устанавливаем ширину
		for ( var i = 0; i < el_count+settings.countelements; i++ ) {
				$(elements[i]).css('width', c_element_width+'px');
		};
		
		var totlength = 0;
		
		$(".portfolio-container").parent().append("<div class='slider-container'></div>");
		$(".slider-container").css('width','100%').append("<div class='ui-slider-1'></div>");
		$(".ui-slider-1").css('width', '100%').append("<div class='ui-slider-handle'></div>"); // Добавим бегунок

		// Инициализируем слайдер, шаг равен 1, максимально - количество элементов 
		$(window).bind("load",function(){
			 $(".ui-slider-1").slider({steps: el_count, minValue: 0, maxValue: el_count*el_count, startValue: 0, slide: function(e,ui) {caroussel_portfolio_vue((ui.slider.curValue/el_count), portfolio, elements, settings, c_element_width, false);}});
		});
		
		
		$(".portfolio-container").parent().append("<a class='portfolio-scroll-left'></a>");
		$(".portfolio-container").parent().append("<a class='portfolio-scroll-right'></a>");
		// При клике на левую кнопку
		$(".portfolio-scroll-left").bind('click', function(){
		//alert(parseFloat($(".ui-slider-handle").css("left")));
		//alert(parseFloat($(".ui-slider-handle").css("left"))-((settings.width-62)/el_count));
					// Прокручиваем бегунок
					if (((parseFloat($(".ui-slider-handle").css("left"))-((settings.width2-77)/el_count))<=0.00001) && (parseFloat($(".ui-slider-handle").css("left")) > 0)) {  //*
						$(".ui-slider-handle").css("left", '0px'); }
					else {
						$(".ui-slider-handle").css("left", (parseFloat($(".ui-slider-handle").css("left"))-((settings.width2-77)/el_count))+'px'); //*
					}
					//if (parseInt($(".ui-slider-handle").css("left")) <= 0) $(".ui-slider-handle").css("left", (parseInt(settings.width))+'px');
					if (parseFloat($(".ui-slider-handle").css("left")) < 0) $(".ui-slider-handle").css("left", (settings.width2-77)+'px'); //*
		
					
					// Прокручиваем галерею
					var newx = (parseFloat($(".ui-slider-handle").css("left"))/(settings.width2-77)); //*
					caroussel_portfolio_vue((el_count * newx), portfolio, elements, settings, c_element_width, true);
					
					//alert('!!!');
		
		});
		// При клике на правую кнопку
		$(".portfolio-scroll-right").bind('click', function(){
					// Прокручиваем бегунок
					$(".ui-slider-handle").css("left", (parseFloat($(".ui-slider-handle").css("left"))+((settings.width2-77)/el_count))+'px'); //*
					if (parseFloat($(".ui-slider-handle").css("left")) > (settings.width2-77+5)) $(".ui-slider-handle").css("left", 0); //*
					
					// Прокручиваем галерею
					var newx = (((parseFloat($(".ui-slider-handle").css("left")))/(settings.width2-77)) * 100); //*
					caroussel_portfolio_vue((el_count * newx /100), portfolio, elements, settings, c_element_width, true);
		});
		//caroussel_portfolio_vue((el_count * 50 /100), portfolio, elements, settings, c_element_width, false);
		$(".portfolio-container").show();
		
	});
		
			
		
};

function max(a,b) { if(a >= b) return a; else return b; }
function min(a,b) { if(a < b) return a; else return b; }


function caroussel_portfolio_vue(current, portfolio, elements, settings, c_element_width, slide) {
	if (slide) {
		portfolio.animate({left : (-c_element_width*(current))}, 300);
	} else {
		portfolio.css('left',(-c_element_width*(current))+'px');
	}	
};

})(jQuery);



