function initSlideshow() {
	var _holder = $("#slideshowGallery");
	var _itemsParentClass = "slideshowItems";
	var _itemsClass = "itemGallery";
	var _controlParent = "slideshowControl";
	var _duration = 700;
	var _autoSlide = 9000;
	
	var _event = "click";
	var _timer = null;
	
	_holder.each(function(){
		var _this = $(this);
		var _slideEl = $(("#"+_itemsParentClass), _this).children("div."+_itemsClass);
		var _numElement = $("#"+_controlParent, _this).find("a");
		var _numClick = false;
		var _curItem = _slideEl.index(_slideEl.filter('.active'));
		var _animated =false;
		if (!_slideEl.filter('.active').length) _slideEl.eq(0).addClass('active');
		
		$(_slideEl).not(".active").find(".slideshowText").css('display','none');
		$(_slideEl).not(".active").css('display','none');
		
		if (_numElement.length) {activeNumEl(_curItem)};
		
		if (_numElement) {
			$(_numElement).bind(_event, function(){
					if (!_animated) {
						_n = $("#"+_controlParent).children("li").index($(this).parents("li"));
						_numClick=true;
						if (_timer) {
							clearTimeout(_timer);
							fadeElement(_n);
						} else if (!$(_slideEl).eq(_n).hasClass("active")){
	 						fadeElement(_n);
						};
					}
					return false;
			});
		}
		if (_autoSlide) {autoSlide(_curItem)};
		
		function fadeElement(_n){
			if (!_animated) {
				_animated=true;
				var _box = _slideEl.eq(_curItem).find(".slideshowText");
				if (_numClick) {
					var _nextBox =_slideEl.eq(_n).find(".slideshowText");
					_curItem = _slideEl.index(_slideEl.filter('.active'));
				}
				else {
					_curItem = _n;
					if(_n<_numElement.length-1) _n++
					else _n = 0;
					var _nextBox =_slideEl.eq(_n).find(".slideshowText");
				};
				_numClick = false;

				_box.slideUp(_duration, function(){
					_slideEl.eq(_curItem).css({zIndex: 3}).animate({opacity: 0},{
						queue: false,
						duration: _duration,
						complete: function(){
							$(this).css({display:"none"});
							_slideEl.css({zIndex: 1});
							_animated = false;
						}
					}).removeClass("active");;
					_slideEl.eq(_n).css({display:"block", opacity: 0, zIndex: 2}).animate({opacity: 1},{
						queue: false,
						duration: _duration,
						complete: function(){
							_nextBox.slideDown(_duration);
							$(this).css({zIndex: 3});
							_curItem = _n;
							if (_autoSlide) {autoSlide(_n)}
							activeNumEl(_n);
						}
					}).addClass("active");
				});
			}
		};
		function autoSlide(_n) {
			_timer = setTimeout(function(){
				fadeElement(_n);
			},_autoSlide);
		};
		function activeNumEl(_n) {
			$(_numElement).removeClass("active");
			$(_numElement).eq(_n).addClass("active");
		};
	});
}

$(function(){
	initSlideshow();
});
