// main gallery function
function initMainGallery() {
	var _activeClass = 'active';
	var _slideSpeed = 950;
	if (ie6) {
	    var _fadeSpeed = 1;
	} else {
	    var _fadeSpeed = 300;
	}
	var _diff = 8;
	//alert(_fadeSpeed);

	$('#carusel.main-gallery').css({ width: '100%', margin: '0' });
	$('#carusel.main-gallery .carusel-img').css({left: '0px', position: 'relative', marginLeft: '0px'});

	$('div.main-gallery').each(function () {
	    var _holder = $(this);
	    _holder.css('width', '100%');
	    var _slider = _holder.find('ul.carusel-img, ul.carusel-img01');
	    var _btnPrev = _holder.find('.link-prev');
	    var _btnNext = _holder.find('.link-next');
	    var _tabsHolder = _holder.find('.tabs-holder');
	    var _tabs = _tabsHolder.find('>div.tab');
	    var _pageHolder = _holder.find('.pagination-holder');
	    var _slideItems = _slider.find('>li');
	    var _slideCount = _slideItems.length;
	    var _currentIndex = 0;
	    var _animating = false;

	    function GalleryRight() {
	        if (_currentIndex > 0) {
	            _currentIndex--;
	            switchSlide();
	        }
	    }

	    function GalleryLeft() {
	        if (_currentIndex < _slideCount - 1) {
	            _currentIndex++;
	            switchSlide();
	        }
	    }

	    function UpdateDots() {
	        _currentIndex = _num;
	        _navLinks.removeClass(_activeClass).eq(_currentIndex).addClass(_activeClass);
	    }

	    // gallery control
	    _btnPrev.click(function () {
	        if (_currentIndex > 0) {
	            _currentIndex--;
	            switchSlide();
	        }
	        return false;
	    });
	    _btnNext.click(function () {
	        if (_currentIndex < _slideCount - 1) {
	            _currentIndex++;
	            switchSlide();
	        }
	        return false;
	    });

	    $('.links-holder, .pagination-holder').mousewheel(function (event, delta) {
	        if (delta > 0) {
	            GalleryRight();
	            //UpdateDots();
	            return false;
	        }
	        if (delta < 0) {
	            GalleryLeft();
	            //UpdateDots();
	            return false;
	        }
	        return false;
	    });

	    $().keydown(function (e) {
	        var keyCode = e.keyCode || e.which,
              arrow = { left: 37, up: 38, right: 39, down: 40 };

	        switch (keyCode) {
	            case arrow.left:
	                GalleryRight();
	                UpdateDots();
	                return false;
	                break;
	            case arrow.right:
	                GalleryLeft();
	                UpdateDots();
	                return false;
	                break;
	        }
	    });

	    // generate pagination if needed
	    if (_pageHolder.length) {
	        var _navList = $('<ul></ul>');
	        _slideItems.each(function (_ind) {
	            _navList.append($('<li><a href="#">' + _ind + '</a></li>'));
	        });
	        _pageHolder.empty().append(_navList);
	        var _navLinks = _navList.find('a');
	        _navLinks.eq(_currentIndex).addClass(_activeClass);
	        _navLinks.each(function (_num) {
	            $(this).click(function () {
	                _currentIndex = _num;
	                _navLinks.removeClass(_activeClass).eq(_currentIndex).addClass(_activeClass);
	                switchSlide();
	                return false;
	            });
	        });
	    }

	    // switch tabs function
	    _tabs.hide().eq(_currentIndex).show();
	    function switchTabs(_f) {
	        if (_f) {
	            var _fadeSpeed = 0;
	            var _slideSpeed = 0;
	        }
	        if (_tabsHolder.length) {
	            _tabs.filter(':visible:eq(0)').fadeOut(_fadeSpeed, function () {
	                _tabs.eq(_currentIndex).fadeIn(_fadeSpeed);
	            });
	        }
	    }

	    // switch slide function
	    function switchSlide(_imm) {
	        _animating = true;
	        if (_imm) {
	            var _fadeSpeed = 0;
	            var _slideSpeed = 0;
	        }
	        if (ie6) {
	            _slideItems.find('div.name').css({ display: 'none' });
	        } else {
	            if (stop_fade) {
	                _slideItems.find('div.name').css({ display: 'none' });
	            } else {
	                _slideItems.find('div.name').fadeOut(_fadeSpeed);
	            }
	        }
	        _slider.stop().animate({ marginLeft: (_pageHolder.length ? _pageHolder.offset().left : _tabsHolder.offset().left) - _slideItems.eq(_currentIndex).position().left - _diff }, { duration: _slideSpeed, queue: true, complete: function () {
	            _slideItems.eq(_currentIndex).find('div.name').fadeIn(_fadeSpeed);
	            _animating = false;
	        }
	        });
	        switchTabs(_imm);
	    }
	    $(window).resize(function () {
	        if (_animating) return;
	        switchSlide(true);
	    });
	    switchSlide(true);
	});
}

// hover for IE
function ieHover(_list) {

	if ($.browser.msie && $.browser.version < 7) {
		$(_list).hover(function() {
			$(this).addClass('hover');
		}, function() {
			$(this).removeClass('hover');
		});
	}
}
$(function() {
	initMainGallery();
	ieHover('ul.navigation > li, ul.carusel-img > li, div.div-class, span, #box, #nav > li');
});

