
var active_slide = '';

function formatTitle(title, currentArray, currentIndex, currentOpts) {
    var title2 = $('#title_'+title).text();
    var linkText = $('#link_'+title).text();
    var selector = "#link_"+title;
    var href = $(selector).attr('href');
    if(href.indexOf("?mode=ajax") == -1){
    	href = href + "?mode=ajax";
    }
    $(selector).attr('href',href);  
    var description = $('#description_'+title).text();
    var trigger = "$('#link_"+title+"').trigger('click')";
    return '<div id="stopSlideshow" style="display:none">stop</div><div class="eit_wrapper"><div class="eit_container"><div class="eit_btn-slide" onMouseOver="style.cursor=pointer"><div class="border_to_arrow_up"></div></div><div class="eit_panel" id="eit_panel"><div class="header">'+ title2 +'<span>'+description+'</span></div><div class="content"><a href="#" onclick="'+trigger+'"class="lightbox_details_link">'+linkText+'</a></div></div></div></div>';
}

function getLastImageFoto(){
    //$.fancybox.close();
    var selector = "#"+active_slide;
    var href = $(selector).attr('href');
    $(selector).trigger('click');
}

function closeParentFancybox(){
    $.fancybox.close();
}

$(window).load(function(){
      $('div.gallery').galleryCircle({
        step:1
      });
  
   $("a.slideshow-image").fancybox({
       'hideOnContentClick': true,
       'titlePosition'   : 'over',
       'cyclic'            : true,
       'padding'           :0,
       overlayColor           : '#000',
       overlayOpacity	: 0.8,

       'titleFormat'   : formatTitle,
       'onComplete' : function() {
            $("#fancybox-wrap").hover(function() {
                $("#fancybox-title").fadeIn();
           }, function() {
                $("#fancybox-title").fadeOut();
           });
        },
        onStart             :function(){
            active_slide = $(this).attr('title');

        },
        onClosed            : function(){
            active_slide = '';
        }
    });

    $("a.lightbox_details_link").fancybox({
		type            : 'iframe',
               
                padding         : 0,
                margin          : 0,
                autoScale       : true,
                autoDimension   : true,
                scrolling       : 'no',
                overlayOpacity	: 0.8,
                overlayColor           : '#000',
                onComplete      : function(){

                    $('#fancybox-inner').css('width','806px');
                    $('#fancybox-wrap').css('width','806px');
                    $('#fancybox-inner').css('height','592px');
                    $('#fancybox-wrap').css('height','592px');
                    $.fancybox.center();

                },
                onClosed            : function(){
                     active_slide = '';
                }
	});
    
    $("a.lightbox_language_link").fancybox({
		type            : 'iframe',
        autoScale       : true,
        autoDimension   : true,
        scrolling       : 'no',
        margin          : 0,
        padding         : 0,
        overlayColor    : '#000',
        overlayOpacity	: 0.8,
        onComplete      : function(){

		$('#fancybox-inner').css('width','480px');
		$('#fancybox-wrap').css('width','480px');
		$('#fancybox-inner').css('height','320px');
		$('#fancybox-wrap').css('height','320px');
		$.fancybox.center();

}

});
    $(document).pngFix();       
});
/*--- gallery function ---*/
jQuery.fn.galleryCircle = function(_options){
	// defaults options
	var _options = jQuery.extend({
		btPrev: 'a.link-prev',
		btNext: 'a.link-next',
		holderList: 'div.gallery-holder',
		scrollElParent: 'ul',
		scrollEl: 'li',
		numHolder: 'div.swicher',
		numCreate: true,
		step: false,
		innerMargin: 0,
		curPage: false,
		onClick: null,
		easing: 'swing',
		switchTime: 5000,
		duration : 500,
		pauseOnHover:true
	},_options);

	return this.each(function(){
		var _this = jQuery(this);
		var _next = jQuery(_options.btNext, _this).length ? jQuery(_options.btNext, _this) : false;
		var _prev = jQuery(_options.btPrev, _this).length ? jQuery(_options.btPrev, _this) : false;
		var _holderList = jQuery(_options.holderList, _this);
		var _scrollElParent = jQuery(_options.scrollElParent, _holderList);
		var _scrollEl = jQuery(_options.scrollEl, _scrollElParent);
		var _numHolder = false ;
		if (_options.numHolder) _numHolder = jQuery(_options.numHolder, _this).length ? jQuery(_options.numHolder, _this) : false;
		var _step, _t = null;
		var _widthSum = 0;
		_scrollEl.each(function(){_widthSum += jQuery(this).outerWidth(true);})
		var _startPosition = _scrollEl.index(_scrollEl.filter('.active'));
		if (_startPosition==-1) _startPosition=0;
		_scrollEl.removeClass('active');
		var _easing = _options.easing;
		var _pauseOnHover = _options.pauseOnHover;
		var _hover = false;
		if (!_options.step) _step = _holderList.innerWidth();
		var _margin = _widthSum;
		_scrollElParent.append(_scrollEl.clone(true));
		_scrollElParent.prepend(_scrollEl.clone(true));

		var _offsetStartPosition =0;
		_offsetStartPosition = culcOffset(_startPosition);

		_scrollElParent.css('marginLeft', (-_margin+_options.innerMargin-_offsetStartPosition));

		//button next "click"
		if (_options.btNext) {
			_next.click(function(){
				if (!_scrollElParent.is(':animated')) {
					if (jQuery.isFunction(_options.onClick)) _options.onClick.apply(_this);
					nextSlides();
				}
				return false;
			});
		}

		//button prev "click"
		if (_options.btPrev) {
			_prev.click(function(){
				if (!_scrollElParent.is(':animated')) {
					if (jQuery.isFunction(_options.onClick)) _options.onClick.apply(_this);
					prevSlides();
				}
				return false;
			});
		}
		
		//autoslide
		function autoSlide(){
			if (_options.switchTime) {
				_t = setTimeout(function(){
					
						nextSlides();

				},_options.switchTime);
			}
		}
		autoSlide();
		
		// pause on hover
		if(_pauseOnHover) {
			_this.hover(function(){
				_hover = true;
				if(_t) clearTimeout(_t);
			},function(){
				_hover = false;
				autoSlide();
			});
		}
		//curent position
		function getCurElIndex(){
			var _curMargin = parseInt(_scrollElParent.css('marginLeft')) + _widthSum - _options.innerMargin;
			for(i=0; i < _scrollEl.length; i++){
				if (_curMargin == 0) return i;
				if (_curMargin <= _options.innerMargin) _curMargin += _scrollEl.eq(i).innerWidth(true);
				else _curMargin -= _scrollEl.eq(i).innerWidth(true);
				if (_curMargin == _options.innerMargin) return i+1;
			}
		}

		// offset of gallery if when activ element not first at start 
		function culcOffset(_ind){
			var _tmpcounter=0;
			var _pos=0;
			while (_tmpcounter < _ind){
				_pos += _scrollEl.eq(_tmpcounter).outerWidth(true);
				_tmpcounter++;
			};
			return _pos;
		}

		//go next slide
		function nextSlides(){
			if($('#stopSlideshow').text() != "stop" && $('#fancybox-frame').attr('src') == undefined){
				if (_t) clearTimeout(_t);
				if (_options.step) {
					_curElIndex = getCurElIndex();
					_step = _scrollEl.eq(_curElIndex).innerWidth(true);
				};
				_margin = -parseInt(_scrollElParent.css('marginLeft'));
				_margin += _step;
				
				_scrollElParent.animate({'marginLeft':(-_margin+_options.innerMargin)}, {duration:_options.duration, easing: _easing, complete:function(){
					if (_margin >= _widthSum*2) {
						_margin = _widthSum + (_margin - _widthSum*2);
					}
					_scrollElParent.css({'marginLeft':-_margin+_options.innerMargin});
					jQuery.fn.galleryCircle.numListActive(_numHolder, _scrollEl);
					
				}});
			}
			if(!_hover){
				autoSlide();
			}
		}

		//go prev slide
		function prevSlides(){
			if (_t) clearTimeout(_t);
			if (_options.step) {
				_curElIndex = getCurElIndex();
				if (_curElIndex == 0) _curElIndex= _scrollEl.length;
				_step = _scrollEl.eq(_curElIndex-1).innerWidth(true);
			};
			_margin = -parseInt(_scrollElParent.css('marginLeft'));
			_margin -= _step;
			_scrollElParent.animate({'marginLeft':(-_margin+_options.innerMargin)}, {duration:_options.duration, easing: _easing, complete:function(){
				if (_margin < _widthSum) {
					_margin = _widthSum*2 - (_widthSum - _margin);
				}
				_scrollElParent.css({'marginLeft':-_margin+_options.innerMargin});
				jQuery.fn.galleryCircle.numListActive(_numHolder, _scrollEl);
				if(!_hover){
					autoSlide();
				}
			}});
		}

		// Number list Create
		jQuery.fn.galleryCircle.numListCreate = function(_numHolder, _scrollEl){
			var _numListElC = '';
			for(var i=0; i<_scrollEl.length; i++){
				_numListElC += '<li><a href="">'+(i+1)+'</a></li>';
			}
			jQuery(_numHolder).html('<ul>'+_numListElC+'</ul>');
		};

		// Number list Activate
		jQuery.fn.galleryCircle.numListActive = function(_numHolder, _scrollEl){
			_curElIndex = getCurElIndex();
			if (jQuery(_options.curPage, _this).length && _options.curPage) jQuery(_options.curPage, _this).text('Pagina '+(getCurElIndex()+1)+'/'+_scrollEl.length);
			if (_numHolder) {
				jQuery('li',_numHolder).removeClass('active');
				jQuery('li',_numHolder).eq(_curElIndex).addClass('active');
			}
		};

		//click on control elemens
		function numClick() {
			jQuery(_options.numHolder, _this).find('li').click(function(){
				if (_t) clearTimeout(_t);
				var _aList = jQuery(_options.numHolder, _this).find('li');
				var _index = _aList.index(jQuery(this));
				_margin = _widthSum + _index * _scrollEl.outerWidth(true);
				_scrollElParent.animate({'marginLeft':(-_margin+_options.innerMargin)}, {duration:_options.duration, easing: _easing, complete:function(){
					if (_margin >= _widthSum*2) {
						_margin = _widthSum + (_margin - _widthSum*2);
					}
					_scrollElParent.css({'marginLeft':-_margin+_options.innerMargin});
					_aList.removeClass('active').eq(_index).addClass('active');
				}});
				if(!_hover){
					autoSlide();
				}
				return false;
			});
		};

		// init creating num list
		if (_options.numCreate) jQuery.fn.galleryCircle.numListCreate(_numHolder, _scrollEl);

		// pagination first init (example Page 2/6)
		if (jQuery(_options.curPage, _this).length && _options.curPage) jQuery(_options.curPage, _this).text('Pagina '+(getCurElIndex()+1)+'/'+_scrollEl.length);

		// init activate num list item and init numClick()
		if (_options.numHolder) {
			jQuery.fn.galleryCircle.numListActive(_numHolder, _scrollEl);
			numClick();
		}
	});
}
