function preLoadImages(){
	$('.slide-gal').find('a.preloader').each(function(){
		var src = $(this).attr("href");
		var img = '<img src="' + src +'" />';
		$(this).append(img);		
	});
	
}

var active_slide = '';
function formatTitle(title, currentArray, currentIndex, currentOpts) {
    var title2 = $('#title_'+title).text();
    var linkText = $('#link_'+title).text();
    var description =$('#description_'+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 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"><div class="arrow_up"><img src="/maryan-mehlhorn-wGlobal/wGlobal/layout/images/fancy2/arrow_up.png" align="center" alt="details" /></div><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"><ul style="width:100%; margin:0px; padding:0px;"><li style="display:inline; list-style: none;" ><span class="detail"></span><a href="#" onclick="'+trigger+';$.fancybox.next();"class="lightbox_details_link">'+linkText+'</a></li></ul></div></div></div></div>';
}

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



$(window).load(function(){  
	//preLoadImages();
	$(document).pngFix(); 
   $("a.slideshow-image").fancybox({
       hideOnContentClick     : true,
       titlePosition          : 'over',
       cyclic                 : true,
       autoScale              : true,
       autoDimension          : true,
       overlayColor           : '#000',
       overlayOpacity         : 0.7,
       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',
                autoScale       : true,
                autoDimension   : true,
                scrolling       : 'no',
                margin          : 0,
                padding         : 0,
                overlayColor    : '#000',
				overlayOpacity	: 0.7,
                onComplete      : function(){
                    
                    $('#fancybox-inner').css('width','937px');
                    $('#fancybox-wrap').css('width','937px');
                    $('#fancybox-inner').css('height','422px');
                    $('#fancybox-wrap').css('height','422px');
                    $.fancybox.center();
                    	
                },
                onClosed            : function(){
                     active_slide = '';
                }
    });
    
    

            
            $('#main').galleryCircle({
              btPrev: 'a.link-prev',
              btNext: 'a.link-next',
              holderList: 'div.slide-gal',
              scrollElParent: 'ul',
              scrollEl: 'li',
              step: 1,
              easing: 'swing',
              switchTime: 5000,
              numHolder: 'ul.switcher',
              duration : 700,
              numCreate: true
          });

          $('#carusel').mouseenter(function(){
            $('#mouse-over-image').text('over');
          });
          $('.link-next').mouseenter(function(){
            $('#mouse-over-image').text('');
          });
           $('#carusel').mouseleave(function(){
            $('#mouse-over-image').text('');
          });

      }); 


/*--- gallery function ---*/
jQuery.fn.galleryCircle = function(_options){
	// defaults options
	var _options = jQuery.extend({
		btPrev: 'a.prev',
		btNext: 'a.next',
		holderList: 'div',
		scrollElParent: 'ul',
		scrollEl: 'li',
		numHolder: false,
		numCreate: false,
		step: false,
		innerMargin: 0,
		curPage: false,
		onClick: null,
		easing: 'linear',
		switchTime: false,
		duration : 1500
	},_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;

		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));

		//auto rotation
		if (_options.switchTime) {
			_t = setTimeout(function(){
                                			
                                    nextSlides();
                                
			},_options.switchTime);
		}
		
		//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;
			});
		}

		//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" && $('#mouse-over-image').text() != "over" && $('#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);


				//autoslide
				
			}});
                   }

                   if (_options.switchTime) {
					_t = setTimeout(function(){
						nextSlides();
					},_options.switchTime)
				}
                     
            }

		//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);

				//autoslide
				if (_options.switchTime) {
					_t = setTimeout(function(){
						nextSlides();
					},_options.switchTime)
				}
			}});
		}

		// 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('a',_numHolder).removeClass('active');
				jQuery('a',_numHolder).eq(_curElIndex).addClass('active');
			}
		};

		//click on control elemens
		function numClick() {
			jQuery(_options.numHolder, _this).find('a').click(function(){
				if (_t) clearTimeout(_t);
				var _aList = jQuery(_options.numHolder, _this).find('a');
				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');

					//autoslide
					if (_options.switchTime) {
						_t = setTimeout(function(){
							nextSlides();
						},_options.switchTime)
					}
				}});
				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();
		}
	});
}

$(document).ready(function(){

$("a.lightbox-image").fancybox({
'hideOnContentClick': true
});

});
