/*
	Portfolio Module

	Portfolio images.

	Dependency:
*/
Core.register("portfolio", function(sandbox){
	// Variables privadas

	// Método privados
	var _init = function () {
        _preloadImages();
        var $switchs = $('#portfolioContainer .portfolioSwitch');
        $switchs.live('click', _portfolioSwitch);

        $("a.ajax").live('click', function(){
            var url = $(this).attr('href');
            $.get(url, function(data){
                $("#internal").html(data);
                _preloadImages()
            });
            return false;
        });
	}

    var _portfolioSwitch = function () {
        var $portfolioImage = $('#portfolioImage');
        var image = $(this);
        var newImage = _bigImage(this.src);
        setTimeout(function () {_activeImage(); image.addClass('active'); $portfolioImage.attr('src', newImage);}, 500);
        $portfolioImage.fadeOut(500);
        $portfolioImage.fadeIn(500);
    }

    var _activeImage = function () {
        var $switchs = $('#portfolioContainer .portfolioSwitch');
        $switchs.each(function(){
            var $this = $(this);
            $this.removeClass('active');
        });

    }

    var _bigImage = function (src) {
        return src.replace('thumb-', '');
    }

    var _preloadImages = function () {
        var $switchs = $('#portfolioContainer .portfolioSwitch');
        var len = $switchs.length;
        for (var i = len; i--;) {
          var cacheImage = new Image();
          cacheImage.src = _bigImage($switchs[i].src);
        }
    }

	return {
		init: function(){
			try{
                _init();

			} catch(ex) {
				sandbox.alert("Error Portfolio Module.\nDesc.:"+ex.message);
			}
		},
		destroy: function(){
			// destructor
		}
	};
});

