﻿(function($) {
    $.carrosselTecnoig = {};
    $.carrosselTecnoig.centerImage = {};
    $.carrosselTecnoig.rightImage = {};
    $.carrosselTecnoig.leftImage = {};
    $.carrosselTecnoig.rightImageStorage = {};
    $.carrosselTecnoig.leftImageStorage = {};
    $.carrosselTecnoig.carrossel = {};

    $.carrosselTecnoig.Options = {
		sTop: 370,
		Ltop: 100,
		Lheight: 240,
        Lwidth: 200,
		cheight: 280,
        cwidth: 400,
        gutterWidth: 50,
        startClass: 'start',
        slideSpeed: 'normal'

    };

    $.fn.mutariCarrossel = function(options) {
        //global settings
		
        $.extend($.carrosselTecnoig.Options, options);
        $.carrosselTecnoig.carrossel = $(this).css('cursor', 'pointer');
        $.carrosselTecnoig.definePositions();

        //Captura imagens
        var lastIndex = 0;
        var carrosselSize = $.carrosselTecnoig.carrossel.each(function(i) {
            $(this).attr({
                'index': i,
                'prev': (i - 1),
					
                'next': (i + 1)

			}).css('position', 'absolute');
            lastIndex = i;
        }).hide().size();

        //fill in carrossel with duplicates until there are at least 6
        var currIndex = 0;
        while (carrosselSize < 6) {
            var $clone = $.carrosselTecnoig.carrossel.filter('[index=' + currIndex + ']').clone().attr({
                'index': lastIndex + 1,
                'prev': lastIndex,
                'next': lastIndex + 2
            }).removeClass($.carrosselTecnoig.Options.startClass);
            $.carrosselTecnoig.carrossel.filter('[index=' + (lastIndex) + ']').after($clone);
            $.carrosselTecnoig.carrossel = $.carrosselTecnoig.carrossel.add('img[index=' + (lastIndex + 1) + ']');
            lastIndex++;
            currIndex++;
            carrosselSize++;
        }
        $.carrosselTecnoig.carrossel.filter('[index=' + lastIndex + ']').attr('next', 0);
        $.carrosselTecnoig.carrossel.filter('[index=0]').attr('prev', lastIndex);

        //set images
        $.carrosselTecnoig.setCenter($.carrosselTecnoig.carrossel.filter('.' + $.carrosselTecnoig.Options.startClass).show().removeClass("passa-lateral").addClass("passa-centro"));
		$.carrosselTecnoig.centerImage.image.attr({"src": $.carrosselTecnoig.centerImage.image.attr("src").replace(".png","-center.png")})
        $.carrosselTecnoig.setLeft($.carrosselTecnoig.carrossel.filter('[index=' + $.carrosselTecnoig.centerImage.image.attr('prev') + ']').show());
        $.carrosselTecnoig.setRight($.carrosselTecnoig.carrossel.filter('[index=' + $.carrosselTecnoig.centerImage.image.attr('next') + ']').show());
        $.carrosselTecnoig.setLeftStorage($.carrosselTecnoig.carrossel.filter('[index=' + $.carrosselTecnoig.leftImage.image.attr('prev') + ']'));
        $.carrosselTecnoig.setRightStorage($.carrosselTecnoig.carrossel.filter('[index=' + $.carrosselTecnoig.rightImage.image.attr('next') + ']'));

        //bind events
        $.carrosselTecnoig.leftImage.image.one('click', $.carrosselTecnoig.slideRight);
        $.carrosselTecnoig.rightImage.image.one('click', $.carrosselTecnoig.slideLeft);
        $.carrosselTecnoig.centerImage.image.one('click', $.carrosselTecnoig.linkIn);
        $(window).resize(function() {
            $.carrosselTecnoig.definePositions();
            $.carrosselTecnoig.setCenter($.carrosselTecnoig.centerImage.image);
            $.carrosselTecnoig.setLeft($.carrosselTecnoig.leftImage.image);
            $.carrosselTecnoig.setRight($.carrosselTecnoig.rightImage.image);
            $.carrosselTecnoig.setLeftStorage($.carrosselTecnoig.leftImageStorage.image);
            $.carrosselTecnoig.setRightStorage($.carrosselTecnoig.rightImageStorage.image);
        });

        //return the objects (for chaining purposes)
        return $(this);
    };

    $.carrosselTecnoig.slideRight = function() {
		var liLeft = $.carrosselTecnoig.leftImage.left($.carrosselTecnoig.leftImageStorage.image, $.carrosselTecnoig.leftImage.image);
        var riLeft = $.carrosselTecnoig.rightImage.left($.carrosselTecnoig.leftImage.image);
        var risLeft = $.carrosselTecnoig.rightImageStorage.left($.carrosselTecnoig.centerImage.image);
            $.carrosselTecnoig.leftImageStorage.image.animate({
                'top': $.carrosselTecnoig.leftImage.Ltop,
                'left': liLeft,
                'height': $.carrosselTecnoig.leftImage.Lheight,
                'width': $.carrosselTecnoig.leftImage.Lwidth
            },
            $.carrosselTecnoig.Options.slideSpeed, 'linear', function() {
                $(this).one('click', $.carrosselTecnoig.slideRight);
            });
            $.carrosselTecnoig.leftImage.image.unbind().animate({
				'top': $.carrosselTecnoig.centerImage.Ltop - 30,
                'left': $.carrosselTecnoig.centerImage.Lleft,
                'height': 330,//$.carrosselTecnoig.centerImage.Lheight,
                'width': 270//$.carrosselTecnoig.centerImage.Lwidth
			},	
            $.carrosselTecnoig.Options.slideSpeed, 'linear', function() {
                $(this).one('click', $.carrosselTecnoig.linkIn);

				$.carrosselTecnoig.centerImage.image.attr({"src": $.carrosselTecnoig.centerImage.image.attr("src").replace(".png","-center.png")})
				$.carrosselTecnoig.centerImage.image.animate({
					'top': $.carrosselTecnoig.centerImage.Ltop,
					'width': $.carrosselTecnoig.Options.cwidth,
					'height': $.carrosselTecnoig.Options.cheight				
					},0, 'linear', function(){
						$('#Rseta').one('click', $.carrosselTecnoig.slideRight);
					});
            });

            $.carrosselTecnoig.centerImage.image.unbind().animate({
                'top': $.carrosselTecnoig.rightImage.Ltop,
                'left': riLeft,
                'height': $.carrosselTecnoig.rightImage.Lheight,
                'width': $.carrosselTecnoig.rightImage.Lwidth
            },
            $.carrosselTecnoig.Options.slideSpeed, 'linear', function() {
                $(this).one('click', $.carrosselTecnoig.slideLeft);
            });

	
            $.carrosselTecnoig.rightImage.image.unbind().animate({
                'top': $.carrosselTecnoig.Options.sTop,
                'left': risLeft,
                'height': 0,
                'width': 0
            },
            $.carrosselTecnoig.Options.slideSpeed, 'linear');
    
        $.carrosselTecnoig.rightImageStorage.image = $.carrosselTecnoig.rightImage.image;
        $.carrosselTecnoig.rightImage.image = $.carrosselTecnoig.centerImage.image;
        $.carrosselTecnoig.centerImage.image = $.carrosselTecnoig.leftImage.image;
        $.carrosselTecnoig.leftImage.image = $.carrosselTecnoig.leftImageStorage.image;
        $.carrosselTecnoig.setLeftStorage($.carrosselTecnoig.carrossel.filter('[index=' + $.carrosselTecnoig.leftImageStorage.image.attr('prev') + ']'));


		$.carrosselTecnoig.rightImage.image.attr({"src": $.carrosselTecnoig.rightImage.image.attr("src").replace("-center.png",".png")}).removeClass("passa-centro").addClass("passa-lateral");
		
        $.carrosselTecnoig.centerImage.image.removeClass("passa-lateral").addClass("passa-centro");

		TrocarMeio($.carrosselTecnoig.centerImage.image.attr("id"),$.carrosselTecnoig.rightImage.image.attr("id"));
	};

    $.carrosselTecnoig.slideLeft = function() {
		var riLeft = $.carrosselTecnoig.rightImage.left($.carrosselTecnoig.rightImage.image);
        var liLeft = $.carrosselTecnoig.leftImage.left($.carrosselTecnoig.centerImage.image, $.carrosselTecnoig.rightImage.image);
        var lisLeft = $.carrosselTecnoig.leftImageStorage.left($.carrosselTecnoig.leftImage.image, $.carrosselTecnoig.centerImage.image, $.carrosselTecnoig.rightImage.image);

            $.carrosselTecnoig.rightImageStorage.image.animate({
                'top': $.carrosselTecnoig.rightImage.Ltop,
                'left': riLeft,
                'height': $.carrosselTecnoig.rightImage.Lheight,
                'width': $.carrosselTecnoig.rightImage.Lwidth
            },
            $.carrosselTecnoig.Options.slideSpeed, 'linear', function() {
                $(this).one('click', $.carrosselTecnoig.slideLeft);

            });

            $.carrosselTecnoig.rightImage.image.unbind().animate({
				'top': $.carrosselTecnoig.centerImage.Ltop - 30,
                'left': $.carrosselTecnoig.centerImage.Lleft,
                'height': 330, //$.carrosselTecnoig.centerImage.Lheight,
                'width': 270//$.carrosselTecnoig.centerImage.Lwidth

            },  $.carrosselTecnoig.Options.slideSpeed, 'linear', function() {
	                $(this).one('click', $.carrosselTecnoig.linkIn);

					$.carrosselTecnoig.centerImage.image.attr({"src": $.carrosselTecnoig.centerImage.image.attr("src").replace(".png","-center.png")})
					$.carrosselTecnoig.centerImage.image.animate({
						'top': $.carrosselTecnoig.centerImage.Ltop,
						'width': $.carrosselTecnoig.Options.cwidth,
						'height': $.carrosselTecnoig.Options.cheight
						},0, 'linear', function(){
							$('#Lseta').one('click', $.carrosselTecnoig.slideLeft);
				});
            });


            $.carrosselTecnoig.centerImage.image.unbind().animate({
				'top': $.carrosselTecnoig.leftImage.Ltop,
                'left': liLeft,
                'height': $.carrosselTecnoig.leftImage.Lheight,
                'width': $.carrosselTecnoig.leftImage.Lwidth
            },
            $.carrosselTecnoig.Options.slideSpeed, 'linear', function() {
                $(this).one('click', $.carrosselTecnoig.slideRight);

            });

	
            $.carrosselTecnoig.leftImage.image.unbind().animate({
                'top': $.carrosselTecnoig.Options.sTop,
                'left': lisLeft,
                'height': 0,
                'width': 0
            },
            $.carrosselTecnoig.Options.slideSpeed, 'linear');


		$.carrosselTecnoig.leftImageStorage.image = $.carrosselTecnoig.leftImage.image;
        $.carrosselTecnoig.leftImage.image = $.carrosselTecnoig.centerImage.image;
        $.carrosselTecnoig.centerImage.image = $.carrosselTecnoig.rightImage.image;
        $.carrosselTecnoig.rightImage.image = $.carrosselTecnoig.rightImageStorage.image;
        $.carrosselTecnoig.setRightStorage($.carrosselTecnoig.carrossel.filter('[index=' + $.carrosselTecnoig.rightImageStorage.image.attr('next') + ']'));

		$.carrosselTecnoig.leftImage.image.attr({"src":$.carrosselTecnoig.leftImage.image.attr("src").replace("-center.png",".png")}).removeClass("passa-centro").addClass("passa-lateral");
        $.carrosselTecnoig.centerImage.image.removeClass("passa-lateral").addClass("passa-centro");
					
		TrocarMeio($.carrosselTecnoig.centerImage.image.attr("id"),$.carrosselTecnoig.rightImage.image.attr("id"));
};

//##### Funcao da ao clicar na imagem do centro
    $.carrosselTecnoig.linkIn = function() {
		window.location.href = $.carrosselTecnoig.centerImage.image.attr("link");
    };



    $.carrosselTecnoig.setRightStorage = function(image) {
        $.carrosselTecnoig.rightImageStorage.image = image;
            $.carrosselTecnoig.rightImageStorage.image.hide().css({
                'top': $.carrosselTecnoig.rightImageStorage.Ltop,
                'height': $.carrosselTecnoig.rightImageStorage.Lheight,
                'width': $.carrosselTecnoig.rightImageStorage.Lwidth
            });
        $.carrosselTecnoig.rightImageStorage.image.css('left', $.carrosselTecnoig.rightImageStorage.left($.carrosselTecnoig.rightImage.image));
    };

    $.carrosselTecnoig.setLeftStorage = function(image) {
        $.carrosselTecnoig.leftImageStorage.image = image;
            $.carrosselTecnoig.leftImageStorage.image.hide().css({
                'top': $.carrosselTecnoig.leftImageStorage.Ltop,
                'height': $.carrosselTecnoig.leftImageStorage.Lheight,
                'width': $.carrosselTecnoig.leftImageStorage.Lwidth
            });
        $.carrosselTecnoig.leftImageStorage.image
             .css('left', $.carrosselTecnoig.leftImageStorage.left($.carrosselTecnoig.leftImageStorage.image, $.carrosselTecnoig.leftImage.image, $.carrosselTecnoig.centerImage.image));
    };

    $.carrosselTecnoig.setCenter = function(image) {
        $.carrosselTecnoig.centerImage.image = image;
            $.carrosselTecnoig.centerImage.image.css({
                'top': $.carrosselTecnoig.centerImage.Ltop,
                'left': $.carrosselTecnoig.centerImage.Lleft,
                'height': $.carrosselTecnoig.Options.cheight,
                'width': $.carrosselTecnoig.Options.cwidth
            });
    };

    $.carrosselTecnoig.setRight = function(image) {
        $.carrosselTecnoig.rightImage.image = image;
            $.carrosselTecnoig.rightImage.image.css({
                'top': $.carrosselTecnoig.rightImage.Ltop,
                'height': $.carrosselTecnoig.rightImage.Lheight,
                'width': $.carrosselTecnoig.rightImage.Lwidth
            });
        $.carrosselTecnoig.rightImage.image.css('left', $.carrosselTecnoig.rightImage.left($.carrosselTecnoig.centerImage.image));
    };

    $.carrosselTecnoig.setLeft = function(image) {
        $.carrosselTecnoig.leftImage.image = image;
            $.carrosselTecnoig.leftImage.image.css({
                'top': $.carrosselTecnoig.leftImage.Ltop,
                'height': $.carrosselTecnoig.leftImage.Lheight,
                'width': $.carrosselTecnoig.leftImage.Lwidth
            });
        $.carrosselTecnoig.leftImage.image.css('left', $.carrosselTecnoig.leftImage.left($.carrosselTecnoig.leftImage.image, $.carrosselTecnoig.centerImage.image));
    };

    $.carrosselTecnoig.definePositions = function() {
        $.carrosselTecnoig.centerImage.Lheight = Math.round($.carrosselTecnoig.Options.Lheight);
        $.carrosselTecnoig.centerImage.Lwidth = Math.round($.carrosselTecnoig.Options.Lwidth);
        $.carrosselTecnoig.centerImage.Ltop = Math.round($.carrosselTecnoig.Options.Ltop);
        $.carrosselTecnoig.centerImage.Lleft = Math.round($(window).width() / 2) - ($.carrosselTecnoig.centerImage.Lwidth / 2)-100;

		$.carrosselTecnoig.leftImage.Lheight = Math.round($.carrosselTecnoig.centerImage.Lheight);
        $.carrosselTecnoig.leftImage.Lwidth = Math.round($.carrosselTecnoig.centerImage.Lwidth);
        $.carrosselTecnoig.leftImage.Ltop = Math.round($.carrosselTecnoig.centerImage.Ltop + (($.carrosselTecnoig.centerImage.Lheight - $.carrosselTecnoig.leftImage.Lheight) / 2));
        $.carrosselTecnoig.leftImage.left = function(left, center) {
           return Math.round($.carrosselTecnoig.centerImage.Lleft - ($.carrosselTecnoig.leftImage.Lwidth + $.carrosselTecnoig.Options.gutterWidth));  };
        
		$.carrosselTecnoig.rightImage.Lheight = Math.round($.carrosselTecnoig.centerImage.Lheight);
        $.carrosselTecnoig.rightImage.Lwidth = Math.round($.carrosselTecnoig.centerImage.Lwidth);
        $.carrosselTecnoig.rightImage.Ltop = Math.round($.carrosselTecnoig.centerImage.Ltop + (($.carrosselTecnoig.centerImage.Lheight - $.carrosselTecnoig.rightImage.Lheight) / 2));
        $.carrosselTecnoig.rightImage.left = function(center) {
           return Math.round($.carrosselTecnoig.centerImage.Lleft + ($.carrosselTecnoig.centerImage.Lwidth + $.carrosselTecnoig.Options.gutterWidth)+200); };
		   
        $.carrosselTecnoig.leftImageStorage.Lheight = Math.round(0);
        $.carrosselTecnoig.leftImageStorage.Lwidth = Math.round(0);
        $.carrosselTecnoig.leftImageStorage.Ltop = Math.round($.carrosselTecnoig.Options.sTop);
        $.carrosselTecnoig.leftImageStorage.left = function(leftStorage, left, center) {
                return Math.round($.carrosselTecnoig.leftImage.left(left, center) - ($.carrosselTecnoig.leftImageStorage.Lwidth + $.carrosselTecnoig.Options.gutterWidth));
        };
		
        $.carrosselTecnoig.rightImageStorage.Lheight = Math.round(0);
        $.carrosselTecnoig.rightImageStorage.Lwidth = Math.round(0);
        $.carrosselTecnoig.rightImageStorage.Ltop = Math.round($.carrosselTecnoig.Options.sTop);

		$.carrosselTecnoig.rightImageStorage.left = function(right) {
                return Math.round($.carrosselTecnoig.rightImage.left(right) + ($.carrosselTecnoig.rightImage.Lwidth + $.carrosselTecnoig.Options.gutterWidth));
        };
    };
})(jQuery);
