/*
 * jQuery slideShow v1.1.0 
 *
 * Copyright (c) 2008 Taranets Aleksey
 * www: markup-javascript.com
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 */

jQuery.fn.slideShow = function(_options){
    // defaults options	
    var _options = jQuery.extend({
		slideEl:'div.img-hold img',
		linkNext:'a.next',
		linkPrev:'a.prev',
		linkPause:'a.pause',
		numElementLink:'div.nav li a',
		duration:500,
		autoSlideShow:false,
		switchTime:3000,
		event:'click',
		currentEl:'#footer span.cur',
		allEl:'#footer span.all'
    },_options);

    return this.each(function(){
	    var _THIS = jQuery(this);
		var _slideEl = $(_options.slideEl, _THIS);
		var _elTagName = _options.slideEl;
		var _linkNext = $(_options.linkNext, _THIS).length ? $(_options.linkNext, _THIS) : false;
		var _linkPrev = $(_options.linkPrev, _THIS).length ? $(_options.linkPrev, _THIS) : false;
		var _linkPause = $(_options.linkPause, _THIS).length ? $(_options.linkPause, _THIS) : false;
		var _numElementLink = $(_options.numElementLink, _THIS).length ? $(_options.numElementLink, _THIS) : false;
		var _numElement = $(_options.numElementLink, _THIS).length ? _numElementLink.parent() : false;
		var _duration = _options.duration;
		var _switchTime = _options.switchTime;
		var _numElActive, _n, _timer = false, _hover = false;
		
		if (!_slideEl.filter('.active').length)
				_slideEl.eq(0).addClass('active');
				
		$(_slideEl).not(".active").css('display','none');
		
		if ($(_numElement).length) {activeNumEl()}
		
		if (_options.autoSlideShow) {
				_timer = setTimeout(function(){nextEl()},_switchTime);
				contentHover();
		}
		if (_linkNext) {
				$(_linkNext).click(function(){
						if (_timer) {
								clearTimeout(_timer);
								_timer = setTimeout(function(){nextEl()},_switchTime);
						}
						if ($(_slideEl).filter(".active").next().is(_elTagName)) {
							$(_slideEl).filter(".active").next().addClass("next");
						} else {
							$(_slideEl).eq(0).addClass("next");
						}
						fadeElement();
						activeNumEl();
						return false;
				});
		}
		if (_linkPrev) {	
				$(_linkPrev).click(function(){
						if (_timer) {
								clearTimeout(_timer);
								_timer = setTimeout(function(){nextEl()},_switchTime);
						}
						if ($(_slideEl).filter(".active").prev().is(_elTagName)) {
							$(_slideEl).filter(".active").prev().addClass("next");
						} else {
							$(_slideEl).filter(":last-child").addClass("next");
						}
						fadeElement();
						activeNumEl();
						return false;
				});
		}
		if (_linkPause) {	
				if (!_options.autoSlideShow) {
					_linkPause.addClass('play');
					_options.autoSlideShow = true;
					if (!_hover) contentHover();
				}
				$(_linkPause).click(function(){
						if (!_linkPause.is('.play')) {
							clearTimeout(_timer);
							_linkPause.addClass('play');
						} else {
							_linkPause.removeClass('play');
							_timer = setTimeout(function(){nextEl()},_switchTime);
						}
						return false;
				});
		}
		if (_numElementLink) {
				$(_numElementLink).bind(_options.event, function(){
						if (_timer) {
								clearTimeout(_timer);
								_timer = setTimeout(function(){nextEl()},_switchTime);
						}
						_n = _numElement.index($(this).parent());
						if (!$(_slideEl).eq(_n).hasClass("active")){
							$(_slideEl).eq(_n).addClass("next");
							fadeElement();
							activeNumEl();
						}
						return false;
				});
		}
		if (_options.currentEl || _options.allEl) {
				_THIS.all = _slideEl.length;
				$(_options.allEl, _THIS).html(_THIS.all);
				function currentNum() {
					var _index = _slideEl.index(_slideEl.filter('.active')) + 1;
					$(_options.currentEl, _THIS).html(_index);
				}
				currentNum();
		}
		function contentHover() {
			_hover = true;
			_slideEl.hover(function() {
					if (_timer) clearTimeout(_timer);
			}, function(){
					if (_linkPause && !_linkPause.is('.play'))
						_timer = setTimeout(function(){nextEl()},_switchTime);
					else if (!_linkPause)
						_timer = setTimeout(function(){nextEl()},_switchTime);						
			});			
		}
		function nextEl(){
				if ($(_slideEl).filter(".active").next().is(_elTagName)){
					$(_slideEl).filter(".active").next().addClass("next");
				} else {
					$(_slideEl).eq(0).addClass("next");
				}
				fadeElement();
				if (_numElement) activeNumEl();
				_timer = setTimeout(function(){nextEl()},_switchTime);
		};		
		function activeNumEl() {
				$(_numElement).removeClass("active");
				_numElActive = $(_slideEl).index($(_slideEl).filter(".active")[0]);
				$(_numElement).eq(_numElActive).addClass("active");
		};
		function fadeElement(){
				$(_slideEl).filter(".active").fadeOut(_duration).removeClass("active");
				$(_slideEl).filter(".next").fadeIn(_duration).addClass("active").removeClass("next");
				if (_options.currentEl || _options.allEl) currentNum();
		};
    });
}

/* Old Slideshow before it was changed, still used on home page */

function slideshow(_options) {
	if ($(_options.gallery).length) {
		var _gallery = $(_options.gallery);
		var _numElActive = false;
		var _n = false;
		var _timer = false;
		
		var _galleryEl = $(_options.galleryEl, _gallery);
		var _galEl = _options.galEl;
		var _duration = 500;
		var _timeSwitching = _options.timeSwitching;
		var _numElementLink = $(_options.numElementLink, _gallery);
		var _numElement = $(_options.numElement, _gallery);
		var _autoswitch = _options.autoswitch;

		$(_galleryEl).not(".active").fadeOut(10);
		
		_gallery.activeNumEl = function() {
			if (_numElement+1){$(_numElement).removeClass("active");}
			if ($(_numElement).length) {
				_numElActive = $(_galleryEl).index($(_galleryEl).filter(".active")[0]);
				$(_numElement).eq(_numElActive).addClass("active");
			}
		}
		_gallery.fadeElement = function(){
			$(_galleryEl).filter(".active").fadeOut(_duration).removeClass("active");
			$(_galleryEl).filter(".next").fadeIn(_duration).addClass("active").removeClass("next");
		}
		
		_gallery.nextEl = function(){
			if ($(_galleryEl).filter(".active").next().is(_galEl)) {
				$(_galleryEl).filter(".active").next().addClass("next");
			} else {
				$(_galleryEl).eq(0).addClass("next");
			}
			_gallery.fadeElement();
			if (_options.numElementLink) { _gallery.activeNumEl(); }

			if(_autoswitch != 0)
			{
				// switch automatically
				_timer = setTimeout(function(){_gallery.nextEl()},_timeSwitching);
			}
		}
			
		if (_options.numElementLink) {
		    $(_numElementLink).hover(function() {
		        if (_timer) clearTimeout(_timer);
		        _n = _numElement.index($(this).parent());
		        if (!$(_galleryEl).eq(_n).hasClass("active")) {
		            $(_galleryEl).eq(_n).addClass("next");
		            _gallery.fadeElement();
		            _gallery.activeNumEl();
		        }
		        return false;
		    }, function() {
		        if (_autoswitch != 0) {
		            _timer = setTimeout(function() { _gallery.nextEl() }, _timeSwitching);
		        }
		    });
			_gallery.activeNumEl();
		}
		if (_autoswitch != 0) {
		    _timer = setTimeout(function() { _gallery.nextEl() }, _timeSwitching);
		}
		_gallery.nextEl();
	}
}

function initPage() {
	slideshow({
		gallery:'div.news',
		galleryEl:'div > div',
		galEl:'div',
		numElementLink:'ul li a',
		numElement:'ul li',
		timeSwitching:1000,
		autoswitch:0
	})
}

/* end old slideshow code */

$(document).ready(function(){
	setTimeout(function(){
		/*
		$('div.news').slideShow({
			slideEl:'div > div',
			numElementLink:'ul li a',
			duration:500,
			autoSlideShow:false,
			switchTime:3000
		});
		*/
		initPage();
		
		$('div.contact div.img').slideShow({
			slideEl:'div span img',
			duration:500,
			autoSlideShow:true,
			switchTime:4000
		});
	}, 1000)
});

$(document).ready(function() {
    $('.slideshow').cycle({
		fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
	});
});





